From 1aae8368e8496c6248e8dc48b633d75e4c0c940a Mon Sep 17 00:00:00 2001 From: Alexander Nguyen Date: Sat, 30 May 2026 23:19:53 -0700 Subject: [PATCH 1/3] feat(dist): tag-based asset names; pre-release builds without notify Release-asset naming: per-OS installers are now named ExLabWizard_v. (e.g. ExLabWizard_v0.2.0.exe/.dmg/.AppImage). The name is driven by the release tag with a leading v/V normalised, so both v0.2.0 and 0.2.0 produce ExLabWizard_v0.2.0 (never _vv0.2.0). Non-release builds (dispatch/PR) fall back to the package __version__. Raw onedir archives keep an OS suffix (ExLabWizard_v-.{zip,tar.gz}) because macOS and Linux both emit .tar.gz and would otherwise collide as release assets. The Inno .iss takes a /DOutputBaseName define; upload + release globs updated to ExLabWizard_v*. Pre-releases: the `published` activity type already fires for pre-releases, so publishing a pre-release builds + attaches the full installer set (test an RC before shipping). No trigger change; documented in the workflow header. Pre-releases do NOT notify: the startup checker polls releases/latest, which GitHub defines as the most recent non-prerelease, non-draft release -- so a pre-release never prompts an upgrade. Added a defensive guard in fetch_latest_tag (skip payloads flagged prerelease/draft) + two unit tests so the requirement is encoded in our code, not just implied by the endpoint. README updated for the new asset names and the pre-release behaviour. Tag-name input is routed through env (not interpolated into the run body) to avoid shell injection. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/build.yml | 79 ++++++++++++++++++------ README.md | 21 ++++--- packaging/windows/exlab-wizard.iss | 12 +++- src/exlab_wizard/update_check/checker.py | 7 +++ tests/unit/update_check/test_checker.py | 32 ++++++++++ 5 files changed, 122 insertions(+), 29 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 09cf00f..8043742 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,6 +30,18 @@ # On a published release every produced asset is attached to that release. # Installers do NOT register OS autostart -- the app manages its own # autostart at runtime (in-app AutostartManager). +# +# Asset naming: installers are named ``ExLabWizard_v.`` (the +# release tag drives the name; a leading ``v`` is normalised so both ``v0.2.0`` +# and ``0.2.0`` yield ``ExLabWizard_v0.2.0``). Raw archives keep an OS suffix +# (``-``) because macOS and Linux both emit ``.tar.gz`` and would +# otherwise collide on the release. +# +# Pre-releases: the ``published`` activity type fires for pre-releases too, so +# a published pre-release builds and attaches the full installer set -- letting +# you test a release candidate. The startup update notifier still ignores +# pre-releases (it polls ``releases/latest``, which excludes them), so a +# pre-release never prompts operators to upgrade. name: build @@ -37,6 +49,11 @@ name: build # release-publish path and a manual dispatch hook. We do NOT run on # every branch push: feature branches are exercised by unit + e2e # locally and via PR; binary builds are reserved for the merge gate. +# +# ``published`` covers BOTH stable releases and pre-releases (publishing a +# pre-release fires ``published``), so both get the full installer set. We do +# not also subscribe to ``prereleased`` -- that would double-run for +# pre-releases. on: pull_request: branches: ["main"] @@ -123,32 +140,54 @@ jobs: - name: Package artifact id: package shell: bash + env: + # Routed through env (not interpolated into the script body) so a + # crafted release tag cannot inject shell -- per the GitHub Actions + # script-injection guidance. + EVENT_NAME: ${{ github.event_name }} + RELEASE_TAG: ${{ github.event.release.tag_name }} run: | set -euo pipefail version=$(python -c "from exlab_wizard import __version__; print(__version__)") - out_name="ExLab-Wizard-${version}-${{ matrix.artifact_suffix }}" + # Release assets are named by the release tag. Non-release builds + # (workflow_dispatch / PR) have no tag, so fall back to the package + # version to keep a sensibly-named artifact. + if [ "$EVENT_NAME" = "release" ]; then + raw_tag="$RELEASE_TAG" + else + raw_tag="$version" + fi + # Strip a leading v/V so both v0.2.0 and 0.2.0 yield the canonical + # ExLabWizard_v0.2.0 (never ExLabWizard_vv0.2.0). + tag="${raw_tag#v}" + tag="${tag#V}" + release_name="ExLabWizard_v${tag}" echo "version=${version}" >> "$GITHUB_OUTPUT" - echo "out_name=${out_name}" >> "$GITHUB_OUTPUT" + echo "release_name=${release_name}" >> "$GITHUB_OUTPUT" + # Installers (unique extensions) get the bare ExLabWizard_v name + # in their dedicated steps. The raw onedir archive keeps an OS suffix: + # macOS and Linux both emit .tar.gz and would otherwise collide. + archive="${release_name}-${{ matrix.artifact_suffix }}" case "${{ matrix.os }}" in windows-latest) cd dist - 7z a -tzip "../${out_name}.zip" "ExLab-Wizard" + 7z a -tzip "../${archive}.zip" "ExLab-Wizard" cd .. ;; macos-*) # Raw unsigned ``.app`` directory inside a tar; the .dmg is # produced by a dedicated step below. cd dist - tar -czf "../${out_name}.tar.gz" "ExLab-Wizard.app" + tar -czf "../${archive}.tar.gz" "ExLab-Wizard.app" cd .. ;; ubuntu-latest) cd dist - tar -czf "../${out_name}.tar.gz" "ExLab-Wizard" + tar -czf "../${archive}.tar.gz" "ExLab-Wizard" cd .. ;; esac - ls -lh ExLab-Wizard-* || true + ls -lh ExLabWizard_v* || true # --- Installer: Windows (Inno Setup .exe) ------------------------------ - name: Install Inno Setup (Windows) @@ -170,6 +209,7 @@ jobs: run: | set -euo pipefail version="${{ steps.package.outputs.version }}" + release_name="${{ steps.package.outputs.release_name }}" # choco installs ISCC.exe but does not add it to the current shell's # PATH, so resolve it explicitly (known install dir, then a search). iscc="/c/Program Files (x86)/Inno Setup 6/ISCC.exe" @@ -183,9 +223,10 @@ jobs: # Git-bash rewrites a leading-slash arg like "/DAppVersion=..." into a # Windows path, so ISCC sees it as a second script filename. Disable # MSYS path conversion for this call; the .iss path is relative and so - # is left untouched. - MSYS_NO_PATHCONV=1 "$iscc" "/DAppVersion=${version}" packaging/windows/exlab-wizard.iss - ls -lh "ExLab-Wizard-${version}-win-x64-setup.exe" + # is left untouched. AppVersion = the app's own __version__ (installer + # metadata); OutputBaseName = the release-tag-derived asset filename. + MSYS_NO_PATHCONV=1 "$iscc" "/DAppVersion=${version}" "/DOutputBaseName=${release_name}" packaging/windows/exlab-wizard.iss + ls -lh "${release_name}.exe" # --- Installer: macOS (.dmg) ------------------------------------------- - name: Install create-dmg (macOS) @@ -197,8 +238,8 @@ jobs: shell: bash run: | set -uo pipefail - version="${{ steps.package.outputs.version }}" - dmg="ExLab-Wizard-${version}-mac-arm64.dmg" + release_name="${{ steps.package.outputs.release_name }}" + dmg="${release_name}.dmg" rm -f "$dmg" # create-dmg can be flaky on headless CI; retry once, then fall # back to a plain hdiutil image so packaging never hard-fails. @@ -235,8 +276,8 @@ jobs: APPIMAGE_EXTRACT_AND_RUN: "1" run: | set -euo pipefail - version="${{ steps.package.outputs.version }}" - out="ExLab-Wizard-${version}-linux-x64.AppImage" + release_name="${{ steps.package.outputs.release_name }}" + out="${release_name}.AppImage" curl -fSL -o appimagetool \ "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" @@ -267,11 +308,11 @@ jobs: with: name: exlab-wizard-${{ matrix.artifact_suffix }} path: | - ExLab-Wizard-*.zip - ExLab-Wizard-*.tar.gz - ExLab-Wizard-*-setup.exe - ExLab-Wizard-*.dmg - ExLab-Wizard-*.AppImage + ExLabWizard_v*.zip + ExLabWizard_v*.tar.gz + ExLabWizard_v*.exe + ExLabWizard_v*.dmg + ExLabWizard_v*.AppImage if-no-files-found: error retention-days: 30 @@ -285,4 +326,4 @@ jobs: tag_name: ${{ github.event.release.tag_name }} fail_on_unmatched_files: true files: | - ExLab-Wizard-* + ExLabWizard_v* diff --git a/README.md b/README.md index e9de35f..8eea354 100644 --- a/README.md +++ b/README.md @@ -52,16 +52,21 @@ runtime-only install drop the extra: `uv sync` / `pip install -e .`. ### Pre-built binary -Every tagged release publishes a GitHub Release that carries per-OS installers — -a Windows `.exe` installer, a macOS `.dmg`, and a Linux `.AppImage` — plus raw -archives for each platform under [Releases](../../releases). Download the -installer (or archive) for your platform from the +Every published GitHub Release carries per-OS installers, named +`ExLabWizard_v` with the platform-appropriate extension — a Windows +`.exe`, a macOS `.dmg`, and a Linux `.AppImage` — plus raw per-platform archives +(for offline / USB installs) under [Releases](../../releases). Download the +installer for your platform from the [latest release](https://github.com/exfab/ExLabWizard/releases/latest) and run it. -On startup ExLab-Wizard checks GitHub for a newer release; when one is found it -raises an OS notification and the tray menu gains a "Check for updates…" item -that opens the releases page. This probe can be disabled with -`update_check.enabled: false` in `config.yaml`. +**Pre-releases** also get the full installer set, so you can test a release +candidate before it ships. + +On startup ExLab-Wizard checks GitHub for a newer **stable** release +(pre-releases are ignored, so testing an RC never nags everyone to "upgrade"). +When a newer stable release is found it raises an OS notification and the tray +menu gains a "Check for updates…" item that opens the releases page. This probe +can be disabled with `update_check.enabled: false` in `config.yaml`. ## Running ExLab-Wizard diff --git a/packaging/windows/exlab-wizard.iss b/packaging/windows/exlab-wizard.iss index 58ab455..a17887b 100644 --- a/packaging/windows/exlab-wizard.iss +++ b/packaging/windows/exlab-wizard.iss @@ -11,13 +11,21 @@ ; Run-key entries -- registering autostart here would double-register. ; ; Build (from repo root): -; iscc /DAppVersion= packaging\windows\exlab-wizard.iss +; iscc /DAppVersion= /DOutputBaseName=ExLabWizard_v \ +; packaging\windows\exlab-wizard.iss ; CI downloads MicrosoftEdgeWebview2Setup.exe next to this .iss beforehand. #ifndef AppVersion #define AppVersion "0.0.0" #endif +; The release-asset file name (no extension). CI passes +; /DOutputBaseName=ExLabWizard_v; a manual build falls back to a name +; derived from AppVersion so a bare ``iscc`` invocation still works. +#ifndef OutputBaseName + #define OutputBaseName "ExLabWizard_v" + AppVersion +#endif + [Setup] AppId={{B3F1C2A4-7E2D-4C6A-9F0B-AAAAEXLAB0001}} AppName=ExLab-Wizard @@ -33,7 +41,7 @@ ArchitecturesAllowed=x64compatible ArchitecturesInstallIn64BitMode=x64compatible ; Emit the installer at the repo root so the CI upload/release globs find it. OutputDir=..\.. -OutputBaseFilename=ExLab-Wizard-{#AppVersion}-win-x64-setup +OutputBaseFilename={#OutputBaseName} WizardStyle=modern ; Use the app icon for the installer chrome only when it is actually present. #if FileExists(AddBackslash(SourcePath) + "..\..\assets\icons\ExLabWizard.ico") diff --git a/src/exlab_wizard/update_check/checker.py b/src/exlab_wizard/update_check/checker.py index 3bc0f00..b5a56da 100644 --- a/src/exlab_wizard/update_check/checker.py +++ b/src/exlab_wizard/update_check/checker.py @@ -43,6 +43,13 @@ async def fetch_latest_tag(client: httpx.AsyncClient | None = None) -> tuple[str response = await http.get(API_LATEST_URL, headers=_GITHUB_HEADERS) response.raise_for_status() data = response.json() + # ``releases/latest`` returns the most recent non-prerelease, non-draft + # release, so a pre-release never reaches an operator as an update + # prompt. Re-check the flags defensively in case the endpoint or its + # payload shape ever changes -- a pre-release must never notify. + if data.get("prerelease") or data.get("draft"): + logger.info("update_check.skipped_prerelease", extra={"tag": data.get("tag_name")}) + return None return data["tag_name"], data["html_url"] except httpx.HTTPError as exc: # Offline / DNS / rate-limited (403) / 5xx -- expected on constrained diff --git a/tests/unit/update_check/test_checker.py b/tests/unit/update_check/test_checker.py index c38ee09..e8e02d6 100644 --- a/tests/unit/update_check/test_checker.py +++ b/tests/unit/update_check/test_checker.py @@ -58,3 +58,35 @@ async def latest() -> JSONResponse: result = await fetch_latest_tag(client) assert result is None + + +async def test_fetch_skips_prerelease_payload() -> None: + """A ``prerelease: true`` payload yields ``None`` -- pre-releases never prompt. + + ``releases/latest`` already excludes pre-releases, but the checker also + guards on the flag defensively; this pins that behaviour. + """ + app = FastAPI() + + @app.get(_LATEST_PATH) + async def latest() -> dict[str, object]: + return {"tag_name": "v9.9.9-rc1", "html_url": _HTML_URL, "prerelease": True} + + async with _client(app) as client: + result = await fetch_latest_tag(client) + + assert result is None + + +async def test_fetch_skips_draft_payload() -> None: + """A ``draft: true`` payload yields ``None``.""" + app = FastAPI() + + @app.get(_LATEST_PATH) + async def latest() -> dict[str, object]: + return {"tag_name": "v9.9.9", "html_url": _HTML_URL, "draft": True} + + async with _client(app) as client: + result = await fetch_latest_tag(client) + + assert result is None From 18e55dbc258f743e4e234ba246524faa656e842a Mon Sep 17 00:00:00 2001 From: Alexander Nguyen Date: Sun, 31 May 2026 00:42:05 -0700 Subject: [PATCH 2/3] Harden NAS cleanup integrity Add exact cleanup candidate planning, delete-only cleanup, ignored-file retention by default, explicit cleanup deferral reasons, and tests. Also stop tracking graphify-out artifacts now that the directory is ignored. --- graphify-out/.graphify_root | 1 - graphify-out/GRAPH_REPORT.md | 2600 - ...2c657295ee598cad594469e30e94657162bbc.json | 1 - ...c3da2b4ec6978c4132b1a292f98614bfd1ddc.json | 1 - ...63998011e5577c1fb2cfa569d2bdcd6426ddf.json | 1 - ...1b2f94ae9fee00af170189439ca5fc2da0d7b.json | 1 - ...af30dfdf07bce0c66d5da58039ac4a49198c6.json | 1 - ...b429b264dfed1518440fa8f9d2b5d9b8d78b5.json | 1 - ...58c00b0d922c204dafb5547b51a55f8a9feea.json | 1 - ...78d6126783389b20170e0afca783b1d135d23.json | 1 - ...de91457682ed0d40ddda7385099bf67cfd180.json | 1 - ...c4dfea9f506ee74e47d81e5df2624938a6023.json | 1 - ...4910f07e3408ecae417850cd084908395d35e.json | 1 - ...4f6c19027809f5ce6231ccbc864aeae97c5d6.json | 1 - ...788f3ffc02eb40ebf0b3dbaf7ce689e0851ff.json | 1 - ...6fe4ca2b068ca25250b8beff72ffc200c4f11.json | 1 - ...c3471874881e87e6e73f6e485c220d2bae388.json | 1 - ...530525b081a99fe5514dbf3a088839a313de3.json | 1 - ...02dcdc667c1131efde53e11a80a487d66a125.json | 1 - ...0590925b4dc62bc26898f6426d6d1f3cb3825.json | 1 - ...2365ad7fe885ae8146bcd97def9910c35ca2d.json | 1 - ...dbbd8eb119565ee2abf6a3327c52d995fbea7.json | 1 - ...6e2a837513e31aa78e9322e0d90f193971c4f.json | 1 - ...5546cbd9c2e141c32f4d1da97b1fdd9a048a7.json | 1 - ...1e763e395df91cefea6fa76e2646691c2fcd0.json | 1 - ...5aa079ac9cb9d1c0bc45b30fdb7a07a580e6b.json | 1 - ...c18eee3abc78dd1339d4518231fa571c70a66.json | 1 - ...ed022e4297e634b049b59880410fafe20e1b8.json | 1 - ...cf805bfe0d3a5908044350869977bfff58818.json | 1 - ...d4e374c153b9cec38f37ac8fb50beb06d2011.json | 1 - ...6a89be67847fe244284a43e0d05c178b3b021.json | 1 - ...ea65bcb5928cf58790f936aa0d25b931844cc.json | 1 - ...95f92bafbf09dd4c118102a9f6aafbb1ec353.json | 1 - ...94e94831cb937782e6603b222009d773ff3b5.json | 1 - ...b09e56334809fdf0bfe385d2fb81434df9e86.json | 1 - ...61f65afca598434ebb96efce73db5992468bc.json | 1 - ...415eb3adbec1f5062bcc4683eeb5a8945f9aa.json | 1 - ...53a50b436a3f705360abd0e17027bc65d09da.json | 1 - ...05e4bad2f43d87c8feaec3f45690047f945eb.json | 1 - ...a77b1a6aa522dfb880a745acb64680814170e.json | 1 - ...0691d5a0cbab2146babaf1fc9ddb36c55abb2.json | 1 - ...9cb91caf7082fbb60111150202f3dfefbe33a.json | 1 - ...1ca1671654a958c304d5ebe54df9ff44bb593.json | 1 - ...0f5102d3e0084214a1f77ece7584e92ef9416.json | 1 - ...66f676279836bc3760b89a680c187fa166c3e.json | 1 - ...b3525cffdeedf8db70de24e10eb6816e0689c.json | 1 - ...cbaee3b48600c61c29a0a5e67ab4db18fec27.json | 1 - ...af30b129733fb8a6e38a8ee30e9376b037e2b.json | 1 - ...237a3ffc20a539bb3052235f66b7794dd8a70.json | 1 - ...7a0beccc3aa7f561a0c23c54124d0fa8f0ac5.json | 1 - ...862c7921665f50bea6dfc33e9e59c1571dfe2.json | 1 - ...d1838abc61f334b99ef8db21b0488095b7f09.json | 1 - ...c4faf64a0e391a9637a8c0f9a54267b81493e.json | 1 - ...fac4242e8d9a1a76bb1af53756da2aeb91574.json | 1 - ...9aca1a45a4117f9e7b5d0668fff2aef4b30a9.json | 1 - ...9d18a59f32578bc6e53f74b16f0f4a009d677.json | 1 - ...7ff01707ca07f1705a80a6800f6cb6dcbf583.json | 1 - ...18aa7335a5012b73c1b58eaf8a438eb80d664.json | 1 - ...c34784eb11917df8fcc11c8124eb152a7695c.json | 1 - ...37e09bface1c7368222363ab6020662262f2b.json | 1 - ...8880a704a761f4c3e9754a04631500086656c.json | 1 - ...ab3859b0ba203591b28f9780aba8eb09def92.json | 1 - ...4877ea8dd68343efb994adce94b2890905348.json | 1 - ...aa05096952e63997b8687de58a79b4c1224a1.json | 1 - ...73ced0806a5f1e2e85995e78b708c963e4ba6.json | 1 - ...705e7a0b9d468f43f6f2b8ce4d6202fd2c834.json | 1 - ...076bafd13239e5cd6e12fef8634e107ca28c1.json | 1 - ...4aec079deeebe0be1cbd8cd40970a0d3870fe.json | 1 - ...dd50bd14277481a4f8a86eeb77b518dc850ad.json | 1 - ...7871c3b446f4a896b0918edc04b930344671b.json | 1 - ...765143b71e2287440e280459cd2cec5b9c809.json | 1 - ...b37f8239099adc9bfb0167b39db7351bfc734.json | 1 - ...4c4d3a1283bad4bd7b24c4eff9f9784022945.json | 1 - ...746e6d90ed236e08ef63bbc115e1ba608efb0.json | 1 - ...da481aa3931143591761f94e3d10d40538cd7.json | 1 - ...c8031434660f2dca51d784d9ea9b2206b82dd.json | 1 - ...a1b49fd245a7f0d50b1c733a87bfa89f53fd4.json | 1 - ...1ed74da5b6e3e45faaa8bf87c0ca53546fd0c.json | 1 - ...e22b81882034cb13ba9d6927b06d17772d650.json | 1 - ...6f7c4a57fdc71eded33f8285a7236bee95d42.json | 1 - ...08f4bcca4b494387440b7c48da4ac7e71a21f.json | 1 - ...3845c93992464b77548db90b282c74e2c28d1.json | 1 - ...0b069b5b47ca785522e6913d515121248aeb6.json | 1 - ...0814f54c1f74b07b61602e3532cec57d542a5.json | 1 - ...d777c0bb04f37142b164bb57c0726d59a59c5.json | 1 - ...78459cdba2f2c978cf76fef663bd60dbc9c1d.json | 1 - ...b665d8e35f6fd7fa35d4086d7e463e8156799.json | 1 - ...665990fe17069fecd93c62e44dca45358e455.json | 1 - ...57465548f784243c2b9b32e8dd14225571a56.json | 1 - ...54cd324c009ba7625fce253d65af6df46e087.json | 1 - ...84474744e8e00236ec921511bc356bf125715.json | 1 - ...8bb48462285d8f6867d85d1e257ded4597b82.json | 1 - ...9c33011c93219dc608ac675fba55a6b8f732f.json | 1 - ...2c413cd75128782fb8e7c3405afc426b24dfc.json | 1 - ...81f2c208412e6900bb3b95f0c6a1a12981500.json | 1 - ...e095f47e5b2f7024887ab2409179c142b65e6.json | 1 - ...bd3723912ba556421144950abc9eaa5a018ba.json | 1 - ...af1c7ce9aa10fa2c37733323c80bd344ab5ea.json | 1 - ...b6b832f614d6c2520696b0bd0a550e1501245.json | 1 - ...abda29fa391c3455c9df842f0fa7d46a3408e.json | 1 - ...6b85f1038250554682b78e29ac667918869ab.json | 1 - ...8946f5ae78dd2be20f434b4f919e05bf641e6.json | 1 - ...7e8874266d5445315c6ffc5dc7578bc0e88a2.json | 1 - ...bae2da1a4dd1d31b37e9e3edc01b1ecbab710.json | 1 - ...590af1d31d7e65df1561cd18c795a4ae79f1e.json | 1 - ...6b0f8e03859a0b09dba96f7ef4b91b2aa5627.json | 1 - ...60e146a00f0a1ec4315bf48844f73b64eaa35.json | 1 - ...b622398500aac1a98362f1bfbbbbc82a02824.json | 1 - ...48925f59f2d2f2a98db62e68d0c58b4ffd882.json | 1 - ...e62d238273fb895e42ba813dba742d606a55a.json | 1 - ...1d1b74100ec63a3d0363e6ba3dceb91939437.json | 1 - ...ab2811f037868fc35fe9f300ae9eec753b43a.json | 1 - ...7a0429a7d682a46cf0ecc9256c1e5ed02da7a.json | 1 - ...6fdcebc3f200d9e2cab6120bf0e8e9070a79a.json | 1 - ...6bf220823403bbdddfb18eed630639639f981.json | 1 - ...2e0492f2d3a7901dc967dcedbf4d76dfe9129.json | 1 - ...346f1bcad0e4093bc87d8ae91bf1b0586d2a7.json | 1 - ...3f66c9a25eb9ea64636fc3f61e0aeab1d26ae.json | 1 - ...67025113ff7c6f78d59f4644cf9bc4bf2bfcb.json | 1 - ...1bbf11c003df3b897e7cd64059ecc6fbcb4b5.json | 1 - ...6f9376563b7e4f1db86cab588fe80e881a93c.json | 1 - ...7fc2f8f67d5846fdf4f78bb06991ce393f156.json | 1 - ...6147bdca7abd8f67d7b0259c65658bfced1c0.json | 1 - ...2cdea97e81ac2d404214d983a445051536b35.json | 1 - ...d12fbe111ba81567dda475ec36e0424569846.json | 1 - ...8ad24d7823d74ef578a8148fd2978dd35ab08.json | 1 - ...aa7eef2c43039ed0902f543e558fb6652a047.json | 1 - ...3c10625c4ca790da4869e1095058169e0e0bc.json | 1 - ...50607593f0fef95d1ba19992bcdde73773d7d.json | 1 - ...d01fdad35e02b3415e14e7b119165bde1f699.json | 1 - ...d35d92a57b2b55fbe030dcb2994fa515e40b6.json | 1 - ...a61bf5f979cec7ddb74000565ed528d7a24f9.json | 1 - ...5a917cdbe0a41fe13f528e8e40add39fe19da.json | 1 - ...312e1a65377adf66a4cbd151d06f4d005a21c.json | 1 - ...44bbd4e58eb725222a4177e82e2a7e6a485fa.json | 1 - ...1e56edf1f822467af9492e34cc277de4f227d.json | 1 - ...0e2034b908e0deacd40f9e6161ab69a057d10.json | 1 - ...4f57c9acba2851dbbacb8676700d6a28732dc.json | 1 - ...bc0d2472311ce487c76b481a77f86d12aa9bb.json | 1 - ...ef234893b69f03b369eff51cdf15842186e9c.json | 1 - ...c3da6d4b511f28e04f81ba23db96ad9b115a4.json | 1 - ...3d1141541e90b33c0dc62e554731c7a2d619c.json | 1 - ...5cdd425e759a80b7129b71c4393052f8c6f9a.json | 1 - ...1e73c03c014c8362332f7939753b3cf648a3b.json | 1 - ...30b024a7f13e4b5d93740459c3d4b075be60c.json | 1 - ...bf78284db44bd38812dbc548f223590946506.json | 1 - ...8798a156b6be4c53f48d0d52fde67d625131e.json | 1 - ...5a10245134d3373267c69626c71fa1c8a6949.json | 1 - ...5dcf3d49bf14708815a3628f9a289636fb5e3.json | 1 - ...96e62bff3c28dc06cdc07d67f0ccbb938c88c.json | 1 - ...eb28358b423c3a8cf499aca999e9e432afe18.json | 1 - ...f346975fdcac55aa8601ea0ef53e75a11d95e.json | 1 - ...9d00e067935c932dbaf625b18eb0dc5c16980.json | 1 - ...f9a1691b7895934852b530087becd2c6719e0.json | 1 - ...1278f07a48337e4611f14174d55ac5f9dde11.json | 1 - ...367d7b9f4f2cdee405e61af358ac00e4d0c27.json | 1 - ...4d7bb78528362a0e16a219610b59297813869.json | 1 - ...e501f9a45ebe3e77b1a3410d7dd9cd86f30ec.json | 1 - ...60bf9c0b07aac46d6af37a3ab329f579c3328.json | 1 - ...a114939d9d8c704e82260ad1d5e198efd3274.json | 1 - ...fbbaee39eaf1b3ef83d8fddc8644166cc5567.json | 1 - ...f036aeeb3e688e44c700610a65e8d0393b393.json | 1 - ...ac666d91d607f43fa0ff82997a4bf5cac60f8.json | 1 - ...4ac100b576700308c5787bfb1ac1440ee640f.json | 1 - ...e3577bd0b5cda888cd5d6ce12f57f720aec5a.json | 1 - ...180becaa93bc6cb159f0b40ee0e11ce133ebf.json | 1 - ...759bd51bc36d2803300dfc79ed0f1a994aa7f.json | 1 - ...19231d08e35256a8bba69415f0b1e9210c485.json | 1 - ...554b6c6988c4de7a204ad43f80b8d51f44a26.json | 1 - ...fbe26836c0950cd0c680b2e6da60deb044898.json | 1 - ...e938f96fc24fa3f30b4192df058358840d833.json | 1 - ...fdbef3aa042ddc90ccc8a384ccd1dbf44e252.json | 1 - ...9b76420448d2bce188bc1ace49914aa0066b8.json | 1 - ...969681890ad904864e5c5e291ac28e2bb1c1b.json | 1 - ...801c0a79cc54a945311c49f82fe2b240859f7.json | 1 - ...53253578b9f754dd8fa35f8cf73ada39b9941.json | 1 - ...d5007d3eaf9c27d05a2200acf5046d18a792b.json | 1 - ...46d6a463ee9ef76328a806347e3b2ed9bb406.json | 1 - ...03198296962827802f05328e94c1f57cb0a1c.json | 1 - ...557c8a181e4cc87ed9f7a0ff0427003863055.json | 1 - ...b81f5fd7fb1f51d66c5a465c7438bee2596c4.json | 1 - ...b8cf1f8b12bfa81a0f8a7c910b5161031f00e.json | 1 - ...b81922130a5a4f0703d5c15e12f3cd6ad4289.json | 1 - ...31e936768a020c2e36ff3e2f4270427c52a8c.json | 1 - ...5b4c91b026fecb4fd7f28c20854f5424bfc90.json | 1 - ...5f5b4848048348ffbd5030fe6f1beeb8e0573.json | 1 - ...486ecc67b846a7c2a6c66df7e6cd9c3629fba.json | 1 - ...d4ee9d5723f5900386bba00f4f66a0c30f7a5.json | 1 - ...b0e8107602a224da9adfe53391279ceb91190.json | 1 - ...8c76b8c7d3241423ee0833755b75e130b898a.json | 1 - ...4a3a8da2d8e227397ac48598999ef1e0cf868.json | 1 - ...c442ca36a786480a939579a7bcaa77eba6649.json | 1 - ...8869c3ea6793531dc4608daa69c17d423b7dc.json | 1 - ...bd8c48bc07f0c3e8801452346d2fd6fc91619.json | 1 - ...23b3396fcd7a8d82f8a47086f97d315e29ad9.json | 1 - ...ab6f412226d478c59536f27cd79d3d3717edd.json | 1 - ...6600b90c4f0f218a10101138b94360760ae92.json | 1 - ...421c706baebc2d643688169e08cde895820e5.json | 1 - ...571617cfe2c30f2e3ed5a0a5024f3c69d7a14.json | 1 - ...e15ded2120f7d9d6a61e8d26b869cb014aa64.json | 1 - ...7315be38de4f76189f7d8d147d2c0b03b40fc.json | 1 - ...b30128081b34aa5159f64c679bfc10033a1dc.json | 1 - ...30438c564077a427d79c314382618dedaa6c5.json | 1 - ...8827c2ae56b76528cf21b6856e1f855ccfd9d.json | 1 - ...2fc35cc31dd86df658a1bfad6c37af5725860.json | 1 - ...3a9eef8189794cb5a5eab5c585cd15b3ad0fc.json | 1 - ...ade4324fad1f00229cd4446f60884b43e221c.json | 1 - ...38431f7fef8e6050d1e86080e27a4ce2636ee.json | 1 - ...416fc2bbd61fca5562b0753b5078fbc84bf36.json | 1 - ...90cfaba595663f5ef45049da2e955ff31b664.json | 1 - ...c5652694a2dbaaedbdd74fb1ae44ff9ebc550.json | 1 - ...1be67ea7f52541ee57bbffd60f422a97cc9af.json | 1 - ...4a15772266a6fb4e13186f69ad1f9e5d148ed.json | 1 - ...7cdbf600a5910ce230d6efda890e8cf649f7e.json | 1 - ...699ba2d9624c52f8bdc0c2d05c2dd1177ac20.json | 1 - ...5a513710af71af27a5d200af0867a3e302371.json | 1 - ...890a8aa3a1789a6ccc4023d6c2048d41ef198.json | 1 - ...07ddcded8aa79ed2d13e14d396d9693f3711a.json | 1 - ...54da39b902ccd109863cd4b76f03e4ad1ed79.json | 1 - ...cad824ab88ca067ecdcd20530593b9faded0e.json | 1 - ...9d750545128c56ef87268d83e2580906b3d0a.json | 1 - ...ad2d13a9fbcad3108d7f7ca0301a53b94716d.json | 1 - ...b6a88d74ede341919e9479a574a7f0c0d633d.json | 1 - ...e44abd82f5208996d06b66eb1d041ff8563f2.json | 1 - ...61a92d0575c2033a9671e9040ee5632100f77.json | 1 - ...02d7846beb4435e5d72edd22d602dee0e64ef.json | 1 - ...25d0b235c7bf1db575601d3dda5151c4a008c.json | 1 - ...bb866fb16530f2310dc43a33e36c8875944c0.json | 1 - ...cfc4b7a76494806ba25478589f11f8299546b.json | 1 - ...28494ca14a20a46567f85b4bb08454f8c2570.json | 1 - ...0374c4caab00173faca0c8f2651aee870ccfb.json | 1 - ...307e3a72f29bdf4e738cc2a4e7d1d4da9c952.json | 1 - ...e99ed21f7d756354140eb300f9b5eb2f55dc4.json | 1 - ...dfd9640033847b227d4e0444f7a61f5a814ff.json | 1 - ...6102ce919b80de7877ac9435bda8de5c8a2ad.json | 1 - ...130036b7426834043ae595e5aff38806623c7.json | 1 - ...df46190fab1c365809ae0fd3a132f57b02643.json | 1 - ...e4c434da98c5703f7b5971bb4593ad57d6e74.json | 1 - ...5ea27bfdb0856ef3af86d5e2c8bc80dd34097.json | 1 - ...56c75679163fdeaf48e91152b14b28c9f8885.json | 1 - ...2afd37996c3fb8c45292884631229b53881a1.json | 1 - ...b8f1d800142bbe664e9a51b08f67a5fe945c7.json | 1 - ...c823fd9b69976573260f05194670b4afa0358.json | 1 - ...d79965b410bc0de8566bf86e29aec9d532181.json | 1 - ...4e58432e62bae6876e7c69a89d48823891bd8.json | 1 - ...ea5d8de3f3f7f4003ccc06eb66a755bfba1e0.json | 1 - ...e43793b0035ed53ccd0080a1525ae7d23035c.json | 1 - ...21ba0a12df307cd3d0805a97dc63e4171ee85.json | 1 - ...3f4008d0f3a9ddaf1766e0a41f46fbde05573.json | 1 - ...c7f130e4022fe9e21680ddabaddafadd695f8.json | 1 - ...746a898b53b8fddbf25d4978125b55e803ae1.json | 1 - ...5f1568f15b1e91b535b8264ca65b9f943aced.json | 1 - ...4c8703138299ce8c8dfd83d91319715f78381.json | 1 - ...415b47fe23d048e9222dc044e063e08c02d66.json | 1 - ...0e35a3980bf28b801d10b8a3b233aa80f24ce.json | 1 - ...f2da4b4ed2d9c46c6c137fc2d4767de21e97f.json | 1 - ...57b6268ede98ddb0f80feaeba41e8aeb31930.json | 1 - ...0f66cf94d4d34ebcad103ceb968f4055a51f4.json | 1 - ...53b0b56a8fce3d00eeeb7a48cb6ae63afe9f6.json | 1 - ...ef0eaa42d4504ffe0229770901b7e402f887f.json | 1 - ...10499c69e58f9de54dacd0307ff145af6f5c4.json | 1 - ...b49ca02f337543b89dec20f4c1cf8a9a4a156.json | 1 - ...403944f0b643b26e47d0a96bfdedaa0db4b3c.json | 1 - ...1cd10e30be7f9b93b79f28bd0ba81e348f9d5.json | 1 - ...7f8fe6867494a59a63792ff36f27f64070e4b.json | 1 - ...83b5c13d7327d59f5767f183323bca6f87181.json | 1 - ...24b0dd1f1a90c5baa24e39adf4c614ec374d3.json | 1 - ...5c471a57ef1c07f0526b83e3c16d752513987.json | 1 - ...8d3dcb0467aa121c45016d8603d25377febef.json | 1 - ...849eb1b008fe0b9e250bd0aec0bea494e0fe8.json | 1 - ...5e3b3a1cefb26aafeff0b71889f9808b50e23.json | 1 - ...86aaa8194006d629550722b0ff2575bb156b6.json | 1 - ...cc672b6fd59bbe01e7c4fc7074da80b136117.json | 1 - ...86654a84746a4f4bf3da4a39b8d6dda18f083.json | 1 - ...bd9142f8eeda14f97117d15722fa24a4b4318.json | 1 - ...57554f04907bee4085e625c0935b9f1d8d579.json | 1 - ...e35fba913275e752f5b099519283ff08e68aa.json | 1 - ...0c0d2f30816bdcfe601816e950e5637300e84.json | 1 - ...40b51259543594c39dbdecf40069089d0a04e.json | 1 - ...e9bd4cf605f997c7820b20316ccb4f0a0b219.json | 1 - ...96342dac2e2db128122803b7ff08e2ee046c4.json | 1 - ...c33bba916d4241276de9808bedb9c327a278d.json | 1 - ...f268f1fb651f8a923855df34ab90116b13740.json | 1 - ...aa6870ab01fc64770f74fcadc4189fb74979b.json | 1 - ...6b60b77a222c293d08ac5b68b6a7488baf94f.json | 1 - ...025d985d2ff63e7af95bacb7591a35d58bba2.json | 1 - ...cabc259134bb2b34904ff7b67b2d0906a449e.json | 1 - ...037140fe522272f4374b077a369524e20366d.json | 1 - ...1c08ca257abf3cf3aeeb72b61dd7b288993b4.json | 1 - ...c8f53122058c31566c0a1875289a52f7dac14.json | 1 - ...9d75995d367c1273be4065f381ca5983ca18b.json | 1 - ...297f75c1a1ed7d22b52597badbd5906cf19cd.json | 1 - ...5ee9558655cbe650092ea966f9737eec00459.json | 1 - ...0fed84b4ed8b67ae92ee68ad9f53d1bbedf28.json | 1 - ...4fd8980bd02a669f7131a999d8fd74bdd405d.json | 1 - ...e4ba37795731b1a38badc0260e34204b07c6c.json | 1 - ...09409c8bf6d1638c36f5935c510c0f880a3fd.json | 1 - ...a485fe05fe2220437d7617eb8231d2cfceacf.json | 1 - ...eebf85122cebbe7a1f76a99dcab8f16208a66.json | 1 - ...7f18bb887fd0e8ec4230f4aa9aff7c3b9c154.json | 1 - ...a8fdb91667faa67d8a2a5b1f92fd085dcc71e.json | 1 - ...7fe343a426ff681d70b208e323dba89407678.json | 1 - ...5c9f4b1b73f97172b4e1813a3aaea988a07ab.json | 1 - ...4d563f38606b41453fe5524f3aeb7e6302523.json | 1 - ...d0f113eddb4d3c807b37da1f6b36ebe924844.json | 1 - ...5621e3ddf18cbdf8786369d8a6e8eca3b9f8d.json | 1 - ...86bbbcbe092dab5f4c9773a95c235a29d524f.json | 1 - ...f8dc0885c0aeeb6a5e30193db89146298f3ba.json | 1 - ...9c2c4a2e3edc9265a806b45ebb1d3843f452e.json | 1 - ...2bf63110adca15ba382f03ce9900064d39f7e.json | 1 - ...7026a2e01163b926b84697af9cc39cb223cc6.json | 1 - ...3c0383f9788568cbe3998d56674863161a30d.json | 1 - ...d0dcc4ec7088ec5fcfc04907996de80149b1f.json | 1 - ...285811623f4d2d7b9de357e4fc2d461066bdc.json | 1 - ...f8c30bb886d88342a7ae4e0b31193224885b5.json | 1 - ...9beeea4f5ecdf5ee5684f8eb28142b2ab1494.json | 1 - ...83f4c9725eed5daf28ecc85fd8e216460a85a.json | 1 - ...a4bef48e27424d7f61e4ee4ac2d5e36daf441.json | 1 - ...52e12040237e5cbc26764b433c01e7db121cf.json | 1 - ...3ac287d85c1a072c7a308b781b4bd307020b9.json | 1 - ...b9be81e723de98d1578d027918d8e1cf9591d.json | 1 - ...e7415946d829b0918517630766c4adffe7dfc.json | 1 - ...6c5b9a78d4182b72b3af5ac69448a05607bfb.json | 1 - ...d13d55167fd4cd99fe182b9679f5bfe79d4b0.json | 1 - ...d434a46c2b38ec110c4a227e75dd0b1625c10.json | 1 - ...7651ff547e9c0e83e0e210904c46616bb8985.json | 1 - ...9a09495a184c3acf2e578c2f85d00328a9fa4.json | 1 - ...8d836e68505c30793342048149bce1c6123e3.json | 1 - ...ee1b5c0a5548947ce1c887be092f2d0b61768.json | 1 - ...4963f83a63d0b84d931744f974aec81a6bae4.json | 1 - ...e799042a995ca3ef70c365c0c5f546ea7fa78.json | 1 - ...993cc58947879816b3c33bd690358fcf8975d.json | 1 - ...45809832a7184fdcb0d0328dde3eb82f9e73b.json | 1 - ...54ae5b6b3125cf029ea7a7f371f63afdebace.json | 1 - ...d6e10717b37cb12c63526bea9a8cd9c68d078.json | 1 - ...bd54bebe47560f57493ee012be08883cdbaec.json | 1 - ...776d17ea64db0c40cf12ae8782ce9704831f4.json | 1 - ...745659012ea4a578596bcb9d9fe45fcc0960a.json | 1 - ...2e6570aa8cd20fdf3aaa065d3e8cbb3faacc4.json | 1 - ...a4b2e338709cbe16f909921fbc12219c95edc.json | 1 - ...92b292f7e20e91d23f10b2658b580044bc53e.json | 1 - ...9441b9b86196521d7017a735fea5b57beb08e.json | 1 - ...9b69be69e7d6a1ae3af045903150b064fa7d7.json | 1 - ...91f9b06868c7ab85e90f86433a9108f538d2d.json | 1 - ...2192394a3e3a8a1e222debbab22101eccb341.json | 1 - ...910f1e1bc3eda5cc9a1f2519326b87765fcc6.json | 1 - ...b88a64322562e73892b1813b993b953259308.json | 1 - ...15f55aacf66cf45fb7df24f324958a73d7291.json | 1 - ...7db5c2e9a9bae045491d589d15c36de4d024c.json | 1 - ...263fadd6aa64729d81cb02624890a6cf92cad.json | 1 - ...acc139f6b5cc78e592f4700b2aae14c066e94.json | 1 - ...7c954bc3b52e25d0742c76612d44c71da8afa.json | 1 - ...4c3d3e9513f798ab06aa317e37a4f77685b01.json | 1 - ...fad4960dfe6b98c12630b9b8e8d9f39cdc83e.json | 1 - ...ab4ba864d6e82eaa50797ab3d447057f1aec9.json | 1 - ...0a592edbe9712d30b128f2e9e77950053d366.json | 1 - ...b4e84d20471cbb81f40d904bc5ad16044ece6.json | 1 - ...c988073916c1f9e3176c626991cda7f90c055.json | 1 - ...c7fc467ec686d9dc746aaa3d9ddb3c8df8a36.json | 1 - ...0c6b6ecf282aec60b85edb8ae24f234efd319.json | 1 - ...b9039c1aed3710f3e68b1c38aab6465ecee7e.json | 1 - ...2b03a27c531e0b11f91d50cdf8852cb068079.json | 1 - ...95a2be76afb9dc2f8d92c05fc6fd43ab51618.json | 1 - ...434427e3940af12d9410878b4ac9b068805ce.json | 1 - ...d2aeec0ff331deddb539a91a758ca9f770b1f.json | 1 - ...e344b63cdc7c93c62cc3bcb1e0bf52dd78619.json | 1 - ...850dd158b1ba102eb8376fcacc45a6787119a.json | 1 - ...bd1bfdeb01cfac52f2a078923a9a79adcd10f.json | 1 - ...d1f52dcfdc2bfe7caed2fffcce9c3d175b7e3.json | 1 - ...189e069a67d22ac1ec1855aefe401ffd848a9.json | 1 - ...da3964121248f96b1aff32f9223e622d1eecc.json | 1 - ...a61b6c1daa3099f470513f5de0fa7ec9c554b.json | 1 - ...afbd729afd7326ed8d190d04b1a2e38a73dce.json | 1 - ...9d0716a5c481a699910283a4fb5b95e2105e9.json | 1 - ...49e4da780fdee8b923ca504edfa6fce613d5c.json | 1 - ...733591c51b68b8f5207a197a22bd6b2bdb468.json | 1 - ...7028c24634ddbe5364f0e9891b8c71ae9831a.json | 1 - ...441cc86ed0f9c5e169c55d6bfed724620198c.json | 1 - ...94591ddbad46b66e5b61193f4a9cca5bb9da4.json | 1 - ...6d272f843163fe2b540587afeedc3c87ad05b.json | 1 - ...87b8717084fa82fdfd60a91bedc769bb9b6fe.json | 1 - ...4dbdc5e7f82b533818441146e8c3dbda6ff66.json | 1 - ...8f7be5733304b1d6790941fca0dd2bd4d77f4.json | 1 - ...56e2e4ac72c9c11f06cfc9bd67577a8638cb0.json | 1 - ...115f893de8984be2607e77d3f2d769f3050f4.json | 1 - ...e31f673ad906d63ccfc2bb9eddf253621d32e.json | 1 - ...12602448f65bc0cd9aa18a4a7204952288251.json | 1 - ...8580a57b9b8ffaf956d7f7c83f50efcb131a4.json | 1 - ...7b7aac34fdd5f379ce1332ad4f8ed46f8ded4.json | 1 - ...7459f8da423edeee7ce6c8697dccd0ba9e712.json | 1 - ...3d047955c030f10bd7db7c7fe43f82a2a72c9.json | 1 - ...1e393fe44d78e8ff643cbf78887ee3f927f4a.json | 1 - ...f03dfce7d68aacf3e111413ab33e9d99c2953.json | 1 - ...3fce8ad2b3739bbd9584e2d34a837031d3a17.json | 1 - ...dc0fc02bbd8ed98ac7bc82191e753d86de7a5.json | 1 - ...2c7c0eddb39c4fefb23c395f7279f931e1406.json | 1 - ...4f94e36514a4680b6b5704944f2c247359ed4.json | 1 - ...ece0c18f8825ddb84a1c3e6aa056b2edaf31d.json | 1 - ...bbe6fa51699a08c1d95249821a532fe87b8ce.json | 1 - ...4ba83e65f03b235eeed4b5db3287baefd5aa4.json | 1 - graphify-out/graph.json | 256788 --------------- graphify-out/manifest.json | 2386 - src/exlab_wizard/config/models.py | 1 + src/exlab_wizard/sync/cleanup.py | 12 +- src/exlab_wizard/sync/nas_client.py | 103 +- src/exlab_wizard/sync/run_delete.py | 79 +- tests/unit/config/test_models.py | 7 + tests/unit/sync/test_cleanup.py | 18 - tests/unit/sync/test_nas_client.py | 14 +- tests/unit/sync/test_nas_client_extra.py | 301 +- tests/unit/sync/test_run_delete.py | 112 + 411 files changed, 550 insertions(+), 262270 deletions(-) delete mode 100644 graphify-out/.graphify_root delete mode 100644 graphify-out/GRAPH_REPORT.md delete mode 100644 graphify-out/cache/ast/0145ed68b560fed9c726b007b272c657295ee598cad594469e30e94657162bbc.json delete mode 100644 graphify-out/cache/ast/02924e3223b207d028871711e78c3da2b4ec6978c4132b1a292f98614bfd1ddc.json delete mode 100644 graphify-out/cache/ast/02d2322c01c22127dbc22f2b66b63998011e5577c1fb2cfa569d2bdcd6426ddf.json delete mode 100644 graphify-out/cache/ast/0476f55ecece7aece5a957eaecb1b2f94ae9fee00af170189439ca5fc2da0d7b.json delete mode 100644 graphify-out/cache/ast/0495d66995a77bd8f97684f8496af30dfdf07bce0c66d5da58039ac4a49198c6.json delete mode 100644 graphify-out/cache/ast/04989460dc878f0fe377152ae49b429b264dfed1518440fa8f9d2b5d9b8d78b5.json delete mode 100644 graphify-out/cache/ast/057e473d3f5cf078834b2558d3c58c00b0d922c204dafb5547b51a55f8a9feea.json delete mode 100644 graphify-out/cache/ast/059f9ec8b7fdd7db89e14da43ae78d6126783389b20170e0afca783b1d135d23.json delete mode 100644 graphify-out/cache/ast/061488c3db82be2428b40e2e576de91457682ed0d40ddda7385099bf67cfd180.json delete mode 100644 graphify-out/cache/ast/07456e03f53b1bd906670760542c4dfea9f506ee74e47d81e5df2624938a6023.json delete mode 100644 graphify-out/cache/ast/075e1102da6d574bed5dd0ee2004910f07e3408ecae417850cd084908395d35e.json delete mode 100644 graphify-out/cache/ast/080b1df45ddfbc8a2fad881af2a4f6c19027809f5ce6231ccbc864aeae97c5d6.json delete mode 100644 graphify-out/cache/ast/0a7907336f424b414e840bf027e788f3ffc02eb40ebf0b3dbaf7ce689e0851ff.json delete mode 100644 graphify-out/cache/ast/0a81d5fd51628476662b68626e76fe4ca2b068ca25250b8beff72ffc200c4f11.json delete mode 100644 graphify-out/cache/ast/0b0ae9c23bad89a9234b4050c88c3471874881e87e6e73f6e485c220d2bae388.json delete mode 100644 graphify-out/cache/ast/0b12531e47f99fc731d86a031e4530525b081a99fe5514dbf3a088839a313de3.json delete mode 100644 graphify-out/cache/ast/0cb88b54a819b46b17bfab7744e02dcdc667c1131efde53e11a80a487d66a125.json delete mode 100644 graphify-out/cache/ast/0db7028d84ce47f3a0d403ec7fb0590925b4dc62bc26898f6426d6d1f3cb3825.json delete mode 100644 graphify-out/cache/ast/0dc3a1035fb5399f382d18725372365ad7fe885ae8146bcd97def9910c35ca2d.json delete mode 100644 graphify-out/cache/ast/0e16ebe034ff0ae5ab1f4865d96dbbd8eb119565ee2abf6a3327c52d995fbea7.json delete mode 100644 graphify-out/cache/ast/0e32ebd7320a76ffe29992e47d36e2a837513e31aa78e9322e0d90f193971c4f.json delete mode 100644 graphify-out/cache/ast/0f444a0b42a76a811cd8f3506fe5546cbd9c2e141c32f4d1da97b1fdd9a048a7.json delete mode 100644 graphify-out/cache/ast/0f7666d74ae8f3f21b28601a5a81e763e395df91cefea6fa76e2646691c2fcd0.json delete mode 100644 graphify-out/cache/ast/1400d2ea73f37c248424ecf3af55aa079ac9cb9d1c0bc45b30fdb7a07a580e6b.json delete mode 100644 graphify-out/cache/ast/141d811c6345f24b52731775c7ac18eee3abc78dd1339d4518231fa571c70a66.json delete mode 100644 graphify-out/cache/ast/14acc37c0e26ea900c424ff00d1ed022e4297e634b049b59880410fafe20e1b8.json delete mode 100644 graphify-out/cache/ast/15916c6f15399b75110743bcc37cf805bfe0d3a5908044350869977bfff58818.json delete mode 100644 graphify-out/cache/ast/161473dd01ef1490226500477acd4e374c153b9cec38f37ac8fb50beb06d2011.json delete mode 100644 graphify-out/cache/ast/167c4821e8f445394cf2088175d6a89be67847fe244284a43e0d05c178b3b021.json delete mode 100644 graphify-out/cache/ast/1829f897e061916b52b76a5684dea65bcb5928cf58790f936aa0d25b931844cc.json delete mode 100644 graphify-out/cache/ast/1876cf6c689decd6f6f7e3285f095f92bafbf09dd4c118102a9f6aafbb1ec353.json delete mode 100644 graphify-out/cache/ast/193fa5229e7a456f9f1641de7c294e94831cb937782e6603b222009d773ff3b5.json delete mode 100644 graphify-out/cache/ast/1978c459c7afc6dc2a5cc54b11bb09e56334809fdf0bfe385d2fb81434df9e86.json delete mode 100644 graphify-out/cache/ast/1989c806132f27043cb1191ff1461f65afca598434ebb96efce73db5992468bc.json delete mode 100644 graphify-out/cache/ast/1a1be1aac4868ad12ac50f2d767415eb3adbec1f5062bcc4683eeb5a8945f9aa.json delete mode 100644 graphify-out/cache/ast/1a3d4aa334c23aef4db3906fb5f53a50b436a3f705360abd0e17027bc65d09da.json delete mode 100644 graphify-out/cache/ast/1ac8fb713a9bfe5dadd19bf1c1105e4bad2f43d87c8feaec3f45690047f945eb.json delete mode 100644 graphify-out/cache/ast/1ae81254339e9cabc80074d7689a77b1a6aa522dfb880a745acb64680814170e.json delete mode 100644 graphify-out/cache/ast/1af271d1a8078f2f11926c563d80691d5a0cbab2146babaf1fc9ddb36c55abb2.json delete mode 100644 graphify-out/cache/ast/1c1b702e5654648d39127cbe34b9cb91caf7082fbb60111150202f3dfefbe33a.json delete mode 100644 graphify-out/cache/ast/1d7fea54deba3f4493a238600921ca1671654a958c304d5ebe54df9ff44bb593.json delete mode 100644 graphify-out/cache/ast/1df1a782862785747438f133be80f5102d3e0084214a1f77ece7584e92ef9416.json delete mode 100644 graphify-out/cache/ast/1e661e4091bee281aa9639f44b466f676279836bc3760b89a680c187fa166c3e.json delete mode 100644 graphify-out/cache/ast/1ebe8dc34ef79708e459294cd23b3525cffdeedf8db70de24e10eb6816e0689c.json delete mode 100644 graphify-out/cache/ast/1eeb5417518fb4a54a6f22ac5c6cbaee3b48600c61c29a0a5e67ab4db18fec27.json delete mode 100644 graphify-out/cache/ast/1f7cc5b26a50859217dbb31f3b4af30b129733fb8a6e38a8ee30e9376b037e2b.json delete mode 100644 graphify-out/cache/ast/1f8336d331d7e7555033f3665c5237a3ffc20a539bb3052235f66b7794dd8a70.json delete mode 100644 graphify-out/cache/ast/209f8ea1017e551f34ca7524b5d7a0beccc3aa7f561a0c23c54124d0fa8f0ac5.json delete mode 100644 graphify-out/cache/ast/223341f2dcfcf951460efaf4ac5862c7921665f50bea6dfc33e9e59c1571dfe2.json delete mode 100644 graphify-out/cache/ast/2242281b8c9c6c334a12caacc96d1838abc61f334b99ef8db21b0488095b7f09.json delete mode 100644 graphify-out/cache/ast/2264f3743151b1ba4e714f4fb35c4faf64a0e391a9637a8c0f9a54267b81493e.json delete mode 100644 graphify-out/cache/ast/228940b4538aa765a8a983f8049fac4242e8d9a1a76bb1af53756da2aeb91574.json delete mode 100644 graphify-out/cache/ast/2491e9cf09acd7dd830e2b375a59aca1a45a4117f9e7b5d0668fff2aef4b30a9.json delete mode 100644 graphify-out/cache/ast/26e0e88fa2471274a3a37dbdb859d18a59f32578bc6e53f74b16f0f4a009d677.json delete mode 100644 graphify-out/cache/ast/2872a9bda916e99d684370c74ba7ff01707ca07f1705a80a6800f6cb6dcbf583.json delete mode 100644 graphify-out/cache/ast/2898ac39fd6068c9da11e557ac118aa7335a5012b73c1b58eaf8a438eb80d664.json delete mode 100644 graphify-out/cache/ast/29840775ac86b9adf79c4059515c34784eb11917df8fcc11c8124eb152a7695c.json delete mode 100644 graphify-out/cache/ast/29c5ceb08f9ccfa78be036301ce37e09bface1c7368222363ab6020662262f2b.json delete mode 100644 graphify-out/cache/ast/29cd03e6a03015ec433bc144f368880a704a761f4c3e9754a04631500086656c.json delete mode 100644 graphify-out/cache/ast/29ee0403ce578164c2e76a58e8cab3859b0ba203591b28f9780aba8eb09def92.json delete mode 100644 graphify-out/cache/ast/29f774c05962dbf54b8f243f62f4877ea8dd68343efb994adce94b2890905348.json delete mode 100644 graphify-out/cache/ast/2a61a10e6de7335a07c8434b5f7aa05096952e63997b8687de58a79b4c1224a1.json delete mode 100644 graphify-out/cache/ast/2aa97d838ce8b59dd6a35a6167673ced0806a5f1e2e85995e78b708c963e4ba6.json delete mode 100644 graphify-out/cache/ast/2ac913b8bbcb8b6c8c474f6961e705e7a0b9d468f43f6f2b8ce4d6202fd2c834.json delete mode 100644 graphify-out/cache/ast/2b41874c1ec869f222d6950366e076bafd13239e5cd6e12fef8634e107ca28c1.json delete mode 100644 graphify-out/cache/ast/2b453c4beb5ac5f54dea63d9bb04aec079deeebe0be1cbd8cd40970a0d3870fe.json delete mode 100644 graphify-out/cache/ast/2c21fb0830686d789ab67014545dd50bd14277481a4f8a86eeb77b518dc850ad.json delete mode 100644 graphify-out/cache/ast/2d96f6e8fbbc6bfce34f77c47197871c3b446f4a896b0918edc04b930344671b.json delete mode 100644 graphify-out/cache/ast/2ded6b231f097cb04b835631c00765143b71e2287440e280459cd2cec5b9c809.json delete mode 100644 graphify-out/cache/ast/2e3dd04d6967162c926138dea01b37f8239099adc9bfb0167b39db7351bfc734.json delete mode 100644 graphify-out/cache/ast/2f465303dfa336d58d9baa9cc874c4d3a1283bad4bd7b24c4eff9f9784022945.json delete mode 100644 graphify-out/cache/ast/30ad648969ac428e4e02be0c8ba746e6d90ed236e08ef63bbc115e1ba608efb0.json delete mode 100644 graphify-out/cache/ast/3118c9cd8e31e8d8156c75c3f77da481aa3931143591761f94e3d10d40538cd7.json delete mode 100644 graphify-out/cache/ast/31a4642a5fd0c209901fa28b4c7c8031434660f2dca51d784d9ea9b2206b82dd.json delete mode 100644 graphify-out/cache/ast/35301956c851763c58d05fc3fd1a1b49fd245a7f0d50b1c733a87bfa89f53fd4.json delete mode 100644 graphify-out/cache/ast/365a086a18e2abc992efb3108ae1ed74da5b6e3e45faaa8bf87c0ca53546fd0c.json delete mode 100644 graphify-out/cache/ast/36a6b851124aa1147d77e46aefce22b81882034cb13ba9d6927b06d17772d650.json delete mode 100644 graphify-out/cache/ast/36c2ad26931208926aa26154f786f7c4a57fdc71eded33f8285a7236bee95d42.json delete mode 100644 graphify-out/cache/ast/37668756496e5993e4e4e8b099508f4bcca4b494387440b7c48da4ac7e71a21f.json delete mode 100644 graphify-out/cache/ast/3bcc4ff44b960ea9c26430266be3845c93992464b77548db90b282c74e2c28d1.json delete mode 100644 graphify-out/cache/ast/3c79e1deedac0c26c30d8fb11950b069b5b47ca785522e6913d515121248aeb6.json delete mode 100644 graphify-out/cache/ast/3dd6e5c296575597ad98f244cdd0814f54c1f74b07b61602e3532cec57d542a5.json delete mode 100644 graphify-out/cache/ast/3dfc647b6f5ddc53ae6dc116a53d777c0bb04f37142b164bb57c0726d59a59c5.json delete mode 100644 graphify-out/cache/ast/4057566f4922fd594460a51f02878459cdba2f2c978cf76fef663bd60dbc9c1d.json delete mode 100644 graphify-out/cache/ast/40f4f0021e2b076ac53e1c60246b665d8e35f6fd7fa35d4086d7e463e8156799.json delete mode 100644 graphify-out/cache/ast/4105c1e8d1f1786d09dd9e16eb9665990fe17069fecd93c62e44dca45358e455.json delete mode 100644 graphify-out/cache/ast/434eda36af4dc064789e34016e457465548f784243c2b9b32e8dd14225571a56.json delete mode 100644 graphify-out/cache/ast/44c391dfce445c141dfed5734d654cd324c009ba7625fce253d65af6df46e087.json delete mode 100644 graphify-out/cache/ast/44c62ed0402bf6989bb4f4dbdcc84474744e8e00236ec921511bc356bf125715.json delete mode 100644 graphify-out/cache/ast/450f3cfac392d77657e35574d0d8bb48462285d8f6867d85d1e257ded4597b82.json delete mode 100644 graphify-out/cache/ast/47a3e3411e64df363fca528ebaa9c33011c93219dc608ac675fba55a6b8f732f.json delete mode 100644 graphify-out/cache/ast/47c5ce5f10d7b4e6d10cbb99e8d2c413cd75128782fb8e7c3405afc426b24dfc.json delete mode 100644 graphify-out/cache/ast/47f3d052ba3e9905c21fb6b8da981f2c208412e6900bb3b95f0c6a1a12981500.json delete mode 100644 graphify-out/cache/ast/48758daf3ed586f6c0719a7a6f9e095f47e5b2f7024887ab2409179c142b65e6.json delete mode 100644 graphify-out/cache/ast/48ff8b91831724a572c51e3d0a3bd3723912ba556421144950abc9eaa5a018ba.json delete mode 100644 graphify-out/cache/ast/497a3941849d31cca9052858983af1c7ce9aa10fa2c37733323c80bd344ab5ea.json delete mode 100644 graphify-out/cache/ast/4ac23e27349983325d860067f92b6b832f614d6c2520696b0bd0a550e1501245.json delete mode 100644 graphify-out/cache/ast/4ad4ca90c59e062c96b1037e4feabda29fa391c3455c9df842f0fa7d46a3408e.json delete mode 100644 graphify-out/cache/ast/4b4c2fb61d4bd5320eab2ec1fcd6b85f1038250554682b78e29ac667918869ab.json delete mode 100644 graphify-out/cache/ast/4b9f91ede10a213358caa5b02c88946f5ae78dd2be20f434b4f919e05bf641e6.json delete mode 100644 graphify-out/cache/ast/4cee7330ad11ed90efc78f859a27e8874266d5445315c6ffc5dc7578bc0e88a2.json delete mode 100644 graphify-out/cache/ast/4dc162a2a3937aca7184b82e0b6bae2da1a4dd1d31b37e9e3edc01b1ecbab710.json delete mode 100644 graphify-out/cache/ast/4de544cd5a94ce6637589519eb5590af1d31d7e65df1561cd18c795a4ae79f1e.json delete mode 100644 graphify-out/cache/ast/4e19bfe780b0771a6a6bb9ba0b26b0f8e03859a0b09dba96f7ef4b91b2aa5627.json delete mode 100644 graphify-out/cache/ast/4e38efb60a50b0454590ba538a160e146a00f0a1ec4315bf48844f73b64eaa35.json delete mode 100644 graphify-out/cache/ast/4ede0b1018462b7d41300158178b622398500aac1a98362f1bfbbbbc82a02824.json delete mode 100644 graphify-out/cache/ast/4ef0374174df8b6355f7257824348925f59f2d2f2a98db62e68d0c58b4ffd882.json delete mode 100644 graphify-out/cache/ast/4face01f58f97cf4c91402d2512e62d238273fb895e42ba813dba742d606a55a.json delete mode 100644 graphify-out/cache/ast/508afacec21b6cdc797106e38041d1b74100ec63a3d0363e6ba3dceb91939437.json delete mode 100644 graphify-out/cache/ast/50b035bf3e5df891815c6cce5d8ab2811f037868fc35fe9f300ae9eec753b43a.json delete mode 100644 graphify-out/cache/ast/5185033e82c72a8c7590ce5c1e77a0429a7d682a46cf0ecc9256c1e5ed02da7a.json delete mode 100644 graphify-out/cache/ast/51b1d63c5037198315baa6c65496fdcebc3f200d9e2cab6120bf0e8e9070a79a.json delete mode 100644 graphify-out/cache/ast/52fcbdd846718b7ed27f97c801c6bf220823403bbdddfb18eed630639639f981.json delete mode 100644 graphify-out/cache/ast/53628a99e3ed551343e3af649dc2e0492f2d3a7901dc967dcedbf4d76dfe9129.json delete mode 100644 graphify-out/cache/ast/53e582475d773b27ec968c07be7346f1bcad0e4093bc87d8ae91bf1b0586d2a7.json delete mode 100644 graphify-out/cache/ast/545997dcb0472c7726df0b8bd423f66c9a25eb9ea64636fc3f61e0aeab1d26ae.json delete mode 100644 graphify-out/cache/ast/54ed51551d05e095bf8965795ae67025113ff7c6f78d59f4644cf9bc4bf2bfcb.json delete mode 100644 graphify-out/cache/ast/55fcb5b75e29cebd1c1335f93881bbf11c003df3b897e7cd64059ecc6fbcb4b5.json delete mode 100644 graphify-out/cache/ast/565d8c93babc04f07053da63eb06f9376563b7e4f1db86cab588fe80e881a93c.json delete mode 100644 graphify-out/cache/ast/5738343d0630b1a6f0255ea77d07fc2f8f67d5846fdf4f78bb06991ce393f156.json delete mode 100644 graphify-out/cache/ast/5807bcb53d032daedbbe6a025c96147bdca7abd8f67d7b0259c65658bfced1c0.json delete mode 100644 graphify-out/cache/ast/5961f25db7aefc1631060005b6a2cdea97e81ac2d404214d983a445051536b35.json delete mode 100644 graphify-out/cache/ast/5a4a745453c300072357dcd2abcd12fbe111ba81567dda475ec36e0424569846.json delete mode 100644 graphify-out/cache/ast/5a4cc121c737ac11899dba260ec8ad24d7823d74ef578a8148fd2978dd35ab08.json delete mode 100644 graphify-out/cache/ast/5a626c3ace3fcb4d13f819d2decaa7eef2c43039ed0902f543e558fb6652a047.json delete mode 100644 graphify-out/cache/ast/5a84d90f53ec7cfd2abbf95a7ca3c10625c4ca790da4869e1095058169e0e0bc.json delete mode 100644 graphify-out/cache/ast/5ab87aadad41b8710104312585e50607593f0fef95d1ba19992bcdde73773d7d.json delete mode 100644 graphify-out/cache/ast/5b01b70d0dd15ca94c2687cea10d01fdad35e02b3415e14e7b119165bde1f699.json delete mode 100644 graphify-out/cache/ast/5b787fe907342d14be038006915d35d92a57b2b55fbe030dcb2994fa515e40b6.json delete mode 100644 graphify-out/cache/ast/5c1639c0d7ff61b9bbaa3f0b856a61bf5f979cec7ddb74000565ed528d7a24f9.json delete mode 100644 graphify-out/cache/ast/5c17091f0b93e9e41737df9dae85a917cdbe0a41fe13f528e8e40add39fe19da.json delete mode 100644 graphify-out/cache/ast/5ccae045d5260942c6a5279b46a312e1a65377adf66a4cbd151d06f4d005a21c.json delete mode 100644 graphify-out/cache/ast/5d3fb0db90e6882756a28435f0744bbd4e58eb725222a4177e82e2a7e6a485fa.json delete mode 100644 graphify-out/cache/ast/5d430831309bc1021f4aa35d22d1e56edf1f822467af9492e34cc277de4f227d.json delete mode 100644 graphify-out/cache/ast/5da15664d9fc6efea6a438779880e2034b908e0deacd40f9e6161ab69a057d10.json delete mode 100644 graphify-out/cache/ast/5da6d2f475760a896fa1c7464284f57c9acba2851dbbacb8676700d6a28732dc.json delete mode 100644 graphify-out/cache/ast/5de80b0faf7c8244c4ee175d2d1bc0d2472311ce487c76b481a77f86d12aa9bb.json delete mode 100644 graphify-out/cache/ast/5df0448dae72edfc46ce9f02dc3ef234893b69f03b369eff51cdf15842186e9c.json delete mode 100644 graphify-out/cache/ast/5e7a9d021360ba2e6febb9bb71bc3da6d4b511f28e04f81ba23db96ad9b115a4.json delete mode 100644 graphify-out/cache/ast/5ee1ecdbd7b9ef222385487441b3d1141541e90b33c0dc62e554731c7a2d619c.json delete mode 100644 graphify-out/cache/ast/5f3ec5b4202b38ffb33448be5ed5cdd425e759a80b7129b71c4393052f8c6f9a.json delete mode 100644 graphify-out/cache/ast/5f8c2adee66e5c3958644913f391e73c03c014c8362332f7939753b3cf648a3b.json delete mode 100644 graphify-out/cache/ast/60e2fc8536486d4ec36063a201330b024a7f13e4b5d93740459c3d4b075be60c.json delete mode 100644 graphify-out/cache/ast/619a92538621f7b7d8fa448b69bbf78284db44bd38812dbc548f223590946506.json delete mode 100644 graphify-out/cache/ast/634a36b718e798e9a6cd2a6ee738798a156b6be4c53f48d0d52fde67d625131e.json delete mode 100644 graphify-out/cache/ast/635d0c61b43b09842520abe24225a10245134d3373267c69626c71fa1c8a6949.json delete mode 100644 graphify-out/cache/ast/643a25bc2d957e0633f4a63d8fa5dcf3d49bf14708815a3628f9a289636fb5e3.json delete mode 100644 graphify-out/cache/ast/648369a893c9277ad872d3cc2e296e62bff3c28dc06cdc07d67f0ccbb938c88c.json delete mode 100644 graphify-out/cache/ast/65af476962ff94fa88e704c60c1eb28358b423c3a8cf499aca999e9e432afe18.json delete mode 100644 graphify-out/cache/ast/65cae53b43927d94fb2bbcbbc19f346975fdcac55aa8601ea0ef53e75a11d95e.json delete mode 100644 graphify-out/cache/ast/65f517e0ca75d9b1a9ba991f5259d00e067935c932dbaf625b18eb0dc5c16980.json delete mode 100644 graphify-out/cache/ast/65f974b72c1bdcca7ed98438636f9a1691b7895934852b530087becd2c6719e0.json delete mode 100644 graphify-out/cache/ast/66e3c6740efb9563421506f711d1278f07a48337e4611f14174d55ac5f9dde11.json delete mode 100644 graphify-out/cache/ast/66ee990c49a2526686c4e80b240367d7b9f4f2cdee405e61af358ac00e4d0c27.json delete mode 100644 graphify-out/cache/ast/66ef8b8e0d16c646a81610356354d7bb78528362a0e16a219610b59297813869.json delete mode 100644 graphify-out/cache/ast/67154d74b4dff4f52ee800adac0e501f9a45ebe3e77b1a3410d7dd9cd86f30ec.json delete mode 100644 graphify-out/cache/ast/67cc8595dc0edd8fad806f220c260bf9c0b07aac46d6af37a3ab329f579c3328.json delete mode 100644 graphify-out/cache/ast/68e626e7cf472b8d654e4f9ed8ba114939d9d8c704e82260ad1d5e198efd3274.json delete mode 100644 graphify-out/cache/ast/69cebae448eef188123888a4c3ffbbaee39eaf1b3ef83d8fddc8644166cc5567.json delete mode 100644 graphify-out/cache/ast/6a42872fdd553122adf2b899b14f036aeeb3e688e44c700610a65e8d0393b393.json delete mode 100644 graphify-out/cache/ast/6abab2b7f2f4c1bb219ec280063ac666d91d607f43fa0ff82997a4bf5cac60f8.json delete mode 100644 graphify-out/cache/ast/6c0329fc6368d0d1933859897c14ac100b576700308c5787bfb1ac1440ee640f.json delete mode 100644 graphify-out/cache/ast/6c8fda0fdacc0bf8a28b753e074e3577bd0b5cda888cd5d6ce12f57f720aec5a.json delete mode 100644 graphify-out/cache/ast/6d2915b0765c8f6b8c8468fa65e180becaa93bc6cb159f0b40ee0e11ce133ebf.json delete mode 100644 graphify-out/cache/ast/6ecd82a7ebddfca78676d487663759bd51bc36d2803300dfc79ed0f1a994aa7f.json delete mode 100644 graphify-out/cache/ast/6f09a917ae5ded44abaed20c23e19231d08e35256a8bba69415f0b1e9210c485.json delete mode 100644 graphify-out/cache/ast/6f9b0988ae58214f2d6372a6b23554b6c6988c4de7a204ad43f80b8d51f44a26.json delete mode 100644 graphify-out/cache/ast/6fdcae056da1f051037a05e4ab6fbe26836c0950cd0c680b2e6da60deb044898.json delete mode 100644 graphify-out/cache/ast/70931140f2b45a3b91939994f5fe938f96fc24fa3f30b4192df058358840d833.json delete mode 100644 graphify-out/cache/ast/70c86a4ae9c459d2656c318eac9fdbef3aa042ddc90ccc8a384ccd1dbf44e252.json delete mode 100644 graphify-out/cache/ast/72b77e3dcb48399698327b442a99b76420448d2bce188bc1ace49914aa0066b8.json delete mode 100644 graphify-out/cache/ast/73801204ea6a86ef34eedbb20c3969681890ad904864e5c5e291ac28e2bb1c1b.json delete mode 100644 graphify-out/cache/ast/742926469b57a2ebbb87e682b05801c0a79cc54a945311c49f82fe2b240859f7.json delete mode 100644 graphify-out/cache/ast/74e1bd4da27288719d774d70d5053253578b9f754dd8fa35f8cf73ada39b9941.json delete mode 100644 graphify-out/cache/ast/750ee9f6635b3b279db64e825a3d5007d3eaf9c27d05a2200acf5046d18a792b.json delete mode 100644 graphify-out/cache/ast/75642a5e1180cc9fc4df35bdd2546d6a463ee9ef76328a806347e3b2ed9bb406.json delete mode 100644 graphify-out/cache/ast/758082d33eb65da6f51e8ce806c03198296962827802f05328e94c1f57cb0a1c.json delete mode 100644 graphify-out/cache/ast/761d1736072352f80b120270be1557c8a181e4cc87ed9f7a0ff0427003863055.json delete mode 100644 graphify-out/cache/ast/7638f45a6bf705a20884d1c131bb81f5fd7fb1f51d66c5a465c7438bee2596c4.json delete mode 100644 graphify-out/cache/ast/77728d6be35b093516310ee1258b8cf1f8b12bfa81a0f8a7c910b5161031f00e.json delete mode 100644 graphify-out/cache/ast/77a09a38c0ce58e3f2b24a03a84b81922130a5a4f0703d5c15e12f3cd6ad4289.json delete mode 100644 graphify-out/cache/ast/788ecd1f6cfe28db26be907079c31e936768a020c2e36ff3e2f4270427c52a8c.json delete mode 100644 graphify-out/cache/ast/792c4ad0ad6ddb792b15e9be60f5b4c91b026fecb4fd7f28c20854f5424bfc90.json delete mode 100644 graphify-out/cache/ast/792f7e3fb077525f66bc30b79ee5f5b4848048348ffbd5030fe6f1beeb8e0573.json delete mode 100644 graphify-out/cache/ast/7ac3d111d8b615afdad242ac6b4486ecc67b846a7c2a6c66df7e6cd9c3629fba.json delete mode 100644 graphify-out/cache/ast/7b64a4bbb82b344924a1968a04dd4ee9d5723f5900386bba00f4f66a0c30f7a5.json delete mode 100644 graphify-out/cache/ast/7c55f27d8c1b2f28d52e5343b6cb0e8107602a224da9adfe53391279ceb91190.json delete mode 100644 graphify-out/cache/ast/7d6e9a3d55d2ab805524ecc66728c76b8c7d3241423ee0833755b75e130b898a.json delete mode 100644 graphify-out/cache/ast/7d9570b0db714fd13dee04bd62f4a3a8da2d8e227397ac48598999ef1e0cf868.json delete mode 100644 graphify-out/cache/ast/7da70f281459f4f3b02b36e031ac442ca36a786480a939579a7bcaa77eba6649.json delete mode 100644 graphify-out/cache/ast/7fd7b016b0b2facb4dbb29e99ec8869c3ea6793531dc4608daa69c17d423b7dc.json delete mode 100644 graphify-out/cache/ast/82a1b6b52f0bd2e5197998f6c95bd8c48bc07f0c3e8801452346d2fd6fc91619.json delete mode 100644 graphify-out/cache/ast/82e46c93844dfa7a939ed91041323b3396fcd7a8d82f8a47086f97d315e29ad9.json delete mode 100644 graphify-out/cache/ast/837c366929693bfea4a895699e3ab6f412226d478c59536f27cd79d3d3717edd.json delete mode 100644 graphify-out/cache/ast/839b8f98fe64612dd351bde24046600b90c4f0f218a10101138b94360760ae92.json delete mode 100644 graphify-out/cache/ast/845ebbc4f388167353d07928ecf421c706baebc2d643688169e08cde895820e5.json delete mode 100644 graphify-out/cache/ast/8463b4f5c1a59bbe7a0fff74e98571617cfe2c30f2e3ed5a0a5024f3c69d7a14.json delete mode 100644 graphify-out/cache/ast/85542c94ea86d655ad0927b81c4e15ded2120f7d9d6a61e8d26b869cb014aa64.json delete mode 100644 graphify-out/cache/ast/867ce4d57dfc282bdad7e3717dd7315be38de4f76189f7d8d147d2c0b03b40fc.json delete mode 100644 graphify-out/cache/ast/86834b3b02df09c51cf7eb20477b30128081b34aa5159f64c679bfc10033a1dc.json delete mode 100644 graphify-out/cache/ast/869f7ff699289c31e72d8ba123430438c564077a427d79c314382618dedaa6c5.json delete mode 100644 graphify-out/cache/ast/86b29bcc79a26c8f1cf4026008f8827c2ae56b76528cf21b6856e1f855ccfd9d.json delete mode 100644 graphify-out/cache/ast/87c02bf10416e68f3480ac6aa6c2fc35cc31dd86df658a1bfad6c37af5725860.json delete mode 100644 graphify-out/cache/ast/87d3d2cccf5b575d397e65a17e73a9eef8189794cb5a5eab5c585cd15b3ad0fc.json delete mode 100644 graphify-out/cache/ast/88f5e60e156eeca16a1dda3cf44ade4324fad1f00229cd4446f60884b43e221c.json delete mode 100644 graphify-out/cache/ast/89116762784246bb7ef352b8aba38431f7fef8e6050d1e86080e27a4ce2636ee.json delete mode 100644 graphify-out/cache/ast/891bf8bb135b799fa2f6c947f6b416fc2bbd61fca5562b0753b5078fbc84bf36.json delete mode 100644 graphify-out/cache/ast/89c23ebf2066d3b89e028aed00590cfaba595663f5ef45049da2e955ff31b664.json delete mode 100644 graphify-out/cache/ast/8b3e73fc50ad25edaf94a650da5c5652694a2dbaaedbdd74fb1ae44ff9ebc550.json delete mode 100644 graphify-out/cache/ast/8bada28d4139a130ff21a48cd8f1be67ea7f52541ee57bbffd60f422a97cc9af.json delete mode 100644 graphify-out/cache/ast/8c1c7500bb5fc6317e7e920c59d4a15772266a6fb4e13186f69ad1f9e5d148ed.json delete mode 100644 graphify-out/cache/ast/8c860e77f94035ad0c0d6d511077cdbf600a5910ce230d6efda890e8cf649f7e.json delete mode 100644 graphify-out/cache/ast/8ccccff9c769f715123c25bde41699ba2d9624c52f8bdc0c2d05c2dd1177ac20.json delete mode 100644 graphify-out/cache/ast/8d0b64397454944271c26657eca5a513710af71af27a5d200af0867a3e302371.json delete mode 100644 graphify-out/cache/ast/8d1ea17c20576b0f0b475c5bde9890a8aa3a1789a6ccc4023d6c2048d41ef198.json delete mode 100644 graphify-out/cache/ast/8d3b7d221849354075e752d403a07ddcded8aa79ed2d13e14d396d9693f3711a.json delete mode 100644 graphify-out/cache/ast/8de610342a32ae3f79cbe3083ec54da39b902ccd109863cd4b76f03e4ad1ed79.json delete mode 100644 graphify-out/cache/ast/8f4d71670e06e4b94eb4cc72ec0cad824ab88ca067ecdcd20530593b9faded0e.json delete mode 100644 graphify-out/cache/ast/9031954483cc7f8d0c659dc40259d750545128c56ef87268d83e2580906b3d0a.json delete mode 100644 graphify-out/cache/ast/9079cd39e43047e5abafab01ce2ad2d13a9fbcad3108d7f7ca0301a53b94716d.json delete mode 100644 graphify-out/cache/ast/910c5650317e2d35833326f6441b6a88d74ede341919e9479a574a7f0c0d633d.json delete mode 100644 graphify-out/cache/ast/91da7f62299eaf04a75cb5bbfbee44abd82f5208996d06b66eb1d041ff8563f2.json delete mode 100644 graphify-out/cache/ast/92df0e26197170f726d6f7a04d261a92d0575c2033a9671e9040ee5632100f77.json delete mode 100644 graphify-out/cache/ast/92f7166cdda8ab9a0d5ea9a4f6b02d7846beb4435e5d72edd22d602dee0e64ef.json delete mode 100644 graphify-out/cache/ast/94b2c3d01d5d0a700f18c82930c25d0b235c7bf1db575601d3dda5151c4a008c.json delete mode 100644 graphify-out/cache/ast/95337603641a03dabda8a7093f0bb866fb16530f2310dc43a33e36c8875944c0.json delete mode 100644 graphify-out/cache/ast/96d8e8924f1730153b1bd19ab67cfc4b7a76494806ba25478589f11f8299546b.json delete mode 100644 graphify-out/cache/ast/9701308c150b956a0e7c8d476b128494ca14a20a46567f85b4bb08454f8c2570.json delete mode 100644 graphify-out/cache/ast/97d148cecae4e2d560a6fa5287d0374c4caab00173faca0c8f2651aee870ccfb.json delete mode 100644 graphify-out/cache/ast/98ba09f990d9f2d8b655c9f88a9307e3a72f29bdf4e738cc2a4e7d1d4da9c952.json delete mode 100644 graphify-out/cache/ast/997952fea1565d477f3569f5467e99ed21f7d756354140eb300f9b5eb2f55dc4.json delete mode 100644 graphify-out/cache/ast/99ec2f2300df4063ba52d598680dfd9640033847b227d4e0444f7a61f5a814ff.json delete mode 100644 graphify-out/cache/ast/9a7f6668f6173d6b63ed81474f56102ce919b80de7877ac9435bda8de5c8a2ad.json delete mode 100644 graphify-out/cache/ast/9ae08615e6633b4202710e37d8f130036b7426834043ae595e5aff38806623c7.json delete mode 100644 graphify-out/cache/ast/9b6c35c8fe4ce9a52a5e9cd3a8edf46190fab1c365809ae0fd3a132f57b02643.json delete mode 100644 graphify-out/cache/ast/9c55b162a48e1c9e574e7e6feb7e4c434da98c5703f7b5971bb4593ad57d6e74.json delete mode 100644 graphify-out/cache/ast/9cb22e43c83bc9bf45410977a595ea27bfdb0856ef3af86d5e2c8bc80dd34097.json delete mode 100644 graphify-out/cache/ast/9d8149d9cca840811bc726bff4056c75679163fdeaf48e91152b14b28c9f8885.json delete mode 100644 graphify-out/cache/ast/9db553ba9c8d0afcf5528ef44b92afd37996c3fb8c45292884631229b53881a1.json delete mode 100644 graphify-out/cache/ast/9e73400ffc0807f7564513028b4b8f1d800142bbe664e9a51b08f67a5fe945c7.json delete mode 100644 graphify-out/cache/ast/9f6514688e8427be97dc6a3390bc823fd9b69976573260f05194670b4afa0358.json delete mode 100644 graphify-out/cache/ast/a05d929eec7fe323b5363d8320cd79965b410bc0de8566bf86e29aec9d532181.json delete mode 100644 graphify-out/cache/ast/a06f0bc060f9a182c3f42a0fa9a4e58432e62bae6876e7c69a89d48823891bd8.json delete mode 100644 graphify-out/cache/ast/a0d66cf9328b7d5d9fa0626a86bea5d8de3f3f7f4003ccc06eb66a755bfba1e0.json delete mode 100644 graphify-out/cache/ast/a0d679701d6b9681455a0423756e43793b0035ed53ccd0080a1525ae7d23035c.json delete mode 100644 graphify-out/cache/ast/a118dfd2d0c11d9ba17cca7fb7021ba0a12df307cd3d0805a97dc63e4171ee85.json delete mode 100644 graphify-out/cache/ast/a1de9354fa7c06ffb565def4bc13f4008d0f3a9ddaf1766e0a41f46fbde05573.json delete mode 100644 graphify-out/cache/ast/a33387e54c60ab53c19beed3720c7f130e4022fe9e21680ddabaddafadd695f8.json delete mode 100644 graphify-out/cache/ast/a3ce57d096782792935b92bb82c746a898b53b8fddbf25d4978125b55e803ae1.json delete mode 100644 graphify-out/cache/ast/a3dcbb34ce16fc4395ec1e31d985f1568f15b1e91b535b8264ca65b9f943aced.json delete mode 100644 graphify-out/cache/ast/a3f99a44f18af8698afa6fdd29e4c8703138299ce8c8dfd83d91319715f78381.json delete mode 100644 graphify-out/cache/ast/a40e4db31ea6d70810356c1fb33415b47fe23d048e9222dc044e063e08c02d66.json delete mode 100644 graphify-out/cache/ast/a5109e3486d984bf05821eb1e720e35a3980bf28b801d10b8a3b233aa80f24ce.json delete mode 100644 graphify-out/cache/ast/a5d653e6455d2ed0a6a6470eafaf2da4b4ed2d9c46c6c137fc2d4767de21e97f.json delete mode 100644 graphify-out/cache/ast/a5ff97af7a71e6a5a1a8c78c22e57b6268ede98ddb0f80feaeba41e8aeb31930.json delete mode 100644 graphify-out/cache/ast/a61cef421981e7e6b926805fae30f66cf94d4d34ebcad103ceb968f4055a51f4.json delete mode 100644 graphify-out/cache/ast/a815d55d3438d1bc959a6b0f58553b0b56a8fce3d00eeeb7a48cb6ae63afe9f6.json delete mode 100644 graphify-out/cache/ast/aa0d41659d5eeb92a3bac34d443ef0eaa42d4504ffe0229770901b7e402f887f.json delete mode 100644 graphify-out/cache/ast/aa3d6cd5a35952e567c97ff3cc510499c69e58f9de54dacd0307ff145af6f5c4.json delete mode 100644 graphify-out/cache/ast/aba760dffddbe95cb3b1a6fa033b49ca02f337543b89dec20f4c1cf8a9a4a156.json delete mode 100644 graphify-out/cache/ast/ac2a950c7b0dcc0e39a5cabab48403944f0b643b26e47d0a96bfdedaa0db4b3c.json delete mode 100644 graphify-out/cache/ast/acf0944bab5768740b8214277661cd10e30be7f9b93b79f28bd0ba81e348f9d5.json delete mode 100644 graphify-out/cache/ast/ae0b422f23c5468dcdec55282377f8fe6867494a59a63792ff36f27f64070e4b.json delete mode 100644 graphify-out/cache/ast/aef50e7570a99c2a7dfd6594b6d83b5c13d7327d59f5767f183323bca6f87181.json delete mode 100644 graphify-out/cache/ast/aefdf2511cfcf156c020094d9b324b0dd1f1a90c5baa24e39adf4c614ec374d3.json delete mode 100644 graphify-out/cache/ast/b03d5573617e6013bc7b746b2565c471a57ef1c07f0526b83e3c16d752513987.json delete mode 100644 graphify-out/cache/ast/b0cb0fba6211abda3e6aa82d2de8d3dcb0467aa121c45016d8603d25377febef.json delete mode 100644 graphify-out/cache/ast/b0e73ce3673079cfd7d46ceff4f849eb1b008fe0b9e250bd0aec0bea494e0fe8.json delete mode 100644 graphify-out/cache/ast/b13c6caaf0baf565e08171a71c75e3b3a1cefb26aafeff0b71889f9808b50e23.json delete mode 100644 graphify-out/cache/ast/b258c288b2b62737fa6b67b063886aaa8194006d629550722b0ff2575bb156b6.json delete mode 100644 graphify-out/cache/ast/b262f447c830df3cf9cdbaacd6fcc672b6fd59bbe01e7c4fc7074da80b136117.json delete mode 100644 graphify-out/cache/ast/b2920a22263f7b824861bbc323b86654a84746a4f4bf3da4a39b8d6dda18f083.json delete mode 100644 graphify-out/cache/ast/b441ec664d873619eb52bbcc81abd9142f8eeda14f97117d15722fa24a4b4318.json delete mode 100644 graphify-out/cache/ast/b4cc0bda9c625ced78bbc96253257554f04907bee4085e625c0935b9f1d8d579.json delete mode 100644 graphify-out/cache/ast/b7d24e03d822883a22089ccc237e35fba913275e752f5b099519283ff08e68aa.json delete mode 100644 graphify-out/cache/ast/b7d89c6f634bfd2a8dc72984bb80c0d2f30816bdcfe601816e950e5637300e84.json delete mode 100644 graphify-out/cache/ast/b8f38ab946c6f7012b76964913140b51259543594c39dbdecf40069089d0a04e.json delete mode 100644 graphify-out/cache/ast/b9d69361a309f735e17d85418bfe9bd4cf605f997c7820b20316ccb4f0a0b219.json delete mode 100644 graphify-out/cache/ast/bb3f33b0c415c6d6f2c7b9b6fdc96342dac2e2db128122803b7ff08e2ee046c4.json delete mode 100644 graphify-out/cache/ast/bb9e2069a361a850f2ceb3a1031c33bba916d4241276de9808bedb9c327a278d.json delete mode 100644 graphify-out/cache/ast/bc36b7e524d668c1e95a424be07f268f1fb651f8a923855df34ab90116b13740.json delete mode 100644 graphify-out/cache/ast/bd45ec08aec0a1d2b6a9808d952aa6870ab01fc64770f74fcadc4189fb74979b.json delete mode 100644 graphify-out/cache/ast/bd660bac88e19770c77103f86d66b60b77a222c293d08ac5b68b6a7488baf94f.json delete mode 100644 graphify-out/cache/ast/bd88efd40e699f4c1435e769d9d025d985d2ff63e7af95bacb7591a35d58bba2.json delete mode 100644 graphify-out/cache/ast/be5526f9cfb4738898c4a046d1bcabc259134bb2b34904ff7b67b2d0906a449e.json delete mode 100644 graphify-out/cache/ast/bff13b61ff48374033a988c00dc037140fe522272f4374b077a369524e20366d.json delete mode 100644 graphify-out/cache/ast/bff5a9662e5bdb10de703834dcb1c08ca257abf3cf3aeeb72b61dd7b288993b4.json delete mode 100644 graphify-out/cache/ast/c00d14a1b682c32742d250eb16cc8f53122058c31566c0a1875289a52f7dac14.json delete mode 100644 graphify-out/cache/ast/c089a4ee9d5d0dd59833432a6b49d75995d367c1273be4065f381ca5983ca18b.json delete mode 100644 graphify-out/cache/ast/c09ae9cccfe1f51a237a41bb478297f75c1a1ed7d22b52597badbd5906cf19cd.json delete mode 100644 graphify-out/cache/ast/c0aa11307030d8525d7754285a35ee9558655cbe650092ea966f9737eec00459.json delete mode 100644 graphify-out/cache/ast/c1d03d80a653f6296e7ffa5021f0fed84b4ed8b67ae92ee68ad9f53d1bbedf28.json delete mode 100644 graphify-out/cache/ast/c1e00219d81f69d17b41e0507d84fd8980bd02a669f7131a999d8fd74bdd405d.json delete mode 100644 graphify-out/cache/ast/c2aa0e24618ec920c49259f1054e4ba37795731b1a38badc0260e34204b07c6c.json delete mode 100644 graphify-out/cache/ast/c38c16140086303461310fb09aa09409c8bf6d1638c36f5935c510c0f880a3fd.json delete mode 100644 graphify-out/cache/ast/c3945dba187a1852f57a1b7acc8a485fe05fe2220437d7617eb8231d2cfceacf.json delete mode 100644 graphify-out/cache/ast/c3c1e9947d9da61ec2f1e01ab47eebf85122cebbe7a1f76a99dcab8f16208a66.json delete mode 100644 graphify-out/cache/ast/c561f3b8e7d9a799ad21dff204b7f18bb887fd0e8ec4230f4aa9aff7c3b9c154.json delete mode 100644 graphify-out/cache/ast/c5b1a48e199e8af7aecc3a82029a8fdb91667faa67d8a2a5b1f92fd085dcc71e.json delete mode 100644 graphify-out/cache/ast/c5cfc55f7d6c7af348317f7255f7fe343a426ff681d70b208e323dba89407678.json delete mode 100644 graphify-out/cache/ast/c66341cdf3b228813e0ac6b4b1c5c9f4b1b73f97172b4e1813a3aaea988a07ab.json delete mode 100644 graphify-out/cache/ast/c676c06bcfd2abd5c9408555b4e4d563f38606b41453fe5524f3aeb7e6302523.json delete mode 100644 graphify-out/cache/ast/c6d78c468b45618f3d0010b66a1d0f113eddb4d3c807b37da1f6b36ebe924844.json delete mode 100644 graphify-out/cache/ast/c6f25fddd40f87e5a927b6362d45621e3ddf18cbdf8786369d8a6e8eca3b9f8d.json delete mode 100644 graphify-out/cache/ast/c6f3fbd466c11742e82f4acc17b86bbbcbe092dab5f4c9773a95c235a29d524f.json delete mode 100644 graphify-out/cache/ast/c965dd8fed3e571410077da1071f8dc0885c0aeeb6a5e30193db89146298f3ba.json delete mode 100644 graphify-out/cache/ast/c9e5534cbcedc29c8b3a12c0ad39c2c4a2e3edc9265a806b45ebb1d3843f452e.json delete mode 100644 graphify-out/cache/ast/cd274a1b39c2bb74250ddb1f59e2bf63110adca15ba382f03ce9900064d39f7e.json delete mode 100644 graphify-out/cache/ast/ce88a182e305a27e28f8a9c5a7e7026a2e01163b926b84697af9cc39cb223cc6.json delete mode 100644 graphify-out/cache/ast/cec009f15dba93600ffae68bdc63c0383f9788568cbe3998d56674863161a30d.json delete mode 100644 graphify-out/cache/ast/cfb39dc003f1ba7c80b00cb0068d0dcc4ec7088ec5fcfc04907996de80149b1f.json delete mode 100644 graphify-out/cache/ast/d039f946bc6ea50234ef8cb4385285811623f4d2d7b9de357e4fc2d461066bdc.json delete mode 100644 graphify-out/cache/ast/d14954473452cae68ef2e8bfbd8f8c30bb886d88342a7ae4e0b31193224885b5.json delete mode 100644 graphify-out/cache/ast/d1d135598d171747295aaeba1a29beeea4f5ecdf5ee5684f8eb28142b2ab1494.json delete mode 100644 graphify-out/cache/ast/d2807dc8f4867e3f8bf428f731a83f4c9725eed5daf28ecc85fd8e216460a85a.json delete mode 100644 graphify-out/cache/ast/d28b89683a6d9bca90429a5edefa4bef48e27424d7f61e4ee4ac2d5e36daf441.json delete mode 100644 graphify-out/cache/ast/d30fe50e4aae5ef516aa371daf052e12040237e5cbc26764b433c01e7db121cf.json delete mode 100644 graphify-out/cache/ast/d48ef0da17fcf722cb1325c2d7b3ac287d85c1a072c7a308b781b4bd307020b9.json delete mode 100644 graphify-out/cache/ast/d4d31440db0409a286ac0c73acab9be81e723de98d1578d027918d8e1cf9591d.json delete mode 100644 graphify-out/cache/ast/d4f7af8077e16b8a65e3771929ee7415946d829b0918517630766c4adffe7dfc.json delete mode 100644 graphify-out/cache/ast/d55c110e167e4907f0a2e08bb216c5b9a78d4182b72b3af5ac69448a05607bfb.json delete mode 100644 graphify-out/cache/ast/d7033176f0b9ac2ec38d6ff94e6d13d55167fd4cd99fe182b9679f5bfe79d4b0.json delete mode 100644 graphify-out/cache/ast/d76e29c53767405f18ffebfb133d434a46c2b38ec110c4a227e75dd0b1625c10.json delete mode 100644 graphify-out/cache/ast/d7faaf4a2f9cc8b6887e77a49bb7651ff547e9c0e83e0e210904c46616bb8985.json delete mode 100644 graphify-out/cache/ast/d815b109fb73b6284ca20783d4c9a09495a184c3acf2e578c2f85d00328a9fa4.json delete mode 100644 graphify-out/cache/ast/d9dc45e17622b92b9e7745976978d836e68505c30793342048149bce1c6123e3.json delete mode 100644 graphify-out/cache/ast/d9f5576bb88ed5ba36c780dd555ee1b5c0a5548947ce1c887be092f2d0b61768.json delete mode 100644 graphify-out/cache/ast/da7faa4bd9e9bcefbfaaebb37334963f83a63d0b84d931744f974aec81a6bae4.json delete mode 100644 graphify-out/cache/ast/daaef970991dc94d529b0738bbbe799042a995ca3ef70c365c0c5f546ea7fa78.json delete mode 100644 graphify-out/cache/ast/db4d88414908fa6203fb3bcb7af993cc58947879816b3c33bd690358fcf8975d.json delete mode 100644 graphify-out/cache/ast/dc19697be9b018f4bd58478434045809832a7184fdcb0d0328dde3eb82f9e73b.json delete mode 100644 graphify-out/cache/ast/dd83640501ccabd8e43db20b95a54ae5b6b3125cf029ea7a7f371f63afdebace.json delete mode 100644 graphify-out/cache/ast/ddbf09c7801275f0d759ed781e6d6e10717b37cb12c63526bea9a8cd9c68d078.json delete mode 100644 graphify-out/cache/ast/de7ec7c73dca858c358b3fe4188bd54bebe47560f57493ee012be08883cdbaec.json delete mode 100644 graphify-out/cache/ast/e04eee45bc181a92b04373ab3e7776d17ea64db0c40cf12ae8782ce9704831f4.json delete mode 100644 graphify-out/cache/ast/e0d4abb2e5c598f62d5358fc386745659012ea4a578596bcb9d9fe45fcc0960a.json delete mode 100644 graphify-out/cache/ast/e2129ad9ac5362bbe1105f85efe2e6570aa8cd20fdf3aaa065d3e8cbb3faacc4.json delete mode 100644 graphify-out/cache/ast/e2883d27bebbd65ef3495434e9fa4b2e338709cbe16f909921fbc12219c95edc.json delete mode 100644 graphify-out/cache/ast/e28bf930b902a735875d0405e0492b292f7e20e91d23f10b2658b580044bc53e.json delete mode 100644 graphify-out/cache/ast/e2b9a6f7e076fc1a99e9ad0530e9441b9b86196521d7017a735fea5b57beb08e.json delete mode 100644 graphify-out/cache/ast/e32bbc4d2ffaf3903ae3b572d5e9b69be69e7d6a1ae3af045903150b064fa7d7.json delete mode 100644 graphify-out/cache/ast/e351609125a76ac5792a53592d891f9b06868c7ab85e90f86433a9108f538d2d.json delete mode 100644 graphify-out/cache/ast/e38e417f4de61a5b3764f6dbdc02192394a3e3a8a1e222debbab22101eccb341.json delete mode 100644 graphify-out/cache/ast/e394dec17406b907cabb4187218910f1e1bc3eda5cc9a1f2519326b87765fcc6.json delete mode 100644 graphify-out/cache/ast/e3cdf0aecda488b0ddb731f68d9b88a64322562e73892b1813b993b953259308.json delete mode 100644 graphify-out/cache/ast/e3cfeb89b18b1bac17489412d2f15f55aacf66cf45fb7df24f324958a73d7291.json delete mode 100644 graphify-out/cache/ast/e47a71c21f23769726116d5c5d27db5c2e9a9bae045491d589d15c36de4d024c.json delete mode 100644 graphify-out/cache/ast/e550148569245fea68c5db1ba6d263fadd6aa64729d81cb02624890a6cf92cad.json delete mode 100644 graphify-out/cache/ast/e56385e843d8218a58e932e0480acc139f6b5cc78e592f4700b2aae14c066e94.json delete mode 100644 graphify-out/cache/ast/e6c0c5e4e0619d52122d211a1e37c954bc3b52e25d0742c76612d44c71da8afa.json delete mode 100644 graphify-out/cache/ast/e6c9bd8509623589f20830f10c54c3d3e9513f798ab06aa317e37a4f77685b01.json delete mode 100644 graphify-out/cache/ast/e6e7430c22abed4e1173cf3f004fad4960dfe6b98c12630b9b8e8d9f39cdc83e.json delete mode 100644 graphify-out/cache/ast/e6e904a8be8205b5b43660eb953ab4ba864d6e82eaa50797ab3d447057f1aec9.json delete mode 100644 graphify-out/cache/ast/e7c3f66c822fecf15ea244be1b40a592edbe9712d30b128f2e9e77950053d366.json delete mode 100644 graphify-out/cache/ast/e7c5e3bcc41ed5504d8832c8cb0b4e84d20471cbb81f40d904bc5ad16044ece6.json delete mode 100644 graphify-out/cache/ast/e7e3743bd7f85b481236c859a36c988073916c1f9e3176c626991cda7f90c055.json delete mode 100644 graphify-out/cache/ast/e8cbb7d0fbbb42368d94e75e66ac7fc467ec686d9dc746aaa3d9ddb3c8df8a36.json delete mode 100644 graphify-out/cache/ast/e92a6c70f9290ca37b6f6600f040c6b6ecf282aec60b85edb8ae24f234efd319.json delete mode 100644 graphify-out/cache/ast/e9f486d0444e29e9f2125421188b9039c1aed3710f3e68b1c38aab6465ecee7e.json delete mode 100644 graphify-out/cache/ast/ea0bb8bb0882017edeb034e7f852b03a27c531e0b11f91d50cdf8852cb068079.json delete mode 100644 graphify-out/cache/ast/ea22edfae20ea256789effec62395a2be76afb9dc2f8d92c05fc6fd43ab51618.json delete mode 100644 graphify-out/cache/ast/eb0cefeb60ab66dd44da25b9bd7434427e3940af12d9410878b4ac9b068805ce.json delete mode 100644 graphify-out/cache/ast/eb28c0c3262a85ded032ff2c951d2aeec0ff331deddb539a91a758ca9f770b1f.json delete mode 100644 graphify-out/cache/ast/ebf88e0967b7bab475b30992454e344b63cdc7c93c62cc3bcb1e0bf52dd78619.json delete mode 100644 graphify-out/cache/ast/ed5ef732a93c97789b75ddb9e08850dd158b1ba102eb8376fcacc45a6787119a.json delete mode 100644 graphify-out/cache/ast/efef30e5cc5a08156a985b728bbbd1bfdeb01cfac52f2a078923a9a79adcd10f.json delete mode 100644 graphify-out/cache/ast/f04396167f9ab9fcaba189525ecd1f52dcfdc2bfe7caed2fffcce9c3d175b7e3.json delete mode 100644 graphify-out/cache/ast/f16cad9424bc374423f67d9a2c6189e069a67d22ac1ec1855aefe401ffd848a9.json delete mode 100644 graphify-out/cache/ast/f210fb27d6c3e6e09e85a4dfd19da3964121248f96b1aff32f9223e622d1eecc.json delete mode 100644 graphify-out/cache/ast/f27b822b9309b935c7ebf4e4dd0a61b6c1daa3099f470513f5de0fa7ec9c554b.json delete mode 100644 graphify-out/cache/ast/f410dc4800c6c45da92b48b7641afbd729afd7326ed8d190d04b1a2e38a73dce.json delete mode 100644 graphify-out/cache/ast/f41edf6ffee1d91b63ef2164a479d0716a5c481a699910283a4fb5b95e2105e9.json delete mode 100644 graphify-out/cache/ast/f513469aea26f076b28281ae74f49e4da780fdee8b923ca504edfa6fce613d5c.json delete mode 100644 graphify-out/cache/ast/f576f78c6f63fd93a3146ecfe71733591c51b68b8f5207a197a22bd6b2bdb468.json delete mode 100644 graphify-out/cache/ast/f57822ea20ea4809ecd351af9da7028c24634ddbe5364f0e9891b8c71ae9831a.json delete mode 100644 graphify-out/cache/ast/f5d9459d1333dd6177e4678ec4d441cc86ed0f9c5e169c55d6bfed724620198c.json delete mode 100644 graphify-out/cache/ast/f62d0573acc2e219be0f5ad8e1594591ddbad46b66e5b61193f4a9cca5bb9da4.json delete mode 100644 graphify-out/cache/ast/f7e55b1353c1e6e3f05f44cec346d272f843163fe2b540587afeedc3c87ad05b.json delete mode 100644 graphify-out/cache/ast/f82fa93ced883f255e440c6a64c87b8717084fa82fdfd60a91bedc769bb9b6fe.json delete mode 100644 graphify-out/cache/ast/f844f9fcff45d59e5ad8baa4b334dbdc5e7f82b533818441146e8c3dbda6ff66.json delete mode 100644 graphify-out/cache/ast/f953077b6a676b48dd3f5cd0c1d8f7be5733304b1d6790941fca0dd2bd4d77f4.json delete mode 100644 graphify-out/cache/ast/f980ca94bd3668c504fb48daf8156e2e4ac72c9c11f06cfc9bd67577a8638cb0.json delete mode 100644 graphify-out/cache/ast/f9f26c8e4c35051adaaeb55a89e115f893de8984be2607e77d3f2d769f3050f4.json delete mode 100644 graphify-out/cache/ast/fa3d6fa5423db65d7aeb93dc77fe31f673ad906d63ccfc2bb9eddf253621d32e.json delete mode 100644 graphify-out/cache/ast/fa4d363bb98c39da2247bfabfa212602448f65bc0cd9aa18a4a7204952288251.json delete mode 100644 graphify-out/cache/ast/fa7cb31617a7d753d74f9f7ba678580a57b9b8ffaf956d7f7c83f50efcb131a4.json delete mode 100644 graphify-out/cache/ast/fb79b4053a0bb787e3749eeaac17b7aac34fdd5f379ce1332ad4f8ed46f8ded4.json delete mode 100644 graphify-out/cache/ast/fc15153bed595e5b40c77bdc0447459f8da423edeee7ce6c8697dccd0ba9e712.json delete mode 100644 graphify-out/cache/ast/fc8f57326f846782e2cf68ae5133d047955c030f10bd7db7c7fe43f82a2a72c9.json delete mode 100644 graphify-out/cache/ast/fcd72e85bb4758dc2987f4517d81e393fe44d78e8ff643cbf78887ee3f927f4a.json delete mode 100644 graphify-out/cache/ast/fcff1657f2b0ba63ad207264046f03dfce7d68aacf3e111413ab33e9d99c2953.json delete mode 100644 graphify-out/cache/ast/fd4af732dddaf8cf0b59809cdca3fce8ad2b3739bbd9584e2d34a837031d3a17.json delete mode 100644 graphify-out/cache/ast/fd5cab5574a3c5504ccb1c34cb9dc0fc02bbd8ed98ac7bc82191e753d86de7a5.json delete mode 100644 graphify-out/cache/ast/fd9c3892cbfad2c0f6eb7f7262a2c7c0eddb39c4fefb23c395f7279f931e1406.json delete mode 100644 graphify-out/cache/ast/fe4903a16c864a025893cd941014f94e36514a4680b6b5704944f2c247359ed4.json delete mode 100644 graphify-out/cache/ast/fe5f9d08eac0d2868481108c00aece0c18f8825ddb84a1c3e6aa056b2edaf31d.json delete mode 100644 graphify-out/cache/ast/fe5ff4570021584f1a7dacd1d1fbbe6fa51699a08c1d95249821a532fe87b8ce.json delete mode 100644 graphify-out/cache/ast/ff55eca63eebf249183ade35bc04ba83e65f03b235eeed4b5db3287baefd5aa4.json delete mode 100644 graphify-out/graph.json delete mode 100644 graphify-out/manifest.json create mode 100644 tests/unit/sync/test_run_delete.py diff --git a/graphify-out/.graphify_root b/graphify-out/.graphify_root deleted file mode 100644 index c44e250..0000000 --- a/graphify-out/.graphify_root +++ /dev/null @@ -1 +0,0 @@ -/Users/alex/Projects/ExLabWizard \ No newline at end of file diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md deleted file mode 100644 index fd7b8f8..0000000 --- a/graphify-out/GRAPH_REPORT.md +++ /dev/null @@ -1,2600 +0,0 @@ -# Graph Report - ExLabWizard (2026-05-30) - -## Corpus Check -- 432 files · ~800,691 words -- Verdict: corpus is large enough that graph structure adds value. - -## Summary -- 9884 nodes · 16238 edges · 673 communities (484 shown, 189 thin omitted) -- Extraction: 77% EXTRACTED · 23% INFERRED · 0% AMBIGUOUS · INFERRED: 3766 edges (avg confidence: 0.71) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `43a55083` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 110|Community 110]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 113|Community 113]] -- [[_COMMUNITY_Community 114|Community 114]] -- [[_COMMUNITY_Community 115|Community 115]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] -- [[_COMMUNITY_Community 141|Community 141]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 144|Community 144]] -- [[_COMMUNITY_Community 145|Community 145]] -- [[_COMMUNITY_Community 146|Community 146]] -- [[_COMMUNITY_Community 147|Community 147]] -- [[_COMMUNITY_Community 148|Community 148]] -- [[_COMMUNITY_Community 149|Community 149]] -- [[_COMMUNITY_Community 150|Community 150]] -- [[_COMMUNITY_Community 151|Community 151]] -- [[_COMMUNITY_Community 152|Community 152]] -- [[_COMMUNITY_Community 153|Community 153]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 163|Community 163]] -- [[_COMMUNITY_Community 164|Community 164]] -- [[_COMMUNITY_Community 165|Community 165]] -- [[_COMMUNITY_Community 166|Community 166]] -- [[_COMMUNITY_Community 167|Community 167]] -- [[_COMMUNITY_Community 168|Community 168]] -- [[_COMMUNITY_Community 169|Community 169]] -- [[_COMMUNITY_Community 170|Community 170]] -- [[_COMMUNITY_Community 171|Community 171]] -- [[_COMMUNITY_Community 172|Community 172]] -- [[_COMMUNITY_Community 173|Community 173]] -- [[_COMMUNITY_Community 174|Community 174]] -- [[_COMMUNITY_Community 175|Community 175]] -- [[_COMMUNITY_Community 176|Community 176]] -- [[_COMMUNITY_Community 177|Community 177]] -- [[_COMMUNITY_Community 178|Community 178]] -- [[_COMMUNITY_Community 179|Community 179]] -- [[_COMMUNITY_Community 180|Community 180]] -- [[_COMMUNITY_Community 181|Community 181]] -- [[_COMMUNITY_Community 182|Community 182]] -- [[_COMMUNITY_Community 183|Community 183]] -- [[_COMMUNITY_Community 184|Community 184]] -- [[_COMMUNITY_Community 185|Community 185]] -- [[_COMMUNITY_Community 186|Community 186]] -- [[_COMMUNITY_Community 187|Community 187]] -- [[_COMMUNITY_Community 188|Community 188]] -- [[_COMMUNITY_Community 189|Community 189]] -- [[_COMMUNITY_Community 190|Community 190]] -- [[_COMMUNITY_Community 191|Community 191]] -- [[_COMMUNITY_Community 192|Community 192]] -- [[_COMMUNITY_Community 193|Community 193]] -- [[_COMMUNITY_Community 194|Community 194]] -- [[_COMMUNITY_Community 195|Community 195]] -- [[_COMMUNITY_Community 196|Community 196]] -- [[_COMMUNITY_Community 197|Community 197]] -- [[_COMMUNITY_Community 198|Community 198]] -- [[_COMMUNITY_Community 199|Community 199]] -- [[_COMMUNITY_Community 200|Community 200]] -- [[_COMMUNITY_Community 201|Community 201]] -- [[_COMMUNITY_Community 202|Community 202]] -- [[_COMMUNITY_Community 203|Community 203]] -- [[_COMMUNITY_Community 204|Community 204]] -- [[_COMMUNITY_Community 205|Community 205]] -- [[_COMMUNITY_Community 206|Community 206]] -- [[_COMMUNITY_Community 207|Community 207]] -- [[_COMMUNITY_Community 208|Community 208]] -- [[_COMMUNITY_Community 209|Community 209]] -- [[_COMMUNITY_Community 210|Community 210]] -- [[_COMMUNITY_Community 211|Community 211]] -- [[_COMMUNITY_Community 212|Community 212]] -- [[_COMMUNITY_Community 213|Community 213]] -- [[_COMMUNITY_Community 214|Community 214]] -- [[_COMMUNITY_Community 215|Community 215]] -- [[_COMMUNITY_Community 216|Community 216]] -- [[_COMMUNITY_Community 217|Community 217]] -- [[_COMMUNITY_Community 218|Community 218]] -- [[_COMMUNITY_Community 219|Community 219]] -- [[_COMMUNITY_Community 220|Community 220]] -- [[_COMMUNITY_Community 221|Community 221]] -- [[_COMMUNITY_Community 222|Community 222]] -- [[_COMMUNITY_Community 223|Community 223]] -- [[_COMMUNITY_Community 224|Community 224]] -- [[_COMMUNITY_Community 225|Community 225]] -- [[_COMMUNITY_Community 226|Community 226]] -- [[_COMMUNITY_Community 227|Community 227]] -- [[_COMMUNITY_Community 228|Community 228]] -- [[_COMMUNITY_Community 229|Community 229]] -- [[_COMMUNITY_Community 230|Community 230]] -- [[_COMMUNITY_Community 231|Community 231]] -- [[_COMMUNITY_Community 232|Community 232]] -- [[_COMMUNITY_Community 233|Community 233]] -- [[_COMMUNITY_Community 234|Community 234]] -- [[_COMMUNITY_Community 235|Community 235]] -- [[_COMMUNITY_Community 236|Community 236]] -- [[_COMMUNITY_Community 237|Community 237]] -- [[_COMMUNITY_Community 238|Community 238]] -- [[_COMMUNITY_Community 239|Community 239]] -- [[_COMMUNITY_Community 240|Community 240]] -- [[_COMMUNITY_Community 241|Community 241]] -- [[_COMMUNITY_Community 242|Community 242]] -- [[_COMMUNITY_Community 243|Community 243]] -- [[_COMMUNITY_Community 244|Community 244]] -- [[_COMMUNITY_Community 245|Community 245]] -- [[_COMMUNITY_Community 246|Community 246]] -- [[_COMMUNITY_Community 247|Community 247]] -- [[_COMMUNITY_Community 248|Community 248]] -- [[_COMMUNITY_Community 249|Community 249]] -- [[_COMMUNITY_Community 250|Community 250]] -- [[_COMMUNITY_Community 251|Community 251]] -- [[_COMMUNITY_Community 252|Community 252]] -- [[_COMMUNITY_Community 253|Community 253]] -- [[_COMMUNITY_Community 254|Community 254]] -- [[_COMMUNITY_Community 255|Community 255]] -- [[_COMMUNITY_Community 256|Community 256]] -- [[_COMMUNITY_Community 257|Community 257]] -- [[_COMMUNITY_Community 258|Community 258]] -- [[_COMMUNITY_Community 259|Community 259]] -- [[_COMMUNITY_Community 260|Community 260]] -- [[_COMMUNITY_Community 261|Community 261]] -- [[_COMMUNITY_Community 262|Community 262]] -- [[_COMMUNITY_Community 263|Community 263]] -- [[_COMMUNITY_Community 264|Community 264]] -- [[_COMMUNITY_Community 265|Community 265]] -- [[_COMMUNITY_Community 266|Community 266]] -- [[_COMMUNITY_Community 267|Community 267]] -- [[_COMMUNITY_Community 268|Community 268]] -- [[_COMMUNITY_Community 269|Community 269]] -- [[_COMMUNITY_Community 270|Community 270]] -- [[_COMMUNITY_Community 271|Community 271]] -- [[_COMMUNITY_Community 272|Community 272]] -- [[_COMMUNITY_Community 273|Community 273]] -- [[_COMMUNITY_Community 274|Community 274]] -- [[_COMMUNITY_Community 275|Community 275]] -- [[_COMMUNITY_Community 276|Community 276]] -- [[_COMMUNITY_Community 277|Community 277]] -- [[_COMMUNITY_Community 278|Community 278]] -- [[_COMMUNITY_Community 279|Community 279]] -- [[_COMMUNITY_Community 280|Community 280]] -- [[_COMMUNITY_Community 281|Community 281]] -- [[_COMMUNITY_Community 282|Community 282]] -- [[_COMMUNITY_Community 283|Community 283]] -- [[_COMMUNITY_Community 284|Community 284]] -- [[_COMMUNITY_Community 285|Community 285]] -- [[_COMMUNITY_Community 286|Community 286]] -- [[_COMMUNITY_Community 287|Community 287]] -- [[_COMMUNITY_Community 288|Community 288]] -- [[_COMMUNITY_Community 289|Community 289]] -- [[_COMMUNITY_Community 290|Community 290]] -- [[_COMMUNITY_Community 291|Community 291]] -- [[_COMMUNITY_Community 292|Community 292]] -- [[_COMMUNITY_Community 293|Community 293]] -- [[_COMMUNITY_Community 294|Community 294]] -- [[_COMMUNITY_Community 295|Community 295]] -- [[_COMMUNITY_Community 296|Community 296]] -- [[_COMMUNITY_Community 297|Community 297]] -- [[_COMMUNITY_Community 298|Community 298]] -- [[_COMMUNITY_Community 299|Community 299]] -- [[_COMMUNITY_Community 300|Community 300]] -- [[_COMMUNITY_Community 301|Community 301]] -- [[_COMMUNITY_Community 302|Community 302]] -- [[_COMMUNITY_Community 303|Community 303]] -- [[_COMMUNITY_Community 304|Community 304]] -- [[_COMMUNITY_Community 305|Community 305]] -- [[_COMMUNITY_Community 306|Community 306]] -- [[_COMMUNITY_Community 307|Community 307]] -- [[_COMMUNITY_Community 308|Community 308]] -- [[_COMMUNITY_Community 309|Community 309]] -- [[_COMMUNITY_Community 310|Community 310]] -- [[_COMMUNITY_Community 311|Community 311]] -- [[_COMMUNITY_Community 312|Community 312]] -- [[_COMMUNITY_Community 313|Community 313]] -- [[_COMMUNITY_Community 314|Community 314]] -- [[_COMMUNITY_Community 315|Community 315]] -- [[_COMMUNITY_Community 316|Community 316]] -- [[_COMMUNITY_Community 317|Community 317]] -- [[_COMMUNITY_Community 318|Community 318]] -- [[_COMMUNITY_Community 319|Community 319]] -- [[_COMMUNITY_Community 320|Community 320]] -- [[_COMMUNITY_Community 321|Community 321]] -- [[_COMMUNITY_Community 322|Community 322]] -- [[_COMMUNITY_Community 323|Community 323]] -- [[_COMMUNITY_Community 324|Community 324]] -- [[_COMMUNITY_Community 325|Community 325]] -- [[_COMMUNITY_Community 326|Community 326]] -- [[_COMMUNITY_Community 327|Community 327]] -- [[_COMMUNITY_Community 328|Community 328]] -- [[_COMMUNITY_Community 329|Community 329]] -- [[_COMMUNITY_Community 330|Community 330]] -- [[_COMMUNITY_Community 331|Community 331]] -- [[_COMMUNITY_Community 332|Community 332]] -- [[_COMMUNITY_Community 333|Community 333]] -- [[_COMMUNITY_Community 334|Community 334]] -- [[_COMMUNITY_Community 335|Community 335]] -- [[_COMMUNITY_Community 336|Community 336]] -- [[_COMMUNITY_Community 337|Community 337]] -- [[_COMMUNITY_Community 338|Community 338]] -- [[_COMMUNITY_Community 339|Community 339]] -- [[_COMMUNITY_Community 340|Community 340]] -- [[_COMMUNITY_Community 341|Community 341]] -- [[_COMMUNITY_Community 342|Community 342]] -- [[_COMMUNITY_Community 343|Community 343]] -- [[_COMMUNITY_Community 344|Community 344]] -- [[_COMMUNITY_Community 345|Community 345]] -- [[_COMMUNITY_Community 346|Community 346]] -- [[_COMMUNITY_Community 347|Community 347]] -- [[_COMMUNITY_Community 348|Community 348]] -- [[_COMMUNITY_Community 349|Community 349]] -- [[_COMMUNITY_Community 350|Community 350]] -- [[_COMMUNITY_Community 351|Community 351]] -- [[_COMMUNITY_Community 352|Community 352]] -- [[_COMMUNITY_Community 353|Community 353]] -- [[_COMMUNITY_Community 354|Community 354]] -- [[_COMMUNITY_Community 355|Community 355]] -- [[_COMMUNITY_Community 356|Community 356]] -- [[_COMMUNITY_Community 357|Community 357]] -- [[_COMMUNITY_Community 358|Community 358]] -- [[_COMMUNITY_Community 359|Community 359]] -- [[_COMMUNITY_Community 360|Community 360]] -- [[_COMMUNITY_Community 361|Community 361]] -- [[_COMMUNITY_Community 362|Community 362]] -- [[_COMMUNITY_Community 363|Community 363]] -- [[_COMMUNITY_Community 364|Community 364]] -- [[_COMMUNITY_Community 365|Community 365]] -- [[_COMMUNITY_Community 366|Community 366]] -- [[_COMMUNITY_Community 367|Community 367]] -- [[_COMMUNITY_Community 368|Community 368]] -- [[_COMMUNITY_Community 369|Community 369]] -- [[_COMMUNITY_Community 370|Community 370]] -- [[_COMMUNITY_Community 371|Community 371]] -- [[_COMMUNITY_Community 372|Community 372]] -- [[_COMMUNITY_Community 373|Community 373]] -- [[_COMMUNITY_Community 374|Community 374]] -- [[_COMMUNITY_Community 375|Community 375]] -- [[_COMMUNITY_Community 376|Community 376]] -- [[_COMMUNITY_Community 377|Community 377]] -- [[_COMMUNITY_Community 378|Community 378]] -- [[_COMMUNITY_Community 379|Community 379]] -- [[_COMMUNITY_Community 380|Community 380]] -- [[_COMMUNITY_Community 381|Community 381]] -- [[_COMMUNITY_Community 382|Community 382]] -- [[_COMMUNITY_Community 383|Community 383]] -- [[_COMMUNITY_Community 384|Community 384]] -- [[_COMMUNITY_Community 385|Community 385]] -- [[_COMMUNITY_Community 386|Community 386]] -- [[_COMMUNITY_Community 387|Community 387]] -- [[_COMMUNITY_Community 388|Community 388]] -- [[_COMMUNITY_Community 389|Community 389]] -- [[_COMMUNITY_Community 390|Community 390]] -- [[_COMMUNITY_Community 391|Community 391]] -- [[_COMMUNITY_Community 392|Community 392]] -- [[_COMMUNITY_Community 393|Community 393]] -- [[_COMMUNITY_Community 394|Community 394]] -- [[_COMMUNITY_Community 395|Community 395]] -- [[_COMMUNITY_Community 396|Community 396]] -- [[_COMMUNITY_Community 397|Community 397]] -- [[_COMMUNITY_Community 398|Community 398]] -- [[_COMMUNITY_Community 399|Community 399]] -- [[_COMMUNITY_Community 400|Community 400]] -- [[_COMMUNITY_Community 401|Community 401]] -- [[_COMMUNITY_Community 402|Community 402]] -- [[_COMMUNITY_Community 403|Community 403]] -- [[_COMMUNITY_Community 404|Community 404]] -- [[_COMMUNITY_Community 405|Community 405]] -- [[_COMMUNITY_Community 406|Community 406]] -- [[_COMMUNITY_Community 407|Community 407]] -- [[_COMMUNITY_Community 408|Community 408]] -- [[_COMMUNITY_Community 409|Community 409]] -- [[_COMMUNITY_Community 410|Community 410]] -- [[_COMMUNITY_Community 411|Community 411]] -- [[_COMMUNITY_Community 412|Community 412]] -- [[_COMMUNITY_Community 413|Community 413]] -- [[_COMMUNITY_Community 414|Community 414]] -- [[_COMMUNITY_Community 415|Community 415]] -- [[_COMMUNITY_Community 416|Community 416]] -- [[_COMMUNITY_Community 417|Community 417]] -- [[_COMMUNITY_Community 418|Community 418]] -- [[_COMMUNITY_Community 419|Community 419]] -- [[_COMMUNITY_Community 420|Community 420]] -- [[_COMMUNITY_Community 421|Community 421]] -- [[_COMMUNITY_Community 422|Community 422]] -- [[_COMMUNITY_Community 423|Community 423]] -- [[_COMMUNITY_Community 424|Community 424]] -- [[_COMMUNITY_Community 425|Community 425]] -- [[_COMMUNITY_Community 426|Community 426]] -- [[_COMMUNITY_Community 427|Community 427]] -- [[_COMMUNITY_Community 428|Community 428]] -- [[_COMMUNITY_Community 429|Community 429]] -- [[_COMMUNITY_Community 430|Community 430]] -- [[_COMMUNITY_Community 431|Community 431]] -- [[_COMMUNITY_Community 432|Community 432]] -- [[_COMMUNITY_Community 433|Community 433]] -- [[_COMMUNITY_Community 434|Community 434]] -- [[_COMMUNITY_Community 435|Community 435]] -- [[_COMMUNITY_Community 436|Community 436]] -- [[_COMMUNITY_Community 437|Community 437]] -- [[_COMMUNITY_Community 438|Community 438]] -- [[_COMMUNITY_Community 439|Community 439]] -- [[_COMMUNITY_Community 440|Community 440]] -- [[_COMMUNITY_Community 441|Community 441]] -- [[_COMMUNITY_Community 442|Community 442]] -- [[_COMMUNITY_Community 443|Community 443]] -- [[_COMMUNITY_Community 444|Community 444]] -- [[_COMMUNITY_Community 445|Community 445]] -- [[_COMMUNITY_Community 446|Community 446]] -- [[_COMMUNITY_Community 447|Community 447]] -- [[_COMMUNITY_Community 448|Community 448]] -- [[_COMMUNITY_Community 449|Community 449]] -- [[_COMMUNITY_Community 450|Community 450]] -- [[_COMMUNITY_Community 451|Community 451]] -- [[_COMMUNITY_Community 452|Community 452]] -- [[_COMMUNITY_Community 453|Community 453]] -- [[_COMMUNITY_Community 454|Community 454]] -- [[_COMMUNITY_Community 455|Community 455]] -- [[_COMMUNITY_Community 456|Community 456]] -- [[_COMMUNITY_Community 457|Community 457]] -- [[_COMMUNITY_Community 458|Community 458]] -- [[_COMMUNITY_Community 459|Community 459]] -- [[_COMMUNITY_Community 460|Community 460]] -- [[_COMMUNITY_Community 461|Community 461]] -- [[_COMMUNITY_Community 462|Community 462]] -- [[_COMMUNITY_Community 463|Community 463]] -- [[_COMMUNITY_Community 464|Community 464]] -- [[_COMMUNITY_Community 465|Community 465]] -- [[_COMMUNITY_Community 466|Community 466]] -- [[_COMMUNITY_Community 467|Community 467]] -- [[_COMMUNITY_Community 468|Community 468]] -- [[_COMMUNITY_Community 469|Community 469]] -- [[_COMMUNITY_Community 470|Community 470]] -- [[_COMMUNITY_Community 471|Community 471]] -- [[_COMMUNITY_Community 472|Community 472]] -- [[_COMMUNITY_Community 473|Community 473]] -- [[_COMMUNITY_Community 474|Community 474]] -- [[_COMMUNITY_Community 475|Community 475]] -- [[_COMMUNITY_Community 476|Community 476]] -- [[_COMMUNITY_Community 477|Community 477]] -- [[_COMMUNITY_Community 478|Community 478]] -- [[_COMMUNITY_Community 479|Community 479]] -- [[_COMMUNITY_Community 480|Community 480]] -- [[_COMMUNITY_Community 481|Community 481]] -- [[_COMMUNITY_Community 482|Community 482]] -- [[_COMMUNITY_Community 483|Community 483]] -- [[_COMMUNITY_Community 484|Community 484]] -- [[_COMMUNITY_Community 485|Community 485]] -- [[_COMMUNITY_Community 486|Community 486]] -- [[_COMMUNITY_Community 487|Community 487]] -- [[_COMMUNITY_Community 488|Community 488]] -- [[_COMMUNITY_Community 489|Community 489]] -- [[_COMMUNITY_Community 490|Community 490]] -- [[_COMMUNITY_Community 491|Community 491]] -- [[_COMMUNITY_Community 492|Community 492]] -- [[_COMMUNITY_Community 493|Community 493]] -- [[_COMMUNITY_Community 494|Community 494]] -- [[_COMMUNITY_Community 495|Community 495]] -- [[_COMMUNITY_Community 496|Community 496]] -- [[_COMMUNITY_Community 497|Community 497]] -- [[_COMMUNITY_Community 498|Community 498]] -- [[_COMMUNITY_Community 499|Community 499]] -- [[_COMMUNITY_Community 500|Community 500]] -- [[_COMMUNITY_Community 501|Community 501]] -- [[_COMMUNITY_Community 502|Community 502]] -- [[_COMMUNITY_Community 503|Community 503]] -- [[_COMMUNITY_Community 504|Community 504]] -- [[_COMMUNITY_Community 505|Community 505]] -- [[_COMMUNITY_Community 506|Community 506]] -- [[_COMMUNITY_Community 507|Community 507]] -- [[_COMMUNITY_Community 508|Community 508]] -- [[_COMMUNITY_Community 509|Community 509]] -- [[_COMMUNITY_Community 510|Community 510]] -- [[_COMMUNITY_Community 511|Community 511]] -- [[_COMMUNITY_Community 512|Community 512]] -- [[_COMMUNITY_Community 513|Community 513]] -- [[_COMMUNITY_Community 514|Community 514]] -- [[_COMMUNITY_Community 515|Community 515]] -- [[_COMMUNITY_Community 516|Community 516]] -- [[_COMMUNITY_Community 517|Community 517]] -- [[_COMMUNITY_Community 518|Community 518]] -- [[_COMMUNITY_Community 519|Community 519]] -- [[_COMMUNITY_Community 520|Community 520]] -- [[_COMMUNITY_Community 521|Community 521]] -- [[_COMMUNITY_Community 522|Community 522]] -- [[_COMMUNITY_Community 523|Community 523]] -- [[_COMMUNITY_Community 524|Community 524]] -- [[_COMMUNITY_Community 525|Community 525]] -- [[_COMMUNITY_Community 526|Community 526]] -- [[_COMMUNITY_Community 527|Community 527]] -- [[_COMMUNITY_Community 528|Community 528]] -- [[_COMMUNITY_Community 529|Community 529]] -- [[_COMMUNITY_Community 530|Community 530]] -- [[_COMMUNITY_Community 531|Community 531]] -- [[_COMMUNITY_Community 532|Community 532]] -- [[_COMMUNITY_Community 533|Community 533]] -- [[_COMMUNITY_Community 534|Community 534]] -- [[_COMMUNITY_Community 535|Community 535]] -- [[_COMMUNITY_Community 536|Community 536]] -- [[_COMMUNITY_Community 537|Community 537]] -- [[_COMMUNITY_Community 538|Community 538]] -- [[_COMMUNITY_Community 539|Community 539]] -- [[_COMMUNITY_Community 540|Community 540]] -- [[_COMMUNITY_Community 541|Community 541]] -- [[_COMMUNITY_Community 542|Community 542]] -- [[_COMMUNITY_Community 543|Community 543]] -- [[_COMMUNITY_Community 544|Community 544]] -- [[_COMMUNITY_Community 545|Community 545]] -- [[_COMMUNITY_Community 546|Community 546]] -- [[_COMMUNITY_Community 547|Community 547]] -- [[_COMMUNITY_Community 548|Community 548]] -- [[_COMMUNITY_Community 549|Community 549]] -- [[_COMMUNITY_Community 550|Community 550]] -- [[_COMMUNITY_Community 551|Community 551]] -- [[_COMMUNITY_Community 564|Community 564]] -- [[_COMMUNITY_Community 566|Community 566]] -- [[_COMMUNITY_Community 567|Community 567]] -- [[_COMMUNITY_Community 568|Community 568]] -- [[_COMMUNITY_Community 569|Community 569]] -- [[_COMMUNITY_Community 570|Community 570]] -- [[_COMMUNITY_Community 571|Community 571]] -- [[_COMMUNITY_Community 572|Community 572]] -- [[_COMMUNITY_Community 573|Community 573]] -- [[_COMMUNITY_Community 574|Community 574]] -- [[_COMMUNITY_Community 575|Community 575]] -- [[_COMMUNITY_Community 576|Community 576]] -- [[_COMMUNITY_Community 577|Community 577]] -- [[_COMMUNITY_Community 578|Community 578]] -- [[_COMMUNITY_Community 579|Community 579]] -- [[_COMMUNITY_Community 580|Community 580]] -- [[_COMMUNITY_Community 581|Community 581]] -- [[_COMMUNITY_Community 582|Community 582]] -- [[_COMMUNITY_Community 583|Community 583]] -- [[_COMMUNITY_Community 584|Community 584]] -- [[_COMMUNITY_Community 585|Community 585]] -- [[_COMMUNITY_Community 586|Community 586]] -- [[_COMMUNITY_Community 587|Community 587]] -- [[_COMMUNITY_Community 588|Community 588]] -- [[_COMMUNITY_Community 589|Community 589]] -- [[_COMMUNITY_Community 590|Community 590]] -- [[_COMMUNITY_Community 591|Community 591]] -- [[_COMMUNITY_Community 592|Community 592]] -- [[_COMMUNITY_Community 593|Community 593]] -- [[_COMMUNITY_Community 594|Community 594]] -- [[_COMMUNITY_Community 595|Community 595]] -- [[_COMMUNITY_Community 596|Community 596]] -- [[_COMMUNITY_Community 597|Community 597]] -- [[_COMMUNITY_Community 598|Community 598]] -- [[_COMMUNITY_Community 599|Community 599]] -- [[_COMMUNITY_Community 600|Community 600]] -- [[_COMMUNITY_Community 601|Community 601]] -- [[_COMMUNITY_Community 602|Community 602]] -- [[_COMMUNITY_Community 603|Community 603]] -- [[_COMMUNITY_Community 604|Community 604]] -- [[_COMMUNITY_Community 605|Community 605]] -- [[_COMMUNITY_Community 606|Community 606]] -- [[_COMMUNITY_Community 607|Community 607]] -- [[_COMMUNITY_Community 608|Community 608]] -- [[_COMMUNITY_Community 609|Community 609]] -- [[_COMMUNITY_Community 610|Community 610]] -- [[_COMMUNITY_Community 611|Community 611]] -- [[_COMMUNITY_Community 612|Community 612]] -- [[_COMMUNITY_Community 613|Community 613]] -- [[_COMMUNITY_Community 614|Community 614]] -- [[_COMMUNITY_Community 615|Community 615]] -- [[_COMMUNITY_Community 616|Community 616]] -- [[_COMMUNITY_Community 617|Community 617]] -- [[_COMMUNITY_Community 618|Community 618]] -- [[_COMMUNITY_Community 619|Community 619]] -- [[_COMMUNITY_Community 620|Community 620]] -- [[_COMMUNITY_Community 621|Community 621]] -- [[_COMMUNITY_Community 622|Community 622]] -- [[_COMMUNITY_Community 624|Community 624]] -- [[_COMMUNITY_Community 625|Community 625]] -- [[_COMMUNITY_Community 626|Community 626]] -- [[_COMMUNITY_Community 627|Community 627]] -- [[_COMMUNITY_Community 628|Community 628]] -- [[_COMMUNITY_Community 629|Community 629]] -- [[_COMMUNITY_Community 630|Community 630]] -- [[_COMMUNITY_Community 631|Community 631]] -- [[_COMMUNITY_Community 632|Community 632]] -- [[_COMMUNITY_Community 633|Community 633]] -- [[_COMMUNITY_Community 634|Community 634]] -- [[_COMMUNITY_Community 635|Community 635]] -- [[_COMMUNITY_Community 636|Community 636]] -- [[_COMMUNITY_Community 637|Community 637]] -- [[_COMMUNITY_Community 638|Community 638]] -- [[_COMMUNITY_Community 639|Community 639]] -- [[_COMMUNITY_Community 640|Community 640]] -- [[_COMMUNITY_Community 641|Community 641]] -- [[_COMMUNITY_Community 642|Community 642]] -- [[_COMMUNITY_Community 643|Community 643]] -- [[_COMMUNITY_Community 644|Community 644]] -- [[_COMMUNITY_Community 645|Community 645]] -- [[_COMMUNITY_Community 646|Community 646]] -- [[_COMMUNITY_Community 647|Community 647]] -- [[_COMMUNITY_Community 648|Community 648]] -- [[_COMMUNITY_Community 649|Community 649]] -- [[_COMMUNITY_Community 650|Community 650]] -- [[_COMMUNITY_Community 651|Community 651]] -- [[_COMMUNITY_Community 652|Community 652]] -- [[_COMMUNITY_Community 653|Community 653]] -- [[_COMMUNITY_Community 654|Community 654]] -- [[_COMMUNITY_Community 655|Community 655]] -- [[_COMMUNITY_Community 656|Community 656]] -- [[_COMMUNITY_Community 657|Community 657]] -- [[_COMMUNITY_Community 658|Community 658]] -- [[_COMMUNITY_Community 659|Community 659]] -- [[_COMMUNITY_Community 660|Community 660]] -- [[_COMMUNITY_Community 661|Community 661]] -- [[_COMMUNITY_Community 662|Community 662]] -- [[_COMMUNITY_Community 663|Community 663]] -- [[_COMMUNITY_Community 664|Community 664]] -- [[_COMMUNITY_Community 666|Community 666]] -- [[_COMMUNITY_Community 667|Community 667]] -- [[_COMMUNITY_Community 668|Community 668]] -- [[_COMMUNITY_Community 669|Community 669]] -- [[_COMMUNITY_Community 670|Community 670]] -- [[_COMMUNITY_Community 671|Community 671]] -- [[_COMMUNITY_Community 672|Community 672]] - -## God Nodes (most connected - your core abstractions) -1. `_deps()` - 139 edges -2. `create_app()` - 125 edges -3. `AppDependencies` - 123 edges -4. `NASSyncClient` - 107 edges -5. `SyncStateWriter` - 102 edges -6. `EquipmentConfig` - 96 edges -7. `PathsConfig` - 95 edges -8. `CreationWriter` - 82 edges -9. `SessionStore` - 79 edges -10. `Config` - 73 edges - -## Surprising Connections (you probably didn't know these) -- `test_keyring_unavailable_error_can_be_raised_and_caught()` --calls--> `KeyringUnavailableError` [INFERRED] - tests/unit/test_errors.py → src/exlab_wizard/errors.py -- `test_evaluate_setup_state_no_config()` --calls--> `evaluate_setup_state()` [INFERRED] - tests/unit/test_paths.py → src/exlab_wizard/paths.py -- `writer()` --calls--> `CreationWriter` [INFERRED] - tests/unit/cache/test_creation_writer.py → src/exlab_wizard/cache/creation_writer.py -- `test_paths_config_defaults_are_empty_strings()` --calls--> `PathsConfig` [INFERRED] - tests/unit/config/test_models.py → src/exlab_wizard/config/models.py -- `test_paths_config_rejects_unknown_keys()` --calls--> `PathsConfig` [INFERRED] - tests/unit/config/test_models.py → src/exlab_wizard/config/models.py - -## Communities (673 total, 189 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.03 -Nodes (154): CreationJson, LimsProjectBlock, OverrideEntry, PathsBlock, msgspec.Struct types for the ExLab-Wizard cache files. This module is the singl, Template provenance captured at creation time. Spec §11.3., Resolved on-disk paths captured at creation time. Spec §11.3., Operator-recorded validation override entry. Spec §11.3. ``revoked`` is ``F (+146 more) - -### Community 1 - "Community 1" -Cohesion: 0.03 -Nodes (113): CreationWriter, Atomic reader/writer for ``creation.json``. Backend Spec §4.4.5., Construct the writer. ``lock_timeout_seconds`` is the wall-clock cap fo, Write a fresh ``creation.json``. Reserved for initial creation. Acquire, Read, mutate, and write ``creation.json`` under one ``LOCK_EX``. The fu, Read a snapshot under ``LOCK_SH`` (shared/read lock). Concurrent reader, BandwidthConfig, ``bandwidth:`` sub-block on a transport. (+105 more) - -### Community 2 - "Community 2" -Cohesion: 0.03 -Nodes (105): _config(), _deps(), _nas_config(), Tests for ``exlab_wizard.ui.mount`` helpers. The ``@ui.page(...)`` decorators i, A clicked path is resolved from the in-memory feed into a file payload., A clicked path is resolved from the in-memory feed into a file payload., A clicked path is resolved from the in-memory feed into a file payload., Live-LIMS branch with the keyring password absent -> not ready. (+97 more) - -### Community 3 - "Community 3" -Cohesion: 0.03 -Nodes (66): Mutable cross-request state for the e2e harness., TestState, cache_dir(), Return the ``.exlab-wizard/`` subdirectory for a run or project root., Return the ``.exlab-wizard/`` subdirectory for a run or project root., _build_driver(), _build_target_for(), _compute_nas_path() (+58 more) - -### Community 4 - "Community 4" -Cohesion: 0.03 -Nodes (76): One operator-defined extra README field. Backend Spec §9, §10., One operator-defined extra README field. Backend Spec §9, §10., READMEDefaultField, _equipment_dict(), _orch_staging_transport_dict(), Unit tests for ``exlab_wizard.config.models``. Pydantic models that mirror ``co, The operator-free quiescence redesign drops the per-equipment completeness-s, rclone.conf migration (Phase 8): the per-equipment staging-transport block i (+68 more) - -### Community 5 - "Community 5" -Cohesion: 0.04 -Nodes (57): _attach_resolved(), CreationController, _format_error(), _has_hard_finding(), _os_username(), _project_name_for(), Creation controller. Backend Spec §4.4.1, §4.7, §4.8. Composes the validator, t, Run :meth:`Validator.validate_creation` against the rendered tree. Catc (+49 more) - -### Community 6 - "Community 6" -Cohesion: 0.04 -Nodes (67): lock_path_for(), Cache package. Backend Spec §11., Return the advisory file-lock path string for ``path``. Centralizes the ``s, FileSyncRecord, ``msgspec.Struct`` types for the per-run ``sync_state.json`` cache. Operator-fr, Per-file sync record stored under ``sync_state.json``'s ``files`` map. One, ``sync_state.json`` per-run sync-state record at schema version 1.0. Writte, SyncStateJson (+59 more) - -### Community 7 - "Community 7" -Cohesion: 0.05 -Nodes (69): Tests for ``exlab_wizard.io.yaml_files``., A YAML file with a top-level scalar/list is not a manifest., test_load_yaml_manifest_empty_file_returns_empty_dict(), test_load_yaml_manifest_missing_file_raises(), test_load_yaml_manifest_non_dict_returns_empty_dict(), test_load_yaml_manifest_propagates_yaml_error(), test_load_yaml_manifest_returns_dict(), load_yaml_manifest() (+61 more) - -### Community 8 - "Community 8" -Cohesion: 0.05 -Nodes (72): Parallelism knobs forwarded to rclone (``--transfers`` / ``--checkers``). T, RclonePerf, NASSyncClient, Durable, per-equipment NAS sync queue with Pre-Sync Gate. Backend Spec §7.1, Swap the cached config + equipment map in place (no relaunch). The ``eq, Open the queue and start the worker task. Backend Spec §7.1.2., Durable, per-equipment NAS sync queue with Pre-Sync Gate. Backend Spec §7.1, Swap the cached config + equipment map in place (no relaunch). The ``eq (+64 more) - -### Community 9 - "Community 9" -Cohesion: 0.04 -Nodes (62): _parse_argv(), Parse the tray's CLI arguments. The tray accepts: - ``--version`` -- p, Bundle of long-lived tray components. The launcher constructs one and calls, Spawn or focus the window subprocess., TrayApp, _make_tray(), Tests for :mod:`exlab_wizard.tray.main`. Backend Spec §4.3.2., ``main()`` builds default components and calls :meth:`TrayApp.run`. (+54 more) - -### Community 10 - "Community 10" -Cohesion: 0.06 -Nodes (67): EquipmentJson, PluginIsolation, Plugin worker isolation telemetry. Spec §6.2.4 / §11.3 (added 1.3)., ``equipment.json`` at schema version 1.0. Spec §11.4.1., app_with_real_controller(), The soft block does not gate POST /sessions per §4.9.4., The soft block does not gate POST /sessions per §4.9.4., End-to-end WebSocket stream of phase frames. Uses the synchronous TestClien (+59 more) - -### Community 11 - "Community 11" -Cohesion: 0.05 -Nodes (70): is_test_run_dir(), True if ``name`` is a test-run directory., True if ``name`` is a test-run directory., Return every run-leaf directory pending NAS sync. Stage-mode runs sit u, count_files_and_bytes(), iter_subdirs(), Shared filesystem helpers for the orchestrator. Backend Spec §13.2. Both :mod:`, Sum file count + total bytes under ``run_path``. With ``exclude_cache=True` (+62 more) - -### Community 12 - "Community 12" -Cohesion: 0.04 -Nodes (70): _config_with_local_root(), Unit tests for the ``/tree`` and ``/run/{path}`` browse endpoints., ``TestRuns`` directory under a project surfaces as ``test_runs`` list., ``TestRuns`` directory under a project surfaces as ``test_runs`` list., A creation.json that is present but malformed surfaces as 422., A creation.json that is present but malformed surfaces as 422., Run with creation.json but no README.md returns readme: null., Run with creation.json but no README.md returns readme: null. (+62 more) - -### Community 13 - "Community 13" -Cohesion: 0.05 -Nodes (49): OrchestratorStagingCleanup, ``orchestrator.staging_cleanup:`` sub-block. Backend Spec §13.7., ``orchestrator.staging_cleanup:`` sub-block. Backend Spec §13.7., test_orchestrator_staging_cleanup_defaults(), test_orchestrator_staging_cleanup_rejects_unknown_mode(), test_orchestrator_staging_cleanup_scheduled_requires_positive_hours(), _Handle, _make_config() (+41 more) - -### Community 14 - "Community 14" -Cohesion: 0.03 -Nodes (65): A tombstone ("On NAS") file has no on-disk copy, so size is None., Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify., Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify., A tombstone ("On NAS") file has no on-disk copy, so size is None., Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify., A tombstone ("On NAS") file has no on-disk copy, so size is None., Nothing selected -> no scan, no write, no raise., Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify. (+57 more) - -### Community 15 - "Community 15" -Cohesion: 0.04 -Nodes (42): _PydanticBody, Module-level body class so FastAPI treats ``body: _PydanticBody`` as a JSON, error_plugin -- raises PluginError mid-transform., ErrorPlugin, error_plugin -- raises PluginError mid-transform. Exercises the Backend Spec §6, Always raises PluginError on transform., ExLabError, PluginError (+34 more) - -### Community 16 - "Community 16" -Cohesion: 0.05 -Nodes (62): Tests for the standalone dev seeder (``python -m exlab_wizard.dev.seed``)., Pin the sandbox under ``tmp_path`` and enable test mode. Patches ``paths.os, A clean sandbox (no config) is bootstrapped and fully seeded., A second run wipes the seeded subtree (clearing stray files) and rebuilds., _sandbox_under(), test_seed_main_creates_full_tree(), test_seed_main_wipes_and_rebuilds(), creation_json_path() (+54 more) - -### Community 17 - "Community 17" -Cohesion: 0.05 -Nodes (55): _default_handoff(), is_pid_alive(), main(), _posix_is_pid_alive(), ``exlab-wizard-window`` console_scripts entry point. Backend Spec §15.3.2. Read, Entry point. Backend Spec §15.3.2. ``argv`` is ignored at this phase (the s, Hand off control to :mod:`pywebview_app`., Resolved ``server.json`` contents: ``port`` / ``pid`` / ``started_at``. (+47 more) - -### Community 18 - "Community 18" -Cohesion: 0.05 -Nodes (49): project_identifier(), In-memory session store + GC for creation sessions. Backend Spec §4.4.7. The :c, Create a fresh session in :data:`SessionState.PENDING` state., Return the session keyed by ``session_id``, or ``None``., Return ``(session_id, session)`` pairs, oldest-created first. The publi, Move ``session_id`` to ``new_state``, updating ``current_phase``. Valid, Attach a WebSocket fan-out queue to the session. The controller pushes, Refresh ``last_heartbeat`` so the GC will not close this session. No-op (+41 more) - -### Community 19 - "Community 19" -Cohesion: 0.05 -Nodes (54): LoggingConfig, ``logging:`` block. Central app-log rotation + level., ``logging:`` block. Central app-log rotation + level., test_logging_central_log_keep_at_least_one(), test_logging_central_log_max_mb_at_least_one(), test_logging_level_accepts_all_canonical_values(), test_logging_level_normalized_to_uppercase(), test_logging_level_rejects_non_string_directly() (+46 more) - -### Community 20 - "Community 20" -Cohesion: 0.05 -Nodes (34): ABC, Plugin, Plugin contract base class. Backend Spec §6.1. Defines the public surface that, Return a list of error strings; empty list means "valid". Default imple, Called once before the file loop. Default: no-op. Use for batch setup t, Called once after the file loop. Default: no-op. Symmetric to :meth:`pr, Called if any prior hook raised. Default: no-op. Use to roll back parti, Abstract base class for all ExLab-Wizard plugins. Backend Spec §6.1.3. (+26 more) - -### Community 21 - "Community 21" -Cohesion: 0.05 -Nodes (49): PluginStatus, Plugin invocation outcome reported by the host. Backend Spec §6.2.4., Plugin invocation outcome reported by the host. Backend Spec §6.2.4., applied_entry_as_json(), _apply_rlimits(), _build_applied_entry(), build_test_registry(), _diff_and_collect_violations() (+41 more) - -### Community 22 - "Community 22" -Cohesion: 0.05 -Nodes (54): _build_creation_writer(), _build_equipment_writer(), _build_keyring_store(), _build_nas_sync(), _build_plugin_host(), build_production_dependencies(), _build_quiescence_poller(), _build_session_store() (+46 more) - -### Community 23 - "Community 23" -Cohesion: 0.04 -Nodes (54): _controller(), Unit tests for ``CreationController.apply_config`` (live config reload). The co, test_apply_config_reinjects_plugin_host_only_when_given(), test_apply_config_swaps_config(), A resolvable file flips keep_local via the writer and fires on_done., A resolvable file flips keep_local via the writer and fires on_done., A resolvable file flips keep_local via the writer and fires on_done., A resolvable file flips keep_local via the writer and fires on_done. (+46 more) - -### Community 24 - "Community 24" -Cohesion: 0.05 -Nodes (35): assert_transition(), Return the :class:`Phase` event corresponding to ``state``. Backend Spec §4, Raise :class:`ValueError` if ``current -> new_state`` is illegal. Defensive, state_to_phase(), Tests for ``exlab_wizard.controller.state_machine``. The state machine is the c, The guard rejects a state not present in ``VALID_TRANSITIONS``. We can't ea, Every ``SessionState`` value must have an explicit mapping entry., test_assert_transition_allows_cancel_from_any_non_terminal() (+27 more) - -### Community 25 - "Community 25" -Cohesion: 0.07 -Nodes (47): OrchestratorBlock, PluginApplied, Per-plugin invocation record written into ``plugins_applied``. Spec §6.2.4, Orchestrator-mode metadata. Spec §11.3 / §13 / Redesign Spec §3.3. Always p, Write the per-equipment ``equipment.json`` registry record. Backend Spe, Write the per-equipment ``equipment.json`` registry record. Backend Spe, Write README + creation.json into the destination tree., Write README + creation.json into the destination tree. (+39 more) - -### Community 26 - "Community 26" -Cohesion: 0.11 -Nodes (44): KeyringStore, OS keyring with encrypted-at-rest fallback. Backend Spec §7.4. Tries the OS, _BrokenKeyring, _InMemoryKeyring, Tests for :class:`exlab_wizard.lims.keyring_store.KeyringStore`. The OS-keyring, Set + get via the encrypted fallback (no OS keyring)., The fallback file is a JSON envelope with version, salt, ciphertext., A second ``set_password`` overwrites the prior secret. (+36 more) - -### Community 27 - "Community 27" -Cohesion: 0.06 -Nodes (37): Integration test: tray <-> window lifecycle round-trip. Backend Spec §4.3.2. Th, Poll ``/api/v1/health`` until the server is accepting requests., test_tray_lifecycle_round_trip(), test_tray_lifecycle_window_handshake_reads_server_json(), _wait_for_health(), Integration smoke: pywebview-facing root path returns HTML, not JSON 404. This, test_root_serves_html_after_mount(), _wait_for() (+29 more) - -### Community 28 - "Community 28" -Cohesion: 0.04 -Nodes (51): _build_operation_rows(), _cancel_operation(), _cancel_session(), _open_operations_modal(), Build the Operations-panel rows from the live session store (T3). Uses the, Open the in-flight Operations panel (Frontend §9.5). Builds a fresh snapsho, Build the Operations-panel rows from the live session store (T3). Uses the, Open the in-flight Operations panel (Frontend §9.5). Builds a fresh snapsho (+43 more) - -### Community 29 - "Community 29" -Cohesion: 0.05 -Nodes (50): AuditScopeKind, BandwidthDay, CreationLevel, DirectoryLevel, FieldType, FindingKind, LIMSProjectSource, LIMSProjectStatus (+42 more) - -### Community 30 - "Community 30" -Cohesion: 0.08 -Nodes (47): _make_config(), _make_run(), _poller(), Unit tests for ``exlab_wizard.orchestrator.quiescence_poller``. The :class:`Qui, Create a run-leaf directory mirroring the §13.2 staging layout., A file is enqueued only after its signature settles for the window., A file is enqueued only after its signature settles for the window., A signature change resets ``first_seen``; the window restarts. (+39 more) - -### Community 31 - "Community 31" -Cohesion: 0.06 -Nodes (49): build_error_envelope(), _config_error_handler(), error_response(), _exlab_validation_handler(), extract_or_create_trace_id(), _generic_handler(), _http_exception_handler(), _keyring_unavailable_handler() (+41 more) - -### Community 32 - "Community 32" -Cohesion: 0.12 -Nodes (49): _click(), _click_handler(), _config_with(), _draft_of(), _find(), _find_all(), _fire_change(), _nas_equipment() (+41 more) - -### Community 33 - "Community 33" -Cohesion: 0.04 -Nodes (50): A run dir without a creation.json yields {path, name}, not crash., A run dir without a creation.json yields {path, name}, not crash., A run dir without a creation.json yields {path, name}, not crash., A run dir without a creation.json yields {path, name}, not crash., A run dir without a creation.json yields {path, name}, not crash., A directory match delegates to the one-level folder aggregate scan., A directory match delegates to the one-level folder aggregate scan., ``copy_path`` writes the entry path to the NiceGUI clipboard. (+42 more) - -### Community 34 - "Community 34" -Cohesion: 0.06 -Nodes (47): append_log_line(), format_log_line(), Append-only writer for ``wizard..log`` files. Backend Spec §11.5, §16., Render the supplied context as ``[host:..] [equip:..] ...``. Returns the em, Trim ``line`` so its UTF-8 byte length is at most ``LOG_LINE_MAX_BYTES``. T, Append a single ``line`` to a ``wizard..log`` file. Creates the p, Render a structured log line per Backend Spec §11.5 / §16.4. Tags are omitt, _render_tags() (+39 more) - -### Community 35 - "Community 35" -Cohesion: 0.07 -Nodes (48): _make_config(), _mark_synced(), Unit tests for the ``/staging`` router. Backend Spec §13.7, §13.8. The operator, Seed a run dir that carries a ``creation.json`` -- a real run., Write a fully-verified ``sync_state.json`` so the run rolls up to ``synced``., Write a fully-verified ``sync_state.json`` so the run rolls up to ``synced``., A run with no queue job and no directory clears to zeros., A run with no queue job and no directory clears to zeros. (+40 more) - -### Community 36 - "Community 36" -Cohesion: 0.06 -Nodes (48): Split ``proposed_path`` into per-segment names. Accepts both POSIX and Wind, _split_path_segments(), _clean_input(), Unit tests for ``exlab_wizard.validator.engine`` -- creation-time mode. The eng, Default ValidatorConfig matches the §9 documented defaults., Test-mode input with TestRuns/ parent and TestRun_ leaf passes., An angle-bracket identifier in a path segment fires §8.1.1., A Windows-illegal char in a file name fires §8.1.2. (+40 more) - -### Community 37 - "Community 37" -Cohesion: 0.08 -Nodes (46): NASCleanupConfig, ``nas_cleanup:`` block. Local-copy retention after NAS verify., ``nas_cleanup:`` block. Local-copy retention after NAS verify., test_nas_cleanup_defaults(), test_nas_cleanup_min_age_hours_non_negative(), test_nas_cleanup_min_verify_passes_at_least_one(), _build_config(), _make_creation() (+38 more) - -### Community 38 - "Community 38" -Cohesion: 0.05 -Nodes (24): ``test_runs.json`` marker at schema version 1.0. Spec §11.4.2. Filename ret, TestRunsJson, _from_must_precede_to(), OperatorsConfig, _parse_hhmm(), Pydantic models that mirror ``config.yaml``. Backend Spec §9. These models are, ``readme:`` block. Lab-policy fields layered on top of the core set., ``readme:`` block. Lab-policy fields layered on top of the core set. (+16 more) - -### Community 39 - "Community 39" -Cohesion: 0.05 -Nodes (44): build_test_app(), _classify_test_node(), create_app_factory(), _feed_rows(), E2E test app wiring (Phase 16 follow-up). Builds a FastAPI app via :func:`exlab, Parse a request URL's query string into a multi-value mapping., Same shape classifier the production mount uses, for seeded ids. Returns ``, Per-node-kind hardcoded payloads the test app threads into the production re (+36 more) - -### Community 40 - "Community 40" -Cohesion: 0.05 -Nodes (46): _close_dialog(), _consume_session_progress(), _open_input_required_dialog(), Open the §9.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm, Open the §9.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm, Open the §9.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm, Open the in-flight Operations panel (Frontend §9.5). Builds a fresh snapsho, Open the §9.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm (+38 more) - -### Community 41 - "Community 41" -Cohesion: 0.07 -Nodes (42): format_bytes(), format_elapsed(), _invoke(), Orchestrator staging panel (Frontend Spec §3.9, Backend §13.8). A bottom-dock p, Render ``value`` as a binary unit string (KiB / MiB / ...). Returns a compa, Render ``seconds`` as a compact "Hh Mm Ss" / "Mm Ss" / "Ss" string., Static badge props for a staging-state pill. Returns ``{label, color, backg, Render-ready dict for one table row. Exposed for unit tests so the pure for (+34 more) - -### Community 42 - "Community 42" -Cohesion: 0.06 -Nodes (35): parse_validation_override_entry(), Inspect ``entry["revoked"]`` and ``entry["revokes"]`` to decide which Struct, _creation_json_payload(), _minimal_creation_json(), Tests for the msgspec.Struct cache-file types in ``exlab_wizard.api.schemas``., Spec §11.3: orchestrator is *absent* (not null) in single-equipment mode., Redesign §3.3: pushed creation.json carries the equipment label so the orche, Older creation.json files (no relay field) decode cleanly. (+27 more) - -### Community 43 - "Community 43" -Cohesion: 0.07 -Nodes (40): keyring_nas_username(), OS-keyring service/username conventions used for credential storage. The wizard, Return the keyring username for the given equipment's NAS credential. Equip, _check_nas_passwords_present(), _make_equipment_probe(), _nas_keyring_password(), Return the stored NAS password for ``equipment_id`` or ``None``. The creden, Build the ``deps.equipment_probe`` callable. rclone.conf NAS-sync migration (+32 more) - -### Community 44 - "Community 44" -Cohesion: 0.07 -Nodes (37): _Bucket, _coalesced_message(), _default_notifier(), _noop_notifier(), NotificationBus, notify(), OS notifications via plyer with 5-second coalescing. Backend Spec §15.7.3. Two, Coalescing layer over :func:`notify`. The launcher constructs one bus and t (+29 more) - -### Community 45 - "Community 45" -Cohesion: 0.04 -Nodes (44): 7.1.10 Cache file syncing and metadata-only retention on cleanup, 7.1.1 Component model, 7.1.2 Job lifecycle, 7.1.3 Transport driver (`RcloneDriver`), 7.1.3 Transport drivers, 7.1.4 Hash verification, 7.1.4 Verify flow (lsjson reconcile + cleanup-time hash gate), 7.1.5 Retry policy (+36 more) - -### Community 46 - "Community 46" -Cohesion: 0.05 -Nodes (43): Structural smoke tests for the PyInstaller distribution. Phase 15. The actual `, ``__version__`` mirrors ``[project] version`` in ``pyproject.toml``. Drift, ``[project.scripts]`` lists exactly the three §15.3 entry points., ``exlab_wizard.spec`` parses as Python source. The file is interpreted by P, The spec names each of the three §15.1 executables., The spec names the three entry-point script paths. PyInstaller resolves the, The spec uses PyInstaller's ``MERGE`` directive (Backend Spec §15.1). ``MER, The spec declares hidden imports for libs PyInstaller misses. Backend Spec (+35 more) - -### Community 47 - "Community 47" -Cohesion: 0.08 -Nodes (34): format_status(), Status-submenu rendering. Backend Spec §4.3.2. The tray's status submenu shows, Spawn the ticker thread. Idempotent., Signal the ticker to exit. Idempotent., Run a single tick synchronously. Returns the new label. Tests call this, Best-effort numeric read; missing / None / non-int returns 0., Immutable view over the §4.3.2 status inputs., Build a :class:`StatusSnapshot` from live component references. Each compon (+26 more) - -### Community 48 - "Community 48" -Cohesion: 0.11 -Nodes (42): CustomField, Field declaration from a template's ``_exlab_readme.fields`` list or from ``, An ad-hoc user-added field. Backend Spec §10.4. Custom fields are plain str, TemplateFieldDecl, _ctx(), Tests for :class:`exlab_wizard.readme.generator.ReadmeGenerator`. Pins the cont, Calling generate twice with the same context produces identical bytes., A value whose id has no declaration is permitted (controller-side merge). (+34 more) - -### Community 49 - "Community 49" -Cohesion: 0.08 -Nodes (39): _extract_readme_fields(), Copier template-engine wrapper. Backend Spec §4.4.2 / §5. This module wraps Cop, Wraps the Copier Python API behind the §4.4.2 contract., Render the template into ``dst`` via Copier. Args: tpl: A p, Return the set of regular files under ``root`` (recursively). Returns the e, _snapshot_files(), TemplateEngine, Unit tests for ``exlab_wizard.template.copier_driver``. These tests pin the §4. (+31 more) - -### Community 50 - "Community 50" -Cohesion: 0.05 -Nodes (42): _drain_background(), macOS dispatches to the ``open`` command., macOS dispatches to the ``open`` command., macOS dispatches to the ``open`` command., macOS dispatches to the ``open`` command., A failed scan keeps the existing payload and warns., Run any pending mount background tasks to completion., macOS dispatches to the ``open`` command. (+34 more) - -### Community 52 - "Community 52" -Cohesion: 0.06 -Nodes (40): derive_footer_segment_states(), FooterSegmentStates, Bottom-of-window status bar segment (Frontend Spec §3.5.5). The status bar has, Build a clickable status-bar segment., Derived ``SEGMENT_*`` state for each footer status segment (Phase 5). Only, Compute a :class:`SegmentSpec` from a label and state. The state controls t, Map live backend counts to per-segment states (Frontend §3.5.5). * **Valida, Build a clickable status-bar segment. (+32 more) - -### Community 53 - "Community 53" -Cohesion: 0.06 -Nodes (37): dict, _build_context(), _decode_files(), _load_plugin_class(), main(), Plugin worker entry point. Backend Spec §6.3.1, §6.3.2. Invoked as ``python -m, Materialize a :class:`PluginContext` from the stdin envelope. Returns the c, Import the plugin module and return the exported ``Plugin`` symbol. The hos (+29 more) - -### Community 54 - "Community 54" -Cohesion: 0.05 -Nodes (41): Without a job row the dialog shows the 'no sync job' line., Without a job row the dialog shows the 'no sync job' line., Without a job row the dialog shows the 'no sync job' line., Non-EquipmentNode keys in the hierarchy are ignored; unknown root -> treated, Non-EquipmentNode keys in the hierarchy are ignored; unknown root -> treated, A matching equipment id projects its config fields into the payload., Non-EquipmentNode keys in the hierarchy are ignored; unknown root -> treated, A schema_version mismatch (read_catalogue -> None) yields ``[]``. (+33 more) - -### Community 55 - "Community 55" -Cohesion: 0.05 -Nodes (40): _open_log_dialog(), Dispatch a per-run context action to its backend surface. Mirrors :func:`ap, Dispatch a per-run context action to its backend surface. Mirrors :func:`ap, Force a fresh single-folder scan and prime the feed payload (OQ-1/A). The F, Force a fresh single-folder scan and prime the feed payload (OQ-1/A). The F, Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f, Dispatch a per-run context action to its backend surface. Mirrors :func:`ap, Dispatch a per-run context action to its backend surface. Mirrors :func:`ap (+32 more) - -### Community 56 - "Community 56" -Cohesion: 0.08 -Nodes (37): equipment_json_path(), Return the ``equipment.json`` path under an equipment directory., Return ``Run_`` or ``TestRun_``., Return ``Run_`` or ``TestRun_``., run_dir_stem(), can_advance(), preview_path_segments(), primary_button_color() (+29 more) - -### Community 57 - "Community 57" -Cohesion: 0.08 -Nodes (35): EquipmentCacheWriter, Write the ``test_runs.json`` marker file. Idempotent per §11.4.2: if th, Read and decode a ``test_runs.json`` marker file. Raises ``SchemaMajorM, Writer for ``equipment.json`` and ``test_runs.json``. Instances are statele, Write or rewrite the per-equipment ``equipment.json`` file. Stamping ru, Read and decode an existing ``equipment.json`` file. Uses ``msgspec.jso, _make_equipment_payload(), _make_test_runs_payload() (+27 more) - -### Community 58 - "Community 58" -Cohesion: 0.09 -Nodes (27): QuitCoordinator, Graceful tray shutdown coordinator. Backend Spec §4.3.2. Steps documented in §4, Return True iff the §4.3.2 predicate holds. ``SessionStore.active_sessi, Poll :meth:`_is_idle` up to ``deadline_seconds`` seconds. Returns True, Invoke the operator-facing force-quit prompt. Returns ``True`` to indic, Return ``int(obj.)`` defensively. Falls through ``None``, missing att, Drive the §4.3.2 graceful-shutdown protocol. Construction-time dependencies, Run the graceful-shutdown protocol. ``sigterm=True`` reduces the wait w (+19 more) - -### Community 59 - "Community 59" -Cohesion: 0.07 -Nodes (40): evaluate_setup_state(), Evaluate the §4.9.1 setup state. Order of gates (first-failing wins):, Evaluate the §4.9.1 setup state. Order of gates (first-failing wins):, _make_equipment(), _make_orchestrator(), _nas_remote_config(), endpoint+email both filled in but no offline catalogue -> the keyring-passwo, endpoint+email both filled in but no offline catalogue -> the keyring-passwo (+32 more) - -### Community 60 - "Community 60" -Cohesion: 0.06 -Nodes (35): _FakeController, _NavSpy, Duck-typed CreationController for the create-flow helpers., Duck-typed CreationController for the create-flow helpers., Duck-typed CreationController for the create-flow helpers., Minimal stand-in for the NiceGUI ``ui`` object's navigate surface., Minimal stand-in for the NiceGUI ``ui`` object's navigate surface., Minimal stand-in for the NiceGUI ``ui`` object's navigate surface. (+27 more) - -### Community 61 - "Community 61" -Cohesion: 0.07 -Nodes (37): body_style(), card_style(), framed_pane(), header_style(), Framed pane helper (GUI/Orchestrator Redesign §4.1). The main-window refresh fr, Return the framed-pane card-shell style fragment (pure; testable). Always e, Return the framed-pane card-shell style fragment (pure; testable). Always e, Return the title-strip style fragment (pure; testable). (+29 more) - -### Community 63 - "Community 63" -Cohesion: 0.06 -Nodes (39): _await_session(), _equipment_ids(), Open the §9.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm, Map each ``template_type`` template name to its parsed copier questions. Re, Map each ``template_type`` template name to its parsed copier questions. Re, Await a controller session's pipeline task and return the final handle. ``c, Return the configured equipment IDs., Map each ``template_type`` template name to its parsed copier questions. Re (+31 more) - -### Community 64 - "Community 64" -Cohesion: 0.08 -Nodes (37): DeltaEvent, DoneEvent, encode_event(), event_from_dict(), FailedEvent, InputRequiredEvent, PhaseEvent, ProgressEvent (+29 more) - -### Community 65 - "Community 65" -Cohesion: 0.05 -Nodes (38): 10. Affected files, 11. Deferred follow-ups (explicitly out of v1), 1. Summary, 2. Goals & non-goals, 3.1 New tokens, 3.2 Fix latent debt — referenced-but-undefined variables, 3. Design tokens (foundation), 4.1 Panel framing — `components/framed_pane.py` (new) + `pages/main.py` (+30 more) - -### Community 66 - "Community 66" -Cohesion: 0.08 -Nodes (25): _credential_testids(), Smoke tests that invoke the NiceGUI factory functions. The factory functions cr, Collect every ``data-testid`` in an element's subtree., Regression: the editing state must expose an inline password input., The LIMS section must expose the password credential row., Return a NiceGUI slot we can use as a parent for factory calls., _slot(), test_credential_field_editing_state_renders_a_password_input() (+17 more) - -### Community 67 - "Community 67" -Cohesion: 0.07 -Nodes (29): _audit_loop(), AuditChannel, _diff_findings(), _drain(), _finding_to_dict(), FastAPI app + lifespan + dependency wiring. Backend Spec §4.6. The :func:`creat, Close every subscriber's queue. Idempotent., Yield from the subscriber queue until a sentinel arrives. (+21 more) - -### Community 68 - "Community 68" -Cohesion: 0.09 -Nodes (36): Tests for the rclone transport driver. Backend Spec §7.1.3, §7.1.5. The driver, A missing binary raises :class:`TransportError`, not a retry result., A missing binary raises :class:`TransportError`, not a retry result., ``env`` arrives in the subprocess; ``mask_for_log`` redacts the password. T, If the --combined tempfile cannot be read, treat it as empty output., Return the recorded argv lists, in invocation order., Return the recorded argv lists, in invocation order., _read_recorded_argvs() (+28 more) - -### Community 69 - "Community 69" -Cohesion: 0.05 -Nodes (37): Any exception raised by a per-kind builder is logged + swallowed., Any exception raised by a per-kind builder is logged + swallowed., A missing parent dir returns 0 (no FS pre-check needed)., Only directory children whose names start with the prefix are counted., Any exception raised by a per-kind builder is logged + swallowed., When nas_sync.enqueue raises, the background task swallows + toasts., When nas_sync.enqueue raises, the background task swallows + toasts., Only directory children whose names start with the prefix are counted. (+29 more) - -### Community 70 - "Community 70" -Cohesion: 0.06 -Nodes (27): Unit tests for :mod:`exlab_wizard.ui.theme`. The theme module renders the ``:ro, A body / heading / mono reset block follows the ``:root {}``., In source layout, the resolver returns ``/assets/``., All shadows are navy-tinted (DESIGN.md §04)., Phase 5 / §4.8: the compact-density rule scopes file-row padding to the .exl, The block opens with ``:root {`` per DESIGN.md §07., All shadows are navy-tinted (DESIGN.md §04)., A body / heading / mono reset block follows the ``:root {}``. (+19 more) - -### Community 71 - "Community 71" -Cohesion: 0.09 -Nodes (21): is_run_dir(), True if ``name`` is an experimental-run directory. Note: ``RUN_DIR_PREFIX``, True if ``name`` is an experimental-run directory. Note: ``RUN_DIR_PREFIX``, _extract_overrides_and_sync(), Read ``/.exlab-wizard/creation.json`` if present. Returns ``, Run §8.1 rules in creation-time and audit modes. Backend Spec §11.8. The co, Walk a directory subtree and return all findings. Backend Spec §11.8. U, Public read-only alias for :meth:`audit`. Backend Spec §11.8. Read-only (+13 more) - -### Community 72 - "Community 72" -Cohesion: 0.1 -Nodes (22): AutostartManager, _import_winreg(), Create the per-platform autostart record. Idempotent., Remove the per-platform autostart record. Idempotent., Import ``winreg`` lazily so the module loads on macOS / Linux too. Returns, Per-platform autostart register / unregister / is_registered. Construction-, Return True iff a per-platform autostart record exists., Tests for :mod:`exlab_wizard.tray.autostart`. Backend Spec §15.7. (+14 more) - -### Community 74 - "Community 74" -Cohesion: 0.06 -Nodes (13): E2E flow 08: Settings dialog round-trip + persistence. Frontend Spec §6.7 (sett, The renamed "Workstation" section (id still ``orchestrator``) collects the l, The LIMS credential field's full lifecycle: set -> replace -> clear (§7.4.1)., Cancelling the credential editor collapses the row without saving., test_flow_08_lims_password_cancel_discards_edit(), test_flow_08_lims_password_credential(), test_flow_08_settings(), test_flow_08_workstation_section_hides_staging_root() (+5 more) - -### Community 75 - "Community 75" -Cohesion: 0.09 -Nodes (34): canonicalize_equipment_id(), compose_project_path(), Validate ``value`` against the §3.1 equipment-ID regex. Returns ``value`` u, Compose the project-level directory. ``//:///), code:bash (# Confirm the remote answers), code:bash (rclone --config /path/to/rclone.conf about lab-nas:), code:yaml (nas:), code:yaml (nas:), code:yaml (nas:), code:yaml (nas:) (+25 more) - -### Community 85 - "Community 85" -Cohesion: 0.06 -Nodes (33): 11.1 Folder Placement, 11.2 File Inventory per Level, 11.3 `creation.json` Schema, 11.4.1 `equipment.json` Schema, 11.4.2 `test_runs.json` Schema, 11.4.3 `runs.json` Schema, 11.4 `readme_fields.json` Schema, 11.5.1 Log Levels, Rotation, and the Central App Log (+25 more) - -### Community 86 - "Community 86" -Cohesion: 0.06 -Nodes (34): Force-sync routes to ``deps.nas_sync.enqueue`` with the run path., Force-sync routes to ``deps.nas_sync.enqueue`` with the run path., Force-sync routes to ``deps.nas_sync.enqueue`` with the run path., Force-sync routes to ``deps.nas_sync.enqueue`` with the run path., The early-exit when config is missing produces a toast, no task., The early-exit when config is missing produces a toast, no task., The early-exit when config is missing produces a toast, no task., When the feed's last_payload is set, entries are projected into FileListEntr (+26 more) - -### Community 87 - "Community 87" -Cohesion: 0.13 -Nodes (29): PluginHost, Spawns plugin worker subprocesses with strict isolation. Backend Spec §6.3, _ctx(), _make_dst_with_txt(), Integration tests for :class:`PluginHost`. Backend Spec §6.3. Each test spawns, Default ``on_input_required`` callback for tests that don't expect a prompt., Backend Spec §6.5: the canonical hello-world plugin appends ``hello\\n``., Backend Spec §6.3.4: the host must SIGTERM/SIGKILL on wall-clock timeout. (+21 more) - -### Community 88 - "Community 88" -Cohesion: 0.09 -Nodes (24): _python_window_argv(), Tests for :mod:`exlab_wizard.tray.window_launcher`. Backend Spec §4.3.2., Default constructor with no override delegates to the resolver., Return an argv that runs a tiny window stand-in (a sleep)., test_argv_falls_through_resolve_helper(), test_close_is_idempotent(), test_close_kills_unresponsive_process(), test_close_terminates_subprocess() (+16 more) - -### Community 89 - "Community 89" -Cohesion: 0.12 -Nodes (30): BandwidthWindow, One ``{days, from, to}`` window. Backend Spec §9., One ``{days, from, to}`` window. Backend Spec §9., effective_bandwidth_limit_kibps(), is_window_active(), mbps_to_kibps(), _parse_hhmm(), Bandwidth schedule evaluator. Backend Spec §7.1.7. The §7.1.7 bandwidth limiter (+22 more) - -### Community 90 - "Community 90" -Cohesion: 0.07 -Nodes (31): BannerId, clear_banner(), clear_field_error(), clear_form_errors(), ContainerId, _emit_toast(), get_field_error(), get_form_error() (+23 more) - -### Community 91 - "Community 91" -Cohesion: 0.09 -Nodes (31): _make_finding(), Unit tests for ``exlab_wizard.validator.findings``. The :class:`Finding` datacl, Optional fields default if missing from the payload., Unknown keys in a future-minor payload are not lethal., ``matched_token`` of ``None`` survives the round-trip as ``None``., Two findings with identical field values collapse in a set., Different field values produce distinct set entries., Findings sort lexicographically when keyed by their dict shape. (+23 more) - -### Community 92 - "Community 92" -Cohesion: 0.09 -Nodes (32): _make_clean_tree(), _make_validator(), If ``stat()`` raises OSError, the file is skipped from content scanning., If ``open(rb)`` raises OSError, the file is silently skipped., Build a single-equipment / single-project / single-run clean tree. Returns, Construct a :class:`Validator` for tests with a single equipment root., A well-formed equipment / project / run tree produces no findings., A large file with a placeholder is NOT scanned for content. (+24 more) - -### Community 93 - "Community 93" -Cohesion: 0.09 -Nodes (32): _build_creation_json_dict(), A ``Run_*`` leaf whose creation.json says ``run_kind="test"`` is flagged., Hard-tier findings come first; ties break on rule then offending_path., ``{"kind": "equipment_id", ...}`` walks only the matching subtree., ``{"kind": "project_path", ...}`` walks the supplied path only., ``{"kind": "all"}`` aggregates findings across every equipment root., Build the wire-form ``creation.json`` dict for a fixture tree., Every entry in the result is a :class:`Finding` instance. (+24 more) - -### Community 94 - "Community 94" -Cohesion: 0.08 -Nodes (31): create_app(), Build the FastAPI app. Backend Spec §4.6. ``config``: optional pre-loaded `, Build the FastAPI app. Backend Spec §4.6. ``config``: optional pre-loaded `, build_setup_router(), Construct the ``/setup/*`` router. Always-available endpoints., Construct the ``/setup/*`` router. Always-available endpoints., When config has no equipment the setup gate blocks /tree., When config has no equipment the setup gate blocks /tree. (+23 more) - -### Community 95 - "Community 95" -Cohesion: 0.14 -Nodes (30): AppDependencies, Bundle of live components the API surface dispatches to. Production wiring, compute_setup_state(), Evaluate the §4.9.1 state for the app's current dependencies. The dependenc, Evaluate the §4.9.1 state for the app's current dependencies. The dependenc, Unit tests for ``exlab_wizard.api.setup`` (gate + endpoints)., When the nas remote is unavailable the status surfaces the rclone next-action., Equipment with a password-requiring transport but no keyring entry gates. (+22 more) - -### Community 96 - "Community 96" -Cohesion: 0.08 -Nodes (31): _goto(), E2E flow 25: production /main is wired to the redesigned renderer. This suite e, Loading /main?selected=TEST_EQ1 directly renders the centre + right panes., Clicking a breadcrumb segment routes back through /main?selected=. The brea, Clicking a breadcrumb segment routes back through /main?selected=. The brea, Clicking the right-pane toggle flips ?right_pane=collapsed in the URL., Clicking the right-pane toggle flips ?right_pane=collapsed in the URL., Owned-equipment Edit menu navigates to /settings with the equipment id. Rou (+23 more) - -### Community 97 - "Community 97" -Cohesion: 0.07 -Nodes (18): FolderFeed, FolderFeedState, Folder-feed client abstraction. GUI/Orchestrator Redesign §5. A small ``start(p, In-memory state of one folder feed (one per centre pane)., One folder feed; rebound to a different path via ``start()``., Start polling ``path``. Switching paths stops the previous poll before s, Pause polling — used when the window is backgrounded., Resume polling after a pause. (+10 more) - -### Community 98 - "Community 98" -Cohesion: 0.09 -Nodes (18): LIMSClient, _project_from_row(), Read-only LIMS client (Mapping B). Backend Spec §7.2. The client wraps an :clas, ``GET /api/v1/projects``; returns one LIMSProject per row. ``status_fil, ``GET /api/v1/projects/``; returns None on 404. ``uid_or_short_id``, ``GET /api/v1/me``; returns the current operator's row., Return a ``HealthStatus`` snapshot. Backend Spec §7.2.3. Calls ``GET /a, Close the underlying ``httpx.AsyncClient``. Idempotent. (+10 more) - -### Community 99 - "Community 99" -Cohesion: 0.07 -Nodes (31): Drive a create_* call to completion and toast the outcome. When ``wizard_st, Build a RunCreateRequest from the wizard state and run it., Drive a create_* call to completion and toast the outcome. When ``wizard_st, Run the validator audit, swallowing failures to a WARN log., Drive a create_* call to completion and toast the outcome. When ``wizard_st, Run the validator audit, swallowing failures to a WARN log., Run the validator audit, swallowing failures to a WARN log., Build a RunCreateRequest from the wizard state and run it. (+23 more) - -### Community 100 - "Community 100" -Cohesion: 0.11 -Nodes (28): can_advance(), disk_space_pre_flight_message(), preview_step_clear(), ProjectWizardState, New Project Wizard (Frontend Spec §4). Seven steps in a ``ui.stepper``: 1. LIM, Pre-flight checks for the Preview step (Frontend §10.5.4)., Return a copy-ready message when disk space is low; else ``None``., Render the seven-step project wizard. ``templates`` is the list of project- (+20 more) - -### Community 101 - "Community 101" -Cohesion: 0.11 -Nodes (30): _apply_live_config(), Push ``cfg`` into the running components, then keep it as the live config., apply_live_config(), _lims_identity(), Push a freshly saved ``config.yaml`` into the running components. Replaces, Push a freshly saved ``config.yaml`` into the running components. Replaces, Return the ``(endpoint, email)`` pair that defines a LIMS client. Trailing, Return the ``(endpoint, email)`` pair that defines a LIMS client. Trailing (+22 more) - -### Community 102 - "Community 102" -Cohesion: 0.07 -Nodes (29): Unit tests for :mod:`exlab_wizard.ui.notifications`. The helpers all delegate t, ``clear_banner`` removes the active record., Frontend §2.2.3: max 2 banners; 3rd collapses into a count., Inline field errors round-trip through register / get / clear., Inline form errors round-trip through register / get / clear., Frontend §2.2.3: exactly five canonical banner ids., Severity matches DESIGN.md alerts table., ContainerId enumerates the three banner placement scopes. (+21 more) - -### Community 103 - "Community 103" -Cohesion: 0.09 -Nodes (25): build_icon(), default_icon_image(), _import_pystray(), pystray icon construction. Backend Spec §4.3.2. The tray icon's menu has three, Invoke a menu callback; log + swallow exceptions. The pystray menu handler, Return a small PIL.Image used as the tray icon bitmap. Imported lazily so t, Build the pystray icon with the §4.1 menu. ``status_provider`` is invoked e, Lazy import so unit tests on headless hosts can mock pystray. (+17 more) - -### Community 104 - "Community 104" -Cohesion: 0.09 -Nodes (21): Exception, test_classify_failure_unknown_when_rc_zero_and_no_markers(), Sync transports package. Backend Spec §7.1.3. Each transport is a thin async wr, Kind of failure that the queue worker uses to drive the retry policy. Backe, Outcome of a transport push. ``ok`` is True iff the transport reported succ, Raised when a transport probe cannot complete. Distinct from :class:`Transp, TransportError, TransportErrorKind (+13 more) - -### Community 105 - "Community 105" -Cohesion: 0.07 -Nodes (29): 10. Error handling, 11. Testing strategy, 12. Future (v1.x), 1. Summary, 2. Goals & non-goals, 3.1 Always-orchestrator, 3.2 Per-equipment sync role, 3.3 Owned vs. received equipment (+21 more) - -### Community 106 - "Community 106" -Cohesion: 0.07 -Nodes (30): A successful scan records the refresh on the coordinator., A successful scan records the refresh on the coordinator., A successful scan records the refresh on the coordinator., A successful scan records the refresh on the coordinator., When the clear helper raises, the background task swallows + toasts., When the clear helper raises, the background task swallows + toasts., The 0-file path reports ``already cleared`` rather than ``cleared N``., The 0-file path reports ``already cleared`` rather than ``cleared N``. (+22 more) - -### Community 107 - "Community 107" -Cohesion: 0.07 -Nodes (30): An unknown sys.platform falls through to False so the toast can warn., An unknown sys.platform falls through to False so the toast can warn., An unknown sys.platform falls through to False so the toast can warn., A scan failure yields item_count=None + neutral rollup, no raise., A force-refresh writes the fresh scan onto the per-tab feed payload and reco, An entry with no path triggers the early-return toast., An unknown sys.platform falls through to False so the toast can warn., A scan failure yields item_count=None + neutral rollup, no raise. (+22 more) - -### Community 108 - "Community 108" -Cohesion: 0.07 -Nodes (29): apply_test_mode_prefix(), load_config_from_text(), Load a config from YAML text. Same semantics as load_config but for in-memory in, Return ``config`` with each equipment id prefixed by :data:`TEST_MODE_PREFIX`., The default code path is a no-op: no env var, no rewrite., A truthy env value rewrites every id with the canonical prefix., An already-``TEST_``-prefixed id must NOT be re-prefixed., The default code path is a no-op: no env var, no rewrite. (+21 more) - -### Community 109 - "Community 109" -Cohesion: 0.17 -Nodes (28): generate_samples(), Expand ``SAMPLES`` into an on-disk demo tree under the sandbox. Synchronous, _project_dirs(), End-to-end tests for the sample-data generator (design spec §6/§7/§9). These dr, A seeded equipment dir replaced by a symlink out of the sandbox is refused., Seeded ``EquipmentConfig.local_root``/``nas_root`` are BASE roots. Consumer, ``wipe=False`` seeds, and a re-seed without wipe does not delete the tree., Return the README ``core_fields.label`` for a project/run folder. (+20 more) - -### Community 110 - "Community 110" -Cohesion: 0.08 -Nodes (23): create_prod_app_factory(), uvicorn ``--factory`` entrypoint for the *production* wizard app. ``_test_app.p, Build the production wizard app (NiceGUI mounted at ``/``)., _build_default_app(), _build_default_components(), main(), ``exlab-wizard-tray`` console_scripts entry point. Backend Spec §4.3.2. Wires t, Return the production FastAPI app for the tray. Constructs the live :class: (+15 more) - -### Community 111 - "Community 111" -Cohesion: 0.11 -Nodes (25): ``transport:`` block for an SMB share with password auth. The wizard invoke, RcloneSmbTransport, Return the inline rclone remote name used for ``equipment``. The remote nam, Look up the password, obscure it, build the rclone env. Returns ``(env, mas, _remote_name_for(), _resolve_env_for_equipment(), build_rclone_env(), pass_env_keys_for() (+17 more) - -### Community 112 - "Community 112" -Cohesion: 0.07 -Nodes (28): AutostartRequest, AutostartResult, _await_or_call(), _coerce_probe_dict(), EquipmentTestRequest, LIMSTestRequest, ProbeResult, Setup-state gate + ``/setup/*`` endpoints. Backend Spec §4.6, §4.9. Two respons (+20 more) - -### Community 113 - "Community 113" -Cohesion: 0.07 -Nodes (28): 0.1 Architecture (read first), 0.2 What the recent edit changed (and didn't), 0.3 Healthy baseline (not stubs), 0. Context, A1 — "Quit ExLab-Wizard now" button has no handler, A2 — "Start at login" autostart checkbox is not bound, A3 — Application-section status indicators are hardcoded / missing (§7.13 parity), A4 — Operators allowlist has backend enforcement but **no editor UI** (+20 more) - -### Community 114 - "Community 114" -Cohesion: 0.07 -Nodes (28): code:block1 (┌───────────────────────────────────────────────────────────), Context, Critical Files (Reference), ExLab-Wizard Implementation Plan, First Action (before phase 1), Goals, Per-Phase Definition of Done, Phase 10: NAS sync client (+20 more) - -### Community 115 - "Community 115" -Cohesion: 0.11 -Nodes (23): Build a perfect remote manifest from the local run subtree. Each non-cache, _walk_local(), parse_lsjson(), Parser for ``rclone lsjson`` output into a run-relative remote manifest. Sole o, One file on the remote. ``mod_time`` is the RFC3339 string as emitted., Run-relative view of a remote subtree. Keyed by POSIX rel-path., True iff ``rel_path`` is present and its remote size equals local., True iff ``rel_path`` is present on the remote (existence probe). (+15 more) - -### Community 116 - "Community 116" -Cohesion: 0.09 -Nodes (26): browser(), _free_port(), page(), E2E test fixtures (Phase 16). Boots a real uvicorn process serving the e2e test, Yield a chromium browser (headless)., Yield a fresh Playwright page for each test., Return a free TCP port on 127.0.0.1., Return a chromium executable path or None. Search order: 1. ``EXLAB_E2 (+18 more) - -### Community 117 - "Community 117" -Cohesion: 0.1 -Nodes (26): An absent or ``None`` ``schema_version`` is a major-mismatch case., Empty string is treated like ``None`` (no parseable major)., A non-``MAJOR.MINOR`` string is treated as a major-mismatch case., Same major (different minor) is allowed., test_require_schema_major_passes_on_same_major(), test_require_schema_major_raises_on_empty_version(), test_require_schema_major_raises_on_garbage_version(), test_require_schema_major_raises_on_none_version() (+18 more) - -### Community 118 - "Community 118" -Cohesion: 0.07 -Nodes (27): 1. Transport driver — `sync/transports/rclone.py` (single reusable rclone-ops surface), 2. Manifest + parser — new `sync/manifest.py`, 3. Sync client + verify/cleanup flow — `sync/nas_client.py`, `sync/verifier.py`, `sync/cleanup.py`, 4. Verify / cleanup flow, 5. Credentials / setup gate — `paths.py`, `constants/`, `api/`, `tray/`, 6. UI — `ui/pages/settings.py`, `ui/mount.py`, `ui/pages/main.py`, `ui/pages/wizard_equipment.py`, `ui/equipment_form.py`, 7. Orchestrator / staging hop, 8. Docs (+19 more) - -### Community 119 - "Community 119" -Cohesion: 0.07 -Nodes (26): Unit tests for ``Validator.audit`` and ``Validator.query_problems``. Backend Sp, A directory outside the equipment root resolves to "other" (defensive)., A finding with an unknown tier sorts after both hard and soft., When ``orchestrator.enabled`` is False, no staging root is wired in., ``orchestrator`` attribute absent on the config also works (default None)., ``_classify_level`` returns "other" for dirs outside the equipment root., ``_compute_run_path`` returns ``str(directory)`` for unrelated paths., ``_compute_run_path`` for the equipment root itself with ``other``. (+18 more) - -### Community 120 - "Community 120" -Cohesion: 0.14 -Nodes (25): cleanup_interlocks_satisfied(), has_recent_revocation(), Cleanup safety interlocks. Backend Spec §7.1.6. The cleanup reaper deletes loca, Return True if any tombstone was recorded within ``min_age_hours``. A tombs, Evaluate every §7.1.6 interlock; return True iff all pass. Logs a debug ent, _config(), _job(), Tests for ``exlab_wizard.sync.cleanup``. Backend Spec §7.1.6. Each interlock mu (+17 more) - -### Community 121 - "Community 121" -Cohesion: 0.16 -Nodes (23): _findings(), Unit tests for the ``/problems`` router., Connecting to /problems/events emits a snapshot frame immediately., Connecting to /problems/events emits a snapshot frame immediately., Without an audit channel the WebSocket closes with 1011., Without an audit channel the WebSocket closes with 1011., ``POST /problems/refresh`` invokes audit and publishes to the channel., ``POST /problems/refresh`` invokes audit and publishes to the channel. (+15 more) - -### Community 122 - "Community 122" -Cohesion: 0.07 -Nodes (11): Tests for ``exlab_wizard.sync.queue``. Covers the durable SQLite-backed sync-jo, ``insert`` produces a QUEUED row with a generated UUID job id., Two inserts on the same run_path violate UNIQUE., The per-file ``files`` list round-trips through insert and read., A job inserted without ``files`` reads back as the empty 'whole run' tuple., ``requeue_with_files`` re-arms a terminal job in QUEUED with a new subset., test_files_column_defaults_to_empty(), test_files_column_round_trips() (+3 more) - -### Community 123 - "Community 123" -Cohesion: 0.13 -Nodes (26): Mask credential-bearing substrings inside ``value``. Replaces three classes, Formatter that renders the §16.4 structured-tag log line. Reads the active, redact_secret(), StructuredTagFormatter, Tests for ``exlab_wizard.logging.format``. Backend Spec §16.4 defines the canon, ``record.exc_info`` triggers the formatter to append a traceback (§16.4 keep, Build a minimal ``LogRecord`` at a known timestamp. The timestamp is set to, Spec §16.4: level field is exactly 5 chars wide. §16.5 commits four canonic (+18 more) - -### Community 124 - "Community 124" -Cohesion: 0.07 -Nodes (26): 16.10 Anti-patterns, 16.1 Goals, 16.2.1 The `get_logger(name)` entry point, 16.2.2 `configure_logging(config)` at startup, 16.2.3 Context vars, 16.2.4 Equipment-scoped handlers, 16.2.5 Non-blocking emit via `QueueHandler` + `QueueListener`, 16.2 The `logging/` package (+18 more) - -### Community 125 - "Community 125" -Cohesion: 0.07 -Nodes (27): Empty path or a path matching no current entry resolves to None., A subprocess failure is caught and surfaces False so the caller can toast., A subprocess failure is caught and surfaces False so the caller can toast., A subprocess failure is caught and surfaces False so the caller can toast., Empty path or a path matching no current entry resolves to None., Empty path or a path matching no current entry resolves to None., An unknown action verb is logged + toasted without raising., An unknown action verb is logged + toasted without raising. (+19 more) - -### Community 127 - "Community 127" -Cohesion: 0.16 -Nodes (24): _default_project(), _default_user(), make_mock_lims_app(), In-memory FastAPI fixture LIMS server used by the LIMS-client tests. The fixtur, Build a FastAPI app implementing the v1 LIMS read surface. Returns a fresh, _make_client(), Tests for :class:`exlab_wizard.lims.client.LIMSClient`. Each test wires the cli, ``health_check`` MUST NOT raise. Per Backend Spec §7.2.3. (+16 more) - -### Community 128 - "Community 128" -Cohesion: 0.15 -Nodes (23): LIMSCache, SQLite TTL cache for LIMS project rows. Backend Spec §7.2.4. The cache is a, Create the table and index if absent. Idempotent., Close the underlying aiosqlite connection., _project(), Tests for :class:`exlab_wizard.lims.cache.LIMSCache`. The cache is the §7.2.4 S, A naive ISO timestamp (no offset) is treated as UTC by the cache., test_close_is_idempotent() (+15 more) - -### Community 129 - "Community 129" -Cohesion: 0.15 -Nodes (25): create_template(), list_templates(), Return the templates under ``templates_dir``, optionally filtered. A templa, Scaffold a new minimal Copier template under ``templates_dir``. Writes ``//.exlab-wizard/wizard..log``., Append-mode log file with platform-appropriate share / append flags. The wr, Append ``line`` (already newline-terminated) to the file. (+5 more) - -### Community 155 - "Community 155" -Cohesion: 0.09 -Nodes (22): 1. Summary, 2. Goals & non-goals, 3.1 Add-Equipment wizard — `ui/pages/wizard_equipment.py`, 3.2 Settings section — `ui/pages/settings.py`, 3.3 Staging route — `ui/mount.py`, 3.4 Main-window footer — `ui/pages/main.py`, 3.5 What stays dormant (explicitly untouched), 3.6 Reversibility contract (+14 more) - -### Community 156 - "Community 156" -Cohesion: 0.09 -Nodes (22): 1. Purpose and Scope, 2. Mandatory Core Fields (Creation Gate), 2. User Interaction, 3.1 Create a New Project, 3.2 Create a New Experimental Run, 3.3 Create a New Test Run, 3.4 Browse Existing Equipment, Projects, and Runs, 3.5 Author a README at Creation Time (+14 more) - -### Community 157 - "Community 157" -Cohesion: 0.09 -Nodes (23): The fetch is a no-op when RefreshCoordinator just walked the tree., The fetch is a no-op when RefreshCoordinator just walked the tree., The fetch is a no-op when RefreshCoordinator just walked the tree., The fetch is a no-op when RefreshCoordinator just walked the tree., A corrupt creation.json yields {path, name}, never crashes., A corrupt creation.json yields {path, name}, never crashes., A corrupt creation.json yields {path, name}, never crashes., A corrupt creation.json yields {path, name}, never crashes. (+15 more) - -### Community 158 - "Community 158" -Cohesion: 0.09 -Nodes (23): A run with a sync-queue job renders its state without raising., A scan failure returns ``None`` so the feed keeps polling., A run with a sync-queue job renders its state without raising., The relay payload pulls id+label from build_received_equipment_nodes., The relay payload pulls id+label from build_received_equipment_nodes., A run with a sync-queue job renders its state without raising., An unknown relay id still produces a payload (best-effort label)., Lightweight ``app`` stand-in carrying ``storage.tab``. (+15 more) - -### Community 159 - "Community 159" -Cohesion: 0.09 -Nodes (8): E2E flow 03: Experimental-run wizard end-to-end. Frontend Spec §6.4 (run wizard, test_flow_03_experimental_run(), E2E flow 04: Test-run wizard end-to-end. Frontend Spec §6.4 (run wizard, test m, test_flow_04_test_run(), Page object for the New Run Wizard. Frontend Spec §6.4., Locators for the run wizard (experimental + test mode)., Locator for a specific step container., WizardRunPage - -### Community 160 - "Community 160" -Cohesion: 0.09 -Nodes (22): Soft block: surfaces a banner, not a missing-field list., Construct a fully READY Config (paths + equipment + LIMS endpoint+email). R, Construct a fully READY Config (paths + equipment + LIMS endpoint+email). R, endpoint+email present but keyring lacks the password -> INCOMPLETE_NO_LIMS., endpoint+email present but keyring lacks the password -> INCOMPLETE_NO_LIMS., Nas-mode equipment without its keyring entry gates with the new state., A configured LIMS does not mask the missing NAS credential., Adding the keyring entry advances the state to the next gate. (+14 more) - -### Community 161 - "Community 161" -Cohesion: 0.09 -Nodes (22): _bulk_clear_verified(), _file_context_action(), Bulk-clear every staged run whose sync job is verified. Wired from the file, Bulk-clear every staged run whose sync job is verified. Wired from the file, Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions., Bulk-clear every staged run whose sync job is verified. Wired from the file, Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions., Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions. (+14 more) - -### Community 162 - "Community 162" -Cohesion: 0.09 -Nodes (22): _lims_catalogue_projects(), _lims_projects(), Read the offline-catalogue projects (disconnected-workstation source). Read, Return the LIMS projects backing the project wizard's picker. Tries the liv, Return the LIMS projects backing the project wizard's picker. Tries the liv, Read the offline-catalogue projects (disconnected-workstation source). Read, Return the LIMS projects backing the project wizard's picker. Tries the liv, Read the offline-catalogue projects (disconnected-workstation source). Read (+14 more) - -### Community 163 - "Community 163" -Cohesion: 0.09 -Nodes (22): _build_selected_file(), _build_selected_folder(), _metadata_for_run(), Count immediate child directories of ``parent`` whose names start with ``pre, Decode the run's creation.json into the metadata-pane payload. Returns ``{}, Decode the run's creation.json into the metadata-pane payload. Returns ``{}, Decode the run's creation.json into the metadata-pane payload. Returns ``{}, Resolve a centre-list selection (file or folder) to a render payload. Phase (+14 more) - -### Community 164 - "Community 164" -Cohesion: 0.09 -Nodes (22): _open_in_os(), _open_operation_details(), Launch the host OS's default opener for ``path``. Returns False on platform, Launch the host OS's default opener for ``path``. Returns False on platform, Launch the host OS's default opener for ``path``. Returns False on platform, Show a lightweight details/"log" dialog for one in-flight operation. The §9, Show a lightweight details/"log" dialog for one in-flight operation. The §9, Launch the host OS's default opener for ``path``. Returns False on platform (+14 more) - -### Community 165 - "Community 165" -Cohesion: 0.12 -Nodes (22): get_binding(), KeyCombo, Return the :class:`ShortcutBinding` for the given shortcut id. Raises:, A modifier-and-key combination., ``Cmd+Enter`` / ``Ctrl+Enter`` advances the wizard., Esc cancels the wizard., ``get_binding`` raises ``KeyError`` for an unknown shortcut id., ``Cmd+N`` on macOS, ``Ctrl+N`` elsewhere. (+14 more) - -### Community 166 - "Community 166" -Cohesion: 0.12 -Nodes (21): class_chip_definitions(), empty_state_text(), filter_findings(), Finding, near_limit(), ProblemsPageState, Problems tab (Frontend Spec §11). Filter chips (Severity, Class, State, Scope),, Filter ``findings`` against the active chip / search state. (+13 more) - -### Community 167 - "Community 167" -Cohesion: 0.12 -Nodes (20): Shared asyncio subprocess helper for transport drivers. Backend Spec §7.1.3. Th, Launch ``cmd`` and return ``(returncode, stdout, stderr)`` as text. The chi, Launch ``cmd`` and return ``(returncode, stdout, stderr)`` as text. ``env``, run_subprocess(), Unit tests for ``exlab_wizard.sync.transports._run.run_subprocess``. rclone.con, The child inherits the parent's environment unchanged., An env-dict entry must surface in the child process' environment., Caller-supplied env is *merged* over ``os.environ`` -- it does not replace it. (+12 more) - -### Community 168 - "Community 168" -Cohesion: 0.09 -Nodes (21): ExLab-Wizard — Remaining Work: Tracked Tasks, How to use this tracker, Phase 1 — Release-blocking correctness, Phase 2 — Session-control epic (build in order; they compound), Phase 3 — Visibility & usability, Phase 4 — Cleanups (anytime), Progress, Shared foundations (build once, reused across tasks) (+13 more) - -### Community 169 - "Community 169" -Cohesion: 0.09 -Nodes (21): 1. Summary, 2. Goals & non-goals, 3.1 Setup-state gate — `paths.py`, 3.2 Suggestion helper — `paths.py`, 3.3 Settings UI — `ui/pages/settings.py`, 3.4 Create-on-save — `ui/mount.py` `_persist_config`, 3.5 Verified, not modified, 3.6 Test mode — unchanged (+13 more) - -### Community 170 - "Community 170" -Cohesion: 0.09 -Nodes (22): On win32 the helper calls ``os.startfile`` and reports success., No probe wired -> a failure result rather than a crash., On win32 the helper calls ``os.startfile`` and reports success., On win32 the helper calls ``os.startfile`` and reports success., On win32 the helper calls ``os.startfile`` and reports success., On win32 the helper calls ``os.startfile`` and reports success., The §9.4 dialog's Discard button cancels with discard_files=True., On win32 the helper calls ``os.startfile`` and reports success. (+14 more) - -### Community 171 - "Community 171" -Cohesion: 0.09 -Nodes (22): A suspended session re-opens its escalation dialog with parked fields., A suspended session re-opens its escalation dialog with parked fields., A suspended session re-opens its escalation dialog with parked fields., A suspended session re-opens its escalation dialog with parked fields., The Keep-files button cancels with discard_files=False., The Keep-files button cancels with discard_files=False., The Keep-files button cancels with discard_files=False., With a job row, the dialog renders each populated field line. (+14 more) - -### Community 172 - "Community 172" -Cohesion: 0.09 -Nodes (22): A cancel failure is caught and toasted, not raised., A cancel failure is caught and toasted, not raised., A cancel failure is caught and toasted, not raised., A cancel failure is caught and toasted, not raised., ``_render_run_wizard`` wires templates/equipment into the run-wizard page., ``_render_run_wizard`` wires templates/equipment into the run-wizard page., A cancel failure is caught and toasted, not raised., A cancel failure is caught and toasted, not raised. (+14 more) - -### Community 173 - "Community 173" -Cohesion: 0.1 -Nodes (22): A scan failure returns ``None`` so the feed keeps polling., A scan failure returns ``None`` so the feed keeps polling., A run with no sync-queue job still renders a dialog without raising., A run with no sync-queue job still renders a dialog without raising., A run with no sync-queue job still renders a dialog without raising., A scan failure returns ``None`` so the feed keeps polling., A run with no sync-queue job still renders a dialog without raising., A run with no sync-queue job still renders a dialog without raising. (+14 more) - -### Community 174 - "Community 174" -Cohesion: 0.19 -Nodes (20): load_config(), Atomically write `config` back to `path`. If `original_text` is supplied, r, Load a config.yaml from disk and validate against the Pydantic model. Raise, save_config(), Tests for ``exlab_wizard.config.loader``. Backend Spec §9. The loader is the si, test_load_config_complete_yaml(), test_load_config_invalid_yaml_raises(), test_load_config_missing_file_raises() (+12 more) - -### Community 175 - "Community 175" -Cohesion: 0.15 -Nodes (20): _build_minimal_controller(), _client(), Full-flow integration test for the FastAPI surface. Drives one project-creation, End-to-end: POST /sessions -> session reaches DONE -> creation.json on disk., End-to-end: POST /sessions -> session reaches DONE -> creation.json on disk., Each non-soft INCOMPLETE_* state surfaces the right next_action., Each non-soft INCOMPLETE_* state surfaces the right next_action., POST /sessions returns 503 + setup_incomplete in non-soft INCOMPLETE_* states. (+12 more) - -### Community 176 - "Community 176" -Cohesion: 0.1 -Nodes (21): compose_run_path(), Compose the absolute on-disk path for a new run. Paths follow Backend Spec, The leaf is ISO 8601 with colons replaced by hyphens. §3.1. Redesign §3.4:, The leaf is ISO 8601 with colons replaced by hyphens. §3.1. Redesign §3.4:, Redesign §3.4: experimental runs live under /Runs/Run_*., Redesign §3.4: experimental runs live under /Runs/Run_*., Redesign §3.4: two runs in the same minute resolve to the same path (Copier, Redesign §3.4: two runs in the same minute resolve to the same path (Copier (+13 more) - -### Community 177 - "Community 177" -Cohesion: 0.1 -Nodes (21): _missing_lims_fields(), _missing_orchestrator_fields(), _missing_paths_fields(), Translate a state into ``{field, reason}`` dicts for ``/api/v1/setup/status``., Translate a state into ``{field, reason}`` dicts for ``/api/v1/setup/status``., Only ``label`` is required; ``staging_root`` is opt-in (see gate)., Only ``label`` is required; ``staging_root`` is opt-in (see gate)., setup_state_missing() (+13 more) - -### Community 178 - "Community 178" -Cohesion: 0.14 -Nodes (20): build_settings_draft(), finalize_settings_draft(), Return the editable deep-copy draft the settings dialog mutates. ``None`` (, Return the editable deep-copy draft the settings dialog mutates. ``None`` (, Return the editable deep-copy draft the settings dialog mutates. ``None`` (, Re-validate a mutated draft into a clean :class:`Config`. The dialog's two-, Re-validate a mutated draft into a clean :class:`Config`. The dialog's two-, Re-validate a mutated draft into a clean :class:`Config`. The dialog's two- (+12 more) - -### Community 179 - "Community 179" -Cohesion: 0.13 -Nodes (8): KeyringUnavailableError, Raised when no OS keyring backend is reachable and fallback is exhausted. Backen, _decode_envelope(), OS keyring storage with encrypted-at-rest fallback. Backend Spec §7.4. Two back, Look up the secret for ``(KEYRING_SERVICE, username)``. Returns ``None`, Persist ``password`` under ``(KEYRING_SERVICE, username)``. On a keyrin, Remove the secret stored under ``(KEYRING_SERVICE, username)``. Missing, Best-effort probe of the OS keyring backend. Implemented as a round-tri - -### Community 180 - "Community 180" -Cohesion: 0.1 -Nodes (21): An async probe is awaited before its dict is mapped., An async probe is awaited before its dict is mapped., An async probe is awaited before its dict is mapped., No controller -> a negative toast and no dialog open., No controller -> a negative toast and no dialog open., An async probe is awaited before its dict is mapped., A wired controller builds the modal and opens it (no raise)., An async probe is awaited before its dict is mapped. (+13 more) - -### Community 181 - "Community 181" -Cohesion: 0.1 -Nodes (21): The Back button closes the dialog without cancelling., The Back button closes the dialog without cancelling., The Back button closes the dialog without cancelling., The Back button closes the dialog without cancelling., The Back button closes the dialog without cancelling., The Back button closes the dialog without cancelling., The received_equipment kind routes to the relay-equipment builder., The Back button closes the dialog without cancelling. (+13 more) - -### Community 182 - "Community 182" -Cohesion: 0.1 -Nodes (20): Render the centre-pane file list (Redesign §4.3). Each row carries a right-, Render the centre-pane file list (Redesign §4.3). Each row carries a right-, Render the centre-pane file list (Redesign §4.3). Each row carries a right-, Render the centre-pane file list (Redesign §4.3). Each row carries a right-, Render the centre-pane file list (Redesign §4.3). Each row carries a right-, Render the centre-pane file list (Redesign §4.3). Each row carries a right-, Render the centre-pane file list (Redesign §4.3). Each row carries a right-, Render the centre-pane file list (Redesign §4.3). Each row carries a right- (+12 more) - -### Community 183 - "Community 183" -Cohesion: 0.16 -Nodes (18): Folder-level sync-status rollup (GUI/Orchestrator Redesign §4.6). When a folder, Reduce per-file sync statuses to a single worst-of rollup value. Returns th, sync_rollup(), Unit tests for the folder-level sync-status rollup (Redesign §4.6)., failed > blocked > pending > synced > cleaned: each prefix's rollup is its f, SyncStatus is a StrEnum, so passing members (not .value strings) works. Gua, test_accepts_syncstatus_enum_members_directly(), test_all_none_returns_none() (+10 more) - -### Community 185 - "Community 185" -Cohesion: 0.11 -Nodes (19): _fill(), _goto(), _pick_radio(), _project_next(), E2E flow 00b: the full create-lifecycle against the PRODUCTION app. Boots the g, Click a stepper-navigation button scoped to its step container. The Next /, Advance the project wizard from ``step_id`` via its Next button., Advance the run wizard from ``step_id`` via its Next button. (+11 more) - -### Community 186 - "Community 186" -Cohesion: 0.15 -Nodes (18): _goto(), E2E flow 16: Add-Equipment wizard (Redesign §6). Drives the wizard end to end a, Identity step renders the ID + label inputs., Identity step renders the ID + label inputs., Paths step renders local + NAS root inputs., Paths step renders local + NAS root inputs., Sync mode step renders the nas/stage radio., Review step renders Confirm; clicking it fires the success label. (+10 more) - -### Community 187 - "Community 187" -Cohesion: 0.12 -Nodes (19): nas_remote_available(), _lims_slot_satisfied(), _missing_nas_fields(), _nas_in_use(), _nas_remote_satisfied(), _nas_slot_satisfied(), _orchestrator_identity_complete(), _password_required_equipment() (+11 more) - -### Community 188 - "Community 188" -Cohesion: 0.1 -Nodes (20): _drive_folder_feed(), _fetch_folder_async(), Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap, FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou, FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou, FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou, Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap, Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap (+12 more) - -### Community 189 - "Community 189" -Cohesion: 0.15 -Nodes (17): _file_names_in_run(), is_eligible(), Pre-Sync Gate. Backend Spec §7.3. The Pre-Sync Gate is the contract by which va, Return the bare file names directly under ``run_path``. The Pre-Sync Gate i, Evaluate the §7.3 eligibility rule for a run. Returns ``(True, [])`` iff th, _build_creation(), Tests for ``exlab_wizard.sync.pre_sync_gate``. Backend Spec §7.3. The Pre-Sync, An override that has been revoked does NOT unblock sync. (+9 more) - -### Community 190 - "Community 190" -Cohesion: 0.1 -Nodes (19): Cleanup — rollup, code:block1 ({), Components touched, Config changes (`config/models.py`), Context, Failure handling, Goals, GUI per-file display state (+11 more) - -### Community 191 - "Community 191" -Cohesion: 0.1 -Nodes (20): 7.10 Validator section, 7.11 Logging section, 7.12 Orchestrator Mode section, 7.13 Application section, 7.14 Setup-incomplete state, 7.1 Modality, 7.2 Layout — sidebar navigation, 7.3 Save and Discard model (+12 more) - -### Community 192 - "Community 192" -Cohesion: 0.11 -Nodes (19): Render the right Metadata / Problems pane (Redesign §4.4)., Render the right Metadata / Problems pane (Redesign §4.4)., Render the right Metadata / Problems pane (Redesign §4.4)., Render the right Metadata / Problems pane (Redesign §4.4)., Render the right Metadata / Problems pane (Redesign §4.4)., Render the right Metadata / Problems pane (Redesign §4.4)., Render the right Metadata / Problems pane (Redesign §4.4)., Render the right Metadata / Problems pane (Redesign §4.4). (+11 more) - -### Community 193 - "Community 193" -Cohesion: 0.11 -Nodes (6): E2E flow 02: Project wizard 7-step happy path. Frontend Spec §6.3 (project wiza, test_flow_02_project_wizard(), Page object for the New Project Wizard. Frontend Spec §6.3., Locators for the new-project wizard's seven-step stepper., Locator for a specific step container., WizardProjectPage - -### Community 194 - "Community 194" -Cohesion: 0.18 -Nodes (17): Parse the operator-answerable questions out of a ``copier.yml`` body. Handl, template_questions(), build_equipment_config(), Shared assembler for an :class:`EquipmentConfig` from raw form fields. GUI/Orch, Assemble a validated :class:`EquipmentConfig` from raw form fields. Redesig, Assemble a validated :class:`EquipmentConfig` from raw form fields. Redesig, _equipment_kwargs(), Unit tests for the frontend-polish helpers. Covers the pure logic behind the th (+9 more) - -### Community 195 - "Community 195" -Cohesion: 0.12 -Nodes (15): TypedDict, AuditScopeAll, AuditScopeEquipment, AuditScopeProject, _finding_sort_key(), _materialise(), _materialise_audit(), Validator engine. Backend Spec §4.4.4, §8.1, §11.7, §11.8. The engine is the si (+7 more) - -### Community 196 - "Community 196" -Cohesion: 0.29 -Nodes (18): Push the supplied context vars on entry and reset them on exit. Vars whose, set_run_context(), _make_handler(), _make_record(), Tests for ``exlab_wizard.logging.handlers``. Backend Spec §16.2.4 commits the e, The ``Exception`` branch in :meth:`emit` is the stdlib handler-error contrac, Construct a handler with a deterministic hostname for test paths., test_close_drains_cached_files() (+10 more) - -### Community 197 - "Community 197" -Cohesion: 0.11 -Nodes (18): 10. File-level change summary, 1. Summary, 2. Goals & non-goals, 3. Approaches considered, 4. Sample list data model (Pydantic), 5. Shared-helper refactor of `creation.py`, 6. Generation flow, 7. Safety guardrails (destructive wipe) (+10 more) - -### Community 198 - "Community 198" -Cohesion: 0.11 -Nodes (18): 12.1 Template Variable Form (from `copier.yml` questions), 12.2 README Form Fields, 12.3 Required-Field Indication, 12. Widget Mappings, 13. Open Questions, 1. Purpose and Scope, 4.1 LIMS Picker Behavior, 4. New Project Wizard (+10 more) - -### Community 199 - "Community 199" -Cohesion: 0.11 -Nodes (18): 10. README Generation, 11. `.exlab-wizard` Cache Folders, 12. Orchestrator Mode (Multi-Equipment Workstations), 13. Equipment-to-Orchestrator Data Flow, 14. Open Questions, 15. Distribution and Installation, 16. Logging Architecture, 1. Purpose and Goals (+10 more) - -### Community 200 - "Community 200" -Cohesion: 0.11 -Nodes (18): 15.1 Build Pipeline (PyInstaller), 15.2.1 Offline-machine specifics, 15.2 Code Signing Posture, 15.3.1 `ExLab-Wizard-Tray` (long-lived, autostart target), 15.3.2 `ExLab-Wizard-Window` (on-demand), 15.3.3 `ExLab-Wizard` (CLI alias / desktop-launcher target), 15.3.4 Linux fallback (no system tray), 15.3 Launcher Behavior (+10 more) - -### Community 201 - "Community 201" -Cohesion: 0.11 -Nodes (18): diff_file_lists(), FileListDiff, Result of comparing two successive folder-list snapshots., Result of comparing two successive folder-list snapshots., Result of comparing two successive folder-list snapshots., Return additions / removals / modifications between two snapshots. Pure fun, Return additions / removals / modifications between two snapshots. Pure fun, Return additions / removals / modifications between two snapshots. Pure fun (+10 more) - -### Community 202 - "Community 202" -Cohesion: 0.12 -Nodes (17): Live file-list component for the rebuilt main window. GUI/Orchestrator Redesign, Render the centre-pane file list. Pure render function. Double-clicking a f, Render the file-list column header row (Name / Size / Modified / Status)., Render the centre-pane file list. Pure render function. Double-clicking a f, Render the centre-pane file list. Pure render function. Double-clicking a f, Render the centre-pane file list. Pure render function. Double-clicking a f, Render the centre-pane file list. Pure render function. Double-clicking a f, Render the centre-pane file list. Pure render function. Double-clicking a f (+9 more) - -### Community 203 - "Community 203" -Cohesion: 0.15 -Nodes (17): _dump_env(), _emit_combined(), _flag_value(), _is_flag_value(), main(), _parse_copy_args(), Return the value following ``flag`` in ``argv`` or ``None``., Return the value following ``flag`` in ``argv`` or ``None``. (+9 more) - -### Community 204 - "Community 204" -Cohesion: 0.11 -Nodes (18): on_operations_panel(), Return ``True`` when ``session`` belongs on the Operations panel. Frontend, _operation_counts(), _panel_sessions(), Return the (session_id, session) pairs the Operations panel shows. The §9.5, Return the (session_id, session) pairs the Operations panel shows. The §9.5, Return ``(panel_count, input_required, active)`` operation counts. ``panel_, Return ``(panel_count, input_required, active)`` operation counts. ``panel_ (+10 more) - -### Community 205 - "Community 205" -Cohesion: 0.15 -Nodes (16): Compute icon + tooltip + retry-counter for a sync status. The ``retry_n``/`, Compute icon + tooltip + retry-counter for a sync status. The ``retry_n``/`, Compute icon + tooltip + retry-counter for a sync status. The ``retry_n``/`, sync_status_props(), Unit tests for sync_status_icon tolerant mode (Redesign §4.5, OQ-5)., The original contract is preserved: strict (default) raises., strict=False yields neutral props (muted dash) instead of raising., strict=False accepts None (optional per-file / per-folder status). (+8 more) - -### Community 206 - "Community 206" -Cohesion: 0.12 -Nodes (17): _by_rule(), A project directory with no ``creation.json`` produces one orphan finding., A run directory with no ``creation.json`` produces one orphan finding., A project directory whose name is not a safe path segment (§3.2) produces a, A human-readable project name (spaces and all) is a safe segment., A directory name containing ```` produces a finding., An active override with matching ``problem_class`` flips ``override_active``., A tombstone-revoked override does not flip ``override_active``. (+9 more) - -### Community 207 - "Community 207" -Cohesion: 0.24 -Nodes (16): _goto(), _open_context(), E2E flow 24: right-click context menus (Redesign §4.6 / decision 4A / §9.1). Th, An "On NAS" tombstone row has no local copy, so no Open-in-OS action. Opera, A keep-local file shows the "kept local" badge; the toggle action fires. Op, Open a NiceGUI ``ui.context_menu`` by right-clicking its anchor., Decision 3: received-equipment nodes don't expose edit / remove., Right-clicking a file-list row surfaces Open in OS / Copy path / Keep local. (+8 more) - -### Community 208 - "Community 208" -Cohesion: 0.12 -Nodes (8): E2E flow 09: Orchestrator staging panel + quiescence-sync trigger. Frontend Spe, test_flow_09_orchestrator(), Page object for the orchestrator staging dock. Frontend Spec §3.9., Locators for the staging dock + per-row actions., The Force-sync button on the Nth row., The Clear button on the Nth row., The View-log button on the Nth row., StagingPage - -### Community 209 - "Community 209" -Cohesion: 0.12 -Nodes (17): _build_main_query(), _classify_node(), Compose the ``?selected=...&right_pane=...`` query string for /main. Omits, Compose the ``?selected=...&right_pane=...`` query string for /main. Omits, Compose the ``?selected=...&right_pane=...`` query string for /main. Omits, Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi, Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi, Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi (+9 more) - -### Community 210 - "Community 210" -Cohesion: 0.12 -Nodes (17): _count_dir_children(), _metadata_for_project(), Count immediate child directories of ``parent`` whose names start with ``pre, Derive a project payload from the on-disk project directory. ``node_id`` is, Derive a project payload from the on-disk project directory. ``node_id`` is, Derive a project payload from the on-disk project directory. ``node_id`` is, Count immediate child directories of ``parent`` whose names start with ``pre, Count immediate child directories of ``parent`` whose names start with ``pre (+9 more) - -### Community 211 - "Community 211" -Cohesion: 0.12 -Nodes (14): ``validator:`` block. Content-scan tuning. Backend Spec §8.1.1, §11.8., ``validator:`` block. Content-scan tuning. Backend Spec §8.1.1, §11.8., ValidatorConfig, test_validator_config_defaults(), test_validator_content_scan_max_mib_at_least_one(), test_validator_extensions_must_start_with_dot(), test_validator_extensions_rejects_dotless_among_others(), Re-seed the config + audit-mode roots in place (no tray relaunch). Mirr (+6 more) - -### Community 212 - "Community 212" -Cohesion: 0.12 -Nodes (17): Return True when ``transport`` sources its credential from the keyring. Bot, transport_requires_keyring_password(), _full_config_dict(), Build a Config from a §9-shaped dict, dump it, and compare. ``model_dump()`, Full Config dict mirroring the §9 example. Used by round-trip tests., Full Config dict mirroring the §9 example. Used by round-trip tests., Build a Config from a §9-shaped dict, dump it, and compare. ``model_dump()`, _smb_transport_dict() (+9 more) - -### Community 213 - "Community 213" -Cohesion: 0.12 -Nodes (14): _detect_platform(), platform(), Per-platform autostart registration. Backend Spec §4.3.2 + §15.7. Registers ``E, Return the macOS LaunchAgent plist body. Backend Spec §15.7.1., Return the Linux systemd-user unit body. Backend Spec §15.7.1., Return the XDG ``.desktop`` autostart body. Backend Spec §15.7.1., _render_desktop_file(), _render_plist() (+6 more) - -### Community 214 - "Community 214" -Cohesion: 0.12 -Nodes (16): Building a distributable binary, code:bash (git clone https://github.com/exfab/ExLabWizard.git), code:bash (uv run exlab-wizard-tray # or: source .venv/bin/activate), code:bash (./scripts/build_local.sh # macOS / Linux), code:bash (uv run pytest tests/unit tests/integration # fast suite), code:yaml (nas:), Context, Documentation (+8 more) - -### Community 215 - "Community 215" -Cohesion: 0.14 -Nodes (7): _goto(), E2E flow 22: onboarding via the new Add-Equipment wizard (Redesign decision 2)., test_flow_22_main_window_has_add_equipment_in_toolbar(), test_flow_22_welcome_to_add_equipment(), Page object for the first-launch welcome card. Frontend Spec §6.1., Page object for the welcome card shown on first launch. Frontend Spec §6.1., WelcomePage - -### Community 217 - "Community 217" -Cohesion: 0.13 -Nodes (12): _goto(), E2E flow 01: First-launch onboarding. Frontend Spec §6.1 (welcome card + autost, Navigate to a NiceGUI page, tolerating a transient ERR_ABORTED. NiceGUI's c, test_flow_01_onboarding(), E2E flow 05: Browse view -- open existing project + sessions. Frontend Spec §6., E2E flow 05b: per-run sync icons in the browse tree. Verifies that the project, The ``/assets`` mount serves both SVGs as 200 OK., test_flow_05_sync_icons_render_in_tree() (+4 more) - -### Community 218 - "Community 218" -Cohesion: 0.17 -Nodes (15): begin_edit(), cancel_edit(), clear_credential(), commit_edit(), credential_field(), credential_props(), CredentialState, Credential field component (Frontend Spec §7.4.1). Three resting / transient st (+7 more) - -### Community 219 - "Community 219" -Cohesion: 0.16 -Nodes (15): excerpt_line(), FindingExcerpt, header_line(), overflow_line(), override_line(), Validation summary block (Frontend Spec §3.6.4, §11.4.1). Renders the per-run v, A single finding row used in the summary., Inputs to the summary block. (+7 more) - -### Community 220 - "Community 220" -Cohesion: 0.12 -Nodes (16): Compute the *Save all* button label, including the badge count., Compute the *Save all* button label, including the badge count., Compute the *Save all* button label, including the badge count., Return ``True`` when the sidebar should decorate ``section``., Return ``True`` when the sidebar should decorate ``section``., Return ``True`` when the sidebar should decorate ``section``., Return ``True`` when ``section`` has uncommitted edits., Return ``True`` when ``section`` has uncommitted edits. (+8 more) - -### Community 221 - "Community 221" -Cohesion: 0.12 -Nodes (16): 2.1.1 The `design.py` module, 2.1.2 What lives in DESIGN.md vs in this spec, 2.1.3 ExLab-Wizard typography overrides, 2.1.4 Warning-tier color (resolves OQ #3), 2.1.5 CSS styling reference rule, 2.1.6 DESIGN.md absolute constraints (binding), 2.1 Visual tokens and the design system, 2.2.1 Pattern selection rule (+8 more) - -### Community 222 - "Community 222" -Cohesion: 0.12 -Nodes (15): 10.1 When It Runs, 10.2 Field Sources (Merged Layers), 10.3 Field Types, 10.4 User-Added Custom Fields, 10.5 Pre-fill Behavior, 10.6 Auto-Filled System Fields, 10.7.1 Machine Query Examples, 10.7.2 Prose Body (+7 more) - -### Community 223 - "Community 223" -Cohesion: 0.2 -Nodes (13): BreadcrumbSegment, Breadcrumb bar for the rebuilt main window. GUI/Orchestrator Redesign §4.1 / §4, One clickable segment in the breadcrumb bar., Decompose a tree-node id into clickable segments. Tree ids are slash-joined, Render the breadcrumb row. Pure render function. Each segment is a clickabl, render_breadcrumb(), segments_from_node_id(), Unit tests for ``ui/components/breadcrumb``. Redesign §4.7 / decision 7A. (+5 more) - -### Community 224 - "Community 224" -Cohesion: 0.13 -Nodes (14): ``readme_fields.json`` at schema version 1.1. Spec §11.4., ReadmeFieldsJson, test_readme_fields_json_optional_fields_default_to_empty(), test_readme_fields_json_round_trip_preserves_custom_fields(), test_readme_fields_json_round_trips(), Auto-populated, non-editable system fields. Backend Spec §10.6., Renders ``README.md`` + ``readme_fields.json``. Backend Spec §10., Validate ``ctx``, write both files, return ``(readme, cache)``. The des (+6 more) - -### Community 225 - "Community 225" -Cohesion: 0.17 -Nodes (14): _load(), Contract test against vendored upstream `mcnaughtonadm/exlab` snapshots. Loads, Every required snapshot exists; guards against accidental deletion., ``GET /api/v1/me`` JSON must satisfy the ``LIMSUser`` schema., Upstream's login body is the same ``safe_user`` shape as ``/me``., ``GET /api/v1/projects`` payload must yield ``LIMSProject`` rows. Mirrors t, An empty ``data`` array must yield zero rows, not raise., ``GET /api/v1/projects/{id}`` returns one bare project object. (+6 more) - -### Community 226 - "Community 226" -Cohesion: 0.19 -Nodes (14): _goto(), E2E flow 28: Phase 4/5 polish — file selection, search, density, legend. Covers, Single-clicking a file row threads ?file=, marks the row selected, and surfa, A search query renders the result-count pill and seeds the box (OQ-2)., A query that matches nothing renders the no-matches hint (OQ-2)., The Files-header density toggle re-navigates with ?density=compact (§4.8)., The Files-header "?" opens the sync-status legend popover (Phase 5)., The selected tree node renders Quasar's selected class -- the hook the unifi (+6 more) - -### Community 227 - "Community 227" -Cohesion: 0.18 -Nodes (12): config_path(), free_port(), prod_app_env(), Reusable spawn/restart harness for the *production* wizard app. The e2e lifecyc, Return a free TCP port on 127.0.0.1., Build a hermetic environment for a spawned production-app process. Every OS, Where the spawned production app writes ``config.yaml``. Computed by callin, resolve_config_path() (+4 more) - -### Community 228 - "Community 228" -Cohesion: 0.14 -Nodes (14): panel_props(), Test-connection result panel (Frontend Spec §7.4.2). A persistent inline panel, One result rendered in the panel., Compute the rendered props for the panel. Returns a dict suitable for asser, Build the inline result panel. Returns a NiceGUI element, or the props dict, test_connection_panel(), TestConnectionResult, _nas_test_connection() (+6 more) - -### Community 229 - "Community 229" -Cohesion: 0.14 -Nodes (10): assemble_equipment_config(), can_advance(), _maybe_confirm(), Add-Equipment wizard (GUI/Orchestrator Redesign §6). Three-step wizard launched, Build the final EquipmentConfig from the wizard's state. Raises a pydantic, Build the final EquipmentConfig from the wizard's state. Raises a pydantic, Build the final EquipmentConfig from the wizard's state. Raises a pydantic, Return True if the active step has the data it needs to advance. Pure funct (+2 more) - -### Community 230 - "Community 230" -Cohesion: 0.13 -Nodes (15): Reusable chip / list editor bound to a draft string list (T7 / T10). Mutate, Reusable chip / list editor bound to a draft string list (T7 / T10). Mutate, Reusable chip / list editor bound to a draft string list (T7 / T10). Mutate, Render the content for a single section, bound to ``draft``. Every scalar f, Render the content for a single section, bound to ``draft``. Every scalar f, Render the content for a single section, bound to ``draft``. Every scalar f, Render the equipment list + a full add-equipment sub-form. Adding an entry, Render the equipment list + a full add-equipment sub-form. Adding an entry (+7 more) - -### Community 231 - "Community 231" -Cohesion: 0.16 -Nodes (14): Writer for ``equipment.json`` (registry) and ``test_runs.json`` (marker). Backe, Return the on-disk ``first_seen_at`` if the file exists. Returns ``None`` w, _read_equipment_sync(), _read_existing_first_seen_at(), _read_test_runs_marker_sync(), _write_equipment_sync(), _write_test_runs_marker_sync(), Read ``path`` and decode it as ``type_``, optionally gating on major. When (+6 more) - -### Community 232 - "Community 232" -Cohesion: 0.15 -Nodes (14): test_about_missing_binary_returns_not_ok(), test_parse_combined_empty_returns_empty_result(), test_parse_combined_handles_all_prefixes(), test_parse_combined_tolerates_blank_lines_and_unknown_prefix(), AboutResult, CheckResult, _parse_combined(), rclone transport driver. Backend Spec §7.1.3. Single transport binary for the N (+6 more) - -### Community 233 - "Community 233" -Cohesion: 0.17 -Nodes (9): _apply_migration_defaults(), _merge_unknown_fields(), _payload_to_dict(), Atomic reader/writer for ``creation.json``. Backend Spec §4.4.5. All ``creation, Apply §11.3 history-table defaults for fields missing on old minors. Return, Load the file as a raw ``dict`` (no Struct conversion yet). We need the, Encode ``payload`` to bytes, write atomically via atomic_write_bytes. T, Recursively convert a ``CreationJson`` into a plain ``dict``. Uses :func:`m (+1 more) - -### Community 234 - "Community 234" -Cohesion: 0.13 -Nodes (14): 5.0 Template Locations (Global and Per-Equipment), 5.1 Template Structure, 5.2 Copier Manifest (`copier.yml`), 5.3 Copier Python API Integration, 5.4 Copier Answers File (`.exlab-answers.yml`), 5.5 Plugin Pass (Post-Render, Controller-Driven), 5.6 Jinja2 Templating in File Contents, 5.7 Template Versioning (+6 more) - -### Community 235 - "Community 235" -Cohesion: 0.24 -Nodes (14): Code-review findings to honor (from earlier passes), code:block1 (git branch --show-current # feature/gui-imrprovemen), Committed (clean) — Phases 1–3, ⏩ CURRENT STATE (2026-05-29, session 2), Demo checkpoint (task #6, after Phase 4 verifies green), How to work (lessons from this session — important), Phase 4 remaining work (Option B — selection → metadata), Quick resume verification (run sequentially, one at a time) (+6 more) - -### Community 236 - "Community 236" -Cohesion: 0.14 -Nodes (13): check_reserved_filesystem_name(), check_unsafe_project_name(), Validator rule functions. Backend Spec §8.1. This module is a pure-function lib, Return one finding per placeholder match in ``text``., Return one finding per illegal character / trailing-rule violation in ``name``., §8.1.2: detect Windows reserved names (``CON``, ``PRN``, ``AUX``, ``NUL``, `, §3.2: flag a project directory whose name is not a safe path segment. The p, _scan_for_illegal_chars() (+5 more) - -### Community 237 - "Community 237" -Cohesion: 0.18 -Nodes (13): Automated UX-interaction documentation + coverage checks. Drives :mod:`tests.e2, Every cataloged ``data-testid`` is present in the UI source., Every cataloged ``data-testid`` is driven by an e2e test. Scans the whole `, Render the catalog into the ``UX_INTERACTIONS.md`` markdown body., ``docs/UX_INTERACTIONS.md`` is regenerated from the catalog. Regenerates th, Guard against an empty catalog silently passing the other checks., Return ``True`` when ``haystack`` references ``testid``. Tolerates testids, _references() (+5 more) - -### Community 238 - "Community 238" -Cohesion: 0.15 -Nodes (14): ensure_central_log_dir(), ensure_dir(), os_central_log_path(), Return the OS-appropriate central log file. Backend Spec §16.3., ``mkdir -p`` the given path; return it. Idempotent., ``ensure_dir(os_central_log_path().parent)``., test_ensure_central_log_dir_creates_parent(), test_ensure_dir_creates_missing() (+6 more) - -### Community 239 - "Community 239" -Cohesion: 0.15 -Nodes (13): main(), Standalone sample-data seeder -- ``python -m exlab_wizard.dev.seed``. Forces th, Regenerate the ``-test`` sample-data tree from scratch. Returns the process, ensure_state_dir(), os_state_path(), Return the OS-appropriate state directory. Backend Spec §15.7., ``ensure_dir(os_state_path())``., test_ensure_state_dir_creates_state_dir() (+5 more) - -### Community 240 - "Community 240" -Cohesion: 0.15 -Nodes (12): bind_global_shortcuts(), is_macos(), Keyboard-shortcut registry (Frontend Spec §3.7). The bindings are intentionally, Return ``True`` when running on macOS (used for combo selection)., Find the shortcut id matching the given key event, if any., Install a NiceGUI keyboard listener for the registry. NiceGUI is imported l, Identifiers for the app-level shortcut set (Frontend §3.7)., Return True if a NiceGUI ``KeyEventArguments`` matches this combo. (+4 more) - -### Community 241 - "Community 241" -Cohesion: 0.19 -Nodes (13): bandwidth_schedule_editor(), BandwidthSchedule, find_overlaps(), Bandwidth schedule editor (Frontend Spec §7.7.3). Lives inside the Equipment Ad, Build the schedule editor., One row in the schedule table., The full editor state., Return an error string if ``window`` is invalid, else ``None``. Time string (+5 more) - -### Community 242 - "Community 242" -Cohesion: 0.24 -Nodes (13): Unit tests for the Add-Equipment wizard. Redesign §6., The sync-mode step is hidden (orchestrator/staging hidden — see docs/superpo, _state_filled_for(), test_assemble_rejects_invalid_input(), test_assemble_round_trips_to_valid_equipment_config_nas(), test_assemble_round_trips_to_valid_equipment_config_stage(), test_can_advance_paths_requires_both_roots(), test_can_advance_sync_mode_nas_needs_no_transport_fields() (+5 more) - -### Community 243 - "Community 243" -Cohesion: 0.14 -Nodes (14): code:bash (git add src/exlab_wizard/sync/transports/rclone.py tests/uni), code:python (# tests/unit/sync/test_transports.py — add), code:python (async def lsjson(self, remote: str, *, recursive: bool = Tru), code:bash (git add src/exlab_wizard/sync/transports/rclone.py tests/uni), code:python (# tests/unit/sync/test_transports.py — add), code:python (async def listremotes(self) -> tuple[str, ...]:), code:bash (git add src/exlab_wizard/sync/transports/rclone.py tests/uni), code:python (# tests/unit/sync/test_transports.py — add) (+6 more) - -### Community 244 - "Community 244" -Cohesion: 0.14 -Nodes (14): code:python (# tests/unit/sync/test_transports.py — add (verifier is smal), code:bash (git add src/exlab_wizard/sync/verifier.py tests/unit/sync/te), code:python (# tests/unit/sync/test_nas_client.py — add), code:python (lsjson = self._build_lsjson(equipment)), code:bash (git add src/exlab_wizard/sync/nas_client.py tests/unit/sync/), code:python (# tests/unit/sync/test_nas_client.py — add), code:python (# Integrity gate: never delete local bytes that have not bee), code:bash (git add src/exlab_wizard/sync/nas_client.py tests/unit/sync/) (+6 more) - -### Community 245 - "Community 245" -Cohesion: 0.14 -Nodes (14): 4.4.1 CreationController, 4.4.2 TemplateEngine, 4.4.3 PluginHost, 4.4.4 Validator, 4.4.5 CacheWriter, 4.4.7 SessionStore, 4.4 Component Contracts, code:python (class SessionStore:) (+6 more) - -### Community 246 - "Community 246" -Cohesion: 0.14 -Nodes (13): 13.1 Topology, 13.2 Staging Area Layout, 13.3 Run Lifecycle States, 13.4 `ingest.json` Schema, 13.5 Run Completeness Signal, 13.6 Transport Handling, 13.7 Staging Cleanup, 13.8 Staging State Query (Backend Contract) (+5 more) - -### Community 247 - "Community 247" -Cohesion: 0.19 -Nodes (12): from_session(), operation_columns(), OperationRow, operations_modal(), In-flight operations panel (Frontend Spec §9.5). A modal reachable from the Syn, Map an operation state to its NiceGUI icon name., Build the operations modal., A single row in the operations panel. (+4 more) - -### Community 248 - "Community 248" -Cohesion: 0.19 -Nodes (12): _nas_mode_equipment(), _password_requiring_nas_equipment(), Settings dialog (Frontend Spec §7). Two-pane modal with a left vertical-nav and, Return nas-mode equipment whose transport sources a keyring password. Share, Return the nas-mode equipment for ``config``. Drives the NAS-remote section, Return the nas-mode equipment for ``config``. Drives the NAS-remote section, Return the visible section ids for ``config``. The NAS-remote section is in, Return the visible section ids for ``config``. The NAS-remote section is in (+4 more) - -### Community 249 - "Community 249" -Cohesion: 0.15 -Nodes (13): code:python (# tests/unit/constants/test_enums.py — add), code:bash (git add src/exlab_wizard/constants/enums.py tests/unit/const), code:python (# tests/unit/test_paths.py — add), code:python (def _nas_in_use(config: Config) -> bool:), code:python (remote_lookup = nas_remote_available if nas_remote_available), code:python (def _missing_nas_fields(config: Config | None) -> list[dict[), code:bash (git add src/exlab_wizard/paths.py tests/unit/test_paths.py), code:python (nas_remote_available: Callable[[str], bool] = field(default=) (+5 more) - -### Community 250 - "Community 250" -Cohesion: 0.38 -Nodes (12): _config_with(), _nas_equipment(), Tests for the Settings NAS-credentials section (rclone-only migration). The sec, _stage_equipment(), test_handlers_factory_called_per_equipment_id(), test_present_password_opens_set_state_with_clear_action(), test_section_nav_entry_absent_for_stage_only_config(), test_section_nav_entry_present_when_password_equipment_exists() (+4 more) - -### Community 251 - "Community 251" -Cohesion: 0.17 -Nodes (11): Sync-status icon component (Frontend Spec §3.2, §10.5.1). Distinct visual state, Return the sync-status legend rows, in declaration order (Phase 5). One dic, Build a NiceGUI row containing the icon and optional retry counter., Build a NiceGUI row containing the icon and optional retry counter., Build a NiceGUI row containing the icon and optional retry counter. ``stric, Build a NiceGUI row containing the icon and optional retry counter. ``stric, Build a NiceGUI row containing the icon and optional retry counter. ``stric, sync_legend_entries() (+3 more) - -### Community 252 - "Community 252" -Cohesion: 0.17 -Nodes (12): check_mode_prefix_mismatch(), §8.1.3: detect three-way disagreement between ``run_kind``, leaf prefix, and, Redesign §3.4: experimental run leaf parented by ``Runs`` is valid., Redesign §3.4: a misplaced ``Run_*`` directly under the project (not under `, test_experimental_under_test_runs_parent_fires(), test_experimental_with_run_prefix_at_project_level_fires(), test_experimental_with_run_prefix_under_runs_parent_passes(), test_experimental_with_test_run_prefix_fires() (+4 more) - -### Community 253 - "Community 253" -Cohesion: 0.24 -Nodes (11): _make_client(), Integration tests for the LIMS client + cache pair. Backend Spec §7.2. These te, A 401-then-relogin flow successfully refreshes and caches results., list_projects() fills the cache; the cache then returns the same rows., A get_project against the cache hits without a live LIMS call., When cache TTL expires, a refresh from the live API rewrites rows., test_cache_satisfies_lookup_without_network(), test_client_populates_cache() (+3 more) - -### Community 254 - "Community 254" -Cohesion: 0.18 -Nodes (6): aiosqlite-backed cache for LIMS project rows. Backend Spec §7.2.4. The cache li, Insert or update every row. ``last_refreshed`` is taken from each ``LIMS, Return every cached project for ``endpoint``, optionally filtered by ``s, Return one project by uid or short_id, or None if absent., True iff the most recent ``last_refreshed`` is within ``ttl_hours`` of t, _row_to_project() - -### Community 255 - "Community 255" -Cohesion: 0.21 -Nodes (10): Read and decode the run's ``sync_state.json``. Returns a fresh empty :c, _CacheCase, Integration tests for the cross-major-read-fails contract from §11.9.2. For eve, Walk the candidate matrix and return the first reader method we find. Each, A v2.0 file MUST be refused by every v1.x reader (§11.9.2 rule 3)., A v3.7 file is also refused; the rule isn't tied to ``2.0`` specifically., One cache-file flavour to exercise against the reader gate., _resolve_reader() (+2 more) - -### Community 256 - "Community 256" -Cohesion: 0.2 -Nodes (12): project_name_violations(), Return every way ``value`` fails the §3.2 project-name rule. The project fo, Validate ``value`` as a §3.2 project-folder name. Returns the input unchang, validate_project_name(), Spaces and ordinary punctuation are fine -- the name is used verbatim., Spaces and ordinary punctuation are fine -- the name is used verbatim., The §3.2 contract is 'used verbatim' -- no canonicalisation., The §3.2 contract is 'used verbatim' -- no canonicalisation. (+4 more) - -### Community 257 - "Community 257" -Cohesion: 0.17 -Nodes (10): A populated registry of shortcut handlers. Pages instantiate one registry,, Attach a handler. Only one handler per shortcut. Raises: Va, Invoke the handler for ``shortcut`` if registered. Returns ``True`` if, ShortcutRegistry, ``ShortcutRegistry`` dispatches the registered handler exactly once., Dispatching an unbound shortcut returns ``False`` and runs no handler., Two handlers per shortcut is forbidden., test_registry_dispatch_returns_false_when_unbound() (+2 more) - -### Community 258 - "Community 258" -Cohesion: 0.2 -Nodes (11): apply_frame(), compute_phase_rows(), PhaseRow, Wizard session-progress bar (Frontend Spec §10.1, §9.3). Drives a phase indicat, Build the progress bar for the Confirm & Create step. The wizard reaches in, Mutable phase/sub-progress state folded from controller WS frames. The wiza, Fold one controller WS ``frame`` into ``state`` in place. Returns ``True``, One renderable row in the session-progress component. (+3 more) - -### Community 259 - "Community 259" -Cohesion: 0.2 -Nodes (11): Template manager page (Frontend Spec §4 step 2, §5 step 2). Two operations the, Render one Copier question as a bound NiceGUI widget. The widget two-way bi, Render the template manager: existing-template list + create form. ``on_cre, One row in the template list. ``name`` is the template directory name (what, One Copier question parsed from a template's ``copier.yml``. ``kind`` is no, render_question_field(), render_template_manager(), TemplateQuestion (+3 more) - -### Community 260 - "Community 260" -Cohesion: 0.17 -Nodes (12): EquipmentWizardState, Render the self-contained Add-Equipment wizard. Next / Back navigation is h, Render the self-contained Add-Equipment wizard. Next / Back navigation is h, Render the self-contained Add-Equipment wizard. Next / Back navigation is h, Mutable state for the in-flight Add-Equipment wizard., Mutable state for the in-flight Add-Equipment wizard., Mutable state for the in-flight Add-Equipment wizard., render_wizard_equipment() (+4 more) - -### Community 261 - "Community 261" -Cohesion: 0.17 -Nodes (12): config_with_equipment_appended(), Return a copy of ``config`` with ``equipment`` appended. The single place t, Return a copy of ``config`` with ``equipment`` appended. The single place t, A ``None`` config (fresh install) yields a default Config + the device., Appending keeps prior equipment and other config sections, unmutated., A device whose id already exists raises ConfigError, not a silent merge., A ``None`` config (fresh install) yields a default Config + the device., Appending keeps prior equipment and other config sections, unmutated. (+4 more) - -### Community 262 - "Community 262" -Cohesion: 0.24 -Nodes (10): atomic_write_bytes(), Atomic file writes via the §4.4.5 temp-file + ``os.replace`` recipe. This is th, Write ``data`` to ``path`` atomically. Implementation follows the §4.4.5 re, Tests for ``exlab_wizard.io.atomic_write``., test_atomic_write_calls_fsync_by_default(), test_atomic_write_cleans_up_temp_on_replace_failure(), test_atomic_write_creates_file(), test_atomic_write_leaves_no_temp_file_on_success() (+2 more) - -### Community 263 - "Community 263" -Cohesion: 0.24 -Nodes (10): load_or_create_storage_secret(), Per-installation NiceGUI ``storage_secret`` token. Backend Spec §15.3. NiceGUI', Return the per-installation storage secret, generating it if absent. The fi, Tests for ``exlab_wizard.tray.storage_secret``. The secret backs NiceGUI's Star, test_creates_state_dir_if_missing(), test_generates_secret_on_first_call(), test_idempotent_across_calls(), test_regenerates_on_empty_file() (+2 more) - -### Community 264 - "Community 264" -Cohesion: 0.17 -Nodes (11): Async SQLite-backed durable sync queue. Backend Spec §7.1.1. Use :meth:`ini, Open the connection, ensure the schema, and replay in-flight rows. Repl, SyncQueue, queue(), A queue rebuilt against the same db file sees the prior rows., A RUNNING row from a prior process is downgraded to QUEUED on restart., Operations without init() raise a clear RuntimeError., test_close_is_idempotent() (+3 more) - -### Community 265 - "Community 265" -Cohesion: 0.18 -Nodes (10): compute_next_attempt_at(), Return the ISO timestamp of the next retry attempt. ``attempts_after`` is t, Transition a job to ``new_state`` and patch the auxiliary columns. The, Record a transport failure on ``job_id``. If ``terminal`` is True (auth, The 1st through 5th attempts use the documented backoff sequence., Attempts <1 or >MAX_ATTEMPTS yield ``None``., test_compute_next_attempt_at_out_of_range(), test_compute_next_attempt_at_uses_schedule() (+2 more) - -### Community 266 - "Community 266" -Cohesion: 0.17 -Nodes (11): Add equipment, Equipment, File explorer, First-launch setup, NAS Credentials, NAS Remote, New project, New run / test run (+3 more) - -### Community 267 - "Community 267" -Cohesion: 0.17 -Nodes (12): 3.1.1 Setup-complete definition, 3.1.2 Boot flow, 3.1.3 Welcome Card (first launch only), 3.1.4 Setup-Incomplete state on the Main Window, 3.1.5 First-launch defaults, 3.1.6 Bundled content discovery, 3.1.7 LIMS configuration: online and offline workstations, 3.1 Application Lifecycle and First-Launch State (+4 more) - -### Community 268 - "Community 268" -Cohesion: 0.2 -Nodes (10): _deep_merge(), dump_config(), config.yaml round-trip loader. Backend Spec §9. Uses ruamel.yaml in round-trip, In-place deep-merge source into target. Used by save_config to overlay new, Serialize config to a YAML string. No comment preservation; tests use this., Return True when the env var :data:`TEST_MODE_ENV` is truthy. Centralized h, Build a configured ruamel.yaml instance. typ='rt' is round-trip mode (prese, _test_mode_enabled() (+2 more) - -### Community 270 - "Community 270" -Cohesion: 0.24 -Nodes (8): ProdServer, Terminate the uvicorn process. Idempotent., Stop and re-spawn the process with the same HOME / port., A spawnable / restartable production-app uvicorn process. ``home`` is the r, Spawn uvicorn and block until ``/api/v1/health`` answers 200. Returns `, prod_server(), Yield a started :class:`ProdServer` rooted at a fresh tmp HOME. The keyring, Yield a started :class:`ProdServer` rooted at a fresh tmp HOME. The keyring - -### Community 271 - "Community 271" -Cohesion: 0.18 -Nodes (3): fake_winreg(), _FakeKey, _FakeWinreg - -### Community 272 - "Community 272" -Cohesion: 0.22 -Nodes (5): Close the underlying connection (idempotent)., Return the row whose ``run_path`` matches, or ``None``., Return every row currently in ``state`` ordered by ``enqueued_at``., Return every row in the queue ordered by ``enqueued_at``., Remove a job row entirely. Used by the cleanup reaper after CLEANED. - -### Community 273 - "Community 273" -Cohesion: 0.18 -Nodes (10): code:yaml (name: "xlsx_field_filler"), code:yaml (supported_extensions: [".xlsx"] # file-extension or "readm), code:yaml (required_variables:), code:yaml (isolation:), Discovery rules, Manifest Schema, Optional declaration block, Optional execution policy (+2 more) - -### Community 274 - "Community 274" -Cohesion: 0.18 -Nodes (10): 1. What has shipped (committed on the branch), 2. Divergences from the approved design spec (must be reconciled), A. Spec reconciliation ✅ DONE, B. Phase 5 — Polish (reconcile each item with the popover), C. Phase 6 — e2e + final verification ✅ DONE (`e72cd73`), D. Cleanup / tech-debt, E. Risks & open questions, F. Deferred / out of scope (from design spec §11) (+2 more) - -### Community 275 - "Community 275" -Cohesion: 0.27 -Nodes (9): collect_default_values(), _field_id(), input_required_dialog(), Plugin ``INPUT_REQUIRED`` escalation dialog (Frontend Spec §9.1). When a plugin, Return the field's identifier (``id``, falling back to ``key``)., Seed an answers dict from each field's declared default. Booleans default t, Build the §9.1 "Additional input required" dialog. Renders one widget per f, test_collect_default_values_seeds_from_declared_defaults() (+1 more) - -### Community 276 - "Community 276" -Cohesion: 0.2 -Nodes (10): check_missing_required_field(), _lookup_field_value(), §8.1.5: detect required README fields that are absent or empty. Soft-tier., Return the first non-missing value for ``field_id`` across layers. A missin, test_empty_string_value_fires(), test_field_present_in_template_fields_layer_passes(), test_missing_id_fires(), test_none_readme_fields_treats_all_required_as_missing() (+2 more) - -### Community 277 - "Community 277" -Cohesion: 0.2 -Nodes (6): Plugin, test_plugin_abc_cannot_be_instantiated_directly(), Failure fixture: plugin that hangs in ``transform`` past its timeout., timeout_plugin -- exercises Backend Spec §6.3.4 timeout enforcement. The plugin, Hang past the declared timeout. Never reaches its file write., TimeoutPlugin - -### Community 278 - "Community 278" -Cohesion: 0.42 -Nodes (8): _make_project_request(), Unit tests for the ``/operations`` router., _ready_config(), _StubController, test_get_operations_503_when_controller_missing(), test_get_operations_emits_plugin_name_when_input_required(), test_get_operations_excludes_done_and_aborted(), test_get_operations_lists_in_flight_sessions() - -### Community 279 - "Community 279" -Cohesion: 0.2 -Nodes (9): Unit tests for :mod:`exlab_wizard.ui.keyboard`. The registry is intentionally s, Resolver returns the right shortcut id on non-darwin., Unknown combos resolve to ``None``., ``KeyCombo.matches`` is exact-match across modifiers and key., ``Cmd+R`` / ``Ctrl+R``., test_keycombo_matches_returns_true_for_same_modifiers(), test_refresh_tree_combo(), test_resolve_finds_known_combo_on_linux() (+1 more) - -### Community 280 - "Community 280" -Cohesion: 0.29 -Nodes (9): _build_creation_json_dict(), _build_fixture_tree(), Integration test: ``Validator.audit`` is byte-deterministic across runs. Backen, Spec §11.8 determinism: two ``audit`` calls produce identical findings. The, ``audit`` and ``query_problems`` produce byte-identical outputs. This is th, Construct a tree with several findings in stable on-disk shape. The tree co, test_audit_byte_identical_with_query_problems_alias(), test_audit_two_calls_return_byte_identical_finding_lists() (+1 more) - -### Community 281 - "Community 281" -Cohesion: 0.2 -Nodes (10): 05 -- Components, Alerts & Callouts, Badges, Buttons, code:css (.progress-track {), code:css (/* Track */), Data Tables, Form Inputs (+2 more) - -### Community 282 - "Community 282" -Cohesion: 0.2 -Nodes (9): Adding a new flow, code:block1 (pip install -e .[test]), code:block2 (pytest tests/e2e -q # full suite (headless), E2E test suite, Page objects, Run, Setup, Status of the 15-flow merged plan (+1 more) - -### Community 283 - "Community 283" -Cohesion: 0.2 -Nodes (10): 10.1 Progress, 10.2 Errors, 10.3 Success Summary, 10.4 Sync-Blocked Banner, 10.5.1 NAS sync failure recovery, 10.5.2 LIMS unreachability mid-wizard, 10.5.3 Crash and orphan recovery, 10.5.4 Pre-flight checks before creation (+2 more) - -### Community 284 - "Community 284" -Cohesion: 0.2 -Nodes (10): 6.1.1 Package layout, 6.1.2 `manifest.yml` schema, 6.1.3 The `Plugin` base class, 6.1.4 The `PluginContext` object, 6.1.5 What plugins must not touch, 6.1 Plugin Contract, code:block2 (/), code:yaml (# Required identity fields) (+2 more) - -### Community 285 - "Community 285" -Cohesion: 0.2 -Nodes (10): 6.5.1 Directory, 6.5.2 `__init__.py`, 6.5.3 `manifest.yml`, 6.5.4 `plugin.py`, 6.5.5 `README.md`, 6.5 Base Plugin Scaffold (`hello_plugin`), code:block10 (hello_plugin/), code:python ("""hello_plugin -- minimal example plugin for ExLab-Wizard.) (+2 more) - -### Community 286 - "Community 286" -Cohesion: 0.2 -Nodes (9): 6.0 Where Plugins Sit in the Pipeline, 6.10 Test / Debug CLI: `exlab-wizard plugins exec`, 6.7 Example Plugins (Illustrative Catalog), 6.8 Plugin Authoring Checklist, 6.9 Lint CLI: `exlab-wizard plugins lint`, 6. Plugin System, code:block1 (┌───────────────────────────────────────────────────────────), code:block16 (exlab-wizard plugins lint ) (+1 more) - -### Community 287 - "Community 287" -Cohesion: 0.2 -Nodes (9): 4.1 Deployment Model, 4.2 Process Model, 4.5 Async / Threading Model, 4.7.1 SessionState → Phase mapping, 4.7 Creation-Session State Machine, 4.8 Crash Recovery, 4. Backend Architecture, code:block1 (┌───────────────────────────────────────────────────────────) (+1 more) - -### Community 288 - "Community 288" -Cohesion: 0.39 -Nodes (8): _by_testid(), Unit tests for the shared empty-state placeholder (Phase 5). The helper renders, The placeholder keeps the caller's testid (once) and shows the hint., The icon name reaches the rendered icon element., test_empty_state_carries_testid_and_message(), test_empty_state_renders_the_icon(), _texts(), _walk() - -### Community 290 - "Community 290" -Cohesion: 0.25 -Nodes (8): build_operations_router(), OperationEntry, OperationsResponse, ``/operations`` router. Backend Spec §4.6.1, Frontend §9.5. Lists all in-flight, One row in the Operations panel. Backend Spec §4.6.1, Frontend §9.5., ``GET /operations`` response., Construct the ``/operations`` router., _session_to_entry() - -### Community 291 - "Community 291" -Cohesion: 0.31 -Nodes (8): _install_stub_rclone(), nas_prod_server(), E2E flow 27: NAS Remote setup gate + Settings section (rclone.conf migration)., Spawn the production wizard seeded with a credential-less nas equipment. Yi, Spawn the production wizard seeded with a credential-less nas equipment. Yi, _setup_state(), test_nas_credential_gate_set_test_and_clear(), test_nas_remote_gate_configure_and_test() - -### Community 292 - "Community 292" -Cohesion: 0.22 -Nodes (9): ``sync:`` block. NAS sync engine kill-switch + retry / quiescence policy., ``sync:`` block. NAS sync engine kill-switch + retry / quiescence policy., SyncConfig, test_sync_config_accepts_custom_quiescence_settings(), test_sync_config_defaults(), test_sync_config_ignore_globs_default_is_independent_per_instance(), test_sync_config_poll_interval_seconds_at_least_one(), test_sync_config_quiescence_minutes_at_least_one() (+1 more) - -### Community 293 - "Community 293" -Cohesion: 0.25 -Nodes (6): from_check_result(), SHA-256 verifier wrapper around ``rclone check --download``. Rclone-only NAS sy, Run ``rclone check --download`` over ``files_from`` and translate. Rais, Run ``rclone check --download`` over ``files_from`` and translate. Rais, Verifier: ``rclone check`` wrapper, no Python SHA pipeline. Constructed wit, Verifier - -### Community 294 - "Community 294" -Cohesion: 0.31 -Nodes (8): _build_minimal_payload(), Integration test: concurrent ``creation.json`` writers serialize correctly. Spe, An interleaved write must never produce a half-written file. The ``os.replac, Run 10 ``update_creation_atomic`` calls concurrently against the same file., The writer pins ``schema_version`` to the current version on every write. Co, test_concurrent_mutations_keep_file_valid_json(), test_concurrent_mutations_keep_schema_at_current_version(), test_ten_concurrent_mutations_all_land() - -### Community 295 - "Community 295" -Cohesion: 0.22 -Nodes (8): 3.6 Configure Equipment, Paths, and Integrations, Add Equipment wizard, Capability summary, code:{image} (:alt: Settings dialog with the Paths section active), code:{image} (:alt: Add-Equipment wizard, identity step), Related material, Screenshots, Walkthrough - -### Community 296 - "Community 296" -Cohesion: 0.22 -Nodes (9): code:python (# tests/unit/config/test_models.py — add), code:python (class RclonePerf(BaseModel):), code:python (nas: NasConfig = Field(default_factory=NasConfig)), code:bash (git add src/exlab_wizard/config/models.py tests/unit/config/), code:python (# tests/unit/config/test_loader.py — add), code:bash (git add tests/unit/config/test_loader.py), Phase 1 — Config foundation (`nas:` block, additive), Task 1.1: Add `RclonePerf` and `NasConfig` models (+1 more) - -### Community 297 - "Community 297" -Cohesion: 0.22 -Nodes (9): 6.3.1 Process model, 6.3.2 IPC envelope, 6.3.3 Resource limits, 6.3.4 Failure handling, 6.3.5 Security model: what isolation does and does not solve, 6.3.6 Validation-worker subprocess (mode = `validate`), 6.3 Subprocess Isolation, code:json ({) (+1 more) - -### Community 298 - "Community 298" -Cohesion: 0.22 -Nodes (8): 8.1.1 Unresolved-placeholder rule (hard tier), 8.1.2 Illegal-filesystem-character rule (hard tier), 8.1.3 Mode-prefix mismatch rule (hard tier), 8.1.4 Orphan rule (soft tier), 8.1.5 Missing-required-field rule (soft tier), 8.1.6 Tier mapping, 8.1 Path Validation Rules, 8. Error Handling Principles - -### Community 299 - "Community 299" -Cohesion: 0.25 -Nodes (8): A one-equipment hierarchy with two runs for the search-count tests., The result pill counts project + run rows (equipment is always shown)., A query surfaces only the matching run under its project., A no-match query yields a zero count (the no-matches state) even though buil, _search_hierarchy(), test_main_count_search_results_counts_projects_and_runs(), test_main_count_search_results_narrows_with_query(), test_main_count_search_results_zero_on_no_match() - -### Community 300 - "Community 300" -Cohesion: 0.25 -Nodes (8): The details dialog renders the session state plus pending/error lines., The details dialog renders the session state plus pending/error lines., The details dialog renders the session state plus pending/error lines., The details dialog renders the session state plus pending/error lines., The details dialog renders the session state plus pending/error lines., The details dialog renders the session state plus pending/error lines., The details dialog renders the session state plus pending/error lines., test_open_operation_details_renders_state_and_pending() - -### Community 301 - "Community 301" -Cohesion: 0.29 -Nodes (7): Token-equality tests for :mod:`exlab_wizard.ui.design`. The tests assert each c, Primary palette hexes are verbatim from DESIGN.md §01., Main-window refresh surface tokens (DESIGN.md §02 UI Chrome Palette). Sever, Okabe-Ito hexes are verbatim from DESIGN.md §01., test_okabe_ito_palette_matches_designmd(), test_primary_palette_matches_designmd(), test_ui_refresh_surface_tokens_match_designmd() - -### Community 302 - "Community 302" -Cohesion: 0.25 -Nodes (8): check_malformed_yaml_front_matter(), §8.1: detect malformed YAML front matter at the head of a Markdown file., test_empty_content_passes(), test_front_matter_with_nested_yaml_passes(), test_malformed_yaml_in_block_fires(), test_no_front_matter_passes(), test_unterminated_front_matter_fires(), test_well_formed_front_matter_passes() - -### Community 303 - "Community 303" -Cohesion: 0.25 -Nodes (4): crash_plugin -- exercises subprocess crash containment (SIGSEGV-like)., CrashPlugin, crash_plugin -- exercises subprocess crash containment. The plugin's ``transfor, Hard-exit the worker process before any file write. - -### Community 304 - "Community 304" -Cohesion: 0.25 -Nodes (4): policy_violation_plugin -- writes to a forbidden path (Backend Spec §6.1.5)., PolicyViolationPlugin, policy_violation_plugin -- exercises Backend Spec §6.1.5 enforcement. The plugi, Write into ``README.md`` (a wizard-controlled file). - -### Community 305 - "Community 305" -Cohesion: 0.25 -Nodes (4): input_required_plugin -- exercises the PluginInputRequired suspend/resume handsh, InputRequiredPlugin, input_required_plugin -- exercises Backend Spec §6.4 suspend/resume. On the fir, Demand a user-supplied ``color`` value before completing. - -### Community 306 - "Community 306" -Cohesion: 0.25 -Nodes (4): hello_plugin -- canonical scaffold from Backend Spec §6.5. The ``Plugin`` re-ex, HelloPlugin, hello_plugin -- minimal real plugin used by the host integration suite. Backend, Append ``hello\\n`` to every ``.txt`` file the host hands us. - -### Community 307 - "Community 307" -Cohesion: 0.21 -Nodes (8): The controller writes ``equipment.json`` under ``//.exlab-wiz, The controller writes ``equipment.json`` under ``//.exlab-wiz, A run inherits its LIMS identity from the parent project's creation.json (Ba, A run inherits its LIMS identity from the parent project's creation.json (Ba, A run inherits its LIMS identity from the parent project's creation.json (Ba, The controller writes ``equipment.json`` under ``//.exlab-wiz, test_run_creation_writes_equipment_json_at_root(), test_run_inherits_lims_project_block_from_parent() - -### Community 308 - "Community 308" -Cohesion: 0.29 -Nodes (5): _NoiseFilter, Sphinx configuration for ExLab-Wizard documentation. The configuration wires th, Drop uncategorised warnings whose message text matches a known needle. Inse, Install the noise filter at the head of the warning handler chain. Sphinx w, setup() - -### Community 309 - "Community 309" -Cohesion: 0.32 -Nodes (7): banner_stack(), banner_stack_props(), _color_for_severity(), Banner stack component (Frontend Spec §2.2.3). Renders the active banners for a, Compute the visible / overflow split for a container. Returns a dict with `, Map a :class:`Severity` to its CSS variable token., Build the banner stack UI for a container. - -### Community 310 - "Community 310" -Cohesion: 0.25 -Nodes (8): lims_credential_initial_state(), Return the credential-row state seeding the LIMS password field. A password, Return the credential-row state seeding the LIMS password field. A password, Return the credential-row state seeding the LIMS password field. A password, A password already in the OS keyring opens the row in *Set*., A password already in the OS keyring opens the row in *Set*., test_lims_credential_initial_state_not_set_when_keyring_empty(), test_lims_credential_initial_state_set_when_keyring_has_password() - -### Community 311 - "Community 311" -Cohesion: 0.32 -Nodes (7): Welcome card page (Frontend Spec §3.1.3). Modal card shown exactly once on the, Render spec captured for unit-test assertions., Return the immutable spec used to render the welcome card., Render the welcome card. ``on_get_started`` and ``on_skip`` are invoked wit, render_welcome_page(), welcome_card_spec(), WelcomeCardSpec - -### Community 312 - "Community 312" -Cohesion: 0.32 -Nodes (4): Return the row for ``job_id`` or raise ``ValueError``. Centralizes the, Return the row with the given ``job_id`` or ``None``., Reset a ``FAILED`` job back to ``QUEUED`` for a manual retry. Per §7.1., Reset a terminal job back to ``QUEUED`` carrying a new ``files`` list. - -### Community 313 - "Community 313" -Cohesion: 0.25 -Nodes (7): 00 -- Logo and Branding, 03 -- Spacing, 08 -- Usage Rules & Anti-Patterns, Absolute Constraints, Do, Don't, Frontend Design Style Guide - -### Community 314 - "Community 314" -Cohesion: 0.25 -Nodes (7): Bundled plugins (Spec §6.5, §6.6), Bundled templates (Spec §5), code:block1 (_internal/), `_internal/` -- bundled starter content, Layout, Populating for v1, v1 status - -### Community 315 - "Community 315" -Cohesion: 0.25 -Nodes (7): 3.4 Browse Existing Equipment, Projects, and Runs, Capability summary, code:{image} (:alt: File-explorer main window, no node selected), code:{image} (:alt: File explorer with a project selected -- tree, file li), Related material, Screenshots, Walkthrough - -### Community 316 - "Community 316" -Cohesion: 0.25 -Nodes (7): 3.7 Monitor Orchestrator Staging, Capability summary, code:{image} (:alt: Staging dock with one row in the staging state), code:{image} (:alt: Main window with the orchestrator staging panel enable), Related material, Screenshots, Walkthrough - -### Community 317 - "Community 317" -Cohesion: 0.25 -Nodes (7): code:json ({), code:json ({), Exit codes, IPC Envelope, Stderr (structured log channel), Stdin (host to worker), Stdout (worker to host) - -### Community 318 - "Community 318" -Cohesion: 0.25 -Nodes (8): 9.1 Escalation dialog layout, 9.2 Multiple consecutive escalations from one session (sequential), 9.3 Mid-plugin-pass progress (per-plugin sub-progress), 9.4 Cancel during escalation -- confirmation dialog, 9.5 Disconnect and resume -- the in-flight operations panel, 9.6 Concurrent suspended sessions, 9. Plugin Input Escalation, code:block5 (Running plugins ) - -### Community 319 - "Community 319" -Cohesion: 0.25 -Nodes (8): 11.1 Layout, 11.2 Severity Tier Visual Treatment, 11.3 Per-Row Actions, 11.4.1 New-finding surfacing during the session, 11.4 Empty State, 11.5 Override-and-Allow-Sync Dialog, 11.6 Cross-Surface Links, 11. Problems Tab - -### Community 320 - "Community 320" -Cohesion: 0.25 -Nodes (8): 3.6.1 Title bar, 3.6.2 Project detail sections, 3.6.3 Run detail sections, 3.6.4 Validation and override summary, 3.6.5 Action affordances, 3.6.6 Empty selection, 3.6 Detail pane (right panel), code:block4 (⚠ Unresolved placeholder token · Run_) - -### Community 321 - "Community 321" -Cohesion: 0.25 -Nodes (8): 3.4.1 Tray menu, 3.4.2 Status submenu, 3.4.3 Window lifecycle, 3.4.4 Why this lifecycle matters for the lab workflow, 3.4.5 OS notifications, 3.4.6 Quitting the app, 3.4.7 Linux fallback (no system tray), 3.4 Tray Icon and Window Lifecycle - -### Community 322 - "Community 322" -Cohesion: 0.25 -Nodes (8): 3.5.1 LIMS name resolution, 3.5.2 Tree node display format, 3.5.3 Archived and deleted LIMS-project handling, 3.5.4 Search and filter chips, 3.5.5 Status bar (bottom of the main window), 3.5.6 Empty states, 3.5 Tree details, filters, and status bar, code:block3 ([ search by name, short_id, or run label ... ] [Active ✓] ) - -### Community 323 - "Community 323" -Cohesion: 0.25 -Nodes (8): 4.6.1 REST surface (illustrative subset; full schema lives in `api/schemas.py`), 4.6.2 WebSocket events, 4.6.3 API versioning, health, and error envelope, 4.6 Frontend ↔ Backend Protocol, code:json ({ "kind": "phase", "phase": "rendering_template", ), code:json ({ "kind": "snapshot", "findings": [...], "audit_at": "..." }), code:json ({), code:json ({) - -### Community 324 - "Community 324" -Cohesion: 0.25 -Nodes (8): A successful save persists, then hot-reloads the live components. The old b, Redesign §3.1: orchestrator pipeline is always on, but a missing staging_roo, Redesign §3.1: orchestrator pipeline is always on, but a missing staging_roo, A successful save persists, then hot-reloads the live components. The old b, A successful save persists, then hot-reloads the live components. The old b, A successful save persists, then hot-reloads the live components. The old b, test_persist_config_writes_and_applies_live(), test_staging_state_when_staging_root_missing() - -### Community 325 - "Community 325" -Cohesion: 0.25 -Nodes (8): A fully-satisfied install has no outstanding next action., A fully-satisfied install has no outstanding next action., A fully-satisfied install has no outstanding next action., A fully-satisfied install has no outstanding next action., A fully-satisfied install has no outstanding next action., A fully-satisfied install has no outstanding next action., A fully-satisfied install has no outstanding next action., test_setup_next_action_none_when_ready() - -### Community 326 - "Community 326" -Cohesion: 0.29 -Nodes (7): ``RunNode.sync_status`` flows through to the resulting ``TreeNode``., ``RunNode.sync_status`` flows through to the resulting ``TreeNode``., A ``cleared`` run row carries the cloud-icon URL and its sync_status. Opera, ``RunNode.sync_status`` flows through to the resulting ``TreeNode``., A ``cleared`` run row carries the cloud-icon URL and its sync_status. Opera, test_to_nicegui_nodes_cleared_run_uses_cloud_icon(), test_tree_run_node_propagates_sync_status() - -### Community 327 - "Community 327" -Cohesion: 0.29 -Nodes (7): Equipment and project rows render without the per-row sync icon., Equipment and project rows render without the per-row sync icon., Equipment and project rows render without the per-row sync icon., An ``EquipmentNode(relay=True)`` builds a ``received_equipment`` row., An ``EquipmentNode(relay=True)`` builds a ``received_equipment`` row., test_equipment_node_relay_flag_emits_received_equipment_kind(), test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon() - -### Community 328 - "Community 328" -Cohesion: 0.29 -Nodes (7): Hard chip default-on; Soft default-off., Hard chip default-on; Soft default-off., _sample_findings(), test_problems_filter_default_shows_hard_only(), test_problems_filter_scope_filters_by_equipment(), test_problems_filter_search_path_substring(), test_problems_filter_show_soft_when_chip_on() - -### Community 329 - "Community 329" -Cohesion: 0.29 -Nodes (7): check_orphan(), §8.1.4: detect missing ``creation.json`` at project / run level (NOT equipme, test_equipment_without_creation_json_does_not_fire(), test_project_with_creation_json_passes(), test_project_without_creation_json_fires(), test_run_with_creation_json_passes(), test_run_without_creation_json_fires() - -### Community 330 - "Community 330" -Cohesion: 0.29 -Nodes (6): FileChange, Return the dry-run preview for what ``transform`` would do. Default ret, A single mutation a plugin would make. Used by ``describe_changes``. Backen, test_filechange_accepts_detail_payload(), test_filechange_default_detail_is_empty_dict(), test_filechange_is_frozen_dataclass() - -### Community 331 - "Community 331" -Cohesion: 0.29 -Nodes (7): is_creation_blocked(), Return True when ``state`` should gate creation flows. Per §4.9.4 the soft, Return True when ``state`` should gate creation flows. Per §4.9.4 the soft, FastAPI dependency that gates a route on setup state. Looks up the app's bo, FastAPI dependency that gates a route on setup state. Looks up the app's bo, setup_state_gate(), test_is_creation_blocked_treats_lims_unreachable_as_soft() - -### Community 332 - "Community 332" -Cohesion: 0.29 -Nodes (4): MockLimsState, Mutable per-app state. ``valid_email`` / ``valid_password`` are the credent, Mint a fresh opaque session token., Drop every issued session token. The next protected call sees a 401 and - -### Community 333 - "Community 333" -Cohesion: 0.29 -Nodes (7): Generic exceptions are wrapped as ``internal_error``., Generic exceptions are wrapped as ``internal_error``., The best-effort log appender writes to the equipment cache dir., The best-effort log appender writes to the equipment cache dir., The best-effort log appender writes to the equipment cache dir., test_append_log_writes_log_line(), test_format_error_with_non_validation_exception_returns_internal_error() - -### Community 334 - "Community 334" -Cohesion: 0.33 -Nodes (6): _free_port(), _make_seeded_server(), E2E flow 19: travelling problem badge (Redesign §4.5). The badge sits on the sh, Spawn a uvicorn server with seeded findings injected via env var., The badge for a seeded hard finding renders on the root node., test_flow_19_travelling_badge_aggregates_red() - -### Community 335 - "Community 335" -Cohesion: 0.33 -Nodes (5): _format_utc_timestamp(), Structured log formatter and secret-redaction helpers. Backend Spec §16.4, §16.1, Render ``epoch_seconds`` as a UTC ISO 8601 timestamp with ``Z`` suffix. Exa, Render the active context as ``[host:..] [equip:..] ...``. Returns the empt, _render_tags() - -### Community 336 - "Community 336" -Cohesion: 0.29 -Nodes (7): 07 -- Code Integration, code:css (:root {), code:python (import matplotlib as mpl), code:python (# RGBA tuples normalized 0-1, for napari label layer color d), CSS Custom Properties, matplotlib / seaborn rcParams, napari Label Layer Colors - -### Community 337 - "Community 337" -Cohesion: 0.29 -Nodes (7): 01 -- Color Palette, Color Selection Decision Logic, Data Colors -- Okabe-Ito -- Visualization Only, Main-window surface & interaction tokens (2026-05-29 UI refresh), Primary Colors -- UI Only, Semantic Color Assignments, Surface & Neutral Tokens - -### Community 338 - "Community 338" -Cohesion: 0.29 -Nodes (6): 3.1 Create a New Project, Capability summary, code:{image} (:alt: New project wizard, initial render), Related material, Screenshots, Walkthrough - -### Community 339 - "Community 339" -Cohesion: 0.29 -Nodes (6): 3.8 Review and Resolve Naming and Validation Problems, Capability summary, code:{image} (:alt: Problems tab with one hard-tier finding visible), Related material, Screenshots, Walkthrough - -### Community 340 - "Community 340" -Cohesion: 0.29 -Nodes (6): 3.5 Author a README at Creation Time, Capability summary, code:{image} (:alt: README step inside the new-project wizard), Related material, Screenshots, Walkthrough - -### Community 341 - "Community 341" -Cohesion: 0.29 -Nodes (6): code:{image} (:alt: First-launch welcome card), Getting Started, Overview, Related material, Screenshots, Walkthrough - -### Community 342 - "Community 342" -Cohesion: 0.29 -Nodes (6): 3.2 Create a New Experimental Run, Capability summary, code:{image} (:alt: New experimental run wizard, initial render), Related material, Screenshots, Walkthrough - -### Community 343 - "Community 343" -Cohesion: 0.29 -Nodes (6): 3.3 Create a New Test Run, Capability summary, code:{image} (:alt: New test run wizard, initial render), Related material, Screenshots, Walkthrough - -### Community 344 - "Community 344" -Cohesion: 0.29 -Nodes (6): code:block1 (Creation Controller), code:{toctree} (:maxdepth: 1), Plugin Author Guide, What plugins do, Where plugins fit in the pipeline, Where to look in the codebase - -### Community 345 - "Community 345" -Cohesion: 0.29 -Nodes (6): code:block1 (pip install -e .[plugin-examples]), docx_variable_replacer, Hello plugin, Where to look in the codebase, Worked Examples, xlsx_field_filler - -### Community 346 - "Community 346" -Cohesion: 0.29 -Nodes (6): File Structure, Phase 8 — Orchestrator staging via rclone (confirmed in scope), rclone.conf-based NAS Sync — Implementation Plan, Self-Review (completed during authoring), Task 8.1: Staging config — `orchestrator.staging_remote` / `staging_base_root`, Task 8.2: Stage-mode push routes through rclone - -### Community 347 - "Community 347" -Cohesion: 0.29 -Nodes (7): 6.2.1 Discovery, 6.2.2 Resolution per creation session, 6.2.3 Order control via `_exlab_plugins`, 6.2.4 What gets recorded in `creation.json`, 6.2 Plugin Registry, code:yaml (_exlab_plugins:), code:json ({) - -### Community 348 - "Community 348" -Cohesion: 0.29 -Nodes (7): 6.6.1 What it does, 6.6.2 `manifest.yml`, 6.6.3 `plugin.py`, 6.6.4 What this exercises, 6.6 Worked Example: `xlsx_field_filler`, code:yaml (name: "xlsx_field_filler"), code:python (from pathlib import Path) - -### Community 349 - "Community 349" -Cohesion: 0.29 -Nodes (7): 4.9.1 Setup states, 4.9.2 Endpoint gating, 4.9.3 `GET /api/v1/setup/status` response shape, 4.9.4 LIMS unreachability is a soft block, 4.9.5 Initial setup ordering (informational), 4.9 First-Launch and Setup-Incomplete State, code:json ({) - -### Community 350 - "Community 350" -Cohesion: 0.29 -Nodes (7): A node id whose root is not in the hierarchy returns ``(None, False)``. Gua, A node id whose root is not in the hierarchy returns ``(None, False)``. Gua, A node id whose root is not in the hierarchy returns ``(None, False)``. Gua, A node id whose root is not in the hierarchy returns ``(None, False)``. Gua, A node id whose root is not in the hierarchy returns ``(None, False)``. Gua, A node id whose root is not in the hierarchy returns ``(None, False)``. Gua, test_classify_node_rejects_unknown_root() - -### Community 351 - "Community 351" -Cohesion: 0.29 -Nodes (7): With no SYNCED rows the sweep clears nothing and toasts 'none'., With no SYNCED rows the sweep clears nothing and toasts 'none'., With no SYNCED rows the sweep clears nothing and toasts 'none'., With no SYNCED rows the sweep clears nothing and toasts 'none'., With no SYNCED rows the sweep clears nothing and toasts 'none'., With no SYNCED rows the sweep clears nothing and toasts 'none'., test_bulk_clear_verified_no_verified_rows_toasts() - -### Community 352 - "Community 352" -Cohesion: 0.33 -Nodes (6): ActionSpec, A single action affordance attached to a notification. At most one action p, ``ActionSpec`` is immutable so callbacks can't be swapped post-hoc., When an action is attached, the timeout extends to 12 s., test_action_spec_is_frozen(), test_notify_with_action_extends_to_12_seconds() - -### Community 353 - "Community 353" -Cohesion: 0.33 -Nodes (6): Activate a banner from the closed §2.2.3 set. Raises: ValueError: w, Clear all module-level state. Test fixtures only., reset_for_tests(), show_banner(), test_smoke_banner_stack_renders_with_active_banners(), test_smoke_file_explorer_page_renders_setup_incomplete() - -### Community 354 - "Community 354" -Cohesion: 0.53 -Nodes (5): _goto(), E2E flow 20: file-explorer navigation (Redesign §4). Tree selection drives the, test_flow_20_breadcrumb_is_present_when_node_selected(), test_flow_20_file_explorer_renders_three_regions(), test_flow_20_select_run_node_renders_metadata_pane() - -### Community 355 - "Community 355" -Cohesion: 0.33 -Nodes (5): prod_server(), E2E flow 26: Add-Equipment wizard confirm against the PRODUCTION app. ``test_fl, Spawn the production wizard app under a fresh tmp HOME., Drive the production wizard to Confirm and assert config.yaml gains the device., test_equipment_wizard_confirm_persists_to_config() - -### Community 356 - "Community 356" -Cohesion: 0.33 -Nodes (6): list_bindings(), Return the canonical bindings table (Frontend §3.7)., Each binding has a non-empty description (Frontend §3.7)., Every Frontend §3.7 row has a ShortcutBinding., test_all_documented_shortcuts_in_registry(), test_descriptions_match_spec() - -### Community 357 - "Community 357" -Cohesion: 0.33 -Nodes (6): combo_for_current_os(), Resolve the :class:`KeyCombo` for the current OS., On non-darwin we return ``other``., On darwin we return ``macos``., test_combo_for_current_os_returns_macos_on_darwin(), test_combo_for_current_os_returns_other_on_linux() - -### Community 358 - "Community 358" -Cohesion: 0.4 -Nodes (5): override_badge(), override_badge_props(), Override pill (Frontend Spec §3.6.1, §11). A pill that appears next to a run's, Compute styling props for the override pill., Build a clickable badge for the override state. Clicking opens the §11.5 ov - -### Community 359 - "Community 359" -Cohesion: 0.33 -Nodes (5): High-level Copier-template category. Backend Spec §5.2., Run-scope tag declared in a run template's ``_exlab_run_scope``. Backend Sp, RunScope, TemplateType, Load + validate a template's ``copier.yml``. Args: template - -### Community 360 - "Community 360" -Cohesion: 0.4 -Nodes (5): Test-run pill (Frontend Spec §3.2, §3.6.1). A small *"Test"* pill rendered next, Static styling for the *"Test"* pill (Frontend §3.6.1)., Build a NiceGUI badge for a test run., test_run_badge(), test_run_badge_props() - -### Community 361 - "Community 361" -Cohesion: 0.33 -Nodes (5): Tree context-menu renderers. GUI/Orchestrator Redesign §4.6 / decision 4A / §9., Render the right-click menu for an owned-equipment tree node. The callback, Render the right-click menu for a run tree node. The callback receives ``(r, render_equipment_context_menu(), render_run_context_menu() - -### Community 362 - "Community 362" -Cohesion: 0.4 -Nodes (5): mode_badge(), mode_badge_props(), Mode badge component (Frontend Spec §5.3, §6). Shows the active wizard mode (ex, Compute the badge styling props for a run kind. Returns a dict that wizards, Build a NiceGUI badge element for the given run kind. Lazy NiceGUI import k - -### Community 363 - "Community 363" -Cohesion: 0.33 -Nodes (6): 02 -- Typography, code:css (--font-display: 'DM Serif Display', Georgia, serif;), code:html (/), code:block2 (/data/lab/CONFOCAL_01/UCR-000-I-D_WHEELDON/Runs/Run_2026-04-) - -### Community 370 - "Community 370" -Cohesion: 0.33 -Nodes (5): 12.1 What Changes in Orchestrator Mode, 12.2 Configuration, 12.3 Concurrent Run Handling, 12.4 Logging and DB Changes, 12. Orchestrator Mode (Multi-Equipment Workstations) - -### Community 371 - "Community 371" -Cohesion: 0.33 -Nodes (6): 4.10.1 Unit tests (`tests/unit/`), 4.10.2 Integration tests (`tests/integration/`), 4.10.3 End-to-end tests (`tests/e2e/`), 4.10.4 Test fixtures (`tests/fixtures/`), 4.10.5 What's NOT tested at each layer, 4.10 Testing Strategy - -### Community 372 - "Community 372" -Cohesion: 0.4 -Nodes (5): ``FILE_CONTEXT_KEEP_LOCAL`` is a distinct discriminator value., ``FILE_CONTEXT_KEEP_LOCAL`` is a distinct discriminator value., ``FILE_CONTEXT_KEEP_LOCAL`` is a distinct discriminator value., ``FILE_CONTEXT_KEEP_LOCAL`` is a distinct discriminator value., test_keep_local_action_constant_is_distinct() - -### Community 373 - "Community 373" -Cohesion: 0.4 -Nodes (5): The renderer wires the keep-local menu item and tombstone row. Exercises th, The renderer wires the keep-local menu item and tombstone row. Exercises th, The renderer wires the keep-local menu item and tombstone row. Exercises th, The renderer wires the keep-local menu item and tombstone row. Exercises th, test_render_file_list_keep_local_menu_and_tombstone() - -### Community 375 - "Community 375" -Cohesion: 0.6 -Nodes (4): _goto(), E2E flow 18: relay-receive — received equipment auto-discovery (Redesign §3.3)., test_flow_18_received_equipment_node_appears(), test_flow_18_received_metadata_shows_relay_badge() - -### Community 376 - "Community 376" -Cohesion: 0.6 -Nodes (4): _goto(), E2E flow 17: creation-button enablement on received nodes (Redesign decision 1)., test_flow_17_creation_buttons_disabled_on_received_node(), test_flow_17_creation_buttons_enabled_on_owned_node() - -### Community 377 - "Community 377" -Cohesion: 0.6 -Nodes (4): _goto(), E2E flow 23: footer Staging segment + bulk Clear verified (Redesign §4.6). The, test_flow_23_bulk_clear_verified_action_present(), test_flow_23_footer_staging_segment_renders() - -### Community 378 - "Community 378" -Cohesion: 0.4 -Nodes (5): OrchestratorStagingTransport, ``orchestrator_staging_transport:`` -- staging hop only. Backend Spec §13., test_orchestrator_staging_transport_file_transfer(), test_orchestrator_staging_transport_rejects_unknown_type(), test_orchestrator_staging_transport_smb_mount() - -### Community 379 - "Community 379" -Cohesion: 0.4 -Nodes (4): Capability map, code:{toctree} (:maxdepth: 1), Conventions, User Guide - -### Community 380 - "Community 380" -Cohesion: 0.4 -Nodes (5): code:bash (git add src/exlab_wizard/ui/pages/settings.py src/exlab_wiza), code:bash (git add src/exlab_wizard/ui/ tests/unit/ui/), Phase 6 — UI, Task 6.1: Settings "NAS Remote" section (replaces NAS Credentials), Task 6.2: Equipment wizard/form — drop transport fields; main-page banner copy - -### Community 381 - "Community 381" -Cohesion: 0.4 -Nodes (5): code:python (# tests/unit/sync/test_nas_client.py — add (uses existing he), code:python (def _build_target_for_run(*, remote: str, base_root: str, eq), code:python (def _build_push(self, equipment: EquipmentConfig) -> Callabl), code:bash (git add src/exlab_wizard/sync/nas_client.py tests/unit/sync/), Task 4.1: Named-remote target builder + driver construction from `nas:` config - -### Community 382 - "Community 382" -Cohesion: 0.4 -Nodes (5): code:python (# tests/unit/tray/test_dependencies.py — add/replace probe t), code:python (async def _probe(equipment: Any) -> dict[str, Any]:), code:python (def _hydrate_nas_remotes(config: Any) -> tuple[str, ...]:), code:bash (git add src/exlab_wizard/tray/dependencies.py tests/unit/tra), Task 5.3: Tray probe + NAS-sync wiring + password-presence removal - -### Community 383 - "Community 383" -Cohesion: 0.4 -Nodes (5): code:python (# tests/unit/sync/test_manifest.py), code:python (# src/exlab_wizard/sync/manifest.py), code:bash (git add src/exlab_wizard/sync/manifest.py tests/unit/sync/te), Phase 3 — Manifest module + parser, Task 3.1: `sync/manifest.py` with `parse_lsjson` - -### Community 384 - "Community 384" -Cohesion: 0.4 -Nodes (5): 6.1 Layout, 6.2 Pre-fill Rules, 6.3 Preview Behavior, 6.4 Required-Field Error Messaging, 6. README Authoring Step - -### Community 385 - "Community 385" -Cohesion: 0.4 -Nodes (5): A raising keyring backend surfaces a toast, not an unhandled crash., A raising keyring backend surfaces a toast, not an unhandled crash., A raising keyring backend surfaces a toast, not an unhandled crash., A raising keyring backend surfaces a toast, not an unhandled crash., test_lims_credential_handlers_swallow_backend_errors() - -### Community 386 - "Community 386" -Cohesion: 0.4 -Nodes (5): If the coordinator raises wholesale, the live config is still kept., If the coordinator raises wholesale, the live config is still kept., If the coordinator raises wholesale, the live config is still kept., If the coordinator raises wholesale, the live config is still kept., test_apply_live_config_falls_back_to_setting_config() - -### Community 387 - "Community 387" -Cohesion: 0.4 -Nodes (5): Both empty -> empty string. One present -> single param., Both empty -> empty string. One present -> single param., Both empty -> empty string. One present -> single param., Both empty -> empty string. One present -> single param., test_build_main_query_omits_empty_params() - -### Community 389 - "Community 389" -Cohesion: 0.5 -Nodes (4): The pre-commit ``no-direct-ui-notify`` rule is mirrored in tests. Any call, The pre-commit ``no-direct-ui-notify`` rule is mirrored in tests. Any call, The pre-commit ``no-direct-ui-notify`` rule is mirrored in tests. Any call, test_no_stray_ui_notify_calls_in_ui_package() - -### Community 390 - "Community 390" -Cohesion: 0.5 -Nodes (4): The ``default-header`` template carries the per-row anchors the Playwright f, The ``default-header`` template carries the per-row anchors the Playwright f, The ``default-header`` template carries the per-row anchors the Playwright f, test_slot_template_emits_testid_data_node_id_and_context_menus() - -### Community 391 - "Community 391" -Cohesion: 0.5 -Nodes (4): Any non-``cleaned`` sync status (or unset) maps to the local-icon URL., Any non-``cleaned`` sync status (or unset) maps to the local-icon URL., Any non-``cleaned`` sync status (or unset) maps to the local-icon URL., test_to_nicegui_nodes_local_run_uses_local_icon() - -### Community 392 - "Community 392" -Cohesion: 0.5 -Nodes (4): Each factory emits a dict (or NiceGUI element) without crashing. The factor, Each factory emits a dict (or NiceGUI element) without crashing. The factor, Each factory emits a dict (or NiceGUI element) without crashing. The factor, test_factories_smoke_outside_nicegui() - -### Community 393 - "Community 393" -Cohesion: 0.5 -Nodes (4): Deleted-from-LIMS rows always render (Frontend §3.5.3)., Deleted-from-LIMS rows always render (Frontend §3.5.3)., Deleted-from-LIMS rows always render (Frontend §3.5.3)., test_tree_filter_deleted_always_shown() - -### Community 394 - "Community 394" -Cohesion: 0.5 -Nodes (4): Archived projects are hidden by default., Archived projects are hidden by default., Archived projects are hidden by default., test_tree_filter_archived_default_off_hides_archived() - -### Community 395 - "Community 395" -Cohesion: 0.5 -Nodes (4): Each row carries a ``testid_kind`` matching the Playwright contract., Each row carries a ``testid_kind`` matching the Playwright contract., Each row carries a ``testid_kind`` matching the Playwright contract., test_to_nicegui_nodes_emits_testid_kind() - -### Community 396 - "Community 396" -Cohesion: 0.5 -Nodes (4): The dynamic NAS-remote section is auto-selected when it's the gate., The dynamic NAS-remote section is auto-selected when it's the gate., test_settings_first_incomplete_resolves_nas_credentials(), test_settings_first_incomplete_resolves_nas_remote() - -### Community 397 - "Community 397" -Cohesion: 0.5 -Nodes (4): The rclone-remote next-action points the operator at the setup docs., The rclone-remote next-action points the operator at the setup docs., test_main_setup_banner_subline_tailored_for_nas_credentials(), test_main_setup_banner_subline_tailored_for_rclone_remote() - -### Community 398 - "Community 398" -Cohesion: 0.5 -Nodes (4): banner_overflow_count(), list_active_banners(), Return active banners, optionally filtered by container. Banners are return, How many banners exceed the stacking cap of 2 (Frontend §2.2.3). - -### Community 399 - "Community 399" -Cohesion: 0.5 -Nodes (3): bootstrap_test_config(), Starter ``config.yaml`` bootstrap for the ``-test`` sandbox. Shared by the tray, Tray ``--test`` bootstrap: write the starter config, optionally seed samples. - -### Community 402 - "Community 402" -Cohesion: 0.5 -Nodes (4): When :class:`PluginHost` returns ``aborted=True``, the controller transition, When :class:`PluginHost` returns ``aborted=True``, the controller transition, When :class:`PluginHost` returns ``aborted=True``, the controller transition, test_plugin_pass_aborted_transitions_to_failed() - -### Community 403 - "Community 403" -Cohesion: 0.5 -Nodes (4): T1 (§C1): the production ``ReadmeGenerator`` -- injected by ``tray.dependenc, T1 (§C1): the production ``ReadmeGenerator`` -- injected by ``tray.dependenc, T1 (§C1): the production ``ReadmeGenerator`` -- injected by ``tray.dependenc, test_real_readme_generator_writes_frontmatter_and_cache() - -### Community 404 - "Community 404" -Cohesion: 0.5 -Nodes (4): ``subscribe`` initializes ``event_queue`` if the session opened with none (d, ``subscribe`` initializes ``event_queue`` if the session opened with none (d, ``subscribe`` initializes ``event_queue`` if the session opened with none (d, test_subscribe_creates_queue_when_missing() - -### Community 405 - "Community 405" -Cohesion: 0.5 -Nodes (4): When the operator cancels the input-required prompt (host returns ``aborted=, When the operator cancels the input-required prompt (host returns ``aborted=, When the operator cancels the input-required prompt (host returns ``aborted=, test_cancel_input_required_aborts_session_via_plugin_callback() - -### Community 406 - "Community 406" -Cohesion: 0.5 -Nodes (4): ``_cleanup`` swallows compose-path errors gracefully., ``_cleanup`` swallows compose-path errors gracefully., ``_cleanup`` swallows compose-path errors gracefully., test_cancel_invokes_cleanup_when_compose_path_fails() - -### Community 407 - "Community 407" -Cohesion: 0.5 -Nodes (4): The ``_required_field_ids`` helper must skip non-dict entries in the templat, The ``_required_field_ids`` helper must skip non-dict entries in the templat, The ``_required_field_ids`` helper must skip non-dict entries in the templat, test_required_field_ids_filters_non_dict_entries() - -### Community 408 - "Community 408" -Cohesion: 0.5 -Nodes (4): ``_cleanup`` removes the destination directory when ``discard_files=True``., ``_cleanup`` removes the destination directory when ``discard_files=True``., ``_cleanup`` removes the destination directory when ``discard_files=True``., test_cleanup_removes_existing_directory_when_discard_files_true() - -### Community 409 - "Community 409" -Cohesion: 0.5 -Nodes (4): A template-required README field missing from ``readme_extra`` must trigger, A template-required README field missing from ``readme_extra`` must trigger, A template-required README field missing from ``readme_extra`` must trigger, test_required_template_field_missing_in_readme_extra_fails() - -### Community 410 - "Community 410" -Cohesion: 0.5 -Nodes (4): A cancel with ``discard_files=False`` leaves the partial directory., A cancel with ``discard_files=False`` leaves the partial directory., A cancel with ``discard_files=False`` leaves the partial directory., test_cancel_without_discard_leaves_partial_dir() - -### Community 411 - "Community 411" -Cohesion: 0.5 -Nodes (4): If ``cancel`` is invoked on a session that has not yet started a pipeline ta, If ``cancel`` is invoked on a session that has not yet started a pipeline ta, If ``cancel`` is invoked on a session that has not yet started a pipeline ta, test_cancel_before_task_starts_invokes_cleanup() - -### Community 412 - "Community 412" -Cohesion: 0.5 -Nodes (4): A Copier render failure (e.g. dst exists) transitions the session to ``FAILE, A Copier render failure (e.g. dst exists) transitions the session to ``FAILE, A Copier render failure (e.g. dst exists) transitions the session to ``FAILE, test_render_failure_transitions_session_to_failed() - -### Community 413 - "Community 413" -Cohesion: 0.5 -Nodes (4): A config.yaml-required README field missing from ``readme_extra`` must trigg, A config.yaml-required README field missing from ``readme_extra`` must trigg, A config.yaml-required README field missing from ``readme_extra`` must trigg, test_config_required_readme_field_missing_fails() - -### Community 414 - "Community 414" -Cohesion: 0.5 -Nodes (4): Resume against a session that has no resume queue raises., Resume against a session that has no resume queue raises., Resume against a session that has no resume queue raises., test_resume_session_with_no_resume_queue_raises() - -### Community 415 - "Community 415" -Cohesion: 0.5 -Nodes (4): A cancel with ``discard_files=True`` deletes the partial directory., A cancel with ``discard_files=True`` deletes the partial directory., A cancel with ``discard_files=True`` deletes the partial directory., test_cancel_with_discard_files_removes_partial_dir() - -### Community 416 - "Community 416" -Cohesion: 0.5 -Nodes (3): E2E smoke flow. Confirms the Phase 16 e2e harness can drive a real browser agai, Smoke: navigate to / and confirm the e2e harness is wired up. The Phase 16, test_root_url_responds_with_html() - -### Community 417 - "Community 417" -Cohesion: 0.5 -Nodes (3): Machine-readable catalog of the wizard's UX interactions. Each :class:`UXIntera, One operator-facing affordance in the wizard UI., UXInteraction - -### Community 419 - "Community 419" -Cohesion: 0.5 -Nodes (3): empty_state(), Empty-state placeholder (GUI/Orchestrator Redesign §4 polish, Phase 5). A centr, Render a centred icon + hint placeholder; return the column element. ``icon - -### Community 420 - "Community 420" -Cohesion: 0.5 -Nodes (4): first_incomplete_section(), Return the first section ID in canonical order that's incomplete. The dynam, Return the first section ID in canonical order that's incomplete. The dynam, Return the first section ID in canonical order that's incomplete. The dynam - -### Community 421 - "Community 421" -Cohesion: 0.5 -Nodes (4): Mutable state for the dialog., Mutable state for the dialog., Mutable state for the dialog., SettingsState - -### Community 422 - "Community 422" -Cohesion: 0.5 -Nodes (4): _level_for_orphan(), Translate the engine-level enum into the rules.check_orphan input. The orph, ``_level_for_orphan`` returns None for non-project / non-run levels., test_level_for_orphan_returns_none_for_unmapped_levels() - -### Community 423 - "Community 423" -Cohesion: 0.5 -Nodes (4): PluginsConfig, ``plugins:`` block. Master opt-in for network-declaring plugins., ``plugins:`` block. Master opt-in for network-declaring plugins., test_plugins_config_default_allow_network_false() - -### Community 424 - "Community 424" -Cohesion: 0.5 -Nodes (3): _encode_files(), Encode a run-relative path tuple into the ``files`` JSON column., Insert a new ``QUEUED`` row for ``run_path``. ``files`` is the per-file - -### Community 425 - "Community 425" -Cohesion: 0.5 -Nodes (4): test_obscure_missing_binary_raises_auth(), test_obscure_returns_stdout_stripped(), obscure(), Return the rclone-obscured form of ``password``. rclone refuses raw passwor - -### Community 426 - "Community 426" -Cohesion: 0.5 -Nodes (3): _await_or_call(), ``/config`` router. Backend Spec §4.6.1, §4.9. Endpoints: * ``GET /config`` --, Invoke a saver that may be sync or async. - -### Community 427 - "Community 427" -Cohesion: 0.5 -Nodes (4): 4.3.1 The `constants/` package, 4.3.2 The `tray/` and `window/` packages, 4.3 Package Layout, code:block2 (exlab_wizard/) - -### Community 428 - "Community 428" -Cohesion: 0.5 -Nodes (3): Answer, Q: How are the example equipment, projects, run folders, and samples generated in --test mode of the wizard tray?, Source Nodes - -### Community 429 - "Community 429" -Cohesion: 0.5 -Nodes (4): The Phase 4 params default empty and drop out of the URL entirely., The Phase 4 params default empty and drop out of the URL entirely., The Phase 4 params default empty and drop out of the URL entirely., test_build_main_query_omits_empty_phase4_params() - -### Community 430 - "Community 430" -Cohesion: 0.5 -Nodes (4): ``file`` keeps '/' readable but encodes spaces; ``q`` encodes everything., ``file`` keeps '/' readable but encodes spaces; ``q`` encodes everything., ``file`` keeps '/' readable but encodes spaces; ``q`` encodes everything., test_build_main_query_encodes_file_path_and_search() - -### Community 431 - "Community 431" -Cohesion: 0.67 -Nodes (3): Suspended rows sort first, oldest started_at first (§9.5)., Suspended rows sort first, oldest started_at first (§9.5)., test_operations_modal_sort_suspended_first_oldest_first() - -### Community 432 - "Community 432" -Cohesion: 0.67 -Nodes (3): The phase enum order matches Frontend §10.1., The phase enum order matches Frontend §10.1., test_session_progress_phase_order_is_canonical() - -### Community 433 - "Community 433" -Cohesion: 0.67 -Nodes (3): An empty input has nothing to persist -- stay in the editor., An empty input has nothing to persist -- stay in the editor., test_commit_edit_with_empty_value_stays_editing_and_skips_save() - -### Community 434 - "Community 434" -Cohesion: 0.67 -Nodes (3): When ``running_plugins`` carries N/M, a sub-row dict is emitted. We assert, When ``running_plugins`` carries N/M, a sub-row dict is emitted. We assert, test_session_progress_plugin_sub_row_present() - -### Community 435 - "Community 435" -Cohesion: 0.67 -Nodes (3): The active phase has fraction 0.5 and ``is_active``., The active phase has fraction 0.5 and ``is_active``., test_session_progress_active_phase_marked() - -### Community 436 - "Community 436" -Cohesion: 0.67 -Nodes (3): Clicking *Set* opens the editor; *Cancel* must return to Not set., Clicking *Set* opens the editor; *Cancel* must return to Not set., test_begin_edit_from_not_set_enters_editing_remembering_not_set() - -### Community 437 - "Community 437" -Cohesion: 0.67 -Nodes (3): Clicking *Replace* opens the editor; *Cancel* must return to Set., Clicking *Replace* opens the editor; *Cancel* must return to Set., test_begin_edit_from_set_remembers_set_as_resting() - -### Community 438 - "Community 438" -Cohesion: 0.67 -Nodes (3): Banners exceed the 2-cap; overflow is reported., Banners exceed the 2-cap; overflow is reported., test_banner_stack_shows_visible_and_overflow_split() - -### Community 439 - "Community 439" -Cohesion: 0.67 -Nodes (3): Settings has nine sections (Frontend §7.2 + §7.9 operators). The ``operator, Settings has nine sections (Frontend §7.2 + §7.9 operators). The ``operator, test_settings_nine_sections_includes_operators() - -### Community 440 - "Community 440" -Cohesion: 0.67 -Nodes (3): Test runs add a TestRuns/ folder and TestRun_ leaf prefix., Test runs add a TestRuns/ folder and TestRun_ leaf prefix., test_wizard_run_preview_test_path_highlights() - -### Community 441 - "Community 441" -Cohesion: 0.67 -Nodes (3): Translation preserves the chip state., Translation preserves the chip state., test_main_chip_state_to_tree_filters_round_trip() - -### Community 442 - "Community 442" -Cohesion: 0.67 -Nodes (3): Three bullets describing what the app does. Redesign decision 2: bullets re, Three bullets describing what the app does. Redesign decision 2: bullets re, test_welcome_card_three_bullets() - -### Community 443 - "Community 443" -Cohesion: 0.67 -Nodes (3): First incomplete section is the first per canonical order., First incomplete section is the first per canonical order., test_settings_first_incomplete_returns_canonical_first() - -### Community 444 - "Community 444" -Cohesion: 0.67 -Nodes (3): Pre-flight: less than 100 MB free aborts (Frontend §10.5.4)., Pre-flight: less than 100 MB free aborts (Frontend §10.5.4)., test_wizard_project_preview_blocks_with_low_disk() - -### Community 445 - "Community 445" -Cohesion: 0.67 -Nodes (3): Frontend §4 mandates seven steps in a fixed order., Frontend §4 mandates seven steps in a fixed order., test_wizard_project_seven_steps() - -### Community 446 - "Community 446" -Cohesion: 0.67 -Nodes (3): Setup-incomplete banner uses ``--color-warning`` per Frontend §3.1.4., Setup-incomplete banner uses ``--color-warning`` per Frontend §3.1.4., test_main_setup_incomplete_banner_uses_warning() - -### Community 447 - "Community 447" -Cohesion: 0.67 -Nodes (3): Frontend §11.5: minimum 10 chars after trim., Frontend §11.5: minimum 10 chars after trim., test_problems_override_reason_min_length() - -### Community 448 - "Community 448" -Cohesion: 0.67 -Nodes (3): Step 1 requires a LIMS short_id., Step 1 requires a LIMS short_id., test_wizard_project_can_advance_blocks_until_lims_picked() - -### Community 449 - "Community 449" -Cohesion: 0.67 -Nodes (3): Whitespace is trimmed before length check., Whitespace is trimmed before length check., test_problems_override_reason_trims_whitespace() - -### Community 450 - "Community 450" -Cohesion: 0.67 -Nodes (3): Test-mode primary button uses ``warning`` color (Frontend §5.3)., Test-mode primary button uses ``warning`` color (Frontend §5.3)., test_wizard_run_test_button_uses_warning_color() - -### Community 451 - "Community 451" -Cohesion: 0.67 -Nodes (3): Frontend §11.5: maximum 500 chars after trim., Frontend §11.5: maximum 500 chars after trim., test_problems_override_reason_max_length() - -### Community 452 - "Community 452" -Cohesion: 0.67 -Nodes (3): Welcome card defaults autostart to on (Frontend §3.1.3)., Welcome card defaults autostart to on (Frontend §3.1.3)., test_welcome_card_spec_default_autostart_on() - -### Community 453 - "Community 453" -Cohesion: 0.67 -Nodes (3): Within 10 of the maximum -> near-limit warning., Within 10 of the maximum -> near-limit warning., test_problems_near_limit_flag() - -### Community 454 - "Community 454" -Cohesion: 0.67 -Nodes (3): Five problem-class chips per Backend §8.1.1-§8.1.5., Five problem-class chips per Backend §8.1.1-§8.1.5., test_problems_chip_definitions_match_spec() - -### Community 455 - "Community 455" -Cohesion: 0.67 -Nodes (3): Active default-on, Archived default-off, Test runs default-on., Active default-on, Archived default-off, Test runs default-on., test_main_default_chips_match_spec() - -### Community 457 - "Community 457" -Cohesion: 0.67 -Nodes (3): Series order is fixed (DESIGN.md absolute constraint)., Series order is fixed (DESIGN.md absolute constraint)., test_okabe_ito_series_order_is_fixed() - -### Community 458 - "Community 458" -Cohesion: 0.67 -Nodes (3): Type scale tokens are verbatim from DESIGN.md §02., Type scale tokens are verbatim from DESIGN.md §02., test_type_scale_matches_designmd() - -### Community 459 - "Community 459" -Cohesion: 0.67 -Nodes (3): Motion tokens (DESIGN.md §07)., Motion tokens (DESIGN.md §07)., test_motion_tokens_match_designmd() - -### Community 460 - "Community 460" -Cohesion: 0.67 -Nodes (3): Vermilion is reserved for the error / alert series (DESIGN.md §06)., Vermilion is reserved for the error / alert series (DESIGN.md §06)., test_vermilion_is_last_in_series() - -### Community 461 - "Community 461" -Cohesion: 0.67 -Nodes (3): All shadow definitions use ``rgba(0,54,96,...)`` (DESIGN.md §04)., All shadow definitions use ``rgba(0,54,96,...)`` (DESIGN.md §04)., test_shadows_are_navy_tinted() - -### Community 462 - "Community 462" -Cohesion: 0.67 -Nodes (3): Semantic tokens alias the Okabe-Ito palette per DESIGN.md §01., Semantic tokens alias the Okabe-Ito palette per DESIGN.md §01., test_semantic_aliases_are_okabe_ito() - -### Community 463 - "Community 463" -Cohesion: 0.67 -Nodes (3): Border radius tokens (DESIGN.md §04)., Border radius tokens (DESIGN.md §04)., test_radius_tokens_match_designmd() - -### Community 464 - "Community 464" -Cohesion: 0.67 -Nodes (3): Badge text variants are the documented darkened hexes (DESIGN.md §05)., Badge text variants are the documented darkened hexes (DESIGN.md §05)., test_badge_text_variants_are_wcag_aa() - -### Community 465 - "Community 465" -Cohesion: 0.67 -Nodes (3): Spacing tokens follow the 4px grid (DESIGN.md §03)., Spacing tokens follow the 4px grid (DESIGN.md §03)., test_spacing_scale_4px_grid() - -### Community 466 - "Community 466" -Cohesion: 0.67 -Nodes (3): Frontend rules (DESIGN.md): series 5 is OI_BLUE but only after 4 prior series., Frontend rules (DESIGN.md): series 5 is OI_BLUE but only after 4 prior series., test_no_blue_collision_in_series_first_six() - -### Community 467 - "Community 467" -Cohesion: 0.67 -Nodes (3): ``#F0E442`` is exposed as a token but never used for chrome. The chip strip, ``#F0E442`` is exposed as a token but never used for chrome. The chip strip, test_yellow_is_present_but_only_for_fills() - -### Community 468 - "Community 468" -Cohesion: 0.67 -Nodes (3): Frontend §2.1.4: warning is canonically ``--oi-orange``., Frontend §2.1.4: warning is canonically ``--oi-orange``., test_warning_token_is_oi_orange() - -### Community 469 - "Community 469" -Cohesion: 0.67 -Nodes (3): Alert text variants are the documented hexes (DESIGN.md §05)., Alert text variants are the documented hexes (DESIGN.md §05)., test_alert_text_variants_match_designmd() - -### Community 470 - "Community 470" -Cohesion: 0.67 -Nodes (3): Frontend §2.1.3 overrides DM Sans / DM Mono with IBM Plex / system mono., Frontend §2.1.3 overrides DM Sans / DM Mono with IBM Plex / system mono., test_typography_uses_frontend_override() - -### Community 473 - "Community 473" -Cohesion: 0.67 -Nodes (3): Map relpath -> bytes for README/creation.json/payload (no equipment.json)., _snapshot(), test_determinism() - -### Community 483 - "Community 483" -Cohesion: 0.67 -Nodes (3): A run whose parent project name is not a safe path segment (§3.2) is rejecte, A run whose parent project name is not a safe path segment (§3.2) is rejecte, test_validation_rejects_unsafe_project_name_for_runs() - -### Community 489 - "Community 489" -Cohesion: 0.67 -Nodes (3): fake_home(), Return a fake HOME under tmp_path; route ``Path.home()`` to it., Return a fake HOME under tmp_path; route ``Path.home()`` to it. - -### Community 491 - "Community 491" -Cohesion: 0.67 -Nodes (3): Return the ``readme_fields.json`` path under a run or project directory., Return the ``readme_fields.json`` path under a run or project directory., readme_fields_json_path() - -### Community 492 - "Community 492" -Cohesion: 0.67 -Nodes (3): Redesign §3.1: the ``enabled`` toggle is removed; old configs that carry it, Redesign §3.1: the ``enabled`` toggle is removed; old configs that carry it, test_orchestrator_legacy_enabled_field_rejected() - -### Community 493 - "Community 493" -Cohesion: 0.67 -Nodes (3): Redesign §3.1: the ``enabled`` toggle is removed; ``label`` and ``staging_ro, Redesign §3.1: the ``enabled`` toggle is removed; ``label`` and ``staging_ro, test_orchestrator_config_defaults() - -### Community 494 - "Community 494" -Cohesion: 0.67 -Nodes (3): They can be empty at load time (the setup-incomplete gate trips, not the Pyd, They can be empty at load time (the setup-incomplete gate trips, not the Pyd, test_orchestrator_label_and_staging_root_load_independently() - -### Community 495 - "Community 495" -Cohesion: 0.67 -Nodes (3): Install the rclone stub under ``tmp_path/bin`` and prepend to PATH., Install the rclone stub under ``tmp_path/bin`` and prepend to PATH., stub_dir() - -### Community 496 - "Community 496" -Cohesion: 0.67 -Nodes (3): Tell the stub to append every invocation's argv to a log file., Tell the stub to append every invocation's argv to a log file., record_argv() - -### Community 497 - "Community 497" -Cohesion: 0.67 -Nodes (3): 04 -- Border Radius & Shadows, Border Radius, Shadows - -### Community 498 - "Community 498" -Cohesion: 0.67 -Nodes (3): code:block3 (+-- 3px accent bar (color by category) ---------------------), code:css (.stat-card {), Stat Cards - -### Community 501 - "Community 501" -Cohesion: 0.67 -Nodes (3): 6.4.1 Suspend / resume flow, 6.4.2 Resume contract (what the plugin author must guarantee), 6.4 Plugin Input Escalation (`PluginInputRequired`) - -### Community 502 - "Community 502" -Cohesion: 0.67 -Nodes (3): 4.4.6 NASSyncClient and LIMSClient, code:python (class LIMSClient:), code:python (class NASSyncClient:) - -### Community 504 - "Community 504" -Cohesion: 0.67 -Nodes (3): Phase 4 adds optional file / q / density params to the same URL model., Phase 4 adds optional file / q / density params to the same URL model., test_build_main_query_includes_file_q_density() - -## Knowledge Gaps -- **4648 isolated node(s):** `Tests for the top-level exception hierarchy in ``exlab_wizard.errors``. These t`, `Unit tests for ``exlab_wizard.paths``. OS-aware directory helpers + equipment-i`, `Construct a minimal valid EquipmentConfig for setup-state fixtures.`, `Minimal orchestrator identity (Redesign §3.1) for setup-state fixtures.`, `Construct a fully READY Config (paths + equipment + LIMS endpoint+email). R` (+4643 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **189 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `ConfigError` connect `Community 10` to `Community 0`, `Community 1`, `Community 256`, `Community 3`, `Community 4`, `Community 5`, `Community 261`, `Community 8`, `Community 137`, `Community 13`, `Community 15`, `Community 19`, `Community 292`, `Community 37`, `Community 38`, `Community 423`, `Community 174`, `Community 75`, `Community 78`, `Community 211`, `Community 89`, `Community 98`, `Community 108`, `Community 111`, `Community 378`?** - _High betweenness centrality (0.079) - this node is a cross-community bridge._ -- **Why does `Config` connect `Community 0` to `Community 1`, `Community 3`, `Community 261`, `Community 5`, `Community 135`, `Community 6`, `Community 8`, `Community 10`, `Community 9`, `Community 13`, `Community 14`, `Community 278`, `Community 25`, `Community 30`, `Community 37`, `Community 38`, `Community 421`, `Community 43`, `Community 60`, `Community 67`, `Community 95`, `Community 121`?** - _High betweenness centrality (0.066) - this node is a cross-community bridge._ -- **Why does `_UiSpy` connect `Community 14` to `Community 0`, `Community 2`, `Community 131`, `Community 18`, `Community 23`, `Community 158`, `Community 33`, `Community 170`, `Community 171`, `Community 172`, `Community 173`, `Community 180`, `Community 54`, `Community 69`, `Community 86`, `Community 351`, `Community 106`, `Community 107`, `Community 125`?** - _High betweenness centrality (0.059) - this node is a cross-community bridge._ -- **Are the 120 inferred relationships involving `create_app()` (e.g. with `test_get_setup_status_reports_configure_rclone_remote()` and `test_get_setup_status_ready()`) actually correct?** - _`create_app()` has 120 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 120 inferred relationships involving `AppDependencies` (e.g. with `_RecordingComponent` and `_RecordingValidator`) actually correct?** - _`AppDependencies` has 120 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 78 inferred relationships involving `NASSyncClient` (e.g. with `_InMemoryKeyring` and `_StubAbout`) actually correct?** - _`NASSyncClient` has 78 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 90 inferred relationships involving `SyncStateWriter` (e.g. with `_StubJobRow` and `_StubNasSync`) actually correct?** - _`SyncStateWriter` has 90 INFERRED edges - model-reasoned connections that need verification._ \ No newline at end of file diff --git a/graphify-out/cache/ast/0145ed68b560fed9c726b007b272c657295ee598cad594469e30e94657162bbc.json b/graphify-out/cache/ast/0145ed68b560fed9c726b007b272c657295ee598cad594469e30e94657162bbc.json deleted file mode 100644 index 703607c..0000000 --- a/graphify-out/cache/ast/0145ed68b560fed9c726b007b272c657295ee598cad594469e30e94657162bbc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/__init__.py", "source_location": "L1"}, {"id": "readme_init_rationale_1", "label": "README generation package. Backend Spec \u00a710.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_init_py", "target": "exlab_wizard_readme_generator", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "readme_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/02924e3223b207d028871711e78c3da2b4ec6978c4132b1a292f98614bfd1ddc.json b/graphify-out/cache/ast/02924e3223b207d028871711e78c3da2b4ec6978c4132b1a292f98614bfd1ddc.json deleted file mode 100644 index 3a211e1..0000000 --- a/graphify-out/cache/ast/02924e3223b207d028871711e78c3da2b4ec6978c4132b1a292f98614bfd1ddc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_templates_py", "label": "templates.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L1"}, {"id": "pages_templates_templatesummary", "label": "TemplateSummary", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L49"}, {"id": "pages_templates_templatequestion", "label": "TemplateQuestion", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L66"}, {"id": "pages_templates_template_questions", "label": "template_questions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L95"}, {"id": "pages_templates_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L145"}, {"id": "pages_templates_create_template", "label": "create_template()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L191"}, {"id": "pages_templates_render_question_field", "label": "render_question_field()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L244"}, {"id": "pages_templates_render_template_manager", "label": "render_template_manager()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L296"}, {"id": "pages_templates_rationale_1", "label": "Template manager page (Frontend Spec \u00a74 step 2, \u00a75 step 2). Two operations the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L1"}, {"id": "pages_templates_rationale_50", "label": "One row in the template list. ``name`` is the template directory name (what", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L50"}, {"id": "pages_templates_rationale_67", "label": "One Copier question parsed from a template's ``copier.yml``. ``kind`` is no", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L67"}, {"id": "pages_templates_rationale_96", "label": "Parse the operator-answerable questions out of a ``copier.yml`` body. Handl", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L96"}, {"id": "pages_templates_rationale_150", "label": "Return the templates under ``templates_dir``, optionally filtered. A templa", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py", "source_location": "L150"}, {"id": "pages_templates_rationale_199", "label": "Scaffold a new minimal Copier template under ``templates_dir``. Writes `` ``current_state == 'synced'``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L109"}, {"id": "orchestrator_test_staging_query_rationale_122", "label": "A run whose ``sync_state.json`` carries ``cleared_at`` rolls up to ``cleared``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L122"}, {"id": "orchestrator_test_staging_query_rationale_136", "label": "A re-modified file (signature cleared -> unverified) flips synced back to syncin", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L136"}, {"id": "orchestrator_test_staging_query_rationale_153", "label": "A run leaf with no cache metadata is still listed (ingest.json gone).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L153"}, {"id": "orchestrator_test_staging_query_rationale_178", "label": "The .exlab-wizard subtree is metadata, not staged data.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L178"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "exlab_wizard_cache_sync_state_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "exlab_wizard_orchestrator_staging_query", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_seed_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_unset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L66", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_includes_test_runs_under_testruns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L99", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L162", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L177", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_uses_explicit_staging_root_param", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "target": "orchestrator_test_staging_query_test_list_staged_runs_sets_last_activity_from_directory_mtime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L197", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_missing", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L67", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows", "target": "orchestrator_test_staging_query_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L77", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L78", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_includes_test_runs_under_testruns", "target": "orchestrator_test_staging_query_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L93", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_includes_test_runs_under_testruns", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L94", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", "target": "orchestrator_test_staging_query_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L101", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L104", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", "target": "orchestrator_test_staging_query_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L110", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L117", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", "target": "orchestrator_test_staging_query_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L123", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L131", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "target": "orchestrator_test_staging_query_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L137", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L145", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L157", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", "target": "orchestrator_test_staging_query_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L166", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L173", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", "target": "orchestrator_test_staging_query_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L181", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L185", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_uses_explicit_staging_root_param", "target": "orchestrator_test_staging_query_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L191", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_uses_explicit_staging_root_param", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L192", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_sets_last_activity_from_directory_mtime", "target": "orchestrator_test_staging_query_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L198", "weight": 1.0}, {"source": "orchestrator_test_staging_query_test_list_staged_runs_sets_last_activity_from_directory_mtime", "target": "orchestrator_test_staging_query_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L199", "weight": 1.0}, {"source": "orchestrator_test_staging_query_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_staging_query_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L1", "weight": 1.0}, {"source": "orchestrator_test_staging_query_rationale_100", "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L100", "weight": 1.0}, {"source": "orchestrator_test_staging_query_rationale_109", "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L109", "weight": 1.0}, {"source": "orchestrator_test_staging_query_rationale_122", "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L122", "weight": 1.0}, {"source": "orchestrator_test_staging_query_rationale_136", "target": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L136", "weight": 1.0}, {"source": "orchestrator_test_staging_query_rationale_153", "target": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L153", "weight": 1.0}, {"source": "orchestrator_test_staging_query_rationale_178", "target": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L178", "weight": 1.0}], "raw_calls": [{"caller_nid": "orchestrator_test_staging_query_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L30"}, {"caller_nid": "orchestrator_test_staging_query_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L31"}, {"caller_nid": "orchestrator_test_staging_query_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L33"}, {"caller_nid": "orchestrator_test_staging_query_config", "callee": "OrchestratorStagingCleanup", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L34"}, {"caller_nid": "orchestrator_test_staging_query_seed_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L50"}, {"caller_nid": "orchestrator_test_staging_query_seed_run", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L52"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_unset", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L62"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_unset", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L62"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_unset", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L63"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_missing", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L68"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L78"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L80"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L82"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_includes_test_runs_under_testruns", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L94"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_includes_test_runs_under_testruns", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L95"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L102"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L103"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L103"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L104"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L111"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L112"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L113"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L117"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L124"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L125"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L126"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L130"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", "callee": "mark_cleared", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L130"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L131"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L138"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L140"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L141"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L145"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L148"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L148"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L149"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L155"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L156"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L157"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L158"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", "callee": "time", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L169"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", "callee": "utime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L170"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", "callee": "utime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L171"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L173"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L174"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L174"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L183"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L184"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L185"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_uses_explicit_staging_root_param", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L193"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_uses_explicit_staging_root_param", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L194"}, {"caller_nid": "orchestrator_test_staging_query_test_list_staged_runs_sets_last_activity_from_directory_mtime", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py", "source_location": "L199"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1989c806132f27043cb1191ff1461f65afca598434ebb96efce73db5992468bc.json b/graphify-out/cache/ast/1989c806132f27043cb1191ff1461f65afca598434ebb96efce73db5992468bc.json deleted file mode 100644 index 6ecf252..0000000 --- a/graphify-out/cache/ast/1989c806132f27043cb1191ff1461f65afca598434ebb96efce73db5992468bc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_configs_readme_md", "label": "README.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/configs/README.md", "source_location": "L1"}], "edges": [], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/1a1be1aac4868ad12ac50f2d767415eb3adbec1f5062bcc4683eeb5a8945f9aa.json b/graphify-out/cache/ast/1a1be1aac4868ad12ac50f2d767415eb3adbec1f5062bcc4683eeb5a8945f9aa.json deleted file mode 100644 index 3b00f0c..0000000 --- a/graphify-out/cache/ast/1a1be1aac4868ad12ac50f2d767415eb3adbec1f5062bcc4683eeb5a8945f9aa.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "label": "test_schemas.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L1"}, {"id": "api_test_schemas_minimal_creation_json", "label": "_minimal_creation_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L53"}, {"id": "api_test_schemas_test_creation_json_round_trips_through_msgspec", "label": "test_creation_json_round_trips_through_msgspec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L87"}, {"id": "api_test_schemas_test_creation_json_round_trip_preserves_lims_project_subfields", "label": "test_creation_json_round_trip_preserves_lims_project_subfields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L94"}, {"id": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", "label": "test_creation_json_round_trip_preserves_plugins_applied_with_isolation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L110"}, {"id": "api_test_schemas_test_creation_json_round_trip_preserves_orchestrator_block", "label": "test_creation_json_round_trip_preserves_orchestrator_block()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L131"}, {"id": "api_test_schemas_test_creation_json_orchestrator_block_omitted_when_none", "label": "test_creation_json_orchestrator_block_omitted_when_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L144"}, {"id": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field", "label": "test_orchestrator_block_carries_relay_discovery_field()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L151"}, {"id": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none", "label": "test_orchestrator_block_relay_field_defaults_to_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L170"}, {"id": "api_test_schemas_test_creation_json_default_sync_status_is_pending", "label": "test_creation_json_default_sync_status_is_pending()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L183"}, {"id": "api_test_schemas_test_creation_json_default_validation_overrides_is_empty_list", "label": "test_creation_json_default_validation_overrides_is_empty_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L188"}, {"id": "api_test_schemas_test_creation_json_missing_required_field_raises", "label": "test_creation_json_missing_required_field_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L198"}, {"id": "api_test_schemas_test_creation_json_missing_lims_project_raises", "label": "test_creation_json_missing_lims_project_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L206"}, {"id": "api_test_schemas_test_creation_json_unknown_field_is_ignored_on_decode", "label": "test_creation_json_unknown_field_is_ignored_on_decode()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L232"}, {"id": "api_test_schemas_test_override_entry_to_dict_emits_revoked_field_explicitly", "label": "test_override_entry_to_dict_emits_revoked_field_explicitly()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L268"}, {"id": "api_test_schemas_test_tombstone_entry_to_dict_emits_revoked_field_explicitly", "label": "test_tombstone_entry_to_dict_emits_revoked_field_explicitly()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L283"}, {"id": "api_test_schemas_test_parse_validation_override_entry_returns_override_for_revoked_false", "label": "test_parse_validation_override_entry_returns_override_for_revoked_false()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L296"}, {"id": "api_test_schemas_test_parse_validation_override_entry_returns_tombstone_for_revoked_true", "label": "test_parse_validation_override_entry_returns_tombstone_for_revoked_true()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L311"}, {"id": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "label": "test_creation_json_decodes_validation_overrides_as_list_of_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L326"}, {"id": "api_test_schemas_test_readme_fields_json_round_trips", "label": "test_readme_fields_json_round_trips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L363"}, {"id": "api_test_schemas_test_readme_fields_json_optional_fields_default_to_empty", "label": "test_readme_fields_json_optional_fields_default_to_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L379"}, {"id": "api_test_schemas_test_readme_fields_json_round_trip_preserves_custom_fields", "label": "test_readme_fields_json_round_trip_preserves_custom_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L391"}, {"id": "api_test_schemas_test_readme_fields_json_missing_required_field_raises", "label": "test_readme_fields_json_missing_required_field_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L410"}, {"id": "api_test_schemas_test_equipment_json_round_trips", "label": "test_equipment_json_round_trips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L422"}, {"id": "api_test_schemas_test_equipment_json_missing_required_field_raises", "label": "test_equipment_json_missing_required_field_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L437"}, {"id": "api_test_schemas_test_test_runs_json_round_trips", "label": "test_test_runs_json_round_trips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L449"}, {"id": "api_test_schemas_test_test_runs_json_missing_required_field_raises", "label": "test_test_runs_json_missing_required_field_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L462"}, {"id": "api_test_schemas_creation_json_payload", "label": "_creation_json_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L478"}, {"id": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format", "label": "test_strenum_field_round_trip_preserves_wire_format()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L556"}, {"id": "api_test_schemas_test_lims_project_block_source_round_trip", "label": "test_lims_project_block_source_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L601"}, {"id": "api_test_schemas_test_template_block_run_scope_round_trip", "label": "test_template_block_run_scope_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L633"}, {"id": "api_test_schemas_test_plugin_applied_status_round_trip", "label": "test_plugin_applied_status_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L659"}, {"id": "api_test_schemas_test_test_runs_json_default_run_kind_serializes_as_test", "label": "test_test_runs_json_default_run_kind_serializes_as_test()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L675"}, {"id": "api_test_schemas_test_test_runs_json_explicit_run_kind_round_trips", "label": "test_test_runs_json_explicit_run_kind_round_trips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L692"}, {"id": "api_test_schemas_test_creation_json_default_sync_status_omitted_on_encode", "label": "test_creation_json_default_sync_status_omitted_on_encode()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L706"}, {"id": "api_test_schemas_test_lims_project_block_default_source_omitted_on_encode", "label": "test_lims_project_block_default_source_omitted_on_encode()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L716"}, {"id": "api_test_schemas_test_lims_project_status_round_trip", "label": "test_lims_project_status_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L747"}, {"id": "api_test_schemas_rationale_1", "label": "Tests for the msgspec.Struct cache-file types in ``exlab_wizard.api.schemas``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L1"}, {"id": "api_test_schemas_rationale_54", "label": "Build a minimal valid CreationJson at the current version for round-trip tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L54"}, {"id": "api_test_schemas_rationale_145", "label": "Spec \u00a711.3: orchestrator is *absent* (not null) in single-equipment mode.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L145"}, {"id": "api_test_schemas_rationale_152", "label": "Redesign \u00a73.3: pushed creation.json carries the equipment label so the orche", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L152"}, {"id": "api_test_schemas_rationale_171", "label": "Older creation.json files (no relay field) decode cleanly.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L171"}, {"id": "api_test_schemas_rationale_207", "label": "``lims_project`` is required at the project- and run-levels for v1.8.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L207"}, {"id": "api_test_schemas_rationale_233", "label": "forbid_unknown_fields=False -- unknown fields are silently dropped at decode", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L233"}, {"id": "api_test_schemas_rationale_269", "label": "Spec \u00a711.3: ``revoked`` is required on every entry. ``omit_defaults`` would", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L269"}, {"id": "api_test_schemas_rationale_479", "label": "Build a minimal valid creation.json JSON document for round-trip tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L479"}, {"id": "api_test_schemas_rationale_563", "label": "Decode an old-format JSON document (bare string at ``field``) into the typed", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L563"}, {"id": "api_test_schemas_rationale_676", "label": "The ``run_kind`` default switched from bare ``\"test\"`` to ``RunKind.TEST``;", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L676"}, {"id": "api_test_schemas_rationale_707", "label": "``SyncStatus.PENDING`` is the declared default; ``omit_defaults=True`` drops", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L707"}, {"id": "api_test_schemas_rationale_717", "label": "``LIMSProjectSource.LIVE`` is the declared default; ``omit_defaults=True`` d", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L717"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_minimal_creation_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_round_trips_through_msgspec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_round_trip_preserves_lims_project_subfields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L94", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L110", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_round_trip_preserves_orchestrator_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L131", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_orchestrator_block_omitted_when_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L144", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L151", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L170", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_default_sync_status_is_pending", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L183", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_default_validation_overrides_is_empty_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L188", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_missing_required_field_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L198", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_missing_lims_project_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L206", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_unknown_field_is_ignored_on_decode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L232", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_override_entry_to_dict_emits_revoked_field_explicitly", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L268", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_tombstone_entry_to_dict_emits_revoked_field_explicitly", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L283", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_parse_validation_override_entry_returns_override_for_revoked_false", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L296", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_parse_validation_override_entry_returns_tombstone_for_revoked_true", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L311", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L326", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_readme_fields_json_round_trips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L363", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_readme_fields_json_optional_fields_default_to_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L379", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_readme_fields_json_round_trip_preserves_custom_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L391", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_readme_fields_json_missing_required_field_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L410", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_equipment_json_round_trips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L422", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_equipment_json_missing_required_field_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L437", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_test_runs_json_round_trips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L449", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_test_runs_json_missing_required_field_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L462", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_creation_json_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L478", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L556", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_lims_project_block_source_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L601", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_template_block_run_scope_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L633", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_plugin_applied_status_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L659", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_test_runs_json_default_run_kind_serializes_as_test", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L675", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_test_runs_json_explicit_run_kind_round_trips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L692", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_creation_json_default_sync_status_omitted_on_encode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L706", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_lims_project_block_default_source_omitted_on_encode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L716", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "target": "api_test_schemas_test_lims_project_status_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L747", "weight": 1.0}, {"source": "api_test_schemas_test_creation_json_round_trips_through_msgspec", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L88", "weight": 1.0}, {"source": "api_test_schemas_test_creation_json_round_trip_preserves_lims_project_subfields", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L95", "weight": 1.0}, {"source": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L111", "weight": 1.0}, {"source": "api_test_schemas_test_creation_json_round_trip_preserves_orchestrator_block", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L132", "weight": 1.0}, {"source": "api_test_schemas_test_creation_json_orchestrator_block_omitted_when_none", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L146", "weight": 1.0}, {"source": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L156", "weight": 1.0}, {"source": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L172", "weight": 1.0}, {"source": "api_test_schemas_test_creation_json_default_sync_status_is_pending", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L184", "weight": 1.0}, {"source": "api_test_schemas_test_creation_json_default_validation_overrides_is_empty_list", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L189", "weight": 1.0}, {"source": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L327", "weight": 1.0}, {"source": "api_test_schemas_test_creation_json_default_sync_status_omitted_on_encode", "target": "api_test_schemas_minimal_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L709", "weight": 1.0}, {"source": "api_test_schemas_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_schemas_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L1", "weight": 1.0}, {"source": "api_test_schemas_rationale_54", "target": "api_test_schemas_minimal_creation_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L54", "weight": 1.0}, {"source": "api_test_schemas_rationale_145", "target": "api_test_schemas_test_creation_json_orchestrator_block_omitted_when_none", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L145", "weight": 1.0}, {"source": "api_test_schemas_rationale_152", "target": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L152", "weight": 1.0}, {"source": "api_test_schemas_rationale_171", "target": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L171", "weight": 1.0}, {"source": "api_test_schemas_rationale_207", "target": "api_test_schemas_test_creation_json_missing_lims_project_raises", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L207", "weight": 1.0}, {"source": "api_test_schemas_rationale_233", "target": "api_test_schemas_test_creation_json_unknown_field_is_ignored_on_decode", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L233", "weight": 1.0}, {"source": "api_test_schemas_rationale_269", "target": "api_test_schemas_test_override_entry_to_dict_emits_revoked_field_explicitly", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L269", "weight": 1.0}, {"source": "api_test_schemas_rationale_479", "target": "api_test_schemas_creation_json_payload", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L479", "weight": 1.0}, {"source": "api_test_schemas_rationale_563", "target": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L563", "weight": 1.0}, {"source": "api_test_schemas_rationale_676", "target": "api_test_schemas_test_test_runs_json_default_run_kind_serializes_as_test", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L676", "weight": 1.0}, {"source": "api_test_schemas_rationale_707", "target": "api_test_schemas_test_creation_json_default_sync_status_omitted_on_encode", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L707", "weight": 1.0}, {"source": "api_test_schemas_rationale_717", "target": "api_test_schemas_test_lims_project_block_default_source_omitted_on_encode", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L717", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_schemas_minimal_creation_json", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L55"}, {"caller_nid": "api_test_schemas_minimal_creation_json", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L61"}, {"caller_nid": "api_test_schemas_minimal_creation_json", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L66"}, {"caller_nid": "api_test_schemas_minimal_creation_json", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L73"}, {"caller_nid": "api_test_schemas_minimal_creation_json", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L78"}, {"caller_nid": "api_test_schemas_minimal_creation_json", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L79"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trips_through_msgspec", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L89"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trips_through_msgspec", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L90"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_lims_project_subfields", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L96"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_lims_project_subfields", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L104"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_lims_project_subfields", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L105"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", "callee": "PluginApplied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L113"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", "callee": "PluginIsolation", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L118"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L122"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L123"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L124"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_orchestrator_block", "callee": "OrchestratorBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L133"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_orchestrator_block", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L137"}, {"caller_nid": "api_test_schemas_test_creation_json_round_trip_preserves_orchestrator_block", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L138"}, {"caller_nid": "api_test_schemas_test_creation_json_orchestrator_block_omitted_when_none", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L147"}, {"caller_nid": "api_test_schemas_test_creation_json_orchestrator_block_omitted_when_none", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L147"}, {"caller_nid": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field", "callee": "OrchestratorBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L157"}, {"caller_nid": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L164"}, {"caller_nid": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L165"}, {"caller_nid": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none", "callee": "OrchestratorBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L173"}, {"caller_nid": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L177"}, {"caller_nid": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L178"}, {"caller_nid": "api_test_schemas_test_creation_json_missing_required_field_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L202"}, {"caller_nid": "api_test_schemas_test_creation_json_missing_required_field_raises", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L203"}, {"caller_nid": "api_test_schemas_test_creation_json_missing_lims_project_raises", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L208"}, {"caller_nid": "api_test_schemas_test_creation_json_missing_lims_project_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L228"}, {"caller_nid": "api_test_schemas_test_creation_json_missing_lims_project_raises", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L229"}, {"caller_nid": "api_test_schemas_test_creation_json_unknown_field_is_ignored_on_decode", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L235"}, {"caller_nid": "api_test_schemas_test_creation_json_unknown_field_is_ignored_on_decode", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L258"}, {"caller_nid": "api_test_schemas_test_override_entry_to_dict_emits_revoked_field_explicitly", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L271"}, {"caller_nid": "api_test_schemas_test_override_entry_to_dict_emits_revoked_field_explicitly", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L278"}, {"caller_nid": "api_test_schemas_test_tombstone_entry_to_dict_emits_revoked_field_explicitly", "callee": "TombstoneEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L284"}, {"caller_nid": "api_test_schemas_test_tombstone_entry_to_dict_emits_revoked_field_explicitly", "callee": "tombstone_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L291"}, {"caller_nid": "api_test_schemas_test_parse_validation_override_entry_returns_override_for_revoked_false", "callee": "parse_validation_override_entry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L297"}, {"caller_nid": "api_test_schemas_test_parse_validation_override_entry_returns_override_for_revoked_false", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L307"}, {"caller_nid": "api_test_schemas_test_parse_validation_override_entry_returns_tombstone_for_revoked_true", "callee": "parse_validation_override_entry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L312"}, {"caller_nid": "api_test_schemas_test_parse_validation_override_entry_returns_tombstone_for_revoked_true", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L322"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L329"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L330"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "tombstone_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L338"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "TombstoneEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L339"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L349"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L350"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L351"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "parse_validation_override_entry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L352"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "parse_validation_override_entry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L353"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L354"}, {"caller_nid": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L355"}, {"caller_nid": "api_test_schemas_test_readme_fields_json_round_trips", "callee": "ReadmeFieldsJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L364"}, {"caller_nid": "api_test_schemas_test_readme_fields_json_round_trips", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L374"}, {"caller_nid": "api_test_schemas_test_readme_fields_json_round_trips", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L375"}, {"caller_nid": "api_test_schemas_test_readme_fields_json_optional_fields_default_to_empty", "callee": "ReadmeFieldsJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L380"}, {"caller_nid": "api_test_schemas_test_readme_fields_json_round_trip_preserves_custom_fields", "callee": "ReadmeFieldsJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L392"}, {"caller_nid": "api_test_schemas_test_readme_fields_json_round_trip_preserves_custom_fields", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L402"}, {"caller_nid": "api_test_schemas_test_readme_fields_json_round_trip_preserves_custom_fields", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L403"}, {"caller_nid": "api_test_schemas_test_readme_fields_json_missing_required_field_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L413"}, {"caller_nid": "api_test_schemas_test_readme_fields_json_missing_required_field_raises", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L414"}, {"caller_nid": "api_test_schemas_test_equipment_json_round_trips", "callee": "EquipmentJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L423"}, {"caller_nid": "api_test_schemas_test_equipment_json_round_trips", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L432"}, {"caller_nid": "api_test_schemas_test_equipment_json_round_trips", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L433"}, {"caller_nid": "api_test_schemas_test_equipment_json_missing_required_field_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L440"}, {"caller_nid": "api_test_schemas_test_equipment_json_missing_required_field_raises", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L441"}, {"caller_nid": "api_test_schemas_test_test_runs_json_round_trips", "callee": "RunsTestMarkerJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L450"}, {"caller_nid": "api_test_schemas_test_test_runs_json_round_trips", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L456"}, {"caller_nid": "api_test_schemas_test_test_runs_json_round_trips", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L457"}, {"caller_nid": "api_test_schemas_test_test_runs_json_missing_required_field_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L465"}, {"caller_nid": "api_test_schemas_test_test_runs_json_missing_required_field_raises", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L466"}, {"caller_nid": "api_test_schemas_creation_json_payload", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L502"}, {"caller_nid": "api_test_schemas_creation_json_payload", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L503"}, {"caller_nid": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format", "callee": "build_payload", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L567"}, {"caller_nid": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L568"}, {"caller_nid": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L569"}, {"caller_nid": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L572"}, {"caller_nid": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L573"}, {"caller_nid": "api_test_schemas_test_lims_project_block_source_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L604"}, {"caller_nid": "api_test_schemas_test_lims_project_block_source_round_trip", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L612"}, {"caller_nid": "api_test_schemas_test_lims_project_block_source_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L615"}, {"caller_nid": "api_test_schemas_test_template_block_run_scope_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L634"}, {"caller_nid": "api_test_schemas_test_template_block_run_scope_round_trip", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L642"}, {"caller_nid": "api_test_schemas_test_template_block_run_scope_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L645"}, {"caller_nid": "api_test_schemas_test_template_block_run_scope_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L646"}, {"caller_nid": "api_test_schemas_test_plugin_applied_status_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L660"}, {"caller_nid": "api_test_schemas_test_plugin_applied_status_round_trip", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L668"}, {"caller_nid": "api_test_schemas_test_plugin_applied_status_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L671"}, {"caller_nid": "api_test_schemas_test_plugin_applied_status_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L672"}, {"caller_nid": "api_test_schemas_test_test_runs_json_default_run_kind_serializes_as_test", "callee": "RunsTestMarkerJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L680"}, {"caller_nid": "api_test_schemas_test_test_runs_json_default_run_kind_serializes_as_test", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L686"}, {"caller_nid": "api_test_schemas_test_test_runs_json_default_run_kind_serializes_as_test", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L688"}, {"caller_nid": "api_test_schemas_test_test_runs_json_explicit_run_kind_round_trips", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L693"}, {"caller_nid": "api_test_schemas_test_test_runs_json_explicit_run_kind_round_trips", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L702"}, {"caller_nid": "api_test_schemas_test_creation_json_default_sync_status_omitted_on_encode", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L710"}, {"caller_nid": "api_test_schemas_test_creation_json_default_sync_status_omitted_on_encode", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L712"}, {"caller_nid": "api_test_schemas_test_lims_project_block_default_source_omitted_on_encode", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L719"}, {"caller_nid": "api_test_schemas_test_lims_project_block_default_source_omitted_on_encode", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L724"}, {"caller_nid": "api_test_schemas_test_lims_project_block_default_source_omitted_on_encode", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L726"}, {"caller_nid": "api_test_schemas_test_lims_project_status_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L751"}, {"caller_nid": "api_test_schemas_test_lims_project_status_round_trip", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L761"}, {"caller_nid": "api_test_schemas_test_lims_project_status_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L764"}, {"caller_nid": "api_test_schemas_test_lims_project_status_round_trip", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py", "source_location": "L765"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1a3d4aa334c23aef4db3906fb5f53a50b436a3f705360abd0e17027bc65d09da.json b/graphify-out/cache/ast/1a3d4aa334c23aef4db3906fb5f53a50b436a3f705360abd0e17027bc65d09da.json deleted file mode 100644 index e662bd5..0000000 --- a/graphify-out/cache/ast/1a3d4aa334c23aef4db3906fb5f53a50b436a3f705360abd0e17027bc65d09da.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "label": "schemas.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L1"}, {"id": "api_schemas_limsprojectblock", "label": "LimsProjectBlock", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L82"}, {"id": "struct", "label": "Struct", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_schemas_templateblock", "label": "TemplateBlock", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L102"}, {"id": "api_schemas_pluginisolation", "label": "PluginIsolation", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L118"}, {"id": "api_schemas_pluginapplied", "label": "PluginApplied", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L130"}, {"id": "api_schemas_pathsblock", "label": "PathsBlock", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L148"}, {"id": "api_schemas_orchestratorblock", "label": "OrchestratorBlock", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L159"}, {"id": "api_schemas_overrideentry", "label": "OverrideEntry", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L190"}, {"id": "api_schemas_tombstoneentry", "label": "TombstoneEntry", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L212"}, {"id": "api_schemas_override_entry_to_dict", "label": "override_entry_to_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L232"}, {"id": "api_schemas_tombstone_entry_to_dict", "label": "tombstone_entry_to_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L242"}, {"id": "api_schemas_parse_validation_override_entry", "label": "parse_validation_override_entry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L249"}, {"id": "api_schemas_creationjson", "label": "CreationJson", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L271"}, {"id": "api_schemas_readmefieldsjson", "label": "ReadmeFieldsJson", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L309"}, {"id": "api_schemas_equipmentjson", "label": "EquipmentJson", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L330"}, {"id": "api_schemas_testrunsjson", "label": "TestRunsJson", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L351"}, {"id": "api_schemas_rationale_1", "label": "msgspec.Struct types for the ExLab-Wizard cache files. This module is the singl", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L1"}, {"id": "api_schemas_rationale_87", "label": "LIMS-side project identity captured at creation time. Spec \u00a711.3. Required", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L87"}, {"id": "api_schemas_rationale_107", "label": "Template provenance captured at creation time. Spec \u00a711.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L107"}, {"id": "api_schemas_rationale_123", "label": "Plugin worker isolation telemetry. Spec \u00a76.2.4 / \u00a711.3 (added 1.3).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L123"}, {"id": "api_schemas_rationale_135", "label": "Per-plugin invocation record written into ``plugins_applied``. Spec \u00a76.2.4", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L135"}, {"id": "api_schemas_rationale_153", "label": "Resolved on-disk paths captured at creation time. Spec \u00a711.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L153"}, {"id": "api_schemas_rationale_164", "label": "Orchestrator-mode metadata. Spec \u00a711.3 / \u00a713 / Redesign Spec \u00a73.3. Always p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L164"}, {"id": "api_schemas_rationale_195", "label": "Operator-recorded validation override entry. Spec \u00a711.3. ``revoked`` is ``F", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L195"}, {"id": "api_schemas_rationale_217", "label": "Tombstone entry that revokes a prior override by ``id``. Spec \u00a711.3. ``revo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L217"}, {"id": "api_schemas_rationale_233", "label": "Serialize an ``OverrideEntry`` to a wire-form dict. Uses ``msgspec.structs.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L233"}, {"id": "api_schemas_rationale_243", "label": "Serialize a ``TombstoneEntry`` to a wire-form dict. Mirrors ``override_entry", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L243"}, {"id": "api_schemas_rationale_252", "label": "Inspect ``entry[\"revoked\"]`` and ``entry[\"revokes\"]`` to decide which Struct", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L252"}, {"id": "api_schemas_rationale_276", "label": "Top-level ``creation.json`` payload at schema version 1.8. Reading: ``msgsp", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L276"}, {"id": "api_schemas_rationale_314", "label": "``readme_fields.json`` at schema version 1.1. Spec \u00a711.4.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L314"}, {"id": "api_schemas_rationale_335", "label": "``equipment.json`` at schema version 1.0. Spec \u00a711.4.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L335"}, {"id": "api_schemas_rationale_356", "label": "``test_runs.json`` marker at schema version 1.0. Spec \u00a711.4.2. Filename ret", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L356"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "exlab_wizard_cache_sync_state_schema", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_limsprojectblock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L82", "weight": 1.0}, {"source": "api_schemas_limsprojectblock", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L82", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_templateblock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L102", "weight": 1.0}, {"source": "api_schemas_templateblock", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_pluginisolation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L118", "weight": 1.0}, {"source": "api_schemas_pluginisolation", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L118", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_pluginapplied", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L130", "weight": 1.0}, {"source": "api_schemas_pluginapplied", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L130", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_pathsblock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L148", "weight": 1.0}, {"source": "api_schemas_pathsblock", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L148", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_orchestratorblock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L159", "weight": 1.0}, {"source": "api_schemas_orchestratorblock", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L159", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_overrideentry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L190", "weight": 1.0}, {"source": "api_schemas_overrideentry", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L190", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_tombstoneentry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L212", "weight": 1.0}, {"source": "api_schemas_tombstoneentry", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L212", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_override_entry_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L232", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_tombstone_entry_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L242", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_parse_validation_override_entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L249", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_creationjson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L271", "weight": 1.0}, {"source": "api_schemas_creationjson", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L271", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_readmefieldsjson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L309", "weight": 1.0}, {"source": "api_schemas_readmefieldsjson", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L309", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_equipmentjson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L330", "weight": 1.0}, {"source": "api_schemas_equipmentjson", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L330", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "target": "api_schemas_testrunsjson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L351", "weight": 1.0}, {"source": "api_schemas_testrunsjson", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L351", "weight": 1.0}, {"source": "api_schemas_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_schemas_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L1", "weight": 1.0}, {"source": "api_schemas_rationale_87", "target": "api_schemas_limsprojectblock", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L87", "weight": 1.0}, {"source": "api_schemas_rationale_107", "target": "api_schemas_templateblock", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L107", "weight": 1.0}, {"source": "api_schemas_rationale_123", "target": "api_schemas_pluginisolation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L123", "weight": 1.0}, {"source": "api_schemas_rationale_135", "target": "api_schemas_pluginapplied", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L135", "weight": 1.0}, {"source": "api_schemas_rationale_153", "target": "api_schemas_pathsblock", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L153", "weight": 1.0}, {"source": "api_schemas_rationale_164", "target": "api_schemas_orchestratorblock", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L164", "weight": 1.0}, {"source": "api_schemas_rationale_195", "target": "api_schemas_overrideentry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L195", "weight": 1.0}, {"source": "api_schemas_rationale_217", "target": "api_schemas_tombstoneentry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L217", "weight": 1.0}, {"source": "api_schemas_rationale_233", "target": "api_schemas_override_entry_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L233", "weight": 1.0}, {"source": "api_schemas_rationale_243", "target": "api_schemas_tombstone_entry_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L243", "weight": 1.0}, {"source": "api_schemas_rationale_252", "target": "api_schemas_parse_validation_override_entry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L252", "weight": 1.0}, {"source": "api_schemas_rationale_276", "target": "api_schemas_creationjson", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L276", "weight": 1.0}, {"source": "api_schemas_rationale_314", "target": "api_schemas_readmefieldsjson", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L314", "weight": 1.0}, {"source": "api_schemas_rationale_335", "target": "api_schemas_equipmentjson", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L335", "weight": 1.0}, {"source": "api_schemas_rationale_356", "target": "api_schemas_testrunsjson", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L356", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_schemas_override_entry_to_dict", "callee": "asdict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L239"}, {"caller_nid": "api_schemas_tombstone_entry_to_dict", "callee": "asdict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L246"}, {"caller_nid": "api_schemas_parse_validation_override_entry", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L260"}, {"caller_nid": "api_schemas_parse_validation_override_entry", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L260"}, {"caller_nid": "api_schemas_parse_validation_override_entry", "callee": "convert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L262"}, {"caller_nid": "api_schemas_parse_validation_override_entry", "callee": "convert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py", "source_location": "L263"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1ac8fb713a9bfe5dadd19bf1c1105e4bad2f43d87c8feaec3f45690047f945eb.json b/graphify-out/cache/ast/1ac8fb713a9bfe5dadd19bf1c1105e4bad2f43d87c8feaec3f45690047f945eb.json deleted file mode 100644 index 190b5f5..0000000 --- a/graphify-out/cache/ast/1ac8fb713a9bfe5dadd19bf1c1105e4bad2f43d87c8feaec3f45690047f945eb.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "label": "test_patterns.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L1"}, {"id": "constants_test_patterns_test_equipment_id_regex_literal", "label": "test_equipment_id_regex_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L19"}, {"id": "constants_test_patterns_test_equipment_id_pattern_is_compiled", "label": "test_equipment_id_pattern_is_compiled()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L23"}, {"id": "constants_test_patterns_test_equipment_id_pattern_accepts_valid_ids", "label": "test_equipment_id_pattern_accepts_valid_ids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L28"}, {"id": "constants_test_patterns_test_equipment_id_pattern_rejects_invalid_ids", "label": "test_equipment_id_pattern_rejects_invalid_ids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L41"}, {"id": "constants_test_patterns_test_equipment_id_max_length", "label": "test_equipment_id_max_length()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L56"}, {"id": "constants_test_patterns_test_placeholder_angle_bracket_regex_literal", "label": "test_placeholder_angle_bracket_regex_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L66"}, {"id": "constants_test_patterns_test_placeholder_angle_bracket_pattern_finds_tokens", "label": "test_placeholder_angle_bracket_pattern_finds_tokens()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L70"}, {"id": "constants_test_patterns_test_placeholder_angle_bracket_pattern_ignores_non_tokens", "label": "test_placeholder_angle_bracket_pattern_ignores_non_tokens()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L76"}, {"id": "constants_test_patterns_test_placeholder_jinja_var_regex_literal", "label": "test_placeholder_jinja_var_regex_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L83"}, {"id": "constants_test_patterns_test_placeholder_jinja_var_pattern_finds_markers", "label": "test_placeholder_jinja_var_pattern_finds_markers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L87"}, {"id": "constants_test_patterns_test_placeholder_jinja_var_pattern_ignores_plain_text", "label": "test_placeholder_jinja_var_pattern_ignores_plain_text()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L93"}, {"id": "constants_test_patterns_test_placeholder_jinja_block_regex_literal", "label": "test_placeholder_jinja_block_regex_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L98"}, {"id": "constants_test_patterns_test_placeholder_jinja_block_pattern_finds_blocks", "label": "test_placeholder_jinja_block_pattern_finds_blocks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L102"}, {"id": "constants_test_patterns_test_placeholder_jinja_block_pattern_ignores_unrelated_content", "label": "test_placeholder_jinja_block_pattern_ignores_unrelated_content()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L108"}, {"id": "constants_test_patterns_test_project_short_id_regex_literal", "label": "test_project_short_id_regex_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L117"}, {"id": "constants_test_patterns_test_project_short_id_pattern_accepts", "label": "test_project_short_id_pattern_accepts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L121"}, {"id": "constants_test_patterns_test_project_short_id_pattern_rejects", "label": "test_project_short_id_pattern_rejects()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L126"}, {"id": "constants_test_patterns_test_template_question_id_regex_literal", "label": "test_template_question_id_regex_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L137"}, {"id": "constants_test_patterns_test_template_question_id_pattern_accepts", "label": "test_template_question_id_pattern_accepts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L141"}, {"id": "constants_test_patterns_test_template_question_id_pattern_rejects", "label": "test_template_question_id_pattern_rejects()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L146"}, {"id": "constants_test_patterns_test_plugin_name_regex_literal", "label": "test_plugin_name_regex_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L156"}, {"id": "constants_test_patterns_test_plugin_name_pattern_accepts", "label": "test_plugin_name_pattern_accepts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L160"}, {"id": "constants_test_patterns_test_plugin_name_pattern_rejects", "label": "test_plugin_name_pattern_rejects()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L165"}, {"id": "constants_test_patterns_test_run_date_strftime_literal", "label": "test_run_date_strftime_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L175"}, {"id": "constants_test_patterns_test_run_date_strftime_round_trip", "label": "test_run_date_strftime_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L181"}, {"id": "constants_test_patterns_test_run_dir_prefix_literal", "label": "test_run_dir_prefix_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L193"}, {"id": "constants_test_patterns_test_test_run_dir_prefix_literal", "label": "test_test_run_dir_prefix_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L197"}, {"id": "constants_test_patterns_test_test_runs_dir_name_literal", "label": "test_test_runs_dir_name_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L201"}, {"id": "constants_test_patterns_test_windows_reserved_names_membership", "label": "test_windows_reserved_names_membership()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L210"}, {"id": "constants_test_patterns_test_windows_reserved_names_is_frozenset", "label": "test_windows_reserved_names_is_frozenset()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L220"}, {"id": "constants_test_patterns_test_windows_reserved_names_size", "label": "test_windows_reserved_names_size()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L224"}, {"id": "constants_test_patterns_test_windows_reserved_names_are_uppercase", "label": "test_windows_reserved_names_are_uppercase()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L229"}, {"id": "constants_test_patterns_test_windows_reserved_names_case_insensitive_check", "label": "test_windows_reserved_names_case_insensitive_check()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L236"}, {"id": "constants_test_patterns_test_windows_illegal_chars_literal", "label": "test_windows_illegal_chars_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L248"}, {"id": "constants_test_patterns_test_windows_illegal_chars_membership", "label": "test_windows_illegal_chars_membership()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L253"}, {"id": "constants_test_patterns_test_windows_illegal_chars_excludes_safe", "label": "test_windows_illegal_chars_excludes_safe()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L258"}, {"id": "constants_test_patterns_test_patterns_re_exported_from_package", "label": "test_patterns_re_exported_from_package()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L268"}, {"id": "constants_test_patterns_rationale_1", "label": "Verify the regex literals plus filename-rule constants. Each regex is exercised", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_equipment_id_regex_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_equipment_id_pattern_is_compiled", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_equipment_id_pattern_accepts_valid_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_equipment_id_pattern_rejects_invalid_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_equipment_id_max_length", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_placeholder_angle_bracket_regex_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L66", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_placeholder_angle_bracket_pattern_finds_tokens", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_placeholder_angle_bracket_pattern_ignores_non_tokens", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_placeholder_jinja_var_regex_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_placeholder_jinja_var_pattern_finds_markers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_placeholder_jinja_var_pattern_ignores_plain_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_placeholder_jinja_block_regex_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_placeholder_jinja_block_pattern_finds_blocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_placeholder_jinja_block_pattern_ignores_unrelated_content", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_project_short_id_regex_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L117", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_project_short_id_pattern_accepts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_project_short_id_pattern_rejects", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L126", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_template_question_id_regex_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L137", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_template_question_id_pattern_accepts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L141", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_template_question_id_pattern_rejects", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L146", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_plugin_name_regex_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L156", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_plugin_name_pattern_accepts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L160", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_plugin_name_pattern_rejects", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L165", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_run_date_strftime_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_run_date_strftime_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L181", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_run_dir_prefix_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L193", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_test_run_dir_prefix_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L197", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_test_runs_dir_name_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L201", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_windows_reserved_names_membership", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L210", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_windows_reserved_names_is_frozenset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L220", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_windows_reserved_names_size", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L224", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_windows_reserved_names_are_uppercase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L229", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_windows_reserved_names_case_insensitive_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L236", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_windows_illegal_chars_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L248", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_windows_illegal_chars_membership", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L253", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_windows_illegal_chars_excludes_safe", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L258", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "target": "constants_test_patterns_test_patterns_re_exported_from_package", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L268", "weight": 1.0}, {"source": "constants_test_patterns_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_constants_test_patterns_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "constants_test_patterns_test_equipment_id_pattern_is_compiled", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L24"}, {"caller_nid": "constants_test_patterns_test_equipment_id_pattern_accepts_valid_ids", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L38"}, {"caller_nid": "constants_test_patterns_test_equipment_id_pattern_rejects_invalid_ids", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L53"}, {"caller_nid": "constants_test_patterns_test_placeholder_angle_bracket_pattern_finds_tokens", "callee": "findall", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L72"}, {"caller_nid": "constants_test_patterns_test_placeholder_angle_bracket_pattern_ignores_non_tokens", "callee": "search", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L80"}, {"caller_nid": "constants_test_patterns_test_placeholder_jinja_var_pattern_finds_markers", "callee": "findall", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L89"}, {"caller_nid": "constants_test_patterns_test_placeholder_jinja_var_pattern_ignores_plain_text", "callee": "search", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L94"}, {"caller_nid": "constants_test_patterns_test_placeholder_jinja_var_pattern_ignores_plain_text", "callee": "search", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L95"}, {"caller_nid": "constants_test_patterns_test_placeholder_jinja_block_pattern_finds_blocks", "callee": "findall", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L104"}, {"caller_nid": "constants_test_patterns_test_placeholder_jinja_block_pattern_ignores_unrelated_content", "callee": "search", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L109"}, {"caller_nid": "constants_test_patterns_test_project_short_id_pattern_accepts", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L123"}, {"caller_nid": "constants_test_patterns_test_project_short_id_pattern_rejects", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L129"}, {"caller_nid": "constants_test_patterns_test_template_question_id_pattern_accepts", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L143"}, {"caller_nid": "constants_test_patterns_test_template_question_id_pattern_rejects", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L148"}, {"caller_nid": "constants_test_patterns_test_plugin_name_pattern_accepts", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L162"}, {"caller_nid": "constants_test_patterns_test_plugin_name_pattern_rejects", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L167"}, {"caller_nid": "constants_test_patterns_test_run_date_strftime_round_trip", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L186"}, {"caller_nid": "constants_test_patterns_test_run_date_strftime_round_trip", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L187"}, {"caller_nid": "constants_test_patterns_test_run_date_strftime_round_trip", "callee": "strptime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L189"}, {"caller_nid": "constants_test_patterns_test_run_date_strftime_round_trip", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L190"}, {"caller_nid": "constants_test_patterns_test_windows_reserved_names_membership", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L214"}, {"caller_nid": "constants_test_patterns_test_windows_reserved_names_membership", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L215"}, {"caller_nid": "constants_test_patterns_test_windows_reserved_names_is_frozenset", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L221"}, {"caller_nid": "constants_test_patterns_test_windows_reserved_names_size", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L226"}, {"caller_nid": "constants_test_patterns_test_windows_reserved_names_are_uppercase", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L233"}, {"caller_nid": "constants_test_patterns_test_windows_reserved_names_case_insensitive_check", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L240"}, {"caller_nid": "constants_test_patterns_test_windows_reserved_names_case_insensitive_check", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L245"}, {"caller_nid": "constants_test_patterns_test_patterns_re_exported_from_package", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py", "source_location": "L274"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1ae81254339e9cabc80074d7689a77b1a6aa522dfb880a745acb64680814170e.json b/graphify-out/cache/ast/1ae81254339e9cabc80074d7689a77b1a6aa522dfb880a745acb64680814170e.json deleted file mode 100644 index c42ac7e..0000000 --- a/graphify-out/cache/ast/1ae81254339e9cabc80074d7689a77b1a6aa522dfb880a745acb64680814170e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_ux_catalog_py", "label": "ux_catalog.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/ux_catalog.py", "source_location": "L1"}, {"id": "e2e_ux_catalog_uxinteraction", "label": "UXInteraction", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/ux_catalog.py", "source_location": "L29"}, {"id": "e2e_ux_catalog_rationale_1", "label": "Machine-readable catalog of the wizard's UX interactions. Each :class:`UXIntera", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/ux_catalog.py", "source_location": "L1"}, {"id": "e2e_ux_catalog_rationale_30", "label": "One operator-facing affordance in the wizard UI.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/ux_catalog.py", "source_location": "L30"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_ux_catalog_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/ux_catalog.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_ux_catalog_py", "target": "e2e_ux_catalog_uxinteraction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/ux_catalog.py", "source_location": "L29", "weight": 1.0}, {"source": "e2e_ux_catalog_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_ux_catalog_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/ux_catalog.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_ux_catalog_rationale_30", "target": "e2e_ux_catalog_uxinteraction", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/ux_catalog.py", "source_location": "L30", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/1af271d1a8078f2f11926c563d80691d5a0cbab2146babaf1fc9ddb36c55abb2.json b/graphify-out/cache/ast/1af271d1a8078f2f11926c563d80691d5a0cbab2146babaf1fc9ddb36c55abb2.json deleted file mode 100644 index 5581c02..0000000 --- a/graphify-out/cache/ast/1af271d1a8078f2f11926c563d80691d5a0cbab2146babaf1fc9ddb36c55abb2.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "label": "base.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L1"}, {"id": "plugins_base_filechange", "label": "FileChange", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L53"}, {"id": "plugins_base_plugincontext", "label": "PluginContext", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L73"}, {"id": "plugins_base_plugin", "label": "Plugin", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L96"}, {"id": "abc", "label": "ABC", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "plugins_base_can_handle", "label": "can_handle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L135"}, {"id": "plugins_base_transform", "label": "transform()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L143"}, {"id": "plugins_base_plugin_validate_variables", "label": ".validate_variables()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L153"}, {"id": "plugins_base_plugin_pre_transform_all", "label": ".pre_transform_all()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L170"}, {"id": "plugins_base_plugin_post_transform_all", "label": ".post_transform_all()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L179"}, {"id": "plugins_base_plugin_describe_changes", "label": ".describe_changes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L186"}, {"id": "plugins_base_plugin_on_plugin_failure", "label": ".on_plugin_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L201"}, {"id": "plugins_base_rationale_1", "label": "Plugin contract base class. Backend Spec \u00a76.1. Defines the public surface that", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L1"}, {"id": "plugins_base_rationale_54", "label": "A single mutation a plugin would make. Used by ``describe_changes``. Backen", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L54"}, {"id": "plugins_base_rationale_74", "label": "Read-only context handed to every plugin lifecycle hook. Constructed once p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L74"}, {"id": "plugins_base_rationale_97", "label": "Abstract base class for all ExLab-Wizard plugins. Backend Spec \u00a76.1.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L97"}, {"id": "plugins_base_rationale_136", "label": "Secondary filter, called after the extension match. Cheap and side-effe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L136"}, {"id": "plugins_base_rationale_144", "label": "Mutate ``file_path`` in place. On unrecoverable failure raise :class:`P", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L144"}, {"id": "plugins_base_rationale_154", "label": "Return a list of error strings; empty list means \"valid\". Default imple", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L154"}, {"id": "plugins_base_rationale_171", "label": "Called once before the file loop. Default: no-op. Use for batch setup t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L171"}, {"id": "plugins_base_rationale_180", "label": "Called once after the file loop. Default: no-op. Symmetric to :meth:`pr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L180"}, {"id": "plugins_base_rationale_187", "label": "Return the dry-run preview for what ``transform`` would do. Default ret", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L187"}, {"id": "plugins_base_rationale_202", "label": "Called if any prior hook raised. Default: no-op. Use to roll back parti", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L202"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "exlab_wizard_plugins_logger", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "plugins_base_filechange", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "plugins_base_plugincontext", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L73", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "plugins_base_plugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L96", "weight": 1.0}, {"source": "plugins_base_plugin", "target": "abc", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L96", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "plugins_base_can_handle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "target": "plugins_base_transform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L143", "weight": 1.0}, {"source": "plugins_base_plugin", "target": "plugins_base_plugin_validate_variables", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L153", "weight": 1.0}, {"source": "plugins_base_plugin", "target": "plugins_base_plugin_pre_transform_all", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L170", "weight": 1.0}, {"source": "plugins_base_plugin", "target": "plugins_base_plugin_post_transform_all", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L179", "weight": 1.0}, {"source": "plugins_base_plugin", "target": "plugins_base_plugin_describe_changes", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L186", "weight": 1.0}, {"source": "plugins_base_plugin", "target": "plugins_base_plugin_on_plugin_failure", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L201", "weight": 1.0}, {"source": "plugins_base_plugin_describe_changes", "target": "plugins_base_filechange", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L194", "weight": 1.0}, {"source": "plugins_base_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_base_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L1", "weight": 1.0}, {"source": "plugins_base_rationale_54", "target": "plugins_base_filechange", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L54", "weight": 1.0}, {"source": "plugins_base_rationale_74", "target": "plugins_base_plugincontext", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L74", "weight": 1.0}, {"source": "plugins_base_rationale_97", "target": "plugins_base_plugin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L97", "weight": 1.0}, {"source": "plugins_base_rationale_136", "target": "plugins_base_plugin_can_handle", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L136", "weight": 1.0}, {"source": "plugins_base_rationale_144", "target": "plugins_base_plugin_transform", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L144", "weight": 1.0}, {"source": "plugins_base_rationale_154", "target": "plugins_base_plugin_validate_variables", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L154", "weight": 1.0}, {"source": "plugins_base_rationale_171", "target": "plugins_base_plugin_pre_transform_all", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L171", "weight": 1.0}, {"source": "plugins_base_rationale_180", "target": "plugins_base_plugin_post_transform_all", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L180", "weight": 1.0}, {"source": "plugins_base_rationale_187", "target": "plugins_base_plugin_describe_changes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L187", "weight": 1.0}, {"source": "plugins_base_rationale_202", "target": "plugins_base_plugin_on_plugin_failure", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L202", "weight": 1.0}], "raw_calls": [{"caller_nid": "plugins_base_plugin_validate_variables", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py", "source_location": "L167"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1c1b702e5654648d39127cbe34b9cb91caf7082fbb60111150202f3dfefbe33a.json b/graphify-out/cache/ast/1c1b702e5654648d39127cbe34b9cb91caf7082fbb60111150202f3dfefbe33a.json deleted file mode 100644 index b50ff5c..0000000 --- a/graphify-out/cache/ast/1c1b702e5654648d39127cbe34b9cb91caf7082fbb60111150202f3dfefbe33a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_02_user_interaction_md", "label": "02_User_Interaction.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L1"}, {"id": "design_spec_sections_02_user_interaction_2_user_interaction", "label": "2. User Interaction", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L1"}, {"id": "design_spec_sections_02_user_interaction_table_of_contents", "label": "Table of Contents", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L13"}, {"id": "design_spec_sections_02_user_interaction_1_purpose_and_scope", "label": "1. Purpose and Scope", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L33"}, {"id": "design_spec_sections_02_user_interaction_2_mandatory_core_fields_creation_gate", "label": "2. Mandatory Core Fields (Creation Gate)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L46"}, {"id": "design_spec_sections_02_user_interaction_3_user_capabilities", "label": "3. User Capabilities", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L69"}, {"id": "design_spec_sections_02_user_interaction_3_1_create_a_new_project", "label": "3.1 Create a New Project", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L73"}, {"id": "design_spec_sections_02_user_interaction_3_2_create_a_new_experimental_run", "label": "3.2 Create a New Experimental Run", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L82"}, {"id": "design_spec_sections_02_user_interaction_3_3_create_a_new_test_run", "label": "3.3 Create a New Test Run", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L89"}, {"id": "design_spec_sections_02_user_interaction_3_4_browse_existing_equipment_projects_and_runs", "label": "3.4 Browse Existing Equipment, Projects, and Runs", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L98"}, {"id": "design_spec_sections_02_user_interaction_3_5_author_a_readme_at_creation_time", "label": "3.5 Author a README at Creation Time", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L104"}, {"id": "design_spec_sections_02_user_interaction_3_6_configure_equipment_paths_and_integrations", "label": "3.6 Configure Equipment, Paths, and Integrations", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L112"}, {"id": "design_spec_sections_02_user_interaction_3_7_monitor_orchestrator_staging_orchestrator_mode_only", "label": "3.7 Monitor Orchestrator Staging (Orchestrator Mode Only)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L119"}, {"id": "design_spec_sections_02_user_interaction_3_8_review_and_resolve_naming_and_validation_problems", "label": "3.8 Review and Resolve Naming and Validation Problems", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L125"}, {"id": "design_spec_sections_02_user_interaction_4_mode_invariants_and_safety_boundaries", "label": "4. Mode Invariants and Safety Boundaries", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L144"}, {"id": "design_spec_sections_02_user_interaction_5_validation_order_and_error_surfacing", "label": "5. Validation Order and Error Surfacing", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L157"}, {"id": "design_spec_sections_02_user_interaction_6_user_visible_state_across_surfaces", "label": "6. User-Visible State Across Surfaces", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L172"}, {"id": "design_spec_sections_02_user_interaction_7_pre_sync_gate", "label": "7. Pre-Sync Gate", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L186"}, {"id": "design_spec_sections_02_user_interaction_7_1_what_the_gate_blocks", "label": "7.1 What the gate blocks", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L190"}, {"id": "design_spec_sections_02_user_interaction_7_2_what_the_user_sees", "label": "7.2 What the user sees", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L196"}, {"id": "design_spec_sections_02_user_interaction_7_3_how_the_gate_is_cleared", "label": "7.3 How the gate is cleared", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L202"}, {"id": "design_spec_sections_02_user_interaction_7_4_override_audit_contract", "label": "7.4 Override audit contract", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L211"}, {"id": "design_spec_sections_02_user_interaction_7_5_gate_semantics_on_retroactive_problems", "label": "7.5 Gate semantics on retroactive problems", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L219"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_02_user_interaction_md", "target": "design_spec_sections_02_user_interaction_2_user_interaction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_2_user_interaction", "target": "design_spec_sections_02_user_interaction_table_of_contents", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L13", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_2_user_interaction", "target": "design_spec_sections_02_user_interaction_1_purpose_and_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L33", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_2_user_interaction", "target": "design_spec_sections_02_user_interaction_2_mandatory_core_fields_creation_gate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L46", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_2_user_interaction", "target": "design_spec_sections_02_user_interaction_3_user_capabilities", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L69", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_3_user_capabilities", "target": "design_spec_sections_02_user_interaction_3_1_create_a_new_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L73", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_3_user_capabilities", "target": "design_spec_sections_02_user_interaction_3_2_create_a_new_experimental_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L82", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_3_user_capabilities", "target": "design_spec_sections_02_user_interaction_3_3_create_a_new_test_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L89", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_3_user_capabilities", "target": "design_spec_sections_02_user_interaction_3_4_browse_existing_equipment_projects_and_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L98", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_3_user_capabilities", "target": "design_spec_sections_02_user_interaction_3_5_author_a_readme_at_creation_time", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L104", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_3_user_capabilities", "target": "design_spec_sections_02_user_interaction_3_6_configure_equipment_paths_and_integrations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L112", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_3_user_capabilities", "target": "design_spec_sections_02_user_interaction_3_7_monitor_orchestrator_staging_orchestrator_mode_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L119", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_3_user_capabilities", "target": "design_spec_sections_02_user_interaction_3_8_review_and_resolve_naming_and_validation_problems", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L125", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_2_user_interaction", "target": "design_spec_sections_02_user_interaction_4_mode_invariants_and_safety_boundaries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L144", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_2_user_interaction", "target": "design_spec_sections_02_user_interaction_5_validation_order_and_error_surfacing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L157", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_2_user_interaction", "target": "design_spec_sections_02_user_interaction_6_user_visible_state_across_surfaces", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L172", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_2_user_interaction", "target": "design_spec_sections_02_user_interaction_7_pre_sync_gate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L186", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_7_pre_sync_gate", "target": "design_spec_sections_02_user_interaction_7_1_what_the_gate_blocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L190", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_7_pre_sync_gate", "target": "design_spec_sections_02_user_interaction_7_2_what_the_user_sees", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L196", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_7_pre_sync_gate", "target": "design_spec_sections_02_user_interaction_7_3_how_the_gate_is_cleared", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L202", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_7_pre_sync_gate", "target": "design_spec_sections_02_user_interaction_7_4_override_audit_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L211", "weight": 1.0}, {"source": "design_spec_sections_02_user_interaction_7_pre_sync_gate", "target": "design_spec_sections_02_user_interaction_7_5_gate_semantics_on_retroactive_problems", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md", "source_location": "L219", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/1d7fea54deba3f4493a238600921ca1671654a958c304d5ebe54df9ff44bb593.json b/graphify-out/cache/ast/1d7fea54deba3f4493a238600921ca1671654a958c304d5ebe54df9ff44bb593.json deleted file mode 100644 index 21d0645..0000000 --- a/graphify-out/cache/ast/1d7fea54deba3f4493a238600921ca1671654a958c304d5ebe54df9ff44bb593.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "label": "dependencies.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L1"}, {"id": "tray_dependencies_build_production_dependencies", "label": "build_production_dependencies()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L47"}, {"id": "tray_dependencies_apply_live_config", "label": "apply_live_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L167"}, {"id": "tray_dependencies_plugin_dir", "label": "_plugin_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L264"}, {"id": "tray_dependencies_lims_identity", "label": "_lims_identity()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L270"}, {"id": "tray_dependencies_refresh_plugin_host_status", "label": "_refresh_plugin_host_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L282"}, {"id": "tray_dependencies_reload_lims_client", "label": "_reload_lims_client()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L297"}, {"id": "tray_dependencies_reload_nas_sync", "label": "_reload_nas_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L318"}, {"id": "tray_dependencies_reload_quiescence_poller", "label": "_reload_quiescence_poller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L349"}, {"id": "tray_dependencies_schedule_bringup", "label": "_schedule_bringup()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L377"}, {"id": "tray_dependencies_fire_and_forget", "label": "_fire_and_forget()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L402"}, {"id": "tray_dependencies_try", "label": "_try()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L415"}, {"id": "tray_dependencies_load_config_safely", "label": "_load_config_safely()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L424"}, {"id": "tray_dependencies_make_save_config", "label": "_make_save_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L432"}, {"id": "tray_dependencies_derive_validator_inputs", "label": "_derive_validator_inputs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L442"}, {"id": "tray_dependencies_build_validator", "label": "_build_validator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L468"}, {"id": "tray_dependencies_build_session_store", "label": "_build_session_store()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L479"}, {"id": "tray_dependencies_build_creation_writer", "label": "_build_creation_writer()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L485"}, {"id": "tray_dependencies_build_equipment_writer", "label": "_build_equipment_writer()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L491"}, {"id": "tray_dependencies_build_template_engine", "label": "_build_template_engine()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L497"}, {"id": "tray_dependencies_build_plugin_host", "label": "_build_plugin_host()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L503"}, {"id": "tray_dependencies_build_controller", "label": "_build_controller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L525"}, {"id": "tray_dependencies_build_keyring_store", "label": "_build_keyring_store()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L559"}, {"id": "tray_dependencies_lims_keyring_password", "label": "_lims_keyring_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L576"}, {"id": "tray_dependencies_check_keyring_present", "label": "_check_keyring_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L596"}, {"id": "tray_dependencies_build_lims_client", "label": "_build_lims_client()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L606"}, {"id": "tray_dependencies_nas_keyring_password", "label": "_nas_keyring_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L624"}, {"id": "tray_dependencies_check_nas_passwords_present", "label": "_check_nas_passwords_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L643"}, {"id": "tray_dependencies_make_equipment_probe", "label": "_make_equipment_probe()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L667"}, {"id": "tray_dependencies_make_lims_probe", "label": "_make_lims_probe()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L732"}, {"id": "tray_dependencies_build_nas_sync", "label": "_build_nas_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L749"}, {"id": "tray_dependencies_make_nas_sync_snapshot", "label": "_make_nas_sync_snapshot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L791"}, {"id": "tray_dependencies_build_sync_state_writer", "label": "_build_sync_state_writer()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L803"}, {"id": "tray_dependencies_build_quiescence_poller", "label": "_build_quiescence_poller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L815"}, {"id": "tray_dependencies_make_autostart_toggle", "label": "_make_autostart_toggle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L848"}, {"id": "tray_dependencies_make_session_store_snapshot", "label": "_make_session_store_snapshot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L860"}, {"id": "tray_dependencies_rationale_1", "label": "Production :class:`AppDependencies` factory. Backend Spec \u00a74.5, \u00a74.6. The tray", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L1"}, {"id": "tray_dependencies_rationale_48", "label": "Return a populated :class:`AppDependencies` for the live tray. Every per-co", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L48"}, {"id": "tray_dependencies_rationale_168", "label": "Push a freshly saved ``config.yaml`` into the running components. Replaces", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L168"}, {"id": "tray_dependencies_rationale_271", "label": "Return the ``(endpoint, email)`` pair that defines a LIMS client. Trailing", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L271"}, {"id": "tray_dependencies_rationale_283", "label": "Re-derive the plugin-host status counters after a rebuild. Mirrors the boot", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L283"}, {"id": "tray_dependencies_rationale_298", "label": "Rebuild ``deps.lims_client`` for a changed endpoint / email. Builds a fresh", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L298"}, {"id": "tray_dependencies_rationale_319", "label": "Reconfigure the NAS-sync client in place, or build it fresh. Returns ``True", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L319"}, {"id": "tray_dependencies_rationale_350", "label": "Reconfigure the quiescence poller in place, or build it fresh. Returns ``Tr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L350"}, {"id": "tray_dependencies_rationale_378", "label": "Schedule ``nas_sync.init()`` / ``poller.start()`` on the running loop. Used", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L378"}, {"id": "tray_dependencies_rationale_403", "label": "Run ``coro`` on the running loop, logging failures; no-op if loop-less.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L403"}, {"id": "tray_dependencies_rationale_416", "label": "Run ``fn(*args, **kwargs)`` swallowing exceptions with a WARN log.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L416"}, {"id": "tray_dependencies_rationale_443", "label": "Derive ``(validator_config, equipment_roots, staging_root)`` from config. S", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L443"}, {"id": "tray_dependencies_rationale_560", "label": "Build the LIMS/NAS secret store with an optional fallback passphrase. When", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L560"}, {"id": "tray_dependencies_rationale_577", "label": "Return the stored LIMS password, or ``None`` if absent/unavailable. The cre", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L577"}, {"id": "tray_dependencies_rationale_625", "label": "Return the stored NAS password for ``equipment_id`` or ``None``. The creden", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L625"}, {"id": "tray_dependencies_rationale_644", "label": "Return the set of nas-mode equipment ids that have a keyring entry. Rclone-", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L644"}, {"id": "tray_dependencies_rationale_668", "label": "Build the ``deps.equipment_probe`` callable. Rclone-only NAS sync migration", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L668"}, {"id": "tray_dependencies_rationale_757", "label": "Build the :class:`NASSyncClient` -- the public NAS-sync surface. The client", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L757"}, {"id": "tray_dependencies_rationale_804", "label": "Build the orchestrator-only ``sync_state.json`` writer. Operator-free per-f", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L804"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "exlab_wizard_api_app", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "exlab_wizard_config_loader", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "exlab_wizard_constants_keyring", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "exlab_wizard_tray_autostart", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_production_dependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_apply_live_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L167", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_plugin_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L264", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_lims_identity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L270", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_refresh_plugin_host_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L282", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_reload_lims_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L297", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_reload_nas_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L318", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_reload_quiescence_poller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L349", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_schedule_bringup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L377", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_fire_and_forget", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L402", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_try", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L415", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_load_config_safely", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L424", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_make_save_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L432", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_derive_validator_inputs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L442", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_validator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L468", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_session_store", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L479", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_creation_writer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L485", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_equipment_writer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L491", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_template_engine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L497", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_plugin_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L503", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_controller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L525", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_keyring_store", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L559", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_lims_keyring_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L576", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_check_keyring_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L596", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_lims_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L606", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_nas_keyring_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L624", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_check_nas_passwords_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L643", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_make_equipment_probe", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L667", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_make_lims_probe", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L732", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_nas_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L749", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_make_nas_sync_snapshot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L791", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_sync_state_writer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L803", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_build_quiescence_poller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L815", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_make_autostart_toggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L848", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "target": "tray_dependencies_make_session_store_snapshot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L860", "weight": 1.0}, {"source": "tray_dependencies_build_production_dependencies", "target": "tray_dependencies_try", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L60", "weight": 1.0}, {"source": "tray_dependencies_build_production_dependencies", "target": "tray_dependencies_make_save_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L64", "weight": 1.0}, {"source": "tray_dependencies_build_production_dependencies", "target": "tray_dependencies_make_lims_probe", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L103", "weight": 1.0}, {"source": "tray_dependencies_build_production_dependencies", "target": "tray_dependencies_make_nas_sync_snapshot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L120", "weight": 1.0}, {"source": "tray_dependencies_build_production_dependencies", "target": "tray_dependencies_make_autostart_toggle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L130", "weight": 1.0}, {"source": "tray_dependencies_build_production_dependencies", "target": "tray_dependencies_make_equipment_probe", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L152", "weight": 1.0}, {"source": "tray_dependencies_build_production_dependencies", "target": "tray_dependencies_make_session_store_snapshot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L154", "weight": 1.0}, {"source": "tray_dependencies_apply_live_config", "target": "tray_dependencies_try", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L210", "weight": 1.0}, {"source": "tray_dependencies_apply_live_config", "target": "tray_dependencies_derive_validator_inputs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L213", "weight": 1.0}, {"source": "tray_dependencies_apply_live_config", "target": "tray_dependencies_plugin_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L220", "weight": 1.0}, {"source": "tray_dependencies_apply_live_config", "target": "tray_dependencies_refresh_plugin_host_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L224", "weight": 1.0}, {"source": "tray_dependencies_apply_live_config", "target": "tray_dependencies_lims_identity", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L227", "weight": 1.0}, {"source": "tray_dependencies_apply_live_config", "target": "tray_dependencies_reload_lims_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L228", "weight": 1.0}, {"source": "tray_dependencies_apply_live_config", "target": "tray_dependencies_reload_nas_sync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L254", "weight": 1.0}, {"source": "tray_dependencies_apply_live_config", "target": "tray_dependencies_reload_quiescence_poller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L255", "weight": 1.0}, {"source": "tray_dependencies_apply_live_config", "target": "tray_dependencies_schedule_bringup", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L257", "weight": 1.0}, {"source": "tray_dependencies_reload_lims_client", "target": "tray_dependencies_try", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L309", "weight": 1.0}, {"source": "tray_dependencies_reload_lims_client", "target": "tray_dependencies_fire_and_forget", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L315", "weight": 1.0}, {"source": "tray_dependencies_reload_nas_sync", "target": "tray_dependencies_try", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L333", "weight": 1.0}, {"source": "tray_dependencies_reload_quiescence_poller", "target": "tray_dependencies_try", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L364", "weight": 1.0}, {"source": "tray_dependencies_schedule_bringup", "target": "tray_dependencies_fire_and_forget", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L399", "weight": 1.0}, {"source": "tray_dependencies_build_validator", "target": "tray_dependencies_derive_validator_inputs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L471", "weight": 1.0}, {"source": "tray_dependencies_check_keyring_present", "target": "tray_dependencies_lims_keyring_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L603", "weight": 1.0}, {"source": "tray_dependencies_check_nas_passwords_present", "target": "tray_dependencies_nas_keyring_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L662", "weight": 1.0}, {"source": "tray_dependencies_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_dependencies_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_dependencies_rationale_48", "target": "tray_dependencies_build_production_dependencies", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L48", "weight": 1.0}, {"source": "tray_dependencies_rationale_168", "target": "tray_dependencies_apply_live_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L168", "weight": 1.0}, {"source": "tray_dependencies_rationale_271", "target": "tray_dependencies_lims_identity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L271", "weight": 1.0}, {"source": "tray_dependencies_rationale_283", "target": "tray_dependencies_refresh_plugin_host_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L283", "weight": 1.0}, {"source": "tray_dependencies_rationale_298", "target": "tray_dependencies_reload_lims_client", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L298", "weight": 1.0}, {"source": "tray_dependencies_rationale_319", "target": "tray_dependencies_reload_nas_sync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L319", "weight": 1.0}, {"source": "tray_dependencies_rationale_350", "target": "tray_dependencies_reload_quiescence_poller", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L350", "weight": 1.0}, {"source": "tray_dependencies_rationale_378", "target": "tray_dependencies_schedule_bringup", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L378", "weight": 1.0}, {"source": "tray_dependencies_rationale_403", "target": "tray_dependencies_fire_and_forget", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L403", "weight": 1.0}, {"source": "tray_dependencies_rationale_416", "target": "tray_dependencies_try", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L416", "weight": 1.0}, {"source": "tray_dependencies_rationale_443", "target": "tray_dependencies_derive_validator_inputs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L443", "weight": 1.0}, {"source": "tray_dependencies_rationale_560", "target": "tray_dependencies_build_keyring_store", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L560", "weight": 1.0}, {"source": "tray_dependencies_rationale_577", "target": "tray_dependencies_lims_keyring_password", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L577", "weight": 1.0}, {"source": "tray_dependencies_rationale_625", "target": "tray_dependencies_nas_keyring_password", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L625", "weight": 1.0}, {"source": "tray_dependencies_rationale_644", "target": "tray_dependencies_check_nas_passwords_present", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L644", "weight": 1.0}, {"source": "tray_dependencies_rationale_668", "target": "tray_dependencies_make_equipment_probe", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L668", "weight": 1.0}, {"source": "tray_dependencies_rationale_757", "target": "tray_dependencies_build_nas_sync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L757", "weight": 1.0}, {"source": "tray_dependencies_rationale_804", "target": "tray_dependencies_build_sync_state_writer", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L804", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_dependencies_build_production_dependencies", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L57"}, {"caller_nid": "tray_dependencies_build_production_dependencies", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L134"}, {"caller_nid": "tray_dependencies_build_production_dependencies", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L134"}, {"caller_nid": "tray_dependencies_build_production_dependencies", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L150"}, {"caller_nid": "tray_dependencies_build_production_dependencies", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L157"}, {"caller_nid": "tray_dependencies_build_production_dependencies", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L158"}, {"caller_nid": "tray_dependencies_build_production_dependencies", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L159"}, {"caller_nid": "tray_dependencies_build_production_dependencies", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L159"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L192"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L202"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L204"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L208"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L211"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "reconfigure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L214"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L216"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L232"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L241"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L243"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L245"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "apply_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L247"}, {"caller_nid": "tray_dependencies_apply_live_config", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L249"}, {"caller_nid": "tray_dependencies_plugin_dir", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L267"}, {"caller_nid": "tray_dependencies_lims_identity", "callee": "rstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L279"}, {"caller_nid": "tray_dependencies_refresh_plugin_host_status", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L289"}, {"caller_nid": "tray_dependencies_refresh_plugin_host_status", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L290"}, {"caller_nid": "tray_dependencies_refresh_plugin_host_status", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L291"}, {"caller_nid": "tray_dependencies_refresh_plugin_host_status", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L291"}, {"caller_nid": "tray_dependencies_reload_lims_client", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L305"}, {"caller_nid": "tray_dependencies_reload_lims_client", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L306"}, {"caller_nid": "tray_dependencies_reload_lims_client", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L314"}, {"caller_nid": "tray_dependencies_reload_lims_client", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L315"}, {"caller_nid": "tray_dependencies_reload_nas_sync", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L325"}, {"caller_nid": "tray_dependencies_reload_nas_sync", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L327"}, {"caller_nid": "tray_dependencies_reload_nas_sync", "callee": "apply_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L329"}, {"caller_nid": "tray_dependencies_reload_nas_sync", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L331"}, {"caller_nid": "tray_dependencies_reload_nas_sync", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L337"}, {"caller_nid": "tray_dependencies_reload_nas_sync", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L338"}, {"caller_nid": "tray_dependencies_reload_nas_sync", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L339"}, {"caller_nid": "tray_dependencies_reload_nas_sync", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L340"}, {"caller_nid": "tray_dependencies_reload_nas_sync", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L341"}, {"caller_nid": "tray_dependencies_reload_quiescence_poller", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L356"}, {"caller_nid": "tray_dependencies_reload_quiescence_poller", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L358"}, {"caller_nid": "tray_dependencies_reload_quiescence_poller", "callee": "apply_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L360"}, {"caller_nid": "tray_dependencies_reload_quiescence_poller", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L362"}, {"caller_nid": "tray_dependencies_reload_quiescence_poller", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L368"}, {"caller_nid": "tray_dependencies_reload_quiescence_poller", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L369"}, {"caller_nid": "tray_dependencies_schedule_bringup", "callee": "_bring_up", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L399"}, {"caller_nid": "tray_dependencies_fire_and_forget", "callee": "get_running_loop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L405"}, {"caller_nid": "tray_dependencies_fire_and_forget", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L407"}, {"caller_nid": "tray_dependencies_fire_and_forget", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L408"}, {"caller_nid": "tray_dependencies_fire_and_forget", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L410"}, {"caller_nid": "tray_dependencies_fire_and_forget", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L411"}, {"caller_nid": "tray_dependencies_fire_and_forget", "callee": "add_done_callback", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L412"}, {"caller_nid": "tray_dependencies_try", "callee": "fn", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L418"}, {"caller_nid": "tray_dependencies_try", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L420"}, {"caller_nid": "tray_dependencies_try", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L420"}, {"caller_nid": "tray_dependencies_load_config_safely", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L425"}, {"caller_nid": "tray_dependencies_load_config_safely", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L426"}, {"caller_nid": "tray_dependencies_load_config_safely", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L427"}, {"caller_nid": "tray_dependencies_load_config_safely", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L429"}, {"caller_nid": "tray_dependencies_make_save_config", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L433"}, {"caller_nid": "tray_dependencies_derive_validator_inputs", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L450"}, {"caller_nid": "tray_dependencies_derive_validator_inputs", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L453"}, {"caller_nid": "tray_dependencies_derive_validator_inputs", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L461"}, {"caller_nid": "tray_dependencies_build_validator", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L472"}, {"caller_nid": "tray_dependencies_build_session_store", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L482"}, {"caller_nid": "tray_dependencies_build_creation_writer", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L488"}, {"caller_nid": "tray_dependencies_build_equipment_writer", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L494"}, {"caller_nid": "tray_dependencies_build_template_engine", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L500"}, {"caller_nid": "tray_dependencies_build_plugin_host", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L508"}, {"caller_nid": "tray_dependencies_build_plugin_host", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L510"}, {"caller_nid": "tray_dependencies_build_plugin_host", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L511"}, {"caller_nid": "tray_dependencies_build_plugin_host", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L512"}, {"caller_nid": "tray_dependencies_build_plugin_host", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L513"}, {"caller_nid": "tray_dependencies_build_plugin_host", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L513"}, {"caller_nid": "tray_dependencies_build_plugin_host", "callee": "PluginHost", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L522"}, {"caller_nid": "tray_dependencies_build_plugin_host", "callee": "_RegistryAdapter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L522"}, {"caller_nid": "tray_dependencies_build_controller", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L537"}, {"caller_nid": "tray_dependencies_build_controller", "callee": "CreationController", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L541"}, {"caller_nid": "tray_dependencies_build_controller", "callee": "ReadmeGenerator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L549"}, {"caller_nid": "tray_dependencies_build_keyring_store", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L571"}, {"caller_nid": "tray_dependencies_build_keyring_store", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L573"}, {"caller_nid": "tray_dependencies_lims_keyring_password", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L588"}, {"caller_nid": "tray_dependencies_lims_keyring_password", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L591"}, {"caller_nid": "tray_dependencies_lims_keyring_password", "callee": "getter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L592"}, {"caller_nid": "tray_dependencies_check_keyring_present", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L601"}, {"caller_nid": "tray_dependencies_check_keyring_present", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L603"}, {"caller_nid": "tray_dependencies_build_lims_client", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L609"}, {"caller_nid": "tray_dependencies_build_lims_client", "callee": "LIMSClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L617"}, {"caller_nid": "tray_dependencies_nas_keyring_password", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L635"}, {"caller_nid": "tray_dependencies_nas_keyring_password", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L638"}, {"caller_nid": "tray_dependencies_nas_keyring_password", "callee": "getter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L639"}, {"caller_nid": "tray_dependencies_nas_keyring_password", "callee": "keyring_nas_username", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L639"}, {"caller_nid": "tray_dependencies_check_nas_passwords_present", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L653"}, {"caller_nid": "tray_dependencies_check_nas_passwords_present", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L656"}, {"caller_nid": "tray_dependencies_check_nas_passwords_present", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L657"}, {"caller_nid": "tray_dependencies_check_nas_passwords_present", "callee": "transport_requires_keyring_password", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L660"}, {"caller_nid": "tray_dependencies_check_nas_passwords_present", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L663"}, {"caller_nid": "tray_dependencies_build_nas_sync", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L771"}, {"caller_nid": "tray_dependencies_build_nas_sync", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L774"}, {"caller_nid": "tray_dependencies_build_nas_sync", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L777"}, {"caller_nid": "tray_dependencies_build_nas_sync", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L781"}, {"caller_nid": "tray_dependencies_build_sync_state_writer", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L812"}, {"caller_nid": "tray_dependencies_build_quiescence_poller", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L829"}, {"caller_nid": "tray_dependencies_build_quiescence_poller", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L830"}, {"caller_nid": "tray_dependencies_build_quiescence_poller", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L835"}, {"caller_nid": "tray_dependencies_build_quiescence_poller", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L838"}, {"caller_nid": "tray_dependencies_build_quiescence_poller", "callee": "QuiescenceSyncPoller", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py", "source_location": "L841"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1df1a782862785747438f133be80f5102d3e0084214a1f77ece7584e92ef9416.json b/graphify-out/cache/ast/1df1a782862785747438f133be80f5102d3e0084214a1f77ece7584e92ef9416.json deleted file mode 100644 index b296880..0000000 --- a/graphify-out/cache/ast/1df1a782862785747438f133be80f5102d3e0084214a1f77ece7584e92ef9416.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_folder_feed_py", "label": "folder_feed.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L1"}, {"id": "client_folder_feed_folderfeedstate", "label": "FolderFeedState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L25"}, {"id": "client_folder_feed_folderfeed", "label": "FolderFeed", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L33"}, {"id": "client_folder_feed_folderfeed_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L36"}, {"id": "client_folder_feed_state", "label": "state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L50"}, {"id": "client_folder_feed_folderfeed_start", "label": ".start()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L53"}, {"id": "client_folder_feed_folderfeed_stop", "label": ".stop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L64"}, {"id": "client_folder_feed_folderfeed_pause", "label": ".pause()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L74"}, {"id": "client_folder_feed_folderfeed_resume", "label": ".resume()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L78"}, {"id": "client_folder_feed_folderfeed_loop", "label": "._loop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L82"}, {"id": "client_folder_feed_rationale_1", "label": "Folder-feed client abstraction. GUI/Orchestrator Redesign \u00a75. A small ``start(p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L1"}, {"id": "client_folder_feed_rationale_26", "label": "In-memory state of one folder feed (one per centre pane).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L26"}, {"id": "client_folder_feed_rationale_34", "label": "One folder feed; rebound to a different path via ``start()``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L34"}, {"id": "client_folder_feed_rationale_54", "label": "Start polling ``path``. Switching paths stops the previous poll before s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L54"}, {"id": "client_folder_feed_rationale_75", "label": "Pause polling \u2014 used when the window is backgrounded.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L75"}, {"id": "client_folder_feed_rationale_79", "label": "Resume polling after a pause.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L79"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_folder_feed_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_folder_feed_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_folder_feed_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_folder_feed_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_folder_feed_py", "target": "client_folder_feed_folderfeedstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_folder_feed_py", "target": "client_folder_feed_folderfeed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L33", "weight": 1.0}, {"source": "client_folder_feed_folderfeed", "target": "client_folder_feed_folderfeed_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_folder_feed_py", "target": "client_folder_feed_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L50", "weight": 1.0}, {"source": "client_folder_feed_folderfeed", "target": "client_folder_feed_folderfeed_start", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L53", "weight": 1.0}, {"source": "client_folder_feed_folderfeed", "target": "client_folder_feed_folderfeed_stop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L64", "weight": 1.0}, {"source": "client_folder_feed_folderfeed", "target": "client_folder_feed_folderfeed_pause", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L74", "weight": 1.0}, {"source": "client_folder_feed_folderfeed", "target": "client_folder_feed_folderfeed_resume", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L78", "weight": 1.0}, {"source": "client_folder_feed_folderfeed", "target": "client_folder_feed_folderfeed_loop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L82", "weight": 1.0}, {"source": "client_folder_feed_folderfeed_init", "target": "client_folder_feed_folderfeedstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L46", "weight": 1.0}, {"source": "client_folder_feed_folderfeed_start", "target": "client_folder_feed_folderfeed_stop", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L59", "weight": 1.0}, {"source": "client_folder_feed_folderfeed_start", "target": "client_folder_feed_folderfeed_loop", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L62", "weight": 1.0}, {"source": "client_folder_feed_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_folder_feed_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L1", "weight": 1.0}, {"source": "client_folder_feed_rationale_26", "target": "client_folder_feed_folderfeedstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L26", "weight": 1.0}, {"source": "client_folder_feed_rationale_34", "target": "client_folder_feed_folderfeed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L34", "weight": 1.0}, {"source": "client_folder_feed_rationale_54", "target": "client_folder_feed_folderfeed_start", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L54", "weight": 1.0}, {"source": "client_folder_feed_rationale_75", "target": "client_folder_feed_folderfeed_pause", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L75", "weight": 1.0}, {"source": "client_folder_feed_rationale_79", "target": "client_folder_feed_folderfeed_resume", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L79", "weight": 1.0}], "raw_calls": [{"caller_nid": "client_folder_feed_folderfeed_start", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L57"}, {"caller_nid": "client_folder_feed_folderfeed_start", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L62"}, {"caller_nid": "client_folder_feed_folderfeed_stop", "callee": "cancel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L66"}, {"caller_nid": "client_folder_feed_folderfeed_stop", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L69"}, {"caller_nid": "client_folder_feed_folderfeed_loop", "callee": "_fetch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L88"}, {"caller_nid": "client_folder_feed_folderfeed_loop", "callee": "_on_update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L91"}, {"caller_nid": "client_folder_feed_folderfeed_loop", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py", "source_location": "L97"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1e661e4091bee281aa9639f44b466f676279836bc3760b89a680c187fa166c3e.json b/graphify-out/cache/ast/1e661e4091bee281aa9639f44b466f676279836bc3760b89a680c187fa166c3e.json deleted file mode 100644 index e691914..0000000 --- a/graphify-out/cache/ast/1e661e4091bee281aa9639f44b466f676279836bc3760b89a680c187fa166c3e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "label": "main.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L1"}, {"id": "tray_main_trayapp", "label": "TrayApp", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L49"}, {"id": "tray_main_trayapp_start_server", "label": ".start_server()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L69"}, {"id": "tray_main_trayapp_open_window", "label": ".open_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L73"}, {"id": "tray_main_trayapp_request_quit", "label": ".request_quit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L77"}, {"id": "tray_main_trayapp_shutdown", "label": ".shutdown()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L91"}, {"id": "tray_main_trayapp_run", "label": ".run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L98"}, {"id": "tray_main_build_default_app", "label": "_build_default_app()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L129"}, {"id": "tray_main_build_default_components", "label": "_build_default_components()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L153"}, {"id": "tray_main_tray_backend_available", "label": "_tray_backend_available()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L194"}, {"id": "tray_main_parse_argv", "label": "_parse_argv()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L207"}, {"id": "tray_main_bootstrap_test_config", "label": "_bootstrap_test_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L272"}, {"id": "tray_main_run_smoke", "label": "_run_smoke()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L357"}, {"id": "tray_main_main", "label": "main()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L390"}, {"id": "tray_main_rationale_1", "label": "``exlab-wizard-tray`` console_scripts entry point. Backend Spec \u00a74.3.2. Wires t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L1"}, {"id": "tray_main_rationale_50", "label": "Bundle of long-lived tray components. The launcher constructs one and calls", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L50"}, {"id": "tray_main_rationale_70", "label": "Start the in-process FastAPI server. Returns the bound port.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L70"}, {"id": "tray_main_rationale_74", "label": "Spawn or focus the window subprocess.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L74"}, {"id": "tray_main_rationale_78", "label": "Trigger the graceful-shutdown protocol on the icon thread.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L78"}, {"id": "tray_main_rationale_92", "label": "Tear down sub-components synchronously.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L92"}, {"id": "tray_main_rationale_99", "label": "Start the server, build the icon, run the pystray loop. ``run_loop`` is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L99"}, {"id": "tray_main_rationale_130", "label": "Return the production FastAPI app for the tray. Constructs the live :class:", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L130"}, {"id": "tray_main_rationale_158", "label": "Construct the production TrayApp wiring. Split out so :func:`main` can stay", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L158"}, {"id": "tray_main_rationale_195", "label": "True when a ``pystray`` backend can be imported. When it cannot (e.g. a hea", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L195"}, {"id": "tray_main_rationale_208", "label": "Parse the tray's CLI arguments. The tray accepts: - ``--version`` -- p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L208"}, {"id": "tray_main_rationale_273", "label": "Write a starter test ``config.yaml`` if one does not already exist. Called", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L273"}, {"id": "tray_main_rationale_358", "label": "Server-only loop. Boots the FastAPI server, prints the published port, waits", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L358"}, {"id": "tray_main_rationale_391", "label": "``exlab-wizard-tray`` entry point. The main thread runs pystray; the FastAP", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L391"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "signal", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "exlab_wizard_tray_autostart", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "exlab_wizard_tray_icon", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "exlab_wizard_tray_notifications", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "exlab_wizard_tray_quit_coordinator", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "exlab_wizard_tray_server_runner", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "exlab_wizard_tray_status", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "exlab_wizard_tray_window_launcher", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "tray_main_trayapp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L49", "weight": 1.0}, {"source": "tray_main_trayapp", "target": "tray_main_trayapp_start_server", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L69", "weight": 1.0}, {"source": "tray_main_trayapp", "target": "tray_main_trayapp_open_window", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L73", "weight": 1.0}, {"source": "tray_main_trayapp", "target": "tray_main_trayapp_request_quit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L77", "weight": 1.0}, {"source": "tray_main_trayapp", "target": "tray_main_trayapp_shutdown", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L91", "weight": 1.0}, {"source": "tray_main_trayapp", "target": "tray_main_trayapp_run", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "tray_main_build_default_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L129", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "tray_main_build_default_components", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L153", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "tray_main_tray_backend_available", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L194", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "tray_main_parse_argv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L207", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "tray_main_bootstrap_test_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L272", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "tray_main_run_smoke", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L357", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "target": "tray_main_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L390", "weight": 1.0}, {"source": "tray_main_trayapp_request_quit", "target": "tray_main_trayapp_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L80", "weight": 1.0}, {"source": "tray_main_trayapp_run", "target": "tray_main_trayapp_start_server", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L105", "weight": 1.0}, {"source": "tray_main_trayapp_run", "target": "tray_main_trayapp_shutdown", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L120", "weight": 1.0}, {"source": "tray_main_build_default_components", "target": "tray_main_build_default_app", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L164", "weight": 1.0}, {"source": "tray_main_build_default_components", "target": "tray_main_trayapp", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L177", "weight": 1.0}, {"source": "tray_main_build_default_components", "target": "tray_main_tray_backend_available", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L190", "weight": 1.0}, {"source": "tray_main_run_smoke", "target": "tray_main_build_default_app", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L365", "weight": 1.0}, {"source": "tray_main_main", "target": "tray_main_parse_argv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L397", "weight": 1.0}, {"source": "tray_main_main", "target": "tray_main_bootstrap_test_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L419", "weight": 1.0}, {"source": "tray_main_main", "target": "tray_main_run_smoke", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L424", "weight": 1.0}, {"source": "tray_main_main", "target": "tray_main_build_default_components", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L426", "weight": 1.0}, {"source": "tray_main_main", "target": "tray_main_trayapp_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L428", "weight": 1.0}, {"source": "tray_main_main", "target": "tray_main_trayapp_shutdown", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L431", "weight": 1.0}, {"source": "tray_main_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_main_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_main_rationale_50", "target": "tray_main_trayapp", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L50", "weight": 1.0}, {"source": "tray_main_rationale_70", "target": "tray_main_trayapp_start_server", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L70", "weight": 1.0}, {"source": "tray_main_rationale_74", "target": "tray_main_trayapp_open_window", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L74", "weight": 1.0}, {"source": "tray_main_rationale_78", "target": "tray_main_trayapp_request_quit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L78", "weight": 1.0}, {"source": "tray_main_rationale_92", "target": "tray_main_trayapp_shutdown", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L92", "weight": 1.0}, {"source": "tray_main_rationale_99", "target": "tray_main_trayapp_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L99", "weight": 1.0}, {"source": "tray_main_rationale_130", "target": "tray_main_build_default_app", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L130", "weight": 1.0}, {"source": "tray_main_rationale_158", "target": "tray_main_build_default_components", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L158", "weight": 1.0}, {"source": "tray_main_rationale_195", "target": "tray_main_tray_backend_available", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L195", "weight": 1.0}, {"source": "tray_main_rationale_208", "target": "tray_main_parse_argv", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L208", "weight": 1.0}, {"source": "tray_main_rationale_273", "target": "tray_main_bootstrap_test_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L273", "weight": 1.0}, {"source": "tray_main_rationale_358", "target": "tray_main_run_smoke", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L358", "weight": 1.0}, {"source": "tray_main_rationale_391", "target": "tray_main_main", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L391", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_main_trayapp_start_server", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L71"}, {"caller_nid": "tray_main_trayapp_open_window", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L75"}, {"caller_nid": "tray_main_trayapp_request_quit", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L80"}, {"caller_nid": "tray_main_trayapp_request_quit", "callee": "get_event_loop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L83"}, {"caller_nid": "tray_main_trayapp_request_quit", "callee": "run_until_complete", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L84"}, {"caller_nid": "tray_main_trayapp_request_quit", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L84"}, {"caller_nid": "tray_main_trayapp_request_quit", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L87"}, {"caller_nid": "tray_main_trayapp_request_quit", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L89"}, {"caller_nid": "tray_main_trayapp_shutdown", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L93"}, {"caller_nid": "tray_main_trayapp_shutdown", "callee": "cancel_all", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L94"}, {"caller_nid": "tray_main_trayapp_shutdown", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L95"}, {"caller_nid": "tray_main_trayapp_shutdown", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L96"}, {"caller_nid": "tray_main_trayapp_run", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L106"}, {"caller_nid": "tray_main_trayapp_run", "callee": "build_icon", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L107"}, {"caller_nid": "tray_main_trayapp_run", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L116"}, {"caller_nid": "tray_main_trayapp_run", "callee": "run_loop", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L119"}, {"caller_nid": "tray_main_build_default_app", "callee": "build_production_dependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L144"}, {"caller_nid": "tray_main_build_default_app", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L145"}, {"caller_nid": "tray_main_build_default_app", "callee": "mount_ui", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L149"}, {"caller_nid": "tray_main_build_default_app", "callee": "load_or_create_storage_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L149"}, {"caller_nid": "tray_main_build_default_components", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L165"}, {"caller_nid": "tray_main_build_default_components", "callee": "ServerRunner", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L166"}, {"caller_nid": "tray_main_build_default_components", "callee": "WindowLauncher", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L167"}, {"caller_nid": "tray_main_build_default_components", "callee": "NotificationBus", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L168"}, {"caller_nid": "tray_main_build_default_components", "callee": "StatusTicker", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L169"}, {"caller_nid": "tray_main_build_default_components", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L170"}, {"caller_nid": "tray_main_build_default_components", "callee": "QuitCoordinator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L171"}, {"caller_nid": "tray_main_build_default_components", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L174"}, {"caller_nid": "tray_main_build_default_components", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L175"}, {"caller_nid": "tray_main_parse_argv", "callee": "ArgumentParser", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L233"}, {"caller_nid": "tray_main_parse_argv", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L234"}, {"caller_nid": "tray_main_parse_argv", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L239"}, {"caller_nid": "tray_main_parse_argv", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L244"}, {"caller_nid": "tray_main_parse_argv", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L249"}, {"caller_nid": "tray_main_parse_argv", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L258"}, {"caller_nid": "tray_main_parse_argv", "callee": "parse_args", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L266"}, {"caller_nid": "tray_main_parse_argv", "callee": "error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L268"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L287"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L302"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L303"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L304"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L305"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L307"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L309"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L313"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L314"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L318"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L319"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L332"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "save_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L337"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "ensure_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L352"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L352"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L354"}, {"caller_nid": "tray_main_bootstrap_test_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L354"}, {"caller_nid": "tray_main_run_smoke", "callee": "ServerRunner", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L366"}, {"caller_nid": "tray_main_run_smoke", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L367"}, {"caller_nid": "tray_main_run_smoke", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L368"}, {"caller_nid": "tray_main_run_smoke", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L369"}, {"caller_nid": "tray_main_run_smoke", "callee": "Event", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L371"}, {"caller_nid": "tray_main_run_smoke", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L380"}, {"caller_nid": "tray_main_run_smoke", "callee": "signal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L381"}, {"caller_nid": "tray_main_run_smoke", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L384"}, {"caller_nid": "tray_main_run_smoke", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L386"}, {"caller_nid": "tray_main_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L401"}, {"caller_nid": "tray_main_main", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L413"}, {"caller_nid": "tray_main_main", "callee": "ensure_state_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L417"}, {"caller_nid": "tray_main_main", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L420"}, {"caller_nid": "tray_main_main", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py", "source_location": "L430"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1ebe8dc34ef79708e459294cd23b3525cffdeedf8db70de24e10eb6816e0689c.json b/graphify-out/cache/ast/1ebe8dc34ef79708e459294cd23b3525cffdeedf8db70de24e10eb6816e0689c.json deleted file mode 100644 index b315dfc..0000000 --- a/graphify-out/cache/ast/1ebe8dc34ef79708e459294cd23b3525cffdeedf8db70de24e10eb6816e0689c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "label": "staging_query.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L1"}, {"id": "orchestrator_staging_query_stagedrunsummary", "label": "StagedRunSummary", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L44"}, {"id": "orchestrator_staging_query_list_staged_runs", "label": "list_staged_runs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L73"}, {"id": "orchestrator_staging_query_summarize_run", "label": "_summarize_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L119"}, {"id": "orchestrator_staging_query_rollup_value", "label": "_rollup_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L149"}, {"id": "orchestrator_staging_query_path_identity", "label": "_path_identity()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L165"}, {"id": "orchestrator_staging_query_dir_mtime_iso", "label": "_dir_mtime_iso()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L189"}, {"id": "orchestrator_staging_query_parse_iso", "label": "_parse_iso()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L198"}, {"id": "orchestrator_staging_query_iso_to_epoch", "label": "_iso_to_epoch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L204"}, {"id": "orchestrator_staging_query_rationale_1", "label": "Read-only enumeration of runs pending NAS sync. Backend Spec \u00a713.8. The orchest", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L1"}, {"id": "orchestrator_staging_query_rationale_45", "label": "One row in the orchestrator's staging panel. Backend Spec \u00a713.8: * ``p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L45"}, {"id": "orchestrator_staging_query_rationale_80", "label": "Enumerate every staged run with its derived lifecycle state. ``staging_root", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L80"}, {"id": "orchestrator_staging_query_rationale_125", "label": "Build a :class:`StagedRunSummary` for ``run_path``. Equipment id / project", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L125"}, {"id": "orchestrator_staging_query_rationale_150", "label": "Return the derived ``sync_state.json`` rollup for ``run_path``. Reads the r", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L150"}, {"id": "orchestrator_staging_query_rationale_166", "label": "Return ``(equipment_id, project_name, run_kind)`` from the run path. Falls", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L166"}, {"id": "orchestrator_staging_query_rationale_190", "label": "Return the run directory mtime as a UTC ISO-8601 string.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L190"}, {"id": "orchestrator_staging_query_rationale_199", "label": "Parse an ISO-8601 ``Z``-suffixed timestamp; fall back on error.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L199"}, {"id": "orchestrator_staging_query_rationale_205", "label": "Sort key helper -- returns 0.0 if ``value`` cannot be parsed.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L205"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "exlab_wizard_cache_sync_state_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "exlab_wizard_orchestrator_scan", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "orchestrator_staging_query_stagedrunsummary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "orchestrator_staging_query_list_staged_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L73", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "orchestrator_staging_query_summarize_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L119", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "orchestrator_staging_query_rollup_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L149", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "orchestrator_staging_query_path_identity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L165", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "orchestrator_staging_query_dir_mtime_iso", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "orchestrator_staging_query_parse_iso", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L198", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "target": "orchestrator_staging_query_iso_to_epoch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L204", "weight": 1.0}, {"source": "orchestrator_staging_query_list_staged_runs", "target": "orchestrator_staging_query_summarize_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L108", "weight": 1.0}, {"source": "orchestrator_staging_query_list_staged_runs", "target": "orchestrator_staging_query_iso_to_epoch", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L110", "weight": 1.0}, {"source": "orchestrator_staging_query_summarize_run", "target": "orchestrator_staging_query_path_identity", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L131", "weight": 1.0}, {"source": "orchestrator_staging_query_summarize_run", "target": "orchestrator_staging_query_dir_mtime_iso", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L133", "weight": 1.0}, {"source": "orchestrator_staging_query_summarize_run", "target": "orchestrator_staging_query_parse_iso", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L134", "weight": 1.0}, {"source": "orchestrator_staging_query_summarize_run", "target": "orchestrator_staging_query_rollup_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L135", "weight": 1.0}, {"source": "orchestrator_staging_query_summarize_run", "target": "orchestrator_staging_query_stagedrunsummary", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L136", "weight": 1.0}, {"source": "orchestrator_staging_query_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_query_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L1", "weight": 1.0}, {"source": "orchestrator_staging_query_rationale_45", "target": "orchestrator_staging_query_stagedrunsummary", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L45", "weight": 1.0}, {"source": "orchestrator_staging_query_rationale_80", "target": "orchestrator_staging_query_list_staged_runs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L80", "weight": 1.0}, {"source": "orchestrator_staging_query_rationale_125", "target": "orchestrator_staging_query_summarize_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L125", "weight": 1.0}, {"source": "orchestrator_staging_query_rationale_150", "target": "orchestrator_staging_query_rollup_value", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L150", "weight": 1.0}, {"source": "orchestrator_staging_query_rationale_166", "target": "orchestrator_staging_query_path_identity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L166", "weight": 1.0}, {"source": "orchestrator_staging_query_rationale_190", "target": "orchestrator_staging_query_dir_mtime_iso", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L190", "weight": 1.0}, {"source": "orchestrator_staging_query_rationale_199", "target": "orchestrator_staging_query_parse_iso", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L199", "weight": 1.0}, {"source": "orchestrator_staging_query_rationale_205", "target": "orchestrator_staging_query_iso_to_epoch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L205", "weight": 1.0}], "raw_calls": [{"caller_nid": "orchestrator_staging_query_list_staged_runs", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L101"}, {"caller_nid": "orchestrator_staging_query_list_staged_runs", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L104"}, {"caller_nid": "orchestrator_staging_query_list_staged_runs", "callee": "utc_now_or", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L106"}, {"caller_nid": "orchestrator_staging_query_list_staged_runs", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L107"}, {"caller_nid": "orchestrator_staging_query_list_staged_runs", "callee": "walk_run_leaves", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L108"}, {"caller_nid": "orchestrator_staging_query_list_staged_runs", "callee": "sort", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L110"}, {"caller_nid": "orchestrator_staging_query_summarize_run", "callee": "count_files_and_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L132"}, {"caller_nid": "orchestrator_staging_query_summarize_run", "callee": "max", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L134"}, {"caller_nid": "orchestrator_staging_query_summarize_run", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L134"}, {"caller_nid": "orchestrator_staging_query_summarize_run", "callee": "total_seconds", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L134"}, {"caller_nid": "orchestrator_staging_query_summarize_run", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L137"}, {"caller_nid": "orchestrator_staging_query_rollup_value", "callee": "read_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L158"}, {"caller_nid": "orchestrator_staging_query_rollup_value", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L160"}, {"caller_nid": "orchestrator_staging_query_rollup_value", "callee": "rollup_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L162"}, {"caller_nid": "orchestrator_staging_query_path_identity", "callee": "relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L172"}, {"caller_nid": "orchestrator_staging_query_path_identity", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L172"}, {"caller_nid": "orchestrator_staging_query_path_identity", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L172"}, {"caller_nid": "orchestrator_staging_query_path_identity", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L174"}, {"caller_nid": "orchestrator_staging_query_path_identity", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L177"}, {"caller_nid": "orchestrator_staging_query_path_identity", "callee": "is_test_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L180"}, {"caller_nid": "orchestrator_staging_query_dir_mtime_iso", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L192"}, {"caller_nid": "orchestrator_staging_query_dir_mtime_iso", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L194"}, {"caller_nid": "orchestrator_staging_query_dir_mtime_iso", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L195"}, {"caller_nid": "orchestrator_staging_query_dir_mtime_iso", "callee": "fromtimestamp", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L195"}, {"caller_nid": "orchestrator_staging_query_parse_iso", "callee": "parse_utc_iso_or_none", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L200"}, {"caller_nid": "orchestrator_staging_query_iso_to_epoch", "callee": "parse_utc_iso_or_none", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L206"}, {"caller_nid": "orchestrator_staging_query_iso_to_epoch", "callee": "timestamp", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py", "source_location": "L207"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1eeb5417518fb4a54a6f22ac5c6cbaee3b48600c61c29a0a5e67ab4db18fec27.json b/graphify-out/cache/ast/1eeb5417518fb4a54a6f22ac5c6cbaee3b48600c61c29a0a5e67ab4db18fec27.json deleted file mode 100644 index 0f00207..0000000 --- a/graphify-out/cache/ast/1eeb5417518fb4a54a6f22ac5c6cbaee3b48600c61c29a0a5e67ab4db18fec27.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "label": "paths.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L1"}, {"id": "exlab_wizard_paths_app_name", "label": "_app_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L95"}, {"id": "exlab_wizard_paths_platform", "label": "_platform()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L107"}, {"id": "exlab_wizard_paths_home", "label": "_home()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L118"}, {"id": "exlab_wizard_paths_env_path", "label": "_env_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L127"}, {"id": "exlab_wizard_paths_os_config_path", "label": "os_config_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L133"}, {"id": "exlab_wizard_paths_os_state_path", "label": "os_state_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L145"}, {"id": "exlab_wizard_paths_os_cache_path", "label": "os_cache_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L157"}, {"id": "exlab_wizard_paths_os_central_log_path", "label": "os_central_log_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L169"}, {"id": "exlab_wizard_paths_suggested_staging_root", "label": "suggested_staging_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L188"}, {"id": "exlab_wizard_paths_ensure_dir", "label": "ensure_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L220"}, {"id": "exlab_wizard_paths_ensure_state_dir", "label": "ensure_state_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L226"}, {"id": "exlab_wizard_paths_ensure_central_log_dir", "label": "ensure_central_log_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L231"}, {"id": "exlab_wizard_paths_canonicalize_equipment_id", "label": "canonicalize_equipment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L241"}, {"id": "exlab_wizard_paths_validate_project_short_id", "label": "validate_project_short_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L272"}, {"id": "exlab_wizard_paths_project_name_violations", "label": "project_name_violations()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L290"}, {"id": "exlab_wizard_paths_validate_project_name", "label": "validate_project_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L348"}, {"id": "exlab_wizard_paths_compose_run_path", "label": "compose_run_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L360"}, {"id": "exlab_wizard_paths_compose_project_path", "label": "compose_project_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L396"}, {"id": "exlab_wizard_paths_lims_slot_satisfied", "label": "_lims_slot_satisfied()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L420"}, {"id": "exlab_wizard_paths_paths_complete", "label": "_paths_complete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L437"}, {"id": "exlab_wizard_paths_password_required_equipment", "label": "_password_required_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L447"}, {"id": "exlab_wizard_paths_nas_slot_satisfied", "label": "_nas_slot_satisfied()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L466"}, {"id": "exlab_wizard_paths_evaluate_setup_state", "label": "evaluate_setup_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L483"}, {"id": "exlab_wizard_paths_orchestrator_identity_complete", "label": "_orchestrator_identity_complete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L533"}, {"id": "exlab_wizard_paths_setup_state_missing", "label": "setup_state_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L544"}, {"id": "exlab_wizard_paths_missing_nas_fields", "label": "_missing_nas_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L578"}, {"id": "exlab_wizard_paths_missing_orchestrator_fields", "label": "_missing_orchestrator_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L601"}, {"id": "exlab_wizard_paths_missing_paths_fields", "label": "_missing_paths_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L611"}, {"id": "exlab_wizard_paths_missing_lims_fields", "label": "_missing_lims_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L624"}, {"id": "exlab_wizard_paths_setup_state_next_action", "label": "setup_state_next_action()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L643"}, {"id": "exlab_wizard_paths_cache_dir", "label": "cache_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L673"}, {"id": "exlab_wizard_paths_creation_json_path", "label": "creation_json_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L678"}, {"id": "exlab_wizard_paths_equipment_json_path", "label": "equipment_json_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L683"}, {"id": "exlab_wizard_paths_readme_fields_json_path", "label": "readme_fields_json_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L688"}, {"id": "exlab_wizard_paths_is_run_dir", "label": "is_run_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L698"}, {"id": "exlab_wizard_paths_is_test_run_dir", "label": "is_test_run_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L708"}, {"id": "exlab_wizard_paths_run_dir_stem", "label": "run_dir_stem()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L713"}, {"id": "exlab_wizard_paths_rationale_1", "label": "Path composition + OS-appropriate directories + equipment-id canonicalization.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L1"}, {"id": "exlab_wizard_paths_rationale_96", "label": "``APP_NAME`` (suffixed ``-test`` when ``EXLAB_WIZARD_TEST_MODE=1``).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L96"}, {"id": "exlab_wizard_paths_rationale_108", "label": "Return a normalized platform tag for OS-conditional path dispatch.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L108"}, {"id": "exlab_wizard_paths_rationale_119", "label": "Return the operator's home directory. Centralized so test fixtures can monk", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L119"}, {"id": "exlab_wizard_paths_rationale_128", "label": "Return ``Path(os.environ[var])`` if the var is set and non-empty, else ``fallbac", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L128"}, {"id": "exlab_wizard_paths_rationale_134", "label": "Return the OS-appropriate path of ``config.yaml``. Backend Spec \u00a79.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L134"}, {"id": "exlab_wizard_paths_rationale_146", "label": "Return the OS-appropriate state directory. Backend Spec \u00a715.7.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L146"}, {"id": "exlab_wizard_paths_rationale_158", "label": "Return the OS-appropriate cache directory. Backend Spec \u00a77.2.4.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L158"}, {"id": "exlab_wizard_paths_rationale_170", "label": "Return the OS-appropriate central log file. Backend Spec \u00a716.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L170"}, {"id": "exlab_wizard_paths_rationale_189", "label": "Suggested (not default) ``orchestrator.staging_root``. Backend Spec \u00a79, \u00a713.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L189"}, {"id": "exlab_wizard_paths_rationale_221", "label": "``mkdir -p`` the given path; return it. Idempotent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L221"}, {"id": "exlab_wizard_paths_rationale_227", "label": "``ensure_dir(os_state_path())``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L227"}, {"id": "exlab_wizard_paths_rationale_232", "label": "``ensure_dir(os_central_log_path().parent)``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L232"}, {"id": "exlab_wizard_paths_rationale_242", "label": "Validate ``value`` against the \u00a73.1 equipment-ID regex. Returns ``value`` u", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L242"}, {"id": "exlab_wizard_paths_rationale_273", "label": "Validate ``value`` against ``PROJECT_SHORT_ID_PATTERN``. Returns the input", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L273"}, {"id": "exlab_wizard_paths_rationale_291", "label": "Return every way ``value`` fails the \u00a73.2 project-name rule. The project fo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L291"}, {"id": "exlab_wizard_paths_rationale_349", "label": "Validate ``value`` as a \u00a73.2 project-folder name. Returns the input unchang", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L349"}, {"id": "exlab_wizard_paths_rationale_368", "label": "Compose the absolute on-disk path for a new run. Paths follow Backend Spec", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L368"}, {"id": "exlab_wizard_paths_rationale_402", "label": "Compose the project-level directory. ``//`` or ``TestRun_``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L714"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_app_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L95", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_platform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L107", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_home", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L118", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_env_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L127", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_os_config_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L133", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_os_state_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L145", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_os_cache_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L157", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_os_central_log_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L169", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_suggested_staging_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L188", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_ensure_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L220", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_ensure_state_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L226", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_ensure_central_log_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L231", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_canonicalize_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L241", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_validate_project_short_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L272", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_project_name_violations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L290", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_validate_project_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L348", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_compose_run_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L360", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_compose_project_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L396", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_lims_slot_satisfied", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L420", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_paths_complete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L437", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_password_required_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L447", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_nas_slot_satisfied", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L466", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_evaluate_setup_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L483", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_orchestrator_identity_complete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L533", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_setup_state_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L544", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_missing_nas_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L578", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_missing_orchestrator_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L601", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_missing_paths_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L611", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_missing_lims_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L624", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_setup_state_next_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L643", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_cache_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L673", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_creation_json_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L678", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_equipment_json_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L683", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_readme_fields_json_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L688", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_is_run_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L698", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_is_test_run_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L708", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "target": "exlab_wizard_paths_run_dir_stem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L713", "weight": 1.0}, {"source": "exlab_wizard_paths_os_config_path", "target": "exlab_wizard_paths_app_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L135", "weight": 1.0}, {"source": "exlab_wizard_paths_os_config_path", "target": "exlab_wizard_paths_platform", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L136", "weight": 1.0}, {"source": "exlab_wizard_paths_os_config_path", "target": "exlab_wizard_paths_home", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L138", "weight": 1.0}, {"source": "exlab_wizard_paths_os_config_path", "target": "exlab_wizard_paths_env_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L140", "weight": 1.0}, {"source": "exlab_wizard_paths_os_state_path", "target": "exlab_wizard_paths_app_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L147", "weight": 1.0}, {"source": "exlab_wizard_paths_os_state_path", "target": "exlab_wizard_paths_platform", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L148", "weight": 1.0}, {"source": "exlab_wizard_paths_os_state_path", "target": "exlab_wizard_paths_home", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L150", "weight": 1.0}, {"source": "exlab_wizard_paths_os_state_path", "target": "exlab_wizard_paths_env_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L152", "weight": 1.0}, {"source": "exlab_wizard_paths_os_cache_path", "target": "exlab_wizard_paths_app_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L159", "weight": 1.0}, {"source": "exlab_wizard_paths_os_cache_path", "target": "exlab_wizard_paths_platform", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L160", "weight": 1.0}, {"source": "exlab_wizard_paths_os_cache_path", "target": "exlab_wizard_paths_home", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L162", "weight": 1.0}, {"source": "exlab_wizard_paths_os_cache_path", "target": "exlab_wizard_paths_env_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L164", "weight": 1.0}, {"source": "exlab_wizard_paths_os_central_log_path", "target": "exlab_wizard_paths_app_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L171", "weight": 1.0}, {"source": "exlab_wizard_paths_os_central_log_path", "target": "exlab_wizard_paths_platform", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L172", "weight": 1.0}, {"source": "exlab_wizard_paths_os_central_log_path", "target": "exlab_wizard_paths_home", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L174", "weight": 1.0}, {"source": "exlab_wizard_paths_os_central_log_path", "target": "exlab_wizard_paths_env_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L177", "weight": 1.0}, {"source": "exlab_wizard_paths_suggested_staging_root", "target": "exlab_wizard_paths_app_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L205", "weight": 1.0}, {"source": "exlab_wizard_paths_suggested_staging_root", "target": "exlab_wizard_paths_platform", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L206", "weight": 1.0}, {"source": "exlab_wizard_paths_suggested_staging_root", "target": "exlab_wizard_paths_home", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L208", "weight": 1.0}, {"source": "exlab_wizard_paths_suggested_staging_root", "target": "exlab_wizard_paths_env_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L210", "weight": 1.0}, {"source": "exlab_wizard_paths_ensure_state_dir", "target": "exlab_wizard_paths_ensure_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L228", "weight": 1.0}, {"source": "exlab_wizard_paths_ensure_state_dir", "target": "exlab_wizard_paths_os_state_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L228", "weight": 1.0}, {"source": "exlab_wizard_paths_ensure_central_log_dir", "target": "exlab_wizard_paths_ensure_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L233", "weight": 1.0}, {"source": "exlab_wizard_paths_ensure_central_log_dir", "target": "exlab_wizard_paths_os_central_log_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L233", "weight": 1.0}, {"source": "exlab_wizard_paths_validate_project_name", "target": "exlab_wizard_paths_project_name_violations", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L354", "weight": 1.0}, {"source": "exlab_wizard_paths_compose_run_path", "target": "exlab_wizard_paths_canonicalize_equipment_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L387", "weight": 1.0}, {"source": "exlab_wizard_paths_compose_run_path", "target": "exlab_wizard_paths_validate_project_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L388", "weight": 1.0}, {"source": "exlab_wizard_paths_compose_project_path", "target": "exlab_wizard_paths_canonicalize_equipment_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L410", "weight": 1.0}, {"source": "exlab_wizard_paths_compose_project_path", "target": "exlab_wizard_paths_validate_project_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L411", "weight": 1.0}, {"source": "exlab_wizard_paths_nas_slot_satisfied", "target": "exlab_wizard_paths_password_required_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L480", "weight": 1.0}, {"source": "exlab_wizard_paths_evaluate_setup_state", "target": "exlab_wizard_paths_paths_complete", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L515", "weight": 1.0}, {"source": "exlab_wizard_paths_evaluate_setup_state", "target": "exlab_wizard_paths_orchestrator_identity_complete", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L517", "weight": 1.0}, {"source": "exlab_wizard_paths_evaluate_setup_state", "target": "exlab_wizard_paths_nas_slot_satisfied", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L524", "weight": 1.0}, {"source": "exlab_wizard_paths_evaluate_setup_state", "target": "exlab_wizard_paths_lims_slot_satisfied", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L526", "weight": 1.0}, {"source": "exlab_wizard_paths_setup_state_missing", "target": "exlab_wizard_paths_missing_paths_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L568", "weight": 1.0}, {"source": "exlab_wizard_paths_setup_state_missing", "target": "exlab_wizard_paths_missing_orchestrator_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L570", "weight": 1.0}, {"source": "exlab_wizard_paths_setup_state_missing", "target": "exlab_wizard_paths_missing_nas_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L572", "weight": 1.0}, {"source": "exlab_wizard_paths_setup_state_missing", "target": "exlab_wizard_paths_missing_lims_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L574", "weight": 1.0}, {"source": "exlab_wizard_paths_missing_nas_fields", "target": "exlab_wizard_paths_password_required_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L596", "weight": 1.0}, {"source": "exlab_wizard_paths_creation_json_path", "target": "exlab_wizard_paths_cache_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L680", "weight": 1.0}, {"source": "exlab_wizard_paths_equipment_json_path", "target": "exlab_wizard_paths_cache_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L685", "weight": 1.0}, {"source": "exlab_wizard_paths_readme_fields_json_path", "target": "exlab_wizard_paths_cache_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L690", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_paths_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L1", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_96", "target": "exlab_wizard_paths_app_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L96", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_108", "target": "exlab_wizard_paths_platform", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L108", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_119", "target": "exlab_wizard_paths_home", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L119", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_128", "target": "exlab_wizard_paths_env_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L128", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_134", "target": "exlab_wizard_paths_os_config_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L134", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_146", "target": "exlab_wizard_paths_os_state_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L146", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_158", "target": "exlab_wizard_paths_os_cache_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L158", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_170", "target": "exlab_wizard_paths_os_central_log_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L170", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_189", "target": "exlab_wizard_paths_suggested_staging_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L189", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_221", "target": "exlab_wizard_paths_ensure_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L221", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_227", "target": "exlab_wizard_paths_ensure_state_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L227", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_232", "target": "exlab_wizard_paths_ensure_central_log_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L232", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_242", "target": "exlab_wizard_paths_canonicalize_equipment_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L242", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_273", "target": "exlab_wizard_paths_validate_project_short_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L273", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_291", "target": "exlab_wizard_paths_project_name_violations", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L291", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_349", "target": "exlab_wizard_paths_validate_project_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L349", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_368", "target": "exlab_wizard_paths_compose_run_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L368", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_402", "target": "exlab_wizard_paths_compose_project_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L402", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_425", "target": "exlab_wizard_paths_lims_slot_satisfied", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L425", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_438", "target": "exlab_wizard_paths_paths_complete", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L438", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_448", "target": "exlab_wizard_paths_password_required_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L448", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_471", "target": "exlab_wizard_paths_nas_slot_satisfied", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L471", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_490", "target": "exlab_wizard_paths_evaluate_setup_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L490", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_534", "target": "exlab_wizard_paths_orchestrator_identity_complete", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L534", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_550", "target": "exlab_wizard_paths_setup_state_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L550", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_583", "target": "exlab_wizard_paths_missing_nas_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L583", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_602", "target": "exlab_wizard_paths_missing_orchestrator_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L602", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_644", "target": "exlab_wizard_paths_setup_state_next_action", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L644", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_674", "target": "exlab_wizard_paths_cache_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L674", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_679", "target": "exlab_wizard_paths_creation_json_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L679", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_684", "target": "exlab_wizard_paths_equipment_json_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L684", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_689", "target": "exlab_wizard_paths_readme_fields_json_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L689", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_699", "target": "exlab_wizard_paths_is_run_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L699", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_709", "target": "exlab_wizard_paths_is_test_run_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L709", "weight": 1.0}, {"source": "exlab_wizard_paths_rationale_714", "target": "exlab_wizard_paths_run_dir_stem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L714", "weight": 1.0}], "raw_calls": [{"caller_nid": "exlab_wizard_paths_app_name", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L97"}, {"caller_nid": "exlab_wizard_paths_home", "callee": "home", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L124"}, {"caller_nid": "exlab_wizard_paths_env_path", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L129"}, {"caller_nid": "exlab_wizard_paths_env_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L130"}, {"caller_nid": "exlab_wizard_paths_ensure_dir", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L222"}, {"caller_nid": "exlab_wizard_paths_canonicalize_equipment_id", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L252"}, {"caller_nid": "exlab_wizard_paths_canonicalize_equipment_id", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L254"}, {"caller_nid": "exlab_wizard_paths_canonicalize_equipment_id", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L255"}, {"caller_nid": "exlab_wizard_paths_canonicalize_equipment_id", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L258"}, {"caller_nid": "exlab_wizard_paths_canonicalize_equipment_id", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L260"}, {"caller_nid": "exlab_wizard_paths_canonicalize_equipment_id", "callee": "fullmatch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L261"}, {"caller_nid": "exlab_wizard_paths_canonicalize_equipment_id", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L263"}, {"caller_nid": "exlab_wizard_paths_validate_project_short_id", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L281"}, {"caller_nid": "exlab_wizard_paths_validate_project_short_id", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L283"}, {"caller_nid": "exlab_wizard_paths_validate_project_short_id", "callee": "fullmatch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L284"}, {"caller_nid": "exlab_wizard_paths_validate_project_short_id", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L286"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L306"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L310"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L311"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L315"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L318"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L319"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L320"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L320"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L320"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L322"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L323"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L324"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L327"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "ord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L331"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L332"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L333"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L341"}, {"caller_nid": "exlab_wizard_paths_project_name_violations", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L342"}, {"caller_nid": "exlab_wizard_paths_validate_project_name", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L356"}, {"caller_nid": "exlab_wizard_paths_compose_run_path", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L389"}, {"caller_nid": "exlab_wizard_paths_compose_run_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L390"}, {"caller_nid": "exlab_wizard_paths_compose_project_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L412"}, {"caller_nid": "exlab_wizard_paths_lims_slot_satisfied", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L434"}, {"caller_nid": "exlab_wizard_paths_paths_complete", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L444"}, {"caller_nid": "exlab_wizard_paths_password_required_equipment", "callee": "transport_requires_keyring_password", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L462"}, {"caller_nid": "exlab_wizard_paths_nas_slot_satisfied", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L480"}, {"caller_nid": "exlab_wizard_paths_nas_slot_satisfied", "callee": "nas_password_present_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L480"}, {"caller_nid": "exlab_wizard_paths_orchestrator_identity_complete", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L541"}, {"caller_nid": "exlab_wizard_paths_missing_nas_fields", "callee": "nas_password_present_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L597"}, {"caller_nid": "exlab_wizard_paths_missing_orchestrator_fields", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L607"}, {"caller_nid": "exlab_wizard_paths_missing_paths_fields", "callee": "accessor", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L620"}, {"caller_nid": "exlab_wizard_paths_missing_lims_fields", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L628"}, {"caller_nid": "exlab_wizard_paths_missing_lims_fields", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L629"}, {"caller_nid": "exlab_wizard_paths_missing_lims_fields", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L631"}, {"caller_nid": "exlab_wizard_paths_missing_lims_fields", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L633"}, {"caller_nid": "exlab_wizard_paths_missing_lims_fields", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L639"}, {"caller_nid": "exlab_wizard_paths_is_run_dir", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L705"}, {"caller_nid": "exlab_wizard_paths_is_test_run_dir", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py", "source_location": "L710"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1f7cc5b26a50859217dbb31f3b4af30b129733fb8a6e38a8ee30e9376b037e2b.json b/graphify-out/cache/ast/1f7cc5b26a50859217dbb31f3b4af30b129733fb8a6e38a8ee30e9376b037e2b.json deleted file mode 100644 index b24c771..0000000 --- a/graphify-out/cache/ast/1f7cc5b26a50859217dbb31f3b4af30b129733fb8a6e38a8ee30e9376b037e2b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "label": "copier_driver.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L1"}, {"id": "template_copier_driver_resolvedtemplate", "label": "ResolvedTemplate", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L60"}, {"id": "template_copier_driver_renderresult", "label": "RenderResult", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L95"}, {"id": "template_copier_driver_templateengine", "label": "TemplateEngine", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L109"}, {"id": "template_copier_driver_templateengine_resolve", "label": ".resolve()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L112"}, {"id": "template_copier_driver_extract_readme_fields", "label": "_extract_readme_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L228"}, {"id": "template_copier_driver_templateengine_render", "label": ".render()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L257"}, {"id": "template_copier_driver_snapshot_files", "label": "_snapshot_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L307"}, {"id": "template_copier_driver_rationale_1", "label": "Copier template-engine wrapper. Backend Spec \u00a74.4.2 / \u00a75. This module wraps Cop", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L1"}, {"id": "template_copier_driver_rationale_61", "label": "A loaded template's metadata. Backend Spec \u00a75.2. Attributes: name:", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L61"}, {"id": "template_copier_driver_rationale_96", "label": "Outcome of a render call. Attributes: dst_path: The absolute destin", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L96"}, {"id": "template_copier_driver_rationale_110", "label": "Wraps the Copier Python API behind the \u00a74.4.2 contract.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L110"}, {"id": "template_copier_driver_rationale_113", "label": "Load + validate a template's ``copier.yml``. Args: template", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L113"}, {"id": "template_copier_driver_rationale_231", "label": "Pull ``_exlab_readme.fields`` and reject core-field collisions. Tolerat", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L231"}, {"id": "template_copier_driver_rationale_263", "label": "Render the template into ``dst`` via Copier. Args: tpl: A p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L263"}, {"id": "template_copier_driver_rationale_308", "label": "Return the set of regular files under ``root`` (recursively). Returns the e", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L308"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "copier", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "yaml", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "template_copier_driver_resolvedtemplate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "template_copier_driver_renderresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L95", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "template_copier_driver_templateengine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L109", "weight": 1.0}, {"source": "template_copier_driver_templateengine", "target": "template_copier_driver_templateengine_resolve", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "template_copier_driver_extract_readme_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L228", "weight": 1.0}, {"source": "template_copier_driver_templateengine", "target": "template_copier_driver_templateengine_render", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L257", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "target": "template_copier_driver_snapshot_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L307", "weight": 1.0}, {"source": "template_copier_driver_templateengine_resolve", "target": "template_copier_driver_extract_readme_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L198", "weight": 1.0}, {"source": "template_copier_driver_templateengine_resolve", "target": "template_copier_driver_resolvedtemplate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L215", "weight": 1.0}, {"source": "template_copier_driver_templateengine_render", "target": "template_copier_driver_snapshot_files", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L283", "weight": 1.0}, {"source": "template_copier_driver_templateengine_render", "target": "template_copier_driver_renderresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L304", "weight": 1.0}, {"source": "template_copier_driver_snapshot_files", "target": "template_copier_driver_templateengine_resolve", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L318", "weight": 1.0}, {"source": "template_copier_driver_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_template_copier_driver_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L1", "weight": 1.0}, {"source": "template_copier_driver_rationale_61", "target": "template_copier_driver_resolvedtemplate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L61", "weight": 1.0}, {"source": "template_copier_driver_rationale_96", "target": "template_copier_driver_renderresult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L96", "weight": 1.0}, {"source": "template_copier_driver_rationale_110", "target": "template_copier_driver_templateengine", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L110", "weight": 1.0}, {"source": "template_copier_driver_rationale_113", "target": "template_copier_driver_templateengine_resolve", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L113", "weight": 1.0}, {"source": "template_copier_driver_rationale_231", "target": "template_copier_driver_templateengine_extract_readme_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L231", "weight": 1.0}, {"source": "template_copier_driver_rationale_263", "target": "template_copier_driver_templateengine_render", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L263", "weight": 1.0}, {"source": "template_copier_driver_rationale_308", "target": "template_copier_driver_snapshot_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L308", "weight": 1.0}], "raw_calls": [{"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L136"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "TemplateLoadError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L137"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "load_yaml_manifest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L142"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "TemplateLoadError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L144"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "TemplateLoadError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L148"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L153"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L154"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "TemplateLoadError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L155"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "TemplateType", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L159"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "TemplateLoadError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L161"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L163"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "TemplateLoadError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L166"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L172"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L173"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L173"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "TemplateLoadError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L174"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L182"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L183"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "TemplateLoadError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L184"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L187"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "RunScope", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L190"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "TemplateLoadError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L192"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L194"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L202"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L209"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L210"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L210"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L212"}, {"caller_nid": "template_copier_driver_templateengine_resolve", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L213"}, {"caller_nid": "template_copier_driver_extract_readme_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L239"}, {"caller_nid": "template_copier_driver_extract_readme_fields", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L240"}, {"caller_nid": "template_copier_driver_extract_readme_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L242"}, {"caller_nid": "template_copier_driver_extract_readme_fields", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L243"}, {"caller_nid": "template_copier_driver_extract_readme_fields", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L246"}, {"caller_nid": "template_copier_driver_extract_readme_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L248"}, {"caller_nid": "template_copier_driver_extract_readme_fields", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L249"}, {"caller_nid": "template_copier_driver_extract_readme_fields", "callee": "TemplateCoreFieldRedeclaredError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L250"}, {"caller_nid": "template_copier_driver_templateengine_render", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L291"}, {"caller_nid": "template_copier_driver_templateengine_render", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L293"}, {"caller_nid": "template_copier_driver_templateengine_render", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L294"}, {"caller_nid": "template_copier_driver_templateengine_render", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L303"}, {"caller_nid": "template_copier_driver_snapshot_files", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L314"}, {"caller_nid": "template_copier_driver_snapshot_files", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L315"}, {"caller_nid": "template_copier_driver_snapshot_files", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L316"}, {"caller_nid": "template_copier_driver_snapshot_files", "callee": "rglob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L319"}, {"caller_nid": "template_copier_driver_snapshot_files", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py", "source_location": "L319"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/1f8336d331d7e7555033f3665c5237a3ffc20a539bb3052235f66b7794dd8a70.json b/graphify-out/cache/ast/1f8336d331d7e7555033f3665c5237a3ffc20a539bb3052235f66b7794dd8a70.json deleted file mode 100644 index a8a55ba..0000000 --- a/graphify-out/cache/ast/1f8336d331d7e7555033f3665c5237a3ffc20a539bb3052235f66b7794dd8a70.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "label": "test_creation_json_concurrent_writes.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L1"}, {"id": "integration_test_creation_json_concurrent_writes_build_minimal_payload", "label": "_build_minimal_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L33"}, {"id": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "label": "test_ten_concurrent_mutations_all_land()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L57"}, {"id": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "label": "test_concurrent_mutations_keep_schema_at_current_version()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L94"}, {"id": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "label": "test_concurrent_mutations_keep_file_valid_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L131"}, {"id": "integration_test_creation_json_concurrent_writes_rationale_1", "label": "Integration test: concurrent ``creation.json`` writers serialize correctly. Spe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L1"}, {"id": "integration_test_creation_json_concurrent_writes_rationale_58", "label": "Run 10 ``update_creation_atomic`` calls concurrently against the same file.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L58"}, {"id": "integration_test_creation_json_concurrent_writes_rationale_97", "label": "The writer pins ``schema_version`` to the current version on every write. Co", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L97"}, {"id": "integration_test_creation_json_concurrent_writes_rationale_132", "label": "An interleaved write must never produce a half-written file. The ``os.replac", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L132"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "target": "integration_test_creation_json_concurrent_writes_build_minimal_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "target": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "target": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L94", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "target": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L131", "weight": 1.0}, {"source": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "target": "integration_test_creation_json_concurrent_writes_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L62", "weight": 1.0}, {"source": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "target": "integration_test_creation_json_concurrent_writes_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L101", "weight": 1.0}, {"source": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "target": "integration_test_creation_json_concurrent_writes_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L138", "weight": 1.0}, {"source": "integration_test_creation_json_concurrent_writes_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_test_creation_json_concurrent_writes_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L1", "weight": 1.0}, {"source": "integration_test_creation_json_concurrent_writes_rationale_58", "target": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L58", "weight": 1.0}, {"source": "integration_test_creation_json_concurrent_writes_rationale_97", "target": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L97", "weight": 1.0}, {"source": "integration_test_creation_json_concurrent_writes_rationale_132", "target": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L132", "weight": 1.0}], "raw_calls": [{"caller_nid": "integration_test_creation_json_concurrent_writes_build_minimal_payload", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L34"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_build_minimal_payload", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L40"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_build_minimal_payload", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L45"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_build_minimal_payload", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L52"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L61"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L62"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "gather", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L80"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L82"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "make_mutator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L82"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L82"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L83"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L87"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L87"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L89"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L90"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L100"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L101"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "callee": "gather", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L119"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L121"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "callee": "make_mutator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L121"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L121"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L122"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L126"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L126"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L137"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L138"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "callee": "gather", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L154"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L155"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "callee": "make_mutator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L155"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L155"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L155"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L160"}, {"caller_nid": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py", "source_location": "L160"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/209f8ea1017e551f34ca7524b5d7a0beccc3aa7f561a0c23c54124d0fa8f0ac5.json b/graphify-out/cache/ast/209f8ea1017e551f34ca7524b5d7a0beccc3aa7f561a0c23c54124d0fa8f0ac5.json deleted file mode 100644 index ca3e613..0000000 --- a/graphify-out/cache/ast/209f8ea1017e551f34ca7524b5d7a0beccc3aa7f561a0c23c54124d0fa8f0ac5.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_clear_py", "label": "staging_clear.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L1"}, {"id": "orchestrator_staging_clear_clear_run_dir", "label": "clear_run_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L33"}, {"id": "orchestrator_staging_clear_rationale_1", "label": "Operator-facing staging-clear helper. Backend Spec \u00a713.7. The operator-free per", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L1"}, {"id": "orchestrator_staging_clear_rationale_34", "label": "Delete a staged run's data files; return ``(file_count, bytes_freed)``. Ide", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L34"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_clear_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_clear_py", "target": "exlab_wizard_cache_sync_state_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_clear_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_clear_py", "target": "exlab_wizard_orchestrator_scan", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_clear_py", "target": "exlab_wizard_sync_run_delete", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_clear_py", "target": "orchestrator_staging_clear_clear_run_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L33", "weight": 1.0}, {"source": "orchestrator_staging_clear_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_staging_clear_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L1", "weight": 1.0}, {"source": "orchestrator_staging_clear_rationale_34", "target": "orchestrator_staging_clear_clear_run_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L34", "weight": 1.0}], "raw_calls": [{"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L49"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L52"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "read_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L53"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L54"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "count_files_and_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L58"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L62"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "delete_run_files", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L68"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "mark_cleared_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L71"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L73"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "max", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L76"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "max", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L77"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L78"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "max", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L80"}, {"caller_nid": "orchestrator_staging_clear_clear_run_dir", "callee": "max", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py", "source_location": "L80"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/223341f2dcfcf951460efaf4ac5862c7921665f50bea6dfc33e9e59c1571dfe2.json b/graphify-out/cache/ast/223341f2dcfcf951460efaf4ac5862c7921665f50bea6dfc33e9e59c1571dfe2.json deleted file mode 100644 index 530c4f9..0000000 --- a/graphify-out/cache/ast/223341f2dcfcf951460efaf4ac5862c7921665f50bea6dfc33e9e59c1571dfe2.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "label": "test_host_isolation.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L1"}, {"id": "plugins_test_host_isolation_stubregistry", "label": "_StubRegistry", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L50"}, {"id": "plugins_test_host_isolation_stubregistry_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L53"}, {"id": "plugins_test_host_isolation_stubregistry_get_record", "label": ".get_record()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L56"}, {"id": "plugins_test_host_isolation_record_from_fixture", "label": "_record_from_fixture()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L60"}, {"id": "plugins_test_host_isolation_make_dst_with_txt", "label": "_make_dst_with_txt()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L89"}, {"id": "plugins_test_host_isolation_ctx", "label": "_ctx()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L98"}, {"id": "plugins_test_host_isolation_refuse_input", "label": "_refuse_input()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L114"}, {"id": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "label": "test_hello_plugin_runs_successfully()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L124"}, {"id": "plugins_test_host_isolation_test_timeout_enforcement", "label": "test_timeout_enforcement()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L149"}, {"id": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "label": "test_plugin_error_does_not_abort_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L182"}, {"id": "plugins_test_host_isolation_test_input_required_suspend_resume", "label": "test_input_required_suspend_resume()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L220"}, {"id": "plugins_test_host_isolation_test_input_required_cancelled", "label": "test_input_required_cancelled()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L257"}, {"id": "plugins_test_host_isolation_test_subprocess_crash_contained", "label": "test_subprocess_crash_contained()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L284"}, {"id": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "label": "test_policy_violation_reverts_forbidden_write()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L323"}, {"id": "plugins_test_host_isolation_test_sanitized_environment_passes_through_path_home_lang", "label": "test_sanitized_environment_passes_through_path_home_lang()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L359"}, {"id": "plugins_test_host_isolation_rationale_1", "label": "Integration tests for :class:`PluginHost`. Backend Spec \u00a76.3. Each test spawns", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L1"}, {"id": "plugins_test_host_isolation_rationale_51", "label": "Minimal :class:`PluginRegistryProtocol` impl backed by a dict.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L51"}, {"id": "plugins_test_host_isolation_rationale_67", "label": "Build a :class:`PluginRecord` pointing at one fixture plugin. ``hello_plugi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L67"}, {"id": "plugins_test_host_isolation_rationale_90", "label": "Create a destination tree with a single ``data.txt`` file.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L90"}, {"id": "plugins_test_host_isolation_rationale_99", "label": "Build a :class:`PluginContext` rooted at ``dst``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L99"}, {"id": "plugins_test_host_isolation_rationale_115", "label": "Default ``on_input_required`` callback for tests that don't expect a prompt.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L115"}, {"id": "plugins_test_host_isolation_rationale_125", "label": "Backend Spec \u00a76.5: the canonical hello-world plugin appends ``hello\\\\n``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L125"}, {"id": "plugins_test_host_isolation_rationale_150", "label": "Backend Spec \u00a76.3.4: the host must SIGTERM/SIGKILL on wall-clock timeout.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L150"}, {"id": "plugins_test_host_isolation_rationale_183", "label": "Backend Spec \u00a76.1.3: a plugin error must not abort the surrounding pass.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L183"}, {"id": "plugins_test_host_isolation_rationale_221", "label": "Backend Spec \u00a76.4: the host must re-spawn the worker on operator reply.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L221"}, {"id": "plugins_test_host_isolation_rationale_258", "label": "Backend Spec \u00a76.4: an operator cancel must abort the whole pass.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L258"}, {"id": "plugins_test_host_isolation_rationale_285", "label": "Backend Spec \u00a76.3.4: a worker hard-exit must not raise into the host.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L285"}, {"id": "plugins_test_host_isolation_rationale_324", "label": "Backend Spec \u00a76.1.5: a write to README.md must be detected and reverted.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L324"}, {"id": "plugins_test_host_isolation_rationale_360", "label": "Backend Spec \u00a76.3.1: only PATH, HOME, LANG, EXLAB_* reach the worker. Skipp", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L360"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "exlab_wizard_constants_enums", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "exlab_wizard_plugins_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "exlab_wizard_plugins_host", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "exlab_wizard_plugins_logger", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_stubregistry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L50", "weight": 1.0}, {"source": "plugins_test_host_isolation_stubregistry", "target": "plugins_test_host_isolation_stubregistry_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L53", "weight": 1.0}, {"source": "plugins_test_host_isolation_stubregistry", "target": "plugins_test_host_isolation_stubregistry_get_record", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_record_from_fixture", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_make_dst_with_txt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_ctx", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_refuse_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L114", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L124", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_test_timeout_enforcement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L149", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L182", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_test_input_required_suspend_resume", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L220", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_test_input_required_cancelled", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L257", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_test_subprocess_crash_contained", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L284", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L323", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "target": "plugins_test_host_isolation_test_sanitized_environment_passes_through_path_home_lang", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L359", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "target": "plugins_test_host_isolation_record_from_fixture", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L126", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "target": "plugins_test_host_isolation_stubregistry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L127", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "target": "plugins_test_host_isolation_make_dst_with_txt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L130", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "target": "plugins_test_host_isolation_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L131", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_timeout_enforcement", "target": "plugins_test_host_isolation_record_from_fixture", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L151", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_timeout_enforcement", "target": "plugins_test_host_isolation_stubregistry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L152", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_timeout_enforcement", "target": "plugins_test_host_isolation_make_dst_with_txt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L155", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_timeout_enforcement", "target": "plugins_test_host_isolation_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L156", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "target": "plugins_test_host_isolation_record_from_fixture", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L184", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "target": "plugins_test_host_isolation_stubregistry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L186", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "target": "plugins_test_host_isolation_make_dst_with_txt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L194", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "target": "plugins_test_host_isolation_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L195", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_input_required_suspend_resume", "target": "plugins_test_host_isolation_record_from_fixture", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L222", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_input_required_suspend_resume", "target": "plugins_test_host_isolation_stubregistry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L223", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_input_required_suspend_resume", "target": "plugins_test_host_isolation_make_dst_with_txt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L226", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_input_required_suspend_resume", "target": "plugins_test_host_isolation_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L227", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_input_required_cancelled", "target": "plugins_test_host_isolation_record_from_fixture", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L259", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_input_required_cancelled", "target": "plugins_test_host_isolation_stubregistry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L260", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_input_required_cancelled", "target": "plugins_test_host_isolation_make_dst_with_txt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L263", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_input_required_cancelled", "target": "plugins_test_host_isolation_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L264", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_subprocess_crash_contained", "target": "plugins_test_host_isolation_record_from_fixture", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L286", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_subprocess_crash_contained", "target": "plugins_test_host_isolation_stubregistry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L288", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_subprocess_crash_contained", "target": "plugins_test_host_isolation_make_dst_with_txt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L296", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_subprocess_crash_contained", "target": "plugins_test_host_isolation_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L297", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "target": "plugins_test_host_isolation_record_from_fixture", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L325", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "target": "plugins_test_host_isolation_stubregistry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L326", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "target": "plugins_test_host_isolation_make_dst_with_txt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L329", "weight": 1.0}, {"source": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "target": "plugins_test_host_isolation_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L330", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_plugins_test_host_isolation_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L1", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_51", "target": "plugins_test_host_isolation_stubregistry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L51", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_67", "target": "plugins_test_host_isolation_record_from_fixture", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L67", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_90", "target": "plugins_test_host_isolation_make_dst_with_txt", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L90", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_99", "target": "plugins_test_host_isolation_ctx", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L99", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_115", "target": "plugins_test_host_isolation_refuse_input", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L115", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_125", "target": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L125", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_150", "target": "plugins_test_host_isolation_test_timeout_enforcement", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L150", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_183", "target": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L183", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_221", "target": "plugins_test_host_isolation_test_input_required_suspend_resume", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L221", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_258", "target": "plugins_test_host_isolation_test_input_required_cancelled", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L258", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_285", "target": "plugins_test_host_isolation_test_subprocess_crash_contained", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L285", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_324", "target": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L324", "weight": 1.0}, {"source": "plugins_test_host_isolation_rationale_360", "target": "plugins_test_host_isolation_test_sanitized_environment_passes_through_path_home_lang", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L360", "weight": 1.0}], "raw_calls": [{"caller_nid": "plugins_test_host_isolation_stubregistry_get_record", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L57"}, {"caller_nid": "plugins_test_host_isolation_record_from_fixture", "callee": "PluginRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L74"}, {"caller_nid": "plugins_test_host_isolation_make_dst_with_txt", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L92"}, {"caller_nid": "plugins_test_host_isolation_make_dst_with_txt", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L94"}, {"caller_nid": "plugins_test_host_isolation_ctx", "callee": "PluginContext", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L100"}, {"caller_nid": "plugins_test_host_isolation_ctx", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L101"}, {"caller_nid": "plugins_test_host_isolation_ctx", "callee": "HostPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L110"}, {"caller_nid": "plugins_test_host_isolation_refuse_input", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L116"}, {"caller_nid": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "callee": "PluginHost", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L128"}, {"caller_nid": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "callee": "run_pass", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L133"}, {"caller_nid": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L141"}, {"caller_nid": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L146"}, {"caller_nid": "plugins_test_host_isolation_test_timeout_enforcement", "callee": "PluginHost", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L153"}, {"caller_nid": "plugins_test_host_isolation_test_timeout_enforcement", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L161"}, {"caller_nid": "plugins_test_host_isolation_test_timeout_enforcement", "callee": "run_pass", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L162"}, {"caller_nid": "plugins_test_host_isolation_test_timeout_enforcement", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L172"}, {"caller_nid": "plugins_test_host_isolation_test_timeout_enforcement", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L179"}, {"caller_nid": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "callee": "PluginHost", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L192"}, {"caller_nid": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "callee": "run_pass", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L197"}, {"caller_nid": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L205"}, {"caller_nid": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L217"}, {"caller_nid": "plugins_test_host_isolation_test_input_required_suspend_resume", "callee": "PluginHost", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L224"}, {"caller_nid": "plugins_test_host_isolation_test_input_required_suspend_resume", "callee": "run_pass", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L235"}, {"caller_nid": "plugins_test_host_isolation_test_input_required_suspend_resume", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L243"}, {"caller_nid": "plugins_test_host_isolation_test_input_required_suspend_resume", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L246"}, {"caller_nid": "plugins_test_host_isolation_test_input_required_suspend_resume", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L246"}, {"caller_nid": "plugins_test_host_isolation_test_input_required_suspend_resume", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L249"}, {"caller_nid": "plugins_test_host_isolation_test_input_required_suspend_resume", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L254"}, {"caller_nid": "plugins_test_host_isolation_test_input_required_cancelled", "callee": "PluginHost", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L261"}, {"caller_nid": "plugins_test_host_isolation_test_input_required_cancelled", "callee": "run_pass", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L271"}, {"caller_nid": "plugins_test_host_isolation_test_input_required_cancelled", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L281"}, {"caller_nid": "plugins_test_host_isolation_test_subprocess_crash_contained", "callee": "PluginHost", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L294"}, {"caller_nid": "plugins_test_host_isolation_test_subprocess_crash_contained", "callee": "run_pass", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L301"}, {"caller_nid": "plugins_test_host_isolation_test_subprocess_crash_contained", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L309"}, {"caller_nid": "plugins_test_host_isolation_test_subprocess_crash_contained", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L320"}, {"caller_nid": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "callee": "PluginHost", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L327"}, {"caller_nid": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "callee": "run_pass", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L332"}, {"caller_nid": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L340"}, {"caller_nid": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L344"}, {"caller_nid": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L347"}, {"caller_nid": "plugins_test_host_isolation_test_sanitized_environment_passes_through_path_home_lang", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py", "source_location": "L367"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2242281b8c9c6c334a12caacc96d1838abc61f334b99ef8db21b0488095b7f09.json b/graphify-out/cache/ast/2242281b8c9c6c334a12caacc96d1838abc61f334b99ef8db21b0488095b7f09.json deleted file mode 100644 index 916b386..0000000 --- a/graphify-out/cache/ast/2242281b8c9c6c334a12caacc96d1838abc61f334b99ef8db21b0488095b7f09.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "label": "test_state_machine.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L1"}, {"id": "controller_test_state_machine_test_state_to_phase_pending_returns_none", "label": "test_state_to_phase_pending_returns_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L25"}, {"id": "controller_test_state_machine_test_state_to_phase_validating_returns_validating_inputs", "label": "test_state_to_phase_validating_returns_validating_inputs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L29"}, {"id": "controller_test_state_machine_test_state_to_phase_rendering_returns_rendering_template", "label": "test_state_to_phase_rendering_returns_rendering_template()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L33"}, {"id": "controller_test_state_machine_test_state_to_phase_plugin_pass_returns_running_plugins", "label": "test_state_to_phase_plugin_pass_returns_running_plugins()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L37"}, {"id": "controller_test_state_machine_test_state_to_phase_input_required_returns_input_required", "label": "test_state_to_phase_input_required_returns_input_required()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L41"}, {"id": "controller_test_state_machine_test_state_to_phase_cache_write_returns_writing_cache", "label": "test_state_to_phase_cache_write_returns_writing_cache()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L45"}, {"id": "controller_test_state_machine_test_state_to_phase_post_validate_returns_validating_post_creation", "label": "test_state_to_phase_post_validate_returns_validating_post_creation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L49"}, {"id": "controller_test_state_machine_test_state_to_phase_sync_queued_returns_queueing_nas_sync", "label": "test_state_to_phase_sync_queued_returns_queueing_nas_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L53"}, {"id": "controller_test_state_machine_test_state_to_phase_done_returns_done", "label": "test_state_to_phase_done_returns_done()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L57"}, {"id": "controller_test_state_machine_test_state_to_phase_failed_returns_none", "label": "test_state_to_phase_failed_returns_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L61"}, {"id": "controller_test_state_machine_test_state_to_phase_aborted_returns_none", "label": "test_state_to_phase_aborted_returns_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L65"}, {"id": "controller_test_state_machine_test_state_to_phase_covers_every_state", "label": "test_state_to_phase_covers_every_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L69"}, {"id": "controller_test_state_machine_test_pending_transitions_to_validating", "label": "test_pending_transitions_to_validating()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L82"}, {"id": "controller_test_state_machine_test_validating_transitions_to_rendering", "label": "test_validating_transitions_to_rendering()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L86"}, {"id": "controller_test_state_machine_test_rendering_transitions_to_plugin_pass", "label": "test_rendering_transitions_to_plugin_pass()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L90"}, {"id": "controller_test_state_machine_test_plugin_pass_transitions_to_input_required_and_cache_write", "label": "test_plugin_pass_transitions_to_input_required_and_cache_write()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L94"}, {"id": "controller_test_state_machine_test_input_required_transitions_back_to_plugin_pass", "label": "test_input_required_transitions_back_to_plugin_pass()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L100"}, {"id": "controller_test_state_machine_test_cache_write_transitions_to_post_validate", "label": "test_cache_write_transitions_to_post_validate()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L104"}, {"id": "controller_test_state_machine_test_post_validate_transitions_to_sync_queued", "label": "test_post_validate_transitions_to_sync_queued()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L108"}, {"id": "controller_test_state_machine_test_sync_queued_transitions_to_done", "label": "test_sync_queued_transitions_to_done()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L112"}, {"id": "controller_test_state_machine_test_fail_allowed_from_every_non_terminal_state", "label": "test_fail_allowed_from_every_non_terminal_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L134"}, {"id": "controller_test_state_machine_test_aborted_allowed_from_every_non_terminal_state", "label": "test_aborted_allowed_from_every_non_terminal_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L151"}, {"id": "controller_test_state_machine_test_done_is_terminal", "label": "test_done_is_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L160"}, {"id": "controller_test_state_machine_test_failed_is_terminal", "label": "test_failed_is_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L164"}, {"id": "controller_test_state_machine_test_aborted_is_terminal", "label": "test_aborted_is_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L168"}, {"id": "controller_test_state_machine_test_assert_transition_allows_legal_forward_edge", "label": "test_assert_transition_allows_legal_forward_edge()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L177"}, {"id": "controller_test_state_machine_test_assert_transition_allows_cancel_from_any_non_terminal", "label": "test_assert_transition_allows_cancel_from_any_non_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L183"}, {"id": "controller_test_state_machine_test_assert_transition_rejects_skipping_a_state", "label": "test_assert_transition_rejects_skipping_a_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L188"}, {"id": "controller_test_state_machine_test_assert_transition_rejects_terminal_to_anything", "label": "test_assert_transition_rejects_terminal_to_anything()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L193"}, {"id": "controller_test_state_machine_test_assert_transition_rejects_done_back_to_pipeline", "label": "test_assert_transition_rejects_done_back_to_pipeline()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L198"}, {"id": "controller_test_state_machine_test_assert_transition_rejects_backwards_through_pipeline", "label": "test_assert_transition_rejects_backwards_through_pipeline()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L203"}, {"id": "controller_test_state_machine_test_session_state_values_match_lowercase_names", "label": "test_session_state_values_match_lowercase_names()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L213"}, {"id": "controller_test_state_machine_test_phase_values_use_spec_strings", "label": "test_phase_values_use_spec_strings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L218"}, {"id": "controller_test_state_machine_test_valid_transitions_keys_cover_every_session_state", "label": "test_valid_transitions_keys_cover_every_session_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L229"}, {"id": "controller_test_state_machine_test_assert_transition_rejects_unknown_source_state", "label": "test_assert_transition_rejects_unknown_source_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L233"}, {"id": "controller_test_state_machine_rationale_1", "label": "Tests for ``exlab_wizard.controller.state_machine``. The state machine is the c", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L1"}, {"id": "controller_test_state_machine_rationale_70", "label": "Every ``SessionState`` value must have an explicit mapping entry.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L70"}, {"id": "controller_test_state_machine_rationale_234", "label": "The guard rejects a state not present in ``VALID_TRANSITIONS``. We can't ea", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L234"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "exlab_wizard_controller_state_machine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_pending_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_validating_returns_validating_inputs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_rendering_returns_rendering_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_plugin_pass_returns_running_plugins", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_input_required_returns_input_required", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_cache_write_returns_writing_cache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_post_validate_returns_validating_post_creation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_sync_queued_returns_queueing_nas_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_done_returns_done", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_failed_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_aborted_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L65", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_state_to_phase_covers_every_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_pending_transitions_to_validating", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L82", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_validating_transitions_to_rendering", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_rendering_transitions_to_plugin_pass", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_plugin_pass_transitions_to_input_required_and_cache_write", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L94", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_input_required_transitions_back_to_plugin_pass", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_cache_write_transitions_to_post_validate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L104", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_post_validate_transitions_to_sync_queued", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_sync_queued_transitions_to_done", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_fail_allowed_from_every_non_terminal_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L134", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_aborted_allowed_from_every_non_terminal_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L151", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_done_is_terminal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L160", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_failed_is_terminal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L164", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_aborted_is_terminal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L168", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_assert_transition_allows_legal_forward_edge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L177", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_assert_transition_allows_cancel_from_any_non_terminal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L183", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_assert_transition_rejects_skipping_a_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L188", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_assert_transition_rejects_terminal_to_anything", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L193", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_assert_transition_rejects_done_back_to_pipeline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L198", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_assert_transition_rejects_backwards_through_pipeline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L203", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_session_state_values_match_lowercase_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L213", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_phase_values_use_spec_strings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L218", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_valid_transitions_keys_cover_every_session_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L229", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "target": "controller_test_state_machine_test_assert_transition_rejects_unknown_source_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L233", "weight": 1.0}, {"source": "controller_test_state_machine_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_controller_test_state_machine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L1", "weight": 1.0}, {"source": "controller_test_state_machine_rationale_70", "target": "controller_test_state_machine_test_state_to_phase_covers_every_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L70", "weight": 1.0}, {"source": "controller_test_state_machine_rationale_234", "target": "controller_test_state_machine_test_assert_transition_rejects_unknown_source_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L234", "weight": 1.0}], "raw_calls": [{"caller_nid": "controller_test_state_machine_test_state_to_phase_pending_returns_none", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L26"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_validating_returns_validating_inputs", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L30"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_rendering_returns_rendering_template", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L34"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_plugin_pass_returns_running_plugins", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L38"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_input_required_returns_input_required", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L42"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_cache_write_returns_writing_cache", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L46"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_post_validate_returns_validating_post_creation", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L50"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_sync_queued_returns_queueing_nas_sync", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L54"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_done_returns_done", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L58"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_failed_returns_none", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L62"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_aborted_returns_none", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L66"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_covers_every_state", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L73"}, {"caller_nid": "controller_test_state_machine_test_state_to_phase_covers_every_state", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L74"}, {"caller_nid": "controller_test_state_machine_test_done_is_terminal", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L161"}, {"caller_nid": "controller_test_state_machine_test_failed_is_terminal", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L165"}, {"caller_nid": "controller_test_state_machine_test_aborted_is_terminal", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L169"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_allows_legal_forward_edge", "callee": "assert_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L179"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_allows_legal_forward_edge", "callee": "assert_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L180"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_allows_cancel_from_any_non_terminal", "callee": "assert_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L184"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_allows_cancel_from_any_non_terminal", "callee": "assert_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L185"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_skipping_a_state", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L189"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_skipping_a_state", "callee": "assert_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L190"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_terminal_to_anything", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L194"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_terminal_to_anything", "callee": "assert_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L195"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_done_back_to_pipeline", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L199"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_done_back_to_pipeline", "callee": "assert_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L200"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_backwards_through_pipeline", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L204"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_backwards_through_pipeline", "callee": "assert_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L205"}, {"caller_nid": "controller_test_state_machine_test_session_state_values_match_lowercase_names", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L215"}, {"caller_nid": "controller_test_state_machine_test_valid_transitions_keys_cover_every_session_state", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L230"}, {"caller_nid": "controller_test_state_machine_test_valid_transitions_keys_cover_every_session_state", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L230"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_unknown_source_state", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L241"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_unknown_source_state", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L243"}, {"caller_nid": "controller_test_state_machine_test_assert_transition_rejects_unknown_source_state", "callee": "assert_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py", "source_location": "L244"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2264f3743151b1ba4e714f4fb35c4faf64a0e391a9637a8c0f9a54267b81493e.json b/graphify-out/cache/ast/2264f3743151b1ba4e714f4fb35c4faf64a0e391a9637a8c0f9a54267b81493e.json deleted file mode 100644 index b356fe3..0000000 --- a/graphify-out/cache/ast/2264f3743151b1ba4e714f4fb35c4faf64a0e391a9637a8c0f9a54267b81493e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_theme_py", "label": "theme.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L1"}, {"id": "ui_theme_build_root_css", "label": "build_root_css()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L25"}, {"id": "ui_theme_register_theme", "label": "register_theme()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L100"}, {"id": "ui_theme_resolve_assets_dir", "label": "resolve_assets_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L122"}, {"id": "ui_theme_register_static_assets", "label": "register_static_assets()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L137"}, {"id": "ui_theme_rationale_1", "label": "Theme registration for NiceGUI / Quasar. Per Frontend Spec \u00a72.1.1, this module", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L1"}, {"id": "ui_theme_rationale_26", "label": "Render the canonical ``:root { ... }`` CSS block from design tokens. The st", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L26"}, {"id": "ui_theme_rationale_101", "label": "Register the design tokens with NiceGUI / Quasar at app start. Imports Nice", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L101"}, {"id": "ui_theme_rationale_123", "label": "Return the absolute path to the bundled ``assets/`` directory. Resolves bot", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L123"}, {"id": "ui_theme_rationale_138", "label": "Mount the project's ``assets/`` directory at ``/assets``. Idempotent: a mod", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L138"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_theme_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_theme_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_theme_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_theme_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_theme_py", "target": "ui_theme_build_root_css", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_theme_py", "target": "ui_theme_register_theme", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L100", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_theme_py", "target": "ui_theme_resolve_assets_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L122", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_theme_py", "target": "ui_theme_register_static_assets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L137", "weight": 1.0}, {"source": "ui_theme_register_theme", "target": "ui_theme_build_root_css", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L113", "weight": 1.0}, {"source": "ui_theme_register_static_assets", "target": "ui_theme_resolve_assets_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L144", "weight": 1.0}, {"source": "ui_theme_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_theme_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_theme_rationale_26", "target": "ui_theme_build_root_css", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L26", "weight": 1.0}, {"source": "ui_theme_rationale_101", "target": "ui_theme_register_theme", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L101", "weight": 1.0}, {"source": "ui_theme_rationale_123", "target": "ui_theme_resolve_assets_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L123", "weight": 1.0}, {"source": "ui_theme_rationale_138", "target": "ui_theme_register_static_assets", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L138", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_theme_build_root_css", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L33"}, {"caller_nid": "ui_theme_build_root_css", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L33"}, {"caller_nid": "ui_theme_register_theme", "callee": "add_head_html", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L114"}, {"caller_nid": "ui_theme_register_theme", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L115"}, {"caller_nid": "ui_theme_register_theme", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L117"}, {"caller_nid": "ui_theme_resolve_assets_dir", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L132"}, {"caller_nid": "ui_theme_resolve_assets_dir", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L133"}, {"caller_nid": "ui_theme_resolve_assets_dir", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L134"}, {"caller_nid": "ui_theme_resolve_assets_dir", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L134"}, {"caller_nid": "ui_theme_register_static_assets", "callee": "add_static_files", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L149"}, {"caller_nid": "ui_theme_register_static_assets", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L149"}, {"caller_nid": "ui_theme_register_static_assets", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L151"}, {"caller_nid": "ui_theme_register_static_assets", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py", "source_location": "L153"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/228940b4538aa765a8a983f8049fac4242e8d9a1a76bb1af53756da2aeb91574.json b/graphify-out/cache/ast/228940b4538aa765a8a983f8049fac4242e8d9a1a76bb1af53756da2aeb91574.json deleted file mode 100644 index c0e10cb..0000000 --- a/graphify-out/cache/ast/228940b4538aa765a8a983f8049fac4242e8d9a1a76bb1af53756da2aeb91574.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_sync_status_icon_py", "label": "sync_status_icon.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L1"}, {"id": "components_sync_status_icon_sync_status_props", "label": "sync_status_props()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L107"}, {"id": "components_sync_status_icon_sync_status_icon", "label": "sync_status_icon()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L134"}, {"id": "components_sync_status_icon_rationale_1", "label": "Sync-status icon component (Frontend Spec \u00a73.2, \u00a710.5.1). Distinct visual state", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L1"}, {"id": "components_sync_status_icon_rationale_113", "label": "Compute icon + tooltip + retry-counter for a sync status. The ``retry_n``/`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L113"}, {"id": "components_sync_status_icon_rationale_140", "label": "Build a NiceGUI row containing the icon and optional retry counter.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L140"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_sync_status_icon_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_sync_status_icon_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_sync_status_icon_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_sync_status_icon_py", "target": "components_sync_status_icon_sync_status_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L107", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_sync_status_icon_py", "target": "components_sync_status_icon_sync_status_icon", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L134", "weight": 1.0}, {"source": "components_sync_status_icon_sync_status_icon", "target": "components_sync_status_icon_sync_status_props", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L142", "weight": 1.0}, {"source": "components_sync_status_icon_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_sync_status_icon_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L1", "weight": 1.0}, {"source": "components_sync_status_icon_rationale_113", "target": "components_sync_status_icon_sync_status_props", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L113", "weight": 1.0}, {"source": "components_sync_status_icon_rationale_140", "target": "components_sync_status_icon_sync_status_icon", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L140", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_sync_status_icon_sync_status_props", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L119"}, {"caller_nid": "components_sync_status_icon_sync_status_props", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L119"}, {"caller_nid": "components_sync_status_icon_sync_status_props", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L121"}, {"caller_nid": "components_sync_status_icon_sync_status_props", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L122"}, {"caller_nid": "components_sync_status_icon_sync_status_props", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L124"}, {"caller_nid": "components_sync_status_icon_sync_status_icon", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L148"}, {"caller_nid": "components_sync_status_icon_sync_status_icon", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L148"}, {"caller_nid": "components_sync_status_icon_sync_status_icon", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L148"}, {"caller_nid": "components_sync_status_icon_sync_status_icon", "callee": "tooltip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L150"}, {"caller_nid": "components_sync_status_icon_sync_status_icon", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L150"}, {"caller_nid": "components_sync_status_icon_sync_status_icon", "callee": "icon", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L150"}, {"caller_nid": "components_sync_status_icon_sync_status_icon", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L154"}, {"caller_nid": "components_sync_status_icon_sync_status_icon", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py", "source_location": "L154"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2491e9cf09acd7dd830e2b375a59aca1a45a4117f9e7b5d0668fff2aef4b30a9.json b/graphify-out/cache/ast/2491e9cf09acd7dd830e2b375a59aca1a45a4117f9e7b5d0668fff2aef4b30a9.json deleted file mode 100644 index 8d9a643..0000000 --- a/graphify-out/cache/ast/2491e9cf09acd7dd830e2b375a59aca1a45a4117f9e7b5d0668fff2aef4b30a9.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_13_equipment_to_orchestrator_data_flow_md", "label": "13_Equipment_to_Orchestrator_Data_Flow.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L1"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", "label": "13. Equipment-to-Orchestrator Data Flow", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L1"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_1_topology", "label": "13.1 Topology", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L7"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_1", "label": "code:block1 ([Equipment Machine A] --push--> [Orchestrator /staging/EQU)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L9"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_2_staging_area_layout", "label": "13.2 Staging Area Layout", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L26"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_2", "label": "code:block2 (/staging/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L28"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_3_run_lifecycle_states", "label": "13.3 Run Lifecycle States", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L52"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_4_ingest_json_schema", "label": "13.4 `ingest.json` Schema", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L64"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_3", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L66"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_5_run_completeness_signal", "label": "13.5 Run Completeness Signal", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L108"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_6_transport_handling", "label": "13.6 Transport Handling", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L119"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_7_staging_cleanup", "label": "13.7 Staging Cleanup", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L123"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_4", "label": "code:yaml (orchestrator:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L127"}, {"id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_8_staging_state_query_backend_contract", "label": "13.8 Staging State Query (Backend Contract)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L140"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_13_equipment_to_orchestrator_data_flow_md", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_1_topology", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L7", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_1_topology", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L9", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_2_staging_area_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L26", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_2_staging_area_layout", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L28", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_3_run_lifecycle_states", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L52", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_4_ingest_json_schema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L64", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_4_ingest_json_schema", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L66", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_5_run_completeness_signal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L108", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_6_transport_handling", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L119", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_7_staging_cleanup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L123", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_7_staging_cleanup", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L127", "weight": 1.0}, {"source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_8_staging_state_query_backend_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", "source_location": "L140", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/26e0e88fa2471274a3a37dbdb859d18a59f32578bc6e53f74b16f0f4a009d677.json b/graphify-out/cache/ast/26e0e88fa2471274a3a37dbdb859d18a59f32578bc6e53f74b16f0f4a009d677.json deleted file mode 100644 index fb4c673..0000000 --- a/graphify-out/cache/ast/26e0e88fa2471274a3a37dbdb859d18a59f32578bc6e53f74b16f0f4a009d677.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_user_guide_index_md", "label": "index.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/index.md", "source_location": "L1"}, {"id": "user_guide_index_user_guide", "label": "User Guide", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/index.md", "source_location": "L1"}, {"id": "user_guide_index_capability_map", "label": "Capability map", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/index.md", "source_location": "L17"}, {"id": "user_guide_index_codeblock_1", "label": "code:{toctree} (:maxdepth: 1)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/index.md", "source_location": "L36"}, {"id": "user_guide_index_conventions", "label": "Conventions", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/index.md", "source_location": "L51"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_user_guide_index_md", "target": "user_guide_index_user_guide", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/index.md", "source_location": "L1", "weight": 1.0}, {"source": "user_guide_index_user_guide", "target": "user_guide_index_capability_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/index.md", "source_location": "L17", "weight": 1.0}, {"source": "user_guide_index_capability_map", "target": "user_guide_index_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/index.md", "source_location": "L36", "weight": 1.0}, {"source": "user_guide_index_user_guide", "target": "user_guide_index_conventions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/index.md", "source_location": "L51", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/2872a9bda916e99d684370c74ba7ff01707ca07f1705a80a6800f6cb6dcbf583.json b/graphify-out/cache/ast/2872a9bda916e99d684370c74ba7ff01707ca07f1705a80a6800f6cb6dcbf583.json deleted file mode 100644 index 68f1c3f..0000000 --- a/graphify-out/cache/ast/2872a9bda916e99d684370c74ba7ff01707ca07f1705a80a6800f6cb6dcbf583.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_18_relay_receive_py", "label": "test_flow_18_relay_receive.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L1"}, {"id": "e2e_test_flow_18_relay_receive_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L11"}, {"id": "e2e_test_flow_18_relay_receive_test_flow_18_received_equipment_node_appears", "label": "test_flow_18_received_equipment_node_appears()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L24"}, {"id": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "label": "test_flow_18_received_metadata_shows_relay_badge()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L31"}, {"id": "e2e_test_flow_18_relay_receive_rationale_1", "label": "E2E flow 18: relay-receive \u2014 received equipment auto-discovery (Redesign \u00a73.3).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_18_relay_receive_py", "target": "e2e_test_flow_18_relay_receive_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_18_relay_receive_py", "target": "e2e_test_flow_18_relay_receive_test_flow_18_received_equipment_node_appears", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_18_relay_receive_py", "target": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L31", "weight": 1.0}, {"source": "e2e_test_flow_18_relay_receive_test_flow_18_received_equipment_node_appears", "target": "e2e_test_flow_18_relay_receive_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L25", "weight": 1.0}, {"source": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "target": "e2e_test_flow_18_relay_receive_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L32", "weight": 1.0}, {"source": "e2e_test_flow_18_relay_receive_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_18_relay_receive_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_18_relay_receive_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L13"}, {"caller_nid": "e2e_test_flow_18_relay_receive_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L15"}, {"caller_nid": "e2e_test_flow_18_relay_receive_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L16"}, {"caller_nid": "e2e_test_flow_18_relay_receive_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_18_relay_receive_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L21"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_equipment_node_appears", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_equipment_node_appears", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_equipment_node_appears", "callee": "inner_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L28"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L40"}, {"caller_nid": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py", "source_location": "L40"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2898ac39fd6068c9da11e557ac118aa7335a5012b73c1b58eaf8a438eb80d664.json b/graphify-out/cache/ast/2898ac39fd6068c9da11e557ac118aa7335a5012b73c1b58eaf8a438eb80d664.json deleted file mode 100644 index 9c53afe..0000000 --- a/graphify-out/cache/ast/2898ac39fd6068c9da11e557ac118aa7335a5012b73c1b58eaf8a438eb80d664.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "label": "handlers.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L1"}, {"id": "logging_handlers_equipmentscopedfilehandler", "label": "EquipmentScopedFileHandler", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L37"}, {"id": "logging_handlers_equipmentscopedfilehandler_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L57"}, {"id": "logging_handlers_equipmentscopedfilehandler_emit", "label": ".emit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L74"}, {"id": "logging_handlers_equipmentscopedfilehandler_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L90"}, {"id": "logging_handlers_equipmentscopedfilehandler_open_for", "label": "._open_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L105"}, {"id": "logging_handlers_equipmentscopedfilehandler_compose_path", "label": "._compose_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L124"}, {"id": "logging_handlers_openlogfile", "label": "_OpenLogFile", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L139"}, {"id": "logging_handlers_openlogfile_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L152"}, {"id": "logging_handlers_open", "label": "open()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L158"}, {"id": "logging_handlers_openlogfile_write", "label": ".write()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L183"}, {"id": "logging_handlers_openlogfile_fsync", "label": ".fsync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L189"}, {"id": "logging_handlers_openlogfile_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L197"}, {"id": "logging_handlers_rationale_1", "label": "Equipment-scoped file handler. Backend Spec \u00a716.2.4. The :class:`EquipmentScope", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L1"}, {"id": "logging_handlers_rationale_38", "label": "Per-equipment ``wizard..log`` writer. Resolves ``///.exlab-wizard/wizard..log``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L125"}, {"id": "logging_handlers_rationale_140", "label": "Append-mode log file with platform-appropriate share / append flags. The wr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L140"}, {"id": "logging_handlers_rationale_159", "label": "Open ``path`` in append mode with the platform-appropriate flags.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L159"}, {"id": "logging_handlers_rationale_184", "label": "Append ``line`` (already newline-terminated) to the file.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L184"}, {"id": "logging_handlers_rationale_190", "label": "``os.fsync`` the underlying file descriptor. Called only on ``ERROR``-l", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L190"}, {"id": "logging_handlers_rationale_198", "label": "Flush and close the file. Idempotent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L198"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "socket", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "exlab_wizard_logging_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "logging_handlers_equipmentscopedfilehandler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L37", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler", "target": "logging_handlers_equipmentscopedfilehandler_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L57", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler", "target": "logging_handlers_equipmentscopedfilehandler_emit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L74", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler", "target": "logging_handlers_equipmentscopedfilehandler_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L90", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler", "target": "logging_handlers_equipmentscopedfilehandler_open_for", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L105", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler", "target": "logging_handlers_equipmentscopedfilehandler_compose_path", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L124", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "logging_handlers_openlogfile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L139", "weight": 1.0}, {"source": "logging_handlers_openlogfile", "target": "logging_handlers_openlogfile_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "target": "logging_handlers_open", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L158", "weight": 1.0}, {"source": "logging_handlers_openlogfile", "target": "logging_handlers_openlogfile_write", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L183", "weight": 1.0}, {"source": "logging_handlers_openlogfile", "target": "logging_handlers_openlogfile_fsync", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L189", "weight": 1.0}, {"source": "logging_handlers_openlogfile", "target": "logging_handlers_openlogfile_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L197", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler_init", "target": "logging_handlers_openlogfile_init", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L63", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler_emit", "target": "logging_handlers_equipmentscopedfilehandler_open_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L81", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler_emit", "target": "logging_handlers_openlogfile_write", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L83", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler_emit", "target": "logging_handlers_openlogfile_fsync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L85", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler_close", "target": "logging_handlers_openlogfile_close", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L100", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler_open_for", "target": "logging_handlers_equipmentscopedfilehandler_compose_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L118", "weight": 1.0}, {"source": "logging_handlers_equipmentscopedfilehandler_open_for", "target": "logging_handlers_open", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L120", "weight": 1.0}, {"source": "logging_handlers_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_handlers_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L1", "weight": 1.0}, {"source": "logging_handlers_rationale_38", "target": "logging_handlers_equipmentscopedfilehandler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L38", "weight": 1.0}, {"source": "logging_handlers_rationale_75", "target": "logging_handlers_equipmentscopedfilehandler_emit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L75", "weight": 1.0}, {"source": "logging_handlers_rationale_91", "target": "logging_handlers_equipmentscopedfilehandler_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L91", "weight": 1.0}, {"source": "logging_handlers_rationale_106", "target": "logging_handlers_equipmentscopedfilehandler_open_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L106", "weight": 1.0}, {"source": "logging_handlers_rationale_125", "target": "logging_handlers_equipmentscopedfilehandler_compose_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L125", "weight": 1.0}, {"source": "logging_handlers_rationale_140", "target": "logging_handlers_openlogfile", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L140", "weight": 1.0}, {"source": "logging_handlers_rationale_159", "target": "logging_handlers_openlogfile_open", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L159", "weight": 1.0}, {"source": "logging_handlers_rationale_184", "target": "logging_handlers_openlogfile_write", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L184", "weight": 1.0}, {"source": "logging_handlers_rationale_190", "target": "logging_handlers_openlogfile_fsync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L190", "weight": 1.0}, {"source": "logging_handlers_rationale_198", "target": "logging_handlers_openlogfile_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L198", "weight": 1.0}], "raw_calls": [{"caller_nid": "logging_handlers_equipmentscopedfilehandler_init", "callee": "super", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L63"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_init", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L64"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_init", "callee": "gethostname", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L65"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_init", "callee": "Lock", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L70"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_emit", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L77"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_emit", "callee": "get_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L77"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_emit", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L82"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_emit", "callee": "handleError", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L88"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_close", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L97"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_close", "callee": "values", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L97"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_close", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L98"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_close", "callee": "super", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L101"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_open_for", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L115"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_open_for", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L119"}, {"caller_nid": "logging_handlers_equipmentscopedfilehandler_compose_path", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L130"}, {"caller_nid": "logging_handlers_openlogfile_init", "callee": "fileno", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L154"}, {"caller_nid": "logging_handlers_openlogfile_init", "callee": "Lock", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L155"}, {"caller_nid": "logging_handlers_open", "callee": "fdopen", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L180"}, {"caller_nid": "logging_handlers_open", "callee": "cls", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L181"}, {"caller_nid": "logging_handlers_openlogfile_write", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L187"}, {"caller_nid": "logging_handlers_openlogfile_close", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L200"}, {"caller_nid": "logging_handlers_openlogfile_close", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py", "source_location": "L201"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/29840775ac86b9adf79c4059515c34784eb11917df8fcc11c8124eb152a7695c.json b/graphify-out/cache/ast/29840775ac86b9adf79c4059515c34784eb11917df8fcc11c8124eb152a7695c.json deleted file mode 100644 index 6924321..0000000 --- a/graphify-out/cache/ast/29840775ac86b9adf79c4059515c34784eb11917df8fcc11c8124eb152a7695c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/__init__.py", "source_location": "L1"}, {"id": "components_init_rationale_1", "label": "UI components package. Re-exports the small NiceGUI element factories the pages", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_init_py", "target": "exlab_wizard_ui_components", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/__init__.py", "source_location": "L6", "weight": 1.0}, {"source": "components_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/29c5ceb08f9ccfa78be036301ce37e09bface1c7368222363ab6020662262f2b.json b/graphify-out/cache/ast/29c5ceb08f9ccfa78be036301ce37e09bface1c7368222363ab6020662262f2b.json deleted file mode 100644 index d06e49f..0000000 --- a/graphify-out/cache/ast/29c5ceb08f9ccfa78be036301ce37e09bface1c7368222363ab6020662262f2b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_run_badge_py", "label": "test_run_badge.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L1"}, {"id": "components_test_run_badge_test_run_badge_props", "label": "test_run_badge_props()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L19"}, {"id": "components_test_run_badge_test_run_badge", "label": "test_run_badge()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L30"}, {"id": "components_test_run_badge_rationale_1", "label": "Test-run pill (Frontend Spec \u00a73.2, \u00a73.6.1). A small *\"Test\"* pill rendered next", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L1"}, {"id": "components_test_run_badge_rationale_20", "label": "Static styling for the *\"Test\"* pill (Frontend \u00a73.6.1).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L20"}, {"id": "components_test_run_badge_rationale_31", "label": "Build a NiceGUI badge for a test run.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L31"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_run_badge_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_run_badge_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_run_badge_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_run_badge_py", "target": "components_test_run_badge_test_run_badge_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_run_badge_py", "target": "components_test_run_badge_test_run_badge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L30", "weight": 1.0}, {"source": "components_test_run_badge_test_run_badge", "target": "components_test_run_badge_test_run_badge_props", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L33", "weight": 1.0}, {"source": "components_test_run_badge_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_run_badge_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L1", "weight": 1.0}, {"source": "components_test_run_badge_rationale_20", "target": "components_test_run_badge_test_run_badge_props", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L20", "weight": 1.0}, {"source": "components_test_run_badge_rationale_31", "target": "components_test_run_badge_test_run_badge", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L31", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_test_run_badge_test_run_badge", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L39"}, {"caller_nid": "components_test_run_badge_test_run_badge", "callee": "badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py", "source_location": "L39"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/29cd03e6a03015ec433bc144f368880a704a761f4c3e9754a04631500086656c.json b/graphify-out/cache/ast/29cd03e6a03015ec433bc144f368880a704a761f4c3e9754a04631500086656c.json deleted file mode 100644 index ac57f5e..0000000 --- a/graphify-out/cache/ast/29cd03e6a03015ec433bc144f368880a704a761f4c3e9754a04631500086656c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "label": "test_logger.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L1"}, {"id": "plugins_test_logger_test_host_plugin_logger_forwards_info_to_stdlib_logger", "label": "test_host_plugin_logger_forwards_info_to_stdlib_logger()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L33"}, {"id": "plugins_test_logger_test_host_plugin_logger_forwards_debug", "label": "test_host_plugin_logger_forwards_debug()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L44"}, {"id": "plugins_test_logger_test_host_plugin_logger_forwards_warning", "label": "test_host_plugin_logger_forwards_warning()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L51"}, {"id": "plugins_test_logger_test_host_plugin_logger_forwards_error", "label": "test_host_plugin_logger_forwards_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L58"}, {"id": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra", "label": "test_host_plugin_logger_passes_structured_fields_via_extra()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L65"}, {"id": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified", "label": "test_host_plugin_logger_uses_default_logger_name_when_unspecified()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L77"}, {"id": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream", "label": "test_worker_plugin_logger_emits_json_frame_to_stream()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L94"}, {"id": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "label": "test_worker_plugin_logger_each_level_emits_correct_level_string()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L106"}, {"id": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", "label": "test_worker_plugin_logger_emits_one_frame_per_call()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L119"}, {"id": "plugins_test_logger_test_worker_plugin_logger_emits_empty_context_when_no_fields", "label": "test_worker_plugin_logger_emits_empty_context_when_no_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L129"}, {"id": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "label": "test_worker_plugin_logger_default_stream_is_stderr()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L137"}, {"id": "plugins_test_logger_test_plugin_log_frame_fields_are_pinned", "label": "test_plugin_log_frame_fields_are_pinned()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L153"}, {"id": "plugins_test_logger_test_plugin_log_frame_default_context_is_empty_dict", "label": "test_plugin_log_frame_default_context_is_empty_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L160"}, {"id": "plugins_test_logger_rationale_1", "label": "Tests for ``exlab_wizard.plugins.logger`` -- structured plugin log shim. Pin bo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L1"}, {"id": "plugins_test_logger_rationale_68", "label": "Structured ``**fields`` arrive on the LogRecord as ``record.context``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L68"}, {"id": "plugins_test_logger_rationale_80", "label": "Construction without ``name`` falls back to ``exlab_wizard.plugins``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L80"}, {"id": "plugins_test_logger_rationale_138", "label": "Without an explicit stream, the worker writes to ``sys.stderr``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L138"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "io", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "exlab_wizard_plugins_logger", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_host_plugin_logger_forwards_info_to_stdlib_logger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_host_plugin_logger_forwards_debug", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_host_plugin_logger_forwards_warning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_host_plugin_logger_forwards_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L65", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L94", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L106", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L119", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_worker_plugin_logger_emits_empty_context_when_no_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L129", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L137", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_plugin_log_frame_fields_are_pinned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L153", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "target": "plugins_test_logger_test_plugin_log_frame_default_context_is_empty_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L160", "weight": 1.0}, {"source": "plugins_test_logger_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_plugins_test_logger_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L1", "weight": 1.0}, {"source": "plugins_test_logger_rationale_68", "target": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L68", "weight": 1.0}, {"source": "plugins_test_logger_rationale_80", "target": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L80", "weight": 1.0}, {"source": "plugins_test_logger_rationale_138", "target": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L138", "weight": 1.0}], "raw_calls": [{"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_info_to_stdlib_logger", "callee": "HostPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L36"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_info_to_stdlib_logger", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L37"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_info_to_stdlib_logger", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L38"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_info_to_stdlib_logger", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L39"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_debug", "callee": "HostPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L45"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_debug", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L46"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_debug", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L47"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_debug", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L48"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_warning", "callee": "HostPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L52"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_warning", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L53"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_warning", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L54"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_warning", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L55"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_error", "callee": "HostPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L59"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_error", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L60"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_error", "callee": "error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L61"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_forwards_error", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L62"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra", "callee": "HostPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L69"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L70"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L71"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L73"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L74"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified", "callee": "HostPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L81"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L82"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L83"}, {"caller_nid": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L84"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream", "callee": "StringIO", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L95"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream", "callee": "WorkerPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L96"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L97"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream", "callee": "getvalue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L98"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L99"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L100"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "callee": "StringIO", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L107"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "callee": "WorkerPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L108"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L109"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L110"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L111"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "callee": "error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L112"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "callee": "splitlines", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L113"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "callee": "getvalue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L113"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L114"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L115"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", "callee": "StringIO", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L120"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", "callee": "WorkerPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L121"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L122"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L123"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L124"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", "callee": "splitlines", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L125"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", "callee": "getvalue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L125"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L126"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_empty_context_when_no_fields", "callee": "StringIO", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L130"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_empty_context_when_no_fields", "callee": "WorkerPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L131"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_empty_context_when_no_fields", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L132"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_empty_context_when_no_fields", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L133"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_emits_empty_context_when_no_fields", "callee": "getvalue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L133"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "callee": "StringIO", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L139"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L140"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "callee": "WorkerPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L141"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L142"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L143"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "callee": "getvalue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L143"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L144"}, {"caller_nid": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", "callee": "getvalue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L144"}, {"caller_nid": "plugins_test_logger_test_plugin_log_frame_fields_are_pinned", "callee": "PluginLogFrame", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L154"}, {"caller_nid": "plugins_test_logger_test_plugin_log_frame_default_context_is_empty_dict", "callee": "PluginLogFrame", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py", "source_location": "L161"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/29ee0403ce578164c2e76a58e8cab3859b0ba203591b28f9780aba8eb09def92.json b/graphify-out/cache/ast/29ee0403ce578164c2e76a58e8cab3859b0ba203591b28f9780aba8eb09def92.json deleted file mode 100644 index f33e828..0000000 --- a/graphify-out/cache/ast/29ee0403ce578164c2e76a58e8cab3859b0ba203591b28f9780aba8eb09def92.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/__init__.py", "source_location": "L1"}, {"id": "timeout_plugin_init_rationale_1", "label": "Failure fixture: plugin that hangs in ``transform`` past its timeout.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_init_py", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_plugin_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "timeout_plugin_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/29f774c05962dbf54b8f243f62f4877ea8dd68343efb994adce94b2890905348.json b/graphify-out/cache/ast/29f774c05962dbf54b8f243f62f4877ea8dd68343efb994adce94b2890905348.json deleted file mode 100644 index 808c21b..0000000 --- a/graphify-out/cache/ast/29f774c05962dbf54b8f243f62f4877ea8dd68343efb994adce94b2890905348.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_controller_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/__init__.py", "source_location": "L1"}, {"id": "controller_init_rationale_1", "label": "Unit tests for the controller package. Backend Spec \u00a74.4.1, \u00a74.7.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/__init__.py", "source_location": "L1"}], "edges": [{"source": "controller_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_controller_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/2a61a10e6de7335a07c8434b5f7aa05096952e63997b8687de58a79b4c1224a1.json b/graphify-out/cache/ast/2a61a10e6de7335a07c8434b5f7aa05096952e63997b8687de58a79b4c1224a1.json deleted file mode 100644 index 0ce24e2..0000000 --- a/graphify-out/cache/ast/2a61a10e6de7335a07c8434b5f7aa05096952e63997b8687de58a79b4c1224a1.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "label": "test_transports.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L1"}, {"id": "sync_test_transports_stub_dir", "label": "stub_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L33"}, {"id": "sync_test_transports_record_argv", "label": "record_argv()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L47"}, {"id": "sync_test_transports_read_recorded_argvs", "label": "_read_recorded_argvs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L54"}, {"id": "sync_test_transports_test_rclone_push_success", "label": "test_rclone_push_success()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L64"}, {"id": "sync_test_transports_test_rclone_push_network_error_is_retryable", "label": "test_rclone_push_network_error_is_retryable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L80"}, {"id": "sync_test_transports_test_rclone_push_auth_error_is_terminal", "label": "test_rclone_push_auth_error_is_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L92"}, {"id": "sync_test_transports_test_rclone_push_hash_mismatch", "label": "test_rclone_push_hash_mismatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L104"}, {"id": "sync_test_transports_test_rclone_push_missing_binary_raises", "label": "test_rclone_push_missing_binary_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L116"}, {"id": "sync_test_transports_test_rclone_push_forwards_env", "label": "test_rclone_push_forwards_env()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L123"}, {"id": "sync_test_transports_test_rclone_argv_includes_checksum_flag", "label": "test_rclone_argv_includes_checksum_flag()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L160"}, {"id": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", "label": "test_rclone_argv_includes_bwlimit_when_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L176"}, {"id": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none", "label": "test_rclone_argv_omits_bwlimit_when_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L193"}, {"id": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", "label": "test_rclone_argv_includes_files_from_when_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L208"}, {"id": "sync_test_transports_test_rclone_argv_omits_files_from_when_none", "label": "test_rclone_argv_omits_files_from_when_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L227"}, {"id": "sync_test_transports_test_obscure_returns_stdout_stripped", "label": "test_obscure_returns_stdout_stripped()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L247"}, {"id": "sync_test_transports_test_obscure_missing_binary_raises_auth", "label": "test_obscure_missing_binary_raises_auth()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L257"}, {"id": "sync_test_transports_test_about_success", "label": "test_about_success()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L268"}, {"id": "sync_test_transports_test_about_auth_failure", "label": "test_about_auth_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L277"}, {"id": "sync_test_transports_test_parse_combined_handles_all_prefixes", "label": "test_parse_combined_handles_all_prefixes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L291"}, {"id": "sync_test_transports_test_parse_combined_empty_returns_empty_result", "label": "test_parse_combined_empty_returns_empty_result()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L301"}, {"id": "sync_test_transports_test_parse_combined_tolerates_blank_lines_and_unknown_prefix", "label": "test_parse_combined_tolerates_blank_lines_and_unknown_prefix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L305"}, {"id": "sync_test_transports_rationale_1", "label": "Tests for the rclone transport driver. Backend Spec \u00a77.1.3, \u00a77.1.5. The driver", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L1"}, {"id": "sync_test_transports_rationale_34", "label": "Install the rclone stub under ``tmp_path/bin`` and prepend to PATH.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L34"}, {"id": "sync_test_transports_rationale_48", "label": "Tell the stub to append every invocation's argv to a log file.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L48"}, {"id": "sync_test_transports_rationale_55", "label": "Return the recorded argv lists, in invocation order.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L55"}, {"id": "sync_test_transports_rationale_117", "label": "A missing binary raises :class:`TransportError`, not a retry result.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L117"}, {"id": "sync_test_transports_rationale_129", "label": "``env`` arrives in the subprocess; ``mask_for_log`` redacts the password. T", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L129"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "stat", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "exlab_wizard_sync_transports", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "exlab_wizard_sync_transports_rclone", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_stub_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_record_argv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_read_recorded_argvs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_push_success", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_push_network_error_is_retryable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_push_auth_error_is_terminal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_push_hash_mismatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L104", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_push_missing_binary_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_push_forwards_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_argv_includes_checksum_flag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L160", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L176", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L193", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L208", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_rclone_argv_omits_files_from_when_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L227", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_obscure_returns_stdout_stripped", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L247", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_obscure_missing_binary_raises_auth", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L257", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_about_success", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L268", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_about_auth_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L277", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_parse_combined_handles_all_prefixes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L291", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_parse_combined_empty_returns_empty_result", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L301", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "target": "sync_test_transports_test_parse_combined_tolerates_blank_lines_and_unknown_prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L305", "weight": 1.0}, {"source": "sync_test_transports_test_rclone_argv_includes_checksum_flag", "target": "sync_test_transports_read_recorded_argvs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L171", "weight": 1.0}, {"source": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", "target": "sync_test_transports_read_recorded_argvs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L187", "weight": 1.0}, {"source": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none", "target": "sync_test_transports_read_recorded_argvs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L204", "weight": 1.0}, {"source": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", "target": "sync_test_transports_read_recorded_argvs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L221", "weight": 1.0}, {"source": "sync_test_transports_test_rclone_argv_omits_files_from_when_none", "target": "sync_test_transports_read_recorded_argvs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L238", "weight": 1.0}, {"source": "sync_test_transports_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_sync_test_transports_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_test_transports_rationale_34", "target": "sync_test_transports_stub_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L34", "weight": 1.0}, {"source": "sync_test_transports_rationale_48", "target": "sync_test_transports_record_argv", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L48", "weight": 1.0}, {"source": "sync_test_transports_rationale_55", "target": "sync_test_transports_read_recorded_argvs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L55", "weight": 1.0}, {"source": "sync_test_transports_rationale_117", "target": "sync_test_transports_test_rclone_push_missing_binary_raises", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L117", "weight": 1.0}, {"source": "sync_test_transports_rationale_129", "target": "sync_test_transports_test_rclone_push_forwards_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L129", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_test_transports_stub_dir", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L36"}, {"caller_nid": "sync_test_transports_stub_dir", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L37"}, {"caller_nid": "sync_test_transports_stub_dir", "callee": "copy", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L39"}, {"caller_nid": "sync_test_transports_stub_dir", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L40"}, {"caller_nid": "sync_test_transports_stub_dir", "callee": "chmod", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L41"}, {"caller_nid": "sync_test_transports_stub_dir", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L42"}, {"caller_nid": "sync_test_transports_record_argv", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L50"}, {"caller_nid": "sync_test_transports_record_argv", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L50"}, {"caller_nid": "sync_test_transports_read_recorded_argvs", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L56"}, {"caller_nid": "sync_test_transports_read_recorded_argvs", "callee": "splitlines", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L56"}, {"caller_nid": "sync_test_transports_read_recorded_argvs", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L56"}, {"caller_nid": "sync_test_transports_test_rclone_push_success", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L68"}, {"caller_nid": "sync_test_transports_test_rclone_push_success", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L69"}, {"caller_nid": "sync_test_transports_test_rclone_push_success", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L71"}, {"caller_nid": "sync_test_transports_test_rclone_push_success", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L72"}, {"caller_nid": "sync_test_transports_test_rclone_push_success", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L72"}, {"caller_nid": "sync_test_transports_test_rclone_push_success", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L73"}, {"caller_nid": "sync_test_transports_test_rclone_push_success", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L74"}, {"caller_nid": "sync_test_transports_test_rclone_push_success", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L77"}, {"caller_nid": "sync_test_transports_test_rclone_push_network_error_is_retryable", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L84"}, {"caller_nid": "sync_test_transports_test_rclone_push_network_error_is_retryable", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L85"}, {"caller_nid": "sync_test_transports_test_rclone_push_network_error_is_retryable", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L86"}, {"caller_nid": "sync_test_transports_test_rclone_push_network_error_is_retryable", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L87"}, {"caller_nid": "sync_test_transports_test_rclone_push_auth_error_is_terminal", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L96"}, {"caller_nid": "sync_test_transports_test_rclone_push_auth_error_is_terminal", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L97"}, {"caller_nid": "sync_test_transports_test_rclone_push_auth_error_is_terminal", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L98"}, {"caller_nid": "sync_test_transports_test_rclone_push_auth_error_is_terminal", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L99"}, {"caller_nid": "sync_test_transports_test_rclone_push_hash_mismatch", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L108"}, {"caller_nid": "sync_test_transports_test_rclone_push_hash_mismatch", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L109"}, {"caller_nid": "sync_test_transports_test_rclone_push_hash_mismatch", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L110"}, {"caller_nid": "sync_test_transports_test_rclone_push_hash_mismatch", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L111"}, {"caller_nid": "sync_test_transports_test_rclone_push_missing_binary_raises", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L118"}, {"caller_nid": "sync_test_transports_test_rclone_push_missing_binary_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L119"}, {"caller_nid": "sync_test_transports_test_rclone_push_missing_binary_raises", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L120"}, {"caller_nid": "sync_test_transports_test_rclone_push_forwards_env", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L136"}, {"caller_nid": "sync_test_transports_test_rclone_push_forwards_env", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L138"}, {"caller_nid": "sync_test_transports_test_rclone_push_forwards_env", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L139"}, {"caller_nid": "sync_test_transports_test_rclone_push_forwards_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L139"}, {"caller_nid": "sync_test_transports_test_rclone_push_forwards_env", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L140"}, {"caller_nid": "sync_test_transports_test_rclone_push_forwards_env", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L142"}, {"caller_nid": "sync_test_transports_test_rclone_push_forwards_env", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L148"}, {"caller_nid": "sync_test_transports_test_rclone_push_forwards_env", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L150"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_checksum_flag", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L167"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_checksum_flag", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L168"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_checksum_flag", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L169"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_checksum_flag", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L170"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L183"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L184"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L185"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L186"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", "callee": "index", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L189"}, {"caller_nid": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L200"}, {"caller_nid": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L201"}, {"caller_nid": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L202"}, {"caller_nid": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L203"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L215"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L217"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L218"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L219"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L220"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", "callee": "index", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L223"}, {"caller_nid": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L224"}, {"caller_nid": "sync_test_transports_test_rclone_argv_omits_files_from_when_none", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L234"}, {"caller_nid": "sync_test_transports_test_rclone_argv_omits_files_from_when_none", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L235"}, {"caller_nid": "sync_test_transports_test_rclone_argv_omits_files_from_when_none", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L236"}, {"caller_nid": "sync_test_transports_test_rclone_argv_omits_files_from_when_none", "callee": "push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L237"}, {"caller_nid": "sync_test_transports_test_obscure_returns_stdout_stripped", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L251"}, {"caller_nid": "sync_test_transports_test_obscure_returns_stdout_stripped", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L252"}, {"caller_nid": "sync_test_transports_test_obscure_returns_stdout_stripped", "callee": "obscure", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L253"}, {"caller_nid": "sync_test_transports_test_obscure_missing_binary_raises_auth", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L258"}, {"caller_nid": "sync_test_transports_test_obscure_missing_binary_raises_auth", "callee": "obscure", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L259"}, {"caller_nid": "sync_test_transports_test_about_success", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L269"}, {"caller_nid": "sync_test_transports_test_about_success", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L270"}, {"caller_nid": "sync_test_transports_test_about_success", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L271"}, {"caller_nid": "sync_test_transports_test_about_success", "callee": "about", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L272"}, {"caller_nid": "sync_test_transports_test_about_auth_failure", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L278"}, {"caller_nid": "sync_test_transports_test_about_auth_failure", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L279"}, {"caller_nid": "sync_test_transports_test_about_auth_failure", "callee": "about", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L280"}, {"caller_nid": "sync_test_transports_test_about_auth_failure", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L283"}, {"caller_nid": "sync_test_transports_test_parse_combined_handles_all_prefixes", "callee": "_parse_combined", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L293"}, {"caller_nid": "sync_test_transports_test_parse_combined_empty_returns_empty_result", "callee": "_parse_combined", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L302"}, {"caller_nid": "sync_test_transports_test_parse_combined_empty_returns_empty_result", "callee": "CheckResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L302"}, {"caller_nid": "sync_test_transports_test_parse_combined_tolerates_blank_lines_and_unknown_prefix", "callee": "_parse_combined", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py", "source_location": "L307"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2aa97d838ce8b59dd6a35a6167673ced0806a5f1e2e85995e78b708c963e4ba6.json b/graphify-out/cache/ast/2aa97d838ce8b59dd6a35a6167673ced0806a5f1e2e85995e78b708c963e4ba6.json deleted file mode 100644 index d159100..0000000 --- a/graphify-out/cache/ast/2aa97d838ce8b59dd6a35a6167673ced0806a5f1e2e85995e78b708c963e4ba6.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "label": "test_factories_smoke.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L1"}, {"id": "ui_test_factories_smoke_slot", "label": "_slot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L50"}, {"id": "ui_test_factories_smoke_test_smoke_mode_badge_renders_in_slot", "label": "test_smoke_mode_badge_renders_in_slot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L56"}, {"id": "ui_test_factories_smoke_test_smoke_test_run_badge_renders", "label": "test_smoke_test_run_badge_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L65"}, {"id": "ui_test_factories_smoke_test_smoke_override_badge_renders_with_callback", "label": "test_smoke_override_badge_renders_with_callback()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L71"}, {"id": "ui_test_factories_smoke_test_smoke_sync_status_icon_renders_each_state", "label": "test_smoke_sync_status_icon_renders_each_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L81"}, {"id": "ui_test_factories_smoke_test_smoke_session_progress_renders", "label": "test_smoke_session_progress_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L97"}, {"id": "ui_test_factories_smoke_test_smoke_credential_field_renders_each_state", "label": "test_smoke_credential_field_renders_each_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L112"}, {"id": "ui_test_factories_smoke_credential_testids", "label": "_credential_testids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L128"}, {"id": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "label": "test_credential_field_editing_state_renders_a_password_input()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L138"}, {"id": "ui_test_factories_smoke_test_credential_field_not_set_state_renders_set_button_without_input", "label": "test_credential_field_not_set_state_renders_set_button_without_input()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L160"}, {"id": "ui_test_factories_smoke_test_credential_field_set_state_renders_replace_and_clear_buttons", "label": "test_credential_field_set_state_renders_replace_and_clear_buttons()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L174"}, {"id": "ui_test_factories_smoke_test_smoke_test_connection_panel_renders", "label": "test_smoke_test_connection_panel_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L188"}, {"id": "ui_test_factories_smoke_test_smoke_filter_chips_renders", "label": "test_smoke_filter_chips_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L204"}, {"id": "ui_test_factories_smoke_test_smoke_status_bar_segment_renders", "label": "test_smoke_status_bar_segment_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L214"}, {"id": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", "label": "test_smoke_banner_stack_renders_with_active_banners()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L233"}, {"id": "ui_test_factories_smoke_test_smoke_operations_modal_renders", "label": "test_smoke_operations_modal_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L247"}, {"id": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders", "label": "test_smoke_bandwidth_schedule_editor_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L277"}, {"id": "ui_test_factories_smoke_test_smoke_validation_summary_renders", "label": "test_smoke_validation_summary_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L301"}, {"id": "ui_test_factories_smoke_test_smoke_tree_renders", "label": "test_smoke_tree_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L326"}, {"id": "ui_test_factories_smoke_test_smoke_welcome_page_renders", "label": "test_smoke_welcome_page_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L348"}, {"id": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_complete", "label": "test_smoke_file_explorer_page_renders_setup_complete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L356"}, {"id": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_incomplete", "label": "test_smoke_file_explorer_page_renders_setup_incomplete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L373"}, {"id": "ui_test_factories_smoke_test_smoke_wizard_project_renders", "label": "test_smoke_wizard_project_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L389"}, {"id": "ui_test_factories_smoke_test_smoke_wizard_run_renders_test_mode", "label": "test_smoke_wizard_run_renders_test_mode()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L397"}, {"id": "ui_test_factories_smoke_test_smoke_wizard_run_renders_experimental_mode", "label": "test_smoke_wizard_run_renders_experimental_mode()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L405"}, {"id": "ui_test_factories_smoke_test_smoke_settings_page_renders", "label": "test_smoke_settings_page_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L413"}, {"id": "ui_test_factories_smoke_test_smoke_settings_page_each_section_renders", "label": "test_smoke_settings_page_each_section_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L422"}, {"id": "ui_test_factories_smoke_test_smoke_settings_page_setup_incomplete_auto_selects_first", "label": "test_smoke_settings_page_setup_incomplete_auto_selects_first()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L432"}, {"id": "ui_test_factories_smoke_test_settings_lims_section_renders_credential_field_with_e2e_hooks", "label": "test_settings_lims_section_renders_credential_field_with_e2e_hooks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L446"}, {"id": "ui_test_factories_smoke_test_settings_lims_section_credential_field_opens_set_when_password_present", "label": "test_settings_lims_section_credential_field_opens_set_when_password_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L461"}, {"id": "ui_test_factories_smoke_test_smoke_problems_page_renders", "label": "test_smoke_problems_page_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L475"}, {"id": "ui_test_factories_smoke_test_smoke_problems_page_renders_empty_state", "label": "test_smoke_problems_page_renders_empty_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L507"}, {"id": "ui_test_factories_smoke_test_smoke_register_theme_returns_css", "label": "test_smoke_register_theme_returns_css()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L520"}, {"id": "ui_test_factories_smoke_test_smoke_bind_global_shortcuts_does_not_raise", "label": "test_smoke_bind_global_shortcuts_does_not_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L525"}, {"id": "ui_test_factories_smoke_rationale_1", "label": "Smoke tests that invoke the NiceGUI factory functions. The factory functions cr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L1"}, {"id": "ui_test_factories_smoke_rationale_51", "label": "Return a NiceGUI slot we can use as a parent for factory calls.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L51"}, {"id": "ui_test_factories_smoke_rationale_129", "label": "Collect every ``data-testid`` in an element's subtree.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L129"}, {"id": "ui_test_factories_smoke_rationale_139", "label": "Regression: the editing state must expose an inline password input.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L139"}, {"id": "ui_test_factories_smoke_rationale_447", "label": "The LIMS section must expose the password credential row.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L447"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "nicegui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "exlab_wizard_ui_components", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "exlab_wizard_ui_notifications", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_slot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_mode_badge_renders_in_slot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_test_run_badge_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L65", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_override_badge_renders_with_callback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L71", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_sync_status_icon_renders_each_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_session_progress_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L97", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_credential_field_renders_each_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_credential_testids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L138", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_credential_field_not_set_state_renders_set_button_without_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L160", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_credential_field_set_state_renders_replace_and_clear_buttons", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L174", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_test_connection_panel_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L188", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_filter_chips_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L204", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_status_bar_segment_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L214", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L233", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_operations_modal_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L247", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L277", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_validation_summary_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L301", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_tree_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L326", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_welcome_page_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L348", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_complete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L356", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_incomplete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L373", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_wizard_project_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L389", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_wizard_run_renders_test_mode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L397", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_wizard_run_renders_experimental_mode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L405", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_settings_page_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L413", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_settings_page_each_section_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L422", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_settings_page_setup_incomplete_auto_selects_first", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L432", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_settings_lims_section_renders_credential_field_with_e2e_hooks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L446", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_settings_lims_section_credential_field_opens_set_when_password_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L461", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_problems_page_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L475", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_problems_page_renders_empty_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L507", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_register_theme_returns_css", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L520", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "target": "ui_test_factories_smoke_test_smoke_bind_global_shortcuts_does_not_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L525", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_mode_badge_renders_in_slot", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L57", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_test_run_badge_renders", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L66", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_override_badge_renders_with_callback", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L73", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_sync_status_icon_renders_each_state", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L89", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_session_progress_renders", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L98", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_credential_field_renders_each_state", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L118", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L141", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "target": "ui_test_factories_smoke_credential_testids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L156", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_credential_field_not_set_state_renders_set_button_without_input", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L161", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_credential_field_not_set_state_renders_set_button_without_input", "target": "ui_test_factories_smoke_credential_testids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L169", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_credential_field_set_state_renders_replace_and_clear_buttons", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L175", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_credential_field_set_state_renders_replace_and_clear_buttons", "target": "ui_test_factories_smoke_credential_testids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L183", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_test_connection_panel_renders", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L189", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_filter_chips_renders", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L209", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_status_bar_segment_renders", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L216", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L241", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_operations_modal_renders", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L267", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L278", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_validation_summary_renders", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L302", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_smoke_tree_renders", "target": "ui_test_factories_smoke_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L335", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_settings_lims_section_renders_credential_field_with_e2e_hooks", "target": "ui_test_factories_smoke_credential_testids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L457", "weight": 1.0}, {"source": "ui_test_factories_smoke_test_settings_lims_section_credential_field_opens_set_when_password_present", "target": "ui_test_factories_smoke_credential_testids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L470", "weight": 1.0}, {"source": "ui_test_factories_smoke_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_factories_smoke_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_factories_smoke_rationale_51", "target": "ui_test_factories_smoke_slot", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L51", "weight": 1.0}, {"source": "ui_test_factories_smoke_rationale_129", "target": "ui_test_factories_smoke_credential_testids", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L129", "weight": 1.0}, {"source": "ui_test_factories_smoke_rationale_139", "target": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L139", "weight": 1.0}, {"source": "ui_test_factories_smoke_rationale_447", "target": "ui_test_factories_smoke_test_settings_lims_section_renders_credential_field_with_e2e_hooks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L447", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_factories_smoke_slot", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L53"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_mode_badge_renders_in_slot", "callee": "mode_badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L58"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_mode_badge_renders_in_slot", "callee": "mode_badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L61"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_test_run_badge_renders", "callee": "test_run_badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L67"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_override_badge_renders_with_callback", "callee": "override_badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L74"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_override_badge_renders_with_callback", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L74"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_override_badge_renders_with_callback", "callee": "override_badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L77"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_sync_status_icon_renders_each_state", "callee": "sync_status_icon", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L90"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_sync_status_icon_renders_each_state", "callee": "sync_status_icon", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L93"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_session_progress_renders", "callee": "session_progress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L99"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_session_progress_renders", "callee": "session_progress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L102"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_credential_field_renders_each_state", "callee": "credential_field", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L119"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_credential_field_renders_each_state", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L123"}, {"caller_nid": "ui_test_factories_smoke_credential_testids", "callee": "descendants", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L133"}, {"caller_nid": "ui_test_factories_smoke_credential_testids", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L134"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "callee": "credential_field", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L142"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L147"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "callee": "descendants", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L151"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L152"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L152"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L154"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L155"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_not_set_state_renders_set_button_without_input", "callee": "credential_field", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L162"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_not_set_state_renders_set_button_without_input", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L167"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_set_state_renders_replace_and_clear_buttons", "callee": "credential_field", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L176"}, {"caller_nid": "ui_test_factories_smoke_test_credential_field_set_state_renders_replace_and_clear_buttons", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L181"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_test_connection_panel_renders", "callee": "test_connection_panel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L190"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_test_connection_panel_renders", "callee": "TestConnectionResult", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L193"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_test_connection_panel_renders", "callee": "test_connection_panel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L197"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_test_connection_panel_renders", "callee": "test_connection_panel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L200"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_filter_chips_renders", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L206"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_filter_chips_renders", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L207"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_filter_chips_renders", "callee": "filter_chips", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L210"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_status_bar_segment_renders", "callee": "status_bar_segment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L217"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_status_bar_segment_renders", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L218"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_status_bar_segment_renders", "callee": "status_bar_segment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L222"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_status_bar_segment_renders", "callee": "status_bar_segment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L227"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", "callee": "reset_for_tests", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L234"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", "callee": "show_banner", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L235"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", "callee": "banner_stack", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L242"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", "callee": "reset_for_tests", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L244"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_operations_modal_renders", "callee": "OperationRow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L249"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_operations_modal_renders", "callee": "OperationRow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L258"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_operations_modal_renders", "callee": "operations_modal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L268"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders", "callee": "bandwidth_schedule_editor", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L279"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders", "callee": "BandwidthSchedule", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L280"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders", "callee": "ScheduleWindow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L284"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders", "callee": "bandwidth_schedule_editor", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L295"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders", "callee": "BandwidthSchedule", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L296"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_validation_summary_renders", "callee": "validation_summary", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L303"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_validation_summary_renders", "callee": "ValidationSummary", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L304"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_validation_summary_renders", "callee": "FindingExcerpt", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L308"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_validation_summary_renders", "callee": "FindingExcerpt", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L309"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_validation_summary_renders", "callee": "FindingExcerpt", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L310"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_validation_summary_renders", "callee": "validation_summary", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L320"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_validation_summary_renders", "callee": "ValidationSummary", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L321"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_tree_renders", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L327"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_tree_renders", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L328"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_tree_renders", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L329"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_tree_renders", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L330"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_tree_renders", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L332"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_tree_renders", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L333"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_tree_renders", "callee": "build_tree", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L336"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_tree_renders", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L338"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_welcome_page_renders", "callee": "render_welcome_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L349"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_complete", "callee": "render_file_explorer_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L357"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_complete", "callee": "MainPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L365"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_incomplete", "callee": "reset_for_tests", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L374"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_incomplete", "callee": "render_file_explorer_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L375"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_incomplete", "callee": "MainPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L383"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_incomplete", "callee": "reset_for_tests", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L386"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_wizard_project_renders", "callee": "render_project_wizard", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L390"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_wizard_project_renders", "callee": "ProjectWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L391"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_wizard_run_renders_test_mode", "callee": "render_run_wizard", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L398"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_wizard_run_renders_test_mode", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L399"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_wizard_run_renders_experimental_mode", "callee": "render_run_wizard", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L406"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_wizard_run_renders_experimental_mode", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L407"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_settings_page_renders", "callee": "render_settings_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L414"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_settings_page_renders", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L415"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_settings_page_each_section_renders", "callee": "render_settings_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L424"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_settings_page_each_section_renders", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L425"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_settings_page_setup_incomplete_auto_selects_first", "callee": "render_settings_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L433"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_settings_page_setup_incomplete_auto_selects_first", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L434"}, {"caller_nid": "ui_test_factories_smoke_test_settings_lims_section_renders_credential_field_with_e2e_hooks", "callee": "render_settings_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L450"}, {"caller_nid": "ui_test_factories_smoke_test_settings_lims_section_renders_credential_field_with_e2e_hooks", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L451"}, {"caller_nid": "ui_test_factories_smoke_test_settings_lims_section_credential_field_opens_set_when_password_present", "callee": "render_settings_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L462"}, {"caller_nid": "ui_test_factories_smoke_test_settings_lims_section_credential_field_opens_set_when_password_present", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L463"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_problems_page_renders", "callee": "render_problems_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L476"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_problems_page_renders", "callee": "Finding", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L478"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_problems_page_renders", "callee": "Finding", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L489"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_problems_page_renders_empty_state", "callee": "render_problems_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L508"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_problems_page_renders_empty_state", "callee": "ProblemsPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L510"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_register_theme_returns_css", "callee": "register_theme", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L521"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_bind_global_shortcuts_does_not_raise", "callee": "ShortcutRegistry", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L526"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_bind_global_shortcuts_does_not_raise", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L527"}, {"caller_nid": "ui_test_factories_smoke_test_smoke_bind_global_shortcuts_does_not_raise", "callee": "bind_global_shortcuts", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py", "source_location": "L528"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2ac913b8bbcb8b6c8c474f6961e705e7a0b9d468f43f6f2b8ce4d6202fd2c834.json b/graphify-out/cache/ast/2ac913b8bbcb8b6c8c474f6961e705e7a0b9d468f43f6f2b8ce4d6202fd2c834.json deleted file mode 100644 index aea20b1..0000000 --- a/graphify-out/cache/ast/2ac913b8bbcb8b6c8c474f6961e705e7a0b9d468f43f6f2b8ce4d6202fd2c834.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/2b41874c1ec869f222d6950366e076bafd13239e5cd6e12fef8634e107ca28c1.json b/graphify-out/cache/ast/2b41874c1ec869f222d6950366e076bafd13239e5cd6e12fef8634e107ca28c1.json deleted file mode 100644 index 4fdab89..0000000 --- a/graphify-out/cache/ast/2b41874c1ec869f222d6950366e076bafd13239e5cd6e12fef8634e107ca28c1.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/2b453c4beb5ac5f54dea63d9bb04aec079deeebe0be1cbd8cd40970a0d3870fe.json b/graphify-out/cache/ast/2b453c4beb5ac5f54dea63d9bb04aec079deeebe0be1cbd8cd40970a0d3870fe.json deleted file mode 100644 index 824ec22..0000000 --- a/graphify-out/cache/ast/2b453c4beb5ac5f54dea63d9bb04aec079deeebe0be1cbd8cd40970a0d3870fe.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_11_crash_recovery_py", "label": "test_flow_11_crash_recovery.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L1"}, {"id": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", "label": "test_flow_11_crash_recovery()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L16"}, {"id": "e2e_test_flow_11_crash_recovery_rationale_1", "label": "E2E flow 11: Crash-recovery prompt on relaunch. Frontend Spec \u00a76.10 (crash reco", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_11_crash_recovery_py", "target": "tests_e2e_page_objects_problems_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_11_crash_recovery_py", "target": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L16", "weight": 1.0}, {"source": "e2e_test_flow_11_crash_recovery_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_11_crash_recovery_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", "callee": "ProblemsPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L17"}, {"caller_nid": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L18"}, {"caller_nid": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L19"}, {"caller_nid": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L21"}, {"caller_nid": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", "callee": "inner_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L23"}, {"caller_nid": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py", "source_location": "L23"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2c21fb0830686d789ab67014545dd50bd14277481a4f8a86eeb77b518dc850ad.json b/graphify-out/cache/ast/2c21fb0830686d789ab67014545dd50bd14277481a4f8a86eeb77b518dc850ad.json deleted file mode 100644 index ac41ccc..0000000 --- a/graphify-out/cache/ast/2c21fb0830686d789ab67014545dd50bd14277481a4f8a86eeb77b518dc850ad.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_connection_panel_py", "label": "test_connection_panel.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L1"}, {"id": "components_test_connection_panel_testconnectionresult", "label": "TestConnectionResult", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L29"}, {"id": "components_test_connection_panel_panel_props", "label": "panel_props()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L38"}, {"id": "components_test_connection_panel_test_connection_panel", "label": "test_connection_panel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L69"}, {"id": "components_test_connection_panel_rationale_1", "label": "Test-connection result panel (Frontend Spec \u00a77.4.2). A persistent inline panel", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L1"}, {"id": "components_test_connection_panel_rationale_30", "label": "One result rendered in the panel.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L30"}, {"id": "components_test_connection_panel_rationale_39", "label": "Compute the rendered props for the panel. Returns a dict suitable for asser", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L39"}, {"id": "components_test_connection_panel_rationale_74", "label": "Build the inline result panel. Returns a NiceGUI element, or the props dict", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L74"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_connection_panel_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_connection_panel_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_connection_panel_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_connection_panel_py", "target": "components_test_connection_panel_testconnectionresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_connection_panel_py", "target": "components_test_connection_panel_panel_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_connection_panel_py", "target": "components_test_connection_panel_test_connection_panel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L69", "weight": 1.0}, {"source": "components_test_connection_panel_test_connection_panel", "target": "components_test_connection_panel_panel_props", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L80", "weight": 1.0}, {"source": "components_test_connection_panel_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_test_connection_panel_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L1", "weight": 1.0}, {"source": "components_test_connection_panel_rationale_30", "target": "components_test_connection_panel_testconnectionresult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L30", "weight": 1.0}, {"source": "components_test_connection_panel_rationale_39", "target": "components_test_connection_panel_panel_props", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L39", "weight": 1.0}, {"source": "components_test_connection_panel_rationale_74", "target": "components_test_connection_panel_test_connection_panel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L74", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L87"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L87"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L90"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L90"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L90"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L101"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L101"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L101"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L102"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "icon", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L102"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L105"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L105"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L108"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L108"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L111"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "expansion", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L111"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L112"}, {"caller_nid": "components_test_connection_panel_test_connection_panel", "callee": "code", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py", "source_location": "L112"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2d96f6e8fbbc6bfce34f77c47197871c3b446f4a896b0918edc04b930344671b.json b/graphify-out/cache/ast/2d96f6e8fbbc6bfce34f77c47197871c3b446f4a896b0918edc04b930344671b.json deleted file mode 100644 index 79bb336..0000000 --- a/graphify-out/cache/ast/2d96f6e8fbbc6bfce34f77c47197871c3b446f4a896b0918edc04b930344671b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "label": "queue.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L1"}, {"id": "sync_queue_syncjobstate", "label": "SyncJobState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L69"}, {"id": "strenum", "label": "StrEnum", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "sync_queue_syncjobrow", "label": "SyncJobRow", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L116"}, {"id": "sync_queue_decode_files", "label": "_decode_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L134"}, {"id": "sync_queue_encode_files", "label": "_encode_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L151"}, {"id": "sync_queue_row_to_job", "label": "_row_to_job()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L156"}, {"id": "sync_queue_compute_next_attempt_at", "label": "compute_next_attempt_at()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L175"}, {"id": "sync_queue_syncqueue", "label": "SyncQueue", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L190"}, {"id": "sync_queue_syncqueue_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L197"}, {"id": "sync_queue_db_path", "label": "db_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L202"}, {"id": "sync_queue_syncqueue_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L229"}, {"id": "sync_queue_syncqueue_require_conn", "label": "._require_conn()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L235"}, {"id": "sync_queue_syncqueue_require_job", "label": "._require_job()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L241"}, {"id": "sync_queue_syncqueue_insert", "label": ".insert()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L256"}, {"id": "sync_queue_syncqueue_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L310"}, {"id": "sync_queue_syncqueue_get_by_run_path", "label": ".get_by_run_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L323"}, {"id": "sync_queue_syncqueue_list_in_state", "label": ".list_in_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L336"}, {"id": "sync_queue_syncqueue_list_all", "label": ".list_all()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L347"}, {"id": "sync_queue_syncqueue_transition", "label": ".transition()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L357"}, {"id": "sync_queue_syncqueue_record_failure", "label": ".record_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L425"}, {"id": "sync_queue_syncqueue_reset_to_queued", "label": ".reset_to_queued()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L475"}, {"id": "sync_queue_syncqueue_requeue_with_files", "label": ".requeue_with_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L500"}, {"id": "sync_queue_syncqueue_delete", "label": ".delete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L534"}, {"id": "sync_queue_is_terminal", "label": "is_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L541"}, {"id": "sync_queue_rationale_1", "label": "Durable SQLite-backed sync-job queue. Backend Spec \u00a77.1.1, \u00a77.1.2, \u00a77.1.5. The", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L1"}, {"id": "sync_queue_rationale_70", "label": "State machine for a sync job. Backend Spec \u00a77.1.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L70"}, {"id": "sync_queue_rationale_117", "label": "One row in the ``jobs`` table. Backend Spec \u00a77.1.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L117"}, {"id": "sync_queue_rationale_135", "label": "Decode the ``files`` JSON column into a tuple of run-relative paths. A ``NU", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L135"}, {"id": "sync_queue_rationale_152", "label": "Encode a run-relative path tuple into the ``files`` JSON column.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L152"}, {"id": "sync_queue_rationale_157", "label": "Materialize an ``aiosqlite.Row`` (or tuple) into a :class:`SyncJobRow`.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L157"}, {"id": "sync_queue_rationale_176", "label": "Return the ISO timestamp of the next retry attempt. ``attempts_after`` is t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L176"}, {"id": "sync_queue_rationale_191", "label": "Async SQLite-backed durable sync queue. Backend Spec \u00a77.1.1. Use :meth:`ini", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L191"}, {"id": "sync_queue_rationale_203", "label": "The on-disk path of the queue database file.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L203"}, {"id": "sync_queue_rationale_207", "label": "Open the connection, ensure the schema, and replay in-flight rows. Repl", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L207"}, {"id": "sync_queue_rationale_230", "label": "Close the underlying connection (idempotent).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L230"}, {"id": "sync_queue_rationale_242", "label": "Return the row for ``job_id`` or raise ``ValueError``. Centralizes the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L242"}, {"id": "sync_queue_rationale_265", "label": "Insert a new ``QUEUED`` row for ``run_path``. ``files`` is the per-file", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L265"}, {"id": "sync_queue_rationale_311", "label": "Return the row with the given ``job_id`` or ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L311"}, {"id": "sync_queue_rationale_324", "label": "Return the row whose ``run_path`` matches, or ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L324"}, {"id": "sync_queue_rationale_337", "label": "Return every row currently in ``state`` ordered by ``enqueued_at``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L337"}, {"id": "sync_queue_rationale_348", "label": "Return every row in the queue ordered by ``enqueued_at``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L348"}, {"id": "sync_queue_rationale_370", "label": "Transition a job to ``new_state`` and patch the auxiliary columns. The", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L370"}, {"id": "sync_queue_rationale_433", "label": "Record a transport failure on ``job_id``. If ``terminal`` is True (auth", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L433"}, {"id": "sync_queue_rationale_476", "label": "Reset a ``FAILED`` job back to ``QUEUED`` for a manual retry. Per \u00a77.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L476"}, {"id": "sync_queue_rationale_505", "label": "Reset a terminal job back to ``QUEUED`` carrying a new ``files`` list.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L505"}, {"id": "sync_queue_rationale_535", "label": "Remove a job row entirely. Used by the cleanup reaper after CLEANED.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L535"}, {"id": "sync_queue_rationale_542", "label": "Return True if the state is a terminal state (no further work).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L542"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "enum", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "aiosqlite", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "sync_queue_syncjobstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L69", "weight": 1.0}, {"source": "sync_queue_syncjobstate", "target": "strenum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "sync_queue_syncjobrow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "sync_queue_decode_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L134", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "sync_queue_encode_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L151", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "sync_queue_row_to_job", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L156", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "sync_queue_compute_next_attempt_at", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "sync_queue_syncqueue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L190", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L197", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "sync_queue_db_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L202", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L206", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L229", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_require_conn", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L235", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_require_job", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L241", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_insert", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L256", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L310", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_get_by_run_path", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L323", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_list_in_state", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L336", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_list_all", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L347", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_transition", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L357", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_record_failure", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L425", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_reset_to_queued", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L475", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_requeue_with_files", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L500", "weight": 1.0}, {"source": "sync_queue_syncqueue", "target": "sync_queue_syncqueue_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L534", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "target": "sync_queue_is_terminal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L541", "weight": 1.0}, {"source": "sync_queue_row_to_job", "target": "sync_queue_syncjobrow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L158", "weight": 1.0}, {"source": "sync_queue_row_to_job", "target": "sync_queue_syncjobstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L162", "weight": 1.0}, {"source": "sync_queue_row_to_job", "target": "sync_queue_decode_files", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L171", "weight": 1.0}, {"source": "sync_queue_syncqueue_require_job", "target": "sync_queue_syncqueue_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L248", "weight": 1.0}, {"source": "sync_queue_syncqueue_insert", "target": "sync_queue_syncqueue_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L273", "weight": 1.0}, {"source": "sync_queue_syncqueue_insert", "target": "sync_queue_syncjobrow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L274", "weight": 1.0}, {"source": "sync_queue_syncqueue_insert", "target": "sync_queue_encode_files", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L304", "weight": 1.0}, {"source": "sync_queue_syncqueue_get_by_id", "target": "sync_queue_syncqueue_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L312", "weight": 1.0}, {"source": "sync_queue_syncqueue_get_by_id", "target": "sync_queue_syncqueue_close", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L318", "weight": 1.0}, {"source": "sync_queue_syncqueue_get_by_id", "target": "sync_queue_row_to_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L321", "weight": 1.0}, {"source": "sync_queue_syncqueue_get_by_run_path", "target": "sync_queue_syncqueue_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L325", "weight": 1.0}, {"source": "sync_queue_syncqueue_get_by_run_path", "target": "sync_queue_syncqueue_close", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L331", "weight": 1.0}, {"source": "sync_queue_syncqueue_get_by_run_path", "target": "sync_queue_row_to_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L334", "weight": 1.0}, {"source": "sync_queue_syncqueue_list_in_state", "target": "sync_queue_syncqueue_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L338", "weight": 1.0}, {"source": "sync_queue_syncqueue_list_in_state", "target": "sync_queue_syncqueue_close", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L344", "weight": 1.0}, {"source": "sync_queue_syncqueue_list_in_state", "target": "sync_queue_row_to_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L345", "weight": 1.0}, {"source": "sync_queue_syncqueue_list_all", "target": "sync_queue_syncqueue_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L349", "weight": 1.0}, {"source": "sync_queue_syncqueue_list_all", "target": "sync_queue_syncqueue_close", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L352", "weight": 1.0}, {"source": "sync_queue_syncqueue_list_all", "target": "sync_queue_row_to_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L353", "weight": 1.0}, {"source": "sync_queue_syncqueue_transition", "target": "sync_queue_syncqueue_require_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L375", "weight": 1.0}, {"source": "sync_queue_syncqueue_transition", "target": "sync_queue_syncqueue_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L396", "weight": 1.0}, {"source": "sync_queue_syncqueue_record_failure", "target": "sync_queue_syncqueue_require_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L442", "weight": 1.0}, {"source": "sync_queue_syncqueue_record_failure", "target": "sync_queue_syncqueue_transition", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L447", "weight": 1.0}, {"source": "sync_queue_syncqueue_record_failure", "target": "sync_queue_compute_next_attempt_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L465", "weight": 1.0}, {"source": "sync_queue_syncqueue_reset_to_queued", "target": "sync_queue_syncqueue_require_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L483", "weight": 1.0}, {"source": "sync_queue_syncqueue_reset_to_queued", "target": "sync_queue_syncqueue_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L484", "weight": 1.0}, {"source": "sync_queue_syncqueue_reset_to_queued", "target": "sync_queue_syncqueue_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L498", "weight": 1.0}, {"source": "sync_queue_syncqueue_requeue_with_files", "target": "sync_queue_syncqueue_require_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L514", "weight": 1.0}, {"source": "sync_queue_syncqueue_requeue_with_files", "target": "sync_queue_syncqueue_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L515", "weight": 1.0}, {"source": "sync_queue_syncqueue_requeue_with_files", "target": "sync_queue_encode_files", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L529", "weight": 1.0}, {"source": "sync_queue_syncqueue_requeue_with_files", "target": "sync_queue_syncqueue_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L532", "weight": 1.0}, {"source": "sync_queue_syncqueue_delete", "target": "sync_queue_syncqueue_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L536", "weight": 1.0}, {"source": "sync_queue_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_queue_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_queue_rationale_70", "target": "sync_queue_syncjobstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L70", "weight": 1.0}, {"source": "sync_queue_rationale_117", "target": "sync_queue_syncjobrow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L117", "weight": 1.0}, {"source": "sync_queue_rationale_135", "target": "sync_queue_decode_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L135", "weight": 1.0}, {"source": "sync_queue_rationale_152", "target": "sync_queue_encode_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L152", "weight": 1.0}, {"source": "sync_queue_rationale_157", "target": "sync_queue_row_to_job", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L157", "weight": 1.0}, {"source": "sync_queue_rationale_176", "target": "sync_queue_compute_next_attempt_at", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L176", "weight": 1.0}, {"source": "sync_queue_rationale_191", "target": "sync_queue_syncqueue", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L191", "weight": 1.0}, {"source": "sync_queue_rationale_203", "target": "sync_queue_syncqueue_db_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L203", "weight": 1.0}, {"source": "sync_queue_rationale_207", "target": "sync_queue_syncqueue_init", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L207", "weight": 1.0}, {"source": "sync_queue_rationale_230", "target": "sync_queue_syncqueue_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L230", "weight": 1.0}, {"source": "sync_queue_rationale_242", "target": "sync_queue_syncqueue_require_job", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L242", "weight": 1.0}, {"source": "sync_queue_rationale_265", "target": "sync_queue_syncqueue_insert", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L265", "weight": 1.0}, {"source": "sync_queue_rationale_311", "target": "sync_queue_syncqueue_get_by_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L311", "weight": 1.0}, {"source": "sync_queue_rationale_324", "target": "sync_queue_syncqueue_get_by_run_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L324", "weight": 1.0}, {"source": "sync_queue_rationale_337", "target": "sync_queue_syncqueue_list_in_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L337", "weight": 1.0}, {"source": "sync_queue_rationale_348", "target": "sync_queue_syncqueue_list_all", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L348", "weight": 1.0}, {"source": "sync_queue_rationale_370", "target": "sync_queue_syncqueue_transition", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L370", "weight": 1.0}, {"source": "sync_queue_rationale_433", "target": "sync_queue_syncqueue_record_failure", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L433", "weight": 1.0}, {"source": "sync_queue_rationale_476", "target": "sync_queue_syncqueue_reset_to_queued", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L476", "weight": 1.0}, {"source": "sync_queue_rationale_505", "target": "sync_queue_syncqueue_requeue_with_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L505", "weight": 1.0}, {"source": "sync_queue_rationale_535", "target": "sync_queue_syncqueue_delete", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L535", "weight": 1.0}, {"source": "sync_queue_rationale_542", "target": "sync_queue_syncqueue_is_terminal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L542", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_queue_decode_files", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L143"}, {"caller_nid": "sync_queue_decode_files", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L146"}, {"caller_nid": "sync_queue_decode_files", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L148"}, {"caller_nid": "sync_queue_decode_files", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L148"}, {"caller_nid": "sync_queue_encode_files", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L153"}, {"caller_nid": "sync_queue_encode_files", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L153"}, {"caller_nid": "sync_queue_compute_next_attempt_at", "callee": "utc_now_or", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L186"}, {"caller_nid": "sync_queue_compute_next_attempt_at", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L186"}, {"caller_nid": "sync_queue_compute_next_attempt_at", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L187"}, {"caller_nid": "sync_queue_syncqueue_init", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L213"}, {"caller_nid": "sync_queue_syncqueue_init", "callee": "connect", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L214"}, {"caller_nid": "sync_queue_syncqueue_init", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L214"}, {"caller_nid": "sync_queue_syncqueue_init", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L217"}, {"caller_nid": "sync_queue_syncqueue_init", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L218"}, {"caller_nid": "sync_queue_syncqueue_init", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L220"}, {"caller_nid": "sync_queue_syncqueue_init", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L222"}, {"caller_nid": "sync_queue_syncqueue_init", "callee": "commit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L226"}, {"caller_nid": "sync_queue_syncqueue_init", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L227"}, {"caller_nid": "sync_queue_syncqueue_require_conn", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L238"}, {"caller_nid": "sync_queue_syncqueue_require_job", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L251"}, {"caller_nid": "sync_queue_syncqueue_insert", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L275"}, {"caller_nid": "sync_queue_syncqueue_insert", "callee": "uuid4", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L275"}, {"caller_nid": "sync_queue_syncqueue_insert", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L276"}, {"caller_nid": "sync_queue_syncqueue_insert", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L279"}, {"caller_nid": "sync_queue_syncqueue_insert", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L281"}, {"caller_nid": "sync_queue_syncqueue_insert", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L283"}, {"caller_nid": "sync_queue_syncqueue_insert", "callee": "commit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L307"}, {"caller_nid": "sync_queue_syncqueue_get_by_id", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L313"}, {"caller_nid": "sync_queue_syncqueue_get_by_id", "callee": "fetchone", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L317"}, {"caller_nid": "sync_queue_syncqueue_get_by_run_path", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L326"}, {"caller_nid": "sync_queue_syncqueue_get_by_run_path", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L328"}, {"caller_nid": "sync_queue_syncqueue_get_by_run_path", "callee": "fetchone", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L330"}, {"caller_nid": "sync_queue_syncqueue_list_in_state", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L339"}, {"caller_nid": "sync_queue_syncqueue_list_in_state", "callee": "fetchall", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L343"}, {"caller_nid": "sync_queue_syncqueue_list_all", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L350"}, {"caller_nid": "sync_queue_syncqueue_list_all", "callee": "fetchall", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L351"}, {"caller_nid": "sync_queue_syncqueue_transition", "callee": "replace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L380"}, {"caller_nid": "sync_queue_syncqueue_transition", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L397"}, {"caller_nid": "sync_queue_syncqueue_transition", "callee": "commit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L422"}, {"caller_nid": "sync_queue_syncqueue_record_failure", "callee": "utc_now_or", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L444"}, {"caller_nid": "sync_queue_syncqueue_record_failure", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L445"}, {"caller_nid": "sync_queue_syncqueue_reset_to_queued", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L485"}, {"caller_nid": "sync_queue_syncqueue_reset_to_queued", "callee": "commit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L497"}, {"caller_nid": "sync_queue_syncqueue_requeue_with_files", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L516"}, {"caller_nid": "sync_queue_syncqueue_requeue_with_files", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L529"}, {"caller_nid": "sync_queue_syncqueue_requeue_with_files", "callee": "commit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L531"}, {"caller_nid": "sync_queue_syncqueue_delete", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L537"}, {"caller_nid": "sync_queue_syncqueue_delete", "callee": "commit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py", "source_location": "L538"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2ded6b231f097cb04b835631c00765143b71e2287440e280459cd2cec5b9c809.json b/graphify-out/cache/ast/2ded6b231f097cb04b835631c00765143b71e2287440e280459cd2cec5b9c809.json deleted file mode 100644 index 6828fdb..0000000 --- a/graphify-out/cache/ast/2ded6b231f097cb04b835631c00765143b71e2287440e280459cd2cec5b9c809.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "label": "test_creation_flow.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1"}, {"id": "controller_test_creation_flow_build_config", "label": "_build_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L67"}, {"id": "controller_test_creation_flow_project_request", "label": "_project_request()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L94"}, {"id": "controller_test_creation_flow_run_request", "label": "_run_request()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L126"}, {"id": "controller_test_creation_flow_build_controller", "label": "_build_controller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L155"}, {"id": "controller_test_creation_flow_drain_to_done", "label": "_drain_to_done()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L177"}, {"id": "controller_test_creation_flow_test_full_project_creation_happy_path", "label": "test_full_project_creation_happy_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L194"}, {"id": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "label": "test_full_experimental_run_creation_happy_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L227"}, {"id": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "label": "test_same_minute_run_creation_collision_is_hard_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L246"}, {"id": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "label": "test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L278"}, {"id": "controller_test_creation_flow_test_validation_rejects_empty_label", "label": "test_validation_rejects_empty_label()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L309"}, {"id": "controller_test_creation_flow_test_validation_rejects_label_over_length", "label": "test_validation_rejects_label_over_length()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L324"}, {"id": "controller_test_creation_flow_test_validation_rejects_objective_over_length", "label": "test_validation_rejects_objective_over_length()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L338"}, {"id": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", "label": "test_validation_rejects_operator_not_in_allowlist()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L354"}, {"id": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", "label": "test_validation_rejects_unknown_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L368"}, {"id": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", "label": "test_validation_rejects_unsafe_project_name_for_runs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L384"}, {"id": "controller_test_creation_flow_test_validation_rejects_empty_objective", "label": "test_validation_rejects_empty_objective()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L400"}, {"id": "controller_test_creation_flow_test_validation_rejects_empty_operator", "label": "test_validation_rejects_empty_operator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L413"}, {"id": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "label": "test_plugin_input_required_suspend_resume()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L431"}, {"id": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "label": "test_cancel_with_discard_files_removes_partial_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L502"}, {"id": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "label": "test_cancel_without_discard_leaves_partial_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L540"}, {"id": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "label": "test_post_validate_blocks_sync_when_placeholder_left_in_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L562"}, {"id": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "label": "test_subscribe_yields_phase_events_and_done_envelope()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L603"}, {"id": "controller_test_creation_flow_test_status_unknown_session_raises", "label": "test_status_unknown_session_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L631"}, {"id": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", "label": "test_resume_rejects_session_not_in_input_required()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L639"}, {"id": "controller_test_creation_flow_test_cancel_unknown_session_is_noop", "label": "test_cancel_unknown_session_is_noop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L649"}, {"id": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", "label": "test_noop_readme_generator_writes_minimal_readme()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L662"}, {"id": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "label": "test_real_readme_generator_writes_frontmatter_and_cache()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L694"}, {"id": "controller_test_creation_flow_test_noop_nas_sync_returns_none", "label": "test_noop_nas_sync_returns_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L749"}, {"id": "controller_test_creation_flow_test_resume_unknown_session_raises", "label": "test_resume_unknown_session_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L760"}, {"id": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "label": "test_required_template_field_missing_in_readme_extra_fails()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L768"}, {"id": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "label": "test_required_template_field_present_passes_validation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L804"}, {"id": "controller_test_creation_flow_test_subscribe_unknown_session_raises", "label": "test_subscribe_unknown_session_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L839"}, {"id": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "label": "test_cancel_input_required_aborts_session_via_plugin_callback()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L848"}, {"id": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "label": "test_cancel_invokes_cleanup_when_compose_path_fails()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L906"}, {"id": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "label": "test_cleanup_removes_existing_directory_when_discard_files_true()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L929"}, {"id": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", "label": "test_config_required_readme_field_missing_fails()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L948"}, {"id": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "label": "test_render_failure_transitions_session_to_failed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L974"}, {"id": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", "label": "test_run_creation_writes_equipment_json_at_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1002"}, {"id": "controller_test_creation_flow_test_format_error_with_non_validation_exception_returns_internal_error", "label": "test_format_error_with_non_validation_exception_returns_internal_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1016"}, {"id": "controller_test_creation_flow_test_append_log_writes_log_line", "label": "test_append_log_writes_log_line()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1025"}, {"id": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "label": "test_run_inherits_lims_project_block_from_parent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1041"}, {"id": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "label": "test_cancel_before_task_starts_invokes_cleanup()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1065"}, {"id": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "label": "test_resume_session_with_no_resume_queue_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1085"}, {"id": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "label": "test_subscribe_creates_queue_when_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1106"}, {"id": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "label": "test_plugin_pass_aborted_transitions_to_failed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1130"}, {"id": "controller_test_creation_flow_test_required_field_ids_filters_non_dict_entries", "label": "test_required_field_ids_filters_non_dict_entries()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1175"}, {"id": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "label": "test_run_without_parent_creation_json_fills_stub_block()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1191"}, {"id": "controller_test_creation_flow_rationale_1", "label": "End-to-end integration tests for :class:`CreationController`. Each test drives", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1"}, {"id": "controller_test_creation_flow_rationale_68", "label": "Construct a minimal Config with one equipment configured.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L68"}, {"id": "controller_test_creation_flow_rationale_178", "label": "Wait for the session task to finish and return the final state dict.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L178"}, {"id": "controller_test_creation_flow_rationale_195", "label": "Project creation walks every state and emits a current-version creation.json.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L195"}, {"id": "controller_test_creation_flow_rationale_249", "label": "Redesign \u00a73.4: two creations on the same instrument within the same minute r", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L249"}, {"id": "controller_test_creation_flow_rationale_385", "label": "A run whose parent project name is not a safe path segment (\u00a73.2) is rejecte", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L385"}, {"id": "controller_test_creation_flow_rationale_432", "label": "When a plugin raises PluginInputRequired, controller emits the event and res", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L432"}, {"id": "controller_test_creation_flow_rationale_503", "label": "A cancel with ``discard_files=True`` deletes the partial directory.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L503"}, {"id": "controller_test_creation_flow_rationale_541", "label": "A cancel with ``discard_files=False`` leaves the partial directory.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L541"}, {"id": "controller_test_creation_flow_rationale_565", "label": "A rendered file containing ```` must trip the post-validate gate.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L565"}, {"id": "controller_test_creation_flow_rationale_695", "label": "T1 (\u00a7C1): the production ``ReadmeGenerator`` -- injected by ``tray.dependenc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L695"}, {"id": "controller_test_creation_flow_rationale_771", "label": "A template-required README field missing from ``readme_extra`` must trigger", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L771"}, {"id": "controller_test_creation_flow_rationale_807", "label": "When ``readme_extra`` supplies a non-empty value for a required field the va", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L807"}, {"id": "controller_test_creation_flow_rationale_851", "label": "When the operator cancels the input-required prompt (host returns ``aborted=", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L851"}, {"id": "controller_test_creation_flow_rationale_909", "label": "``_cleanup`` swallows compose-path errors gracefully.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L909"}, {"id": "controller_test_creation_flow_rationale_932", "label": "``_cleanup`` removes the destination directory when ``discard_files=True``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L932"}, {"id": "controller_test_creation_flow_rationale_949", "label": "A config.yaml-required README field missing from ``readme_extra`` must trigg", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L949"}, {"id": "controller_test_creation_flow_rationale_975", "label": "A Copier render failure (e.g. dst exists) transitions the session to ``FAILE", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L975"}, {"id": "controller_test_creation_flow_rationale_1003", "label": "The controller writes ``equipment.json`` under ``//.exlab-wiz", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1003"}, {"id": "controller_test_creation_flow_rationale_1019", "label": "Generic exceptions are wrapped as ``internal_error``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1019"}, {"id": "controller_test_creation_flow_rationale_1026", "label": "The best-effort log appender writes to the equipment cache dir.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1026"}, {"id": "controller_test_creation_flow_rationale_1042", "label": "A run inherits its LIMS identity from the parent project's creation.json (Ba", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1042"}, {"id": "controller_test_creation_flow_rationale_1066", "label": "If ``cancel`` is invoked on a session that has not yet started a pipeline ta", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1066"}, {"id": "controller_test_creation_flow_rationale_1086", "label": "Resume against a session that has no resume queue raises.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1086"}, {"id": "controller_test_creation_flow_rationale_1107", "label": "``subscribe`` initializes ``event_queue`` if the session opened with none (d", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1107"}, {"id": "controller_test_creation_flow_rationale_1131", "label": "When :class:`PluginHost` returns ``aborted=True``, the controller transition", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1131"}, {"id": "controller_test_creation_flow_rationale_1176", "label": "The ``_required_field_ids`` helper must skip non-dict entries in the templat", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1176"}, {"id": "controller_test_creation_flow_rationale_1192", "label": "A run whose parent project folder has no readable creation.json still produc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1192"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "exlab_wizard_cache_equipment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "exlab_wizard_controller", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "exlab_wizard_controller_creation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "exlab_wizard_plugins_host", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "exlab_wizard_template_copier_driver", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_build_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_project_request", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L94", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_run_request", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L126", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_build_controller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L155", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_drain_to_done", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L177", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_full_project_creation_happy_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L194", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L227", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L246", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L278", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_validation_rejects_empty_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L309", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_validation_rejects_label_over_length", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L324", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_validation_rejects_objective_over_length", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L338", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L354", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L368", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L384", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_validation_rejects_empty_objective", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L400", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_validation_rejects_empty_operator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L413", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L431", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L502", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L540", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L562", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L603", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_status_unknown_session_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L631", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L639", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_cancel_unknown_session_is_noop", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L649", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L662", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L694", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_noop_nas_sync_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L749", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_resume_unknown_session_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L760", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L768", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L804", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_subscribe_unknown_session_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L839", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L848", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L906", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L929", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L948", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L974", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1002", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_format_error_with_non_validation_exception_returns_internal_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1016", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_append_log_writes_log_line", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1025", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1041", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1065", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1085", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1106", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1130", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_required_field_ids_filters_non_dict_entries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "target": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1191", "weight": 1.0}, {"source": "controller_test_creation_flow_test_full_project_creation_happy_path", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L198", "weight": 1.0}, {"source": "controller_test_creation_flow_test_full_project_creation_happy_path", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L199", "weight": 1.0}, {"source": "controller_test_creation_flow_test_full_project_creation_happy_path", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L201", "weight": 1.0}, {"source": "controller_test_creation_flow_test_full_project_creation_happy_path", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L204", "weight": 1.0}, {"source": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L230", "weight": 1.0}, {"source": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L231", "weight": 1.0}, {"source": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L234", "weight": 1.0}, {"source": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L235", "weight": 1.0}, {"source": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L254", "weight": 1.0}, {"source": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L255", "weight": 1.0}, {"source": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L259", "weight": 1.0}, {"source": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L260", "weight": 1.0}, {"source": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L283", "weight": 1.0}, {"source": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L284", "weight": 1.0}, {"source": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L288", "weight": 1.0}, {"source": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L294", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_empty_label", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L312", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_empty_label", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L313", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_empty_label", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L315", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_label_over_length", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L327", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_label_over_length", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L328", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_label_over_length", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L330", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_objective_over_length", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L341", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_objective_over_length", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L342", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_objective_over_length", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L345", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L357", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L358", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L360", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L371", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L372", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L374", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L389", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L390", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L392", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_empty_objective", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L403", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_empty_objective", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L404", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_empty_objective", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L406", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_empty_operator", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L416", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_empty_operator", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L417", "weight": 1.0}, {"source": "controller_test_creation_flow_test_validation_rejects_empty_operator", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L419", "weight": 1.0}, {"source": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L452", "weight": 1.0}, {"source": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L470", "weight": 1.0}, {"source": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L472", "weight": 1.0}, {"source": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L493", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L506", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L507", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L512", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L513", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L544", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L545", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L547", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L548", "weight": 1.0}, {"source": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L584", "weight": 1.0}, {"source": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L585", "weight": 1.0}, {"source": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L587", "weight": 1.0}, {"source": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L588", "weight": 1.0}, {"source": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L606", "weight": 1.0}, {"source": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L607", "weight": 1.0}, {"source": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L609", "weight": 1.0}, {"source": "controller_test_creation_flow_test_status_unknown_session_raises", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L634", "weight": 1.0}, {"source": "controller_test_creation_flow_test_status_unknown_session_raises", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L634", "weight": 1.0}, {"source": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L642", "weight": 1.0}, {"source": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L642", "weight": 1.0}, {"source": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L643", "weight": 1.0}, {"source": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L644", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_unknown_session_is_noop", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L652", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_unknown_session_is_noop", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L652", "weight": 1.0}, {"source": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L712", "weight": 1.0}, {"source": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L717", "weight": 1.0}, {"source": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L720", "weight": 1.0}, {"source": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L724", "weight": 1.0}, {"source": "controller_test_creation_flow_test_resume_unknown_session_raises", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L763", "weight": 1.0}, {"source": "controller_test_creation_flow_test_resume_unknown_session_raises", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L763", "weight": 1.0}, {"source": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L793", "weight": 1.0}, {"source": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L794", "weight": 1.0}, {"source": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L796", "weight": 1.0}, {"source": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L829", "weight": 1.0}, {"source": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L830", "weight": 1.0}, {"source": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L832", "weight": 1.0}, {"source": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L835", "weight": 1.0}, {"source": "controller_test_creation_flow_test_subscribe_unknown_session_raises", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L842", "weight": 1.0}, {"source": "controller_test_creation_flow_test_subscribe_unknown_session_raises", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L842", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L870", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L887", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L889", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L912", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L913", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L918", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L919", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L935", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L936", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L939", "weight": 1.0}, {"source": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L955", "weight": 1.0}, {"source": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L965", "weight": 1.0}, {"source": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L967", "weight": 1.0}, {"source": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L979", "weight": 1.0}, {"source": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L980", "weight": 1.0}, {"source": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L991", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1006", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1007", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1009", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1010", "weight": 1.0}, {"source": "controller_test_creation_flow_test_append_log_writes_log_line", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1029", "weight": 1.0}, {"source": "controller_test_creation_flow_test_append_log_writes_log_line", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1030", "weight": 1.0}, {"source": "controller_test_creation_flow_test_append_log_writes_log_line", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1032", "weight": 1.0}, {"source": "controller_test_creation_flow_test_append_log_writes_log_line", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1033", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1047", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1048", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1051", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1052", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1054", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1070", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1071", "weight": 1.0}, {"source": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1074", "weight": 1.0}, {"source": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1089", "weight": 1.0}, {"source": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1090", "weight": 1.0}, {"source": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1093", "weight": 1.0}, {"source": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1111", "weight": 1.0}, {"source": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1112", "weight": 1.0}, {"source": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "target": "controller_test_creation_flow_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1114", "weight": 1.0}, {"source": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1152", "weight": 1.0}, {"source": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1155", "weight": 1.0}, {"source": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1162", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "target": "controller_test_creation_flow_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1197", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "target": "controller_test_creation_flow_build_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1198", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "target": "controller_test_creation_flow_run_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1202", "weight": 1.0}, {"source": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "target": "controller_test_creation_flow_drain_to_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1203", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_controller_test_creation_flow_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_68", "target": "controller_test_creation_flow_build_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L68", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_178", "target": "controller_test_creation_flow_drain_to_done", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L178", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_195", "target": "controller_test_creation_flow_test_full_project_creation_happy_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L195", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_249", "target": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L249", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_385", "target": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L385", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_432", "target": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L432", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_503", "target": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L503", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_541", "target": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L541", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_565", "target": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L565", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_695", "target": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L695", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_771", "target": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L771", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_807", "target": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L807", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_851", "target": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L851", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_909", "target": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L909", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_932", "target": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L932", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_949", "target": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L949", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_975", "target": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L975", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1003", "target": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1003", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1019", "target": "controller_test_creation_flow_test_format_error_with_non_validation_exception_returns_internal_error", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1019", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1026", "target": "controller_test_creation_flow_test_append_log_writes_log_line", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1026", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1042", "target": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1042", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1066", "target": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1066", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1086", "target": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1086", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1107", "target": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1107", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1131", "target": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1131", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1176", "target": "controller_test_creation_flow_test_required_field_ids_filters_non_dict_entries", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1176", "weight": 1.0}, {"source": "controller_test_creation_flow_rationale_1192", "target": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1192", "weight": 1.0}], "raw_calls": [{"caller_nid": "controller_test_creation_flow_build_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L69"}, {"caller_nid": "controller_test_creation_flow_build_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L70"}, {"caller_nid": "controller_test_creation_flow_build_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L71"}, {"caller_nid": "controller_test_creation_flow_build_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L72"}, {"caller_nid": "controller_test_creation_flow_build_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L73"}, {"caller_nid": "controller_test_creation_flow_build_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L76"}, {"caller_nid": "controller_test_creation_flow_build_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L79"}, {"caller_nid": "controller_test_creation_flow_build_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L81"}, {"caller_nid": "controller_test_creation_flow_build_config", "callee": "OperatorsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L89"}, {"caller_nid": "controller_test_creation_flow_build_config", "callee": "READMEConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L90"}, {"caller_nid": "controller_test_creation_flow_project_request", "callee": "ProjectCreateRequest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L109"}, {"caller_nid": "controller_test_creation_flow_run_request", "callee": "RunCreateRequest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L141"}, {"caller_nid": "controller_test_creation_flow_build_controller", "callee": "CreationController", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L162"}, {"caller_nid": "controller_test_creation_flow_build_controller", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L164"}, {"caller_nid": "controller_test_creation_flow_build_controller", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L165"}, {"caller_nid": "controller_test_creation_flow_build_controller", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L167"}, {"caller_nid": "controller_test_creation_flow_build_controller", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L168"}, {"caller_nid": "controller_test_creation_flow_build_controller", "callee": "NoOpReadmeGenerator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L171"}, {"caller_nid": "controller_test_creation_flow_build_controller", "callee": "NoOpNASSync", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L172"}, {"caller_nid": "controller_test_creation_flow_build_controller", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L173"}, {"caller_nid": "controller_test_creation_flow_drain_to_done", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L179"}, {"caller_nid": "controller_test_creation_flow_drain_to_done", "callee": "status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L182"}, {"caller_nid": "controller_test_creation_flow_test_full_project_creation_happy_path", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L197"}, {"caller_nid": "controller_test_creation_flow_test_full_project_creation_happy_path", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L201"}, {"caller_nid": "controller_test_creation_flow_test_full_project_creation_happy_path", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L208"}, {"caller_nid": "controller_test_creation_flow_test_full_project_creation_happy_path", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L210"}, {"caller_nid": "controller_test_creation_flow_test_full_project_creation_happy_path", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L213"}, {"caller_nid": "controller_test_creation_flow_test_full_project_creation_happy_path", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L213"}, {"caller_nid": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L229"}, {"caller_nid": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L233"}, {"caller_nid": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L234"}, {"caller_nid": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L239"}, {"caller_nid": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L241"}, {"caller_nid": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L241"}, {"caller_nid": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L253"}, {"caller_nid": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L258"}, {"caller_nid": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L259"}, {"caller_nid": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L264"}, {"caller_nid": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L265"}, {"caller_nid": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L270"}, {"caller_nid": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L282"}, {"caller_nid": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L286"}, {"caller_nid": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L287"}, {"caller_nid": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L298"}, {"caller_nid": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L300"}, {"caller_nid": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L300"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_empty_label", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L311"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_empty_label", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L315"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_empty_label", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L317"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_label_over_length", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L326"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_label_over_length", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L330"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_label_over_length", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L332"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_objective_over_length", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L340"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_objective_over_length", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L344"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_objective_over_length", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L348"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L356"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L360"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L362"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L370"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", "callee": "__setattr__", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L375"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L376"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L378"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L388"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L392"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L394"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_empty_objective", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L402"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_empty_objective", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L406"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_empty_objective", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L408"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_empty_operator", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L415"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_empty_operator", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L419"}, {"caller_nid": "controller_test_creation_flow_test_validation_rejects_empty_operator", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L421"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L436"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L437"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L448"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L451"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "PluginRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L454"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "_StubRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L468"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "PluginHost", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L469"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L472"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L477"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L478"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L481"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L483"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L486"}, {"caller_nid": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", "callee": "resume", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L492"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L505"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L512"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L515"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L520"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L525"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L526"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L528"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "cancel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L531"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L533"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "rmtree", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L536"}, {"caller_nid": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L537"}, {"caller_nid": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L543"}, {"caller_nid": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L547"}, {"caller_nid": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L550"}, {"caller_nid": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "callee": "cancel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L553"}, {"caller_nid": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L554"}, {"caller_nid": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L568"}, {"caller_nid": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L569"}, {"caller_nid": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L578"}, {"caller_nid": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L583"}, {"caller_nid": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L587"}, {"caller_nid": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L592"}, {"caller_nid": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "callee": "glob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L592"}, {"caller_nid": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L594"}, {"caller_nid": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L594"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L605"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L609"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "callee": "subscribe", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L613"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L614"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L615"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L621"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L621"}, {"caller_nid": "controller_test_creation_flow_test_status_unknown_session_raises", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L633"}, {"caller_nid": "controller_test_creation_flow_test_status_unknown_session_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L635"}, {"caller_nid": "controller_test_creation_flow_test_status_unknown_session_raises", "callee": "status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L636"}, {"caller_nid": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L641"}, {"caller_nid": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L643"}, {"caller_nid": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L645"}, {"caller_nid": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", "callee": "resume", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L646"}, {"caller_nid": "controller_test_creation_flow_test_cancel_unknown_session_is_noop", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L651"}, {"caller_nid": "controller_test_creation_flow_test_cancel_unknown_session_is_noop", "callee": "cancel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L654"}, {"caller_nid": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", "callee": "NoOpReadmeGenerator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L668"}, {"caller_nid": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", "callee": "ReadmeContext", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L669"}, {"caller_nid": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", "callee": "CoreFields", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L671"}, {"caller_nid": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", "callee": "SystemFields", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L675"}, {"caller_nid": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L676"}, {"caller_nid": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L685"}, {"caller_nid": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L686"}, {"caller_nid": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L687"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L711"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L714"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L715"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "ReadmeGenerator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L717"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L723"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L729"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L730"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L731"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L732"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L732"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L744"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L745"}, {"caller_nid": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L745"}, {"caller_nid": "controller_test_creation_flow_test_noop_nas_sync_returns_none", "callee": "NoOpNASSync", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L750"}, {"caller_nid": "controller_test_creation_flow_test_noop_nas_sync_returns_none", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L751"}, {"caller_nid": "controller_test_creation_flow_test_resume_unknown_session_raises", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L762"}, {"caller_nid": "controller_test_creation_flow_test_resume_unknown_session_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L764"}, {"caller_nid": "controller_test_creation_flow_test_resume_unknown_session_raises", "callee": "resume", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L765"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L774"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L775"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L789"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L792"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L796"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L798"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L810"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L811"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L825"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L828"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "callee": "__setattr__", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L833"}, {"caller_nid": "controller_test_creation_flow_test_required_template_field_present_passes_validation", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L834"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_unknown_session_raises", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L841"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_unknown_session_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L843"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_unknown_session_raises", "callee": "subscribe", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L844"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L854"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L855"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L866"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L869"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "PluginRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L872"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "PluginHost", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L886"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "_StubRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L886"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L889"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L893"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L894"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L897"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "cancel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L901"}, {"caller_nid": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", "callee": "status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L902"}, {"caller_nid": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L911"}, {"caller_nid": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L918"}, {"caller_nid": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L920"}, {"caller_nid": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "callee": "__setattr__", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L923"}, {"caller_nid": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", "callee": "_cleanup", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L926"}, {"caller_nid": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L934"}, {"caller_nid": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L939"}, {"caller_nid": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L941"}, {"caller_nid": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L942"}, {"caller_nid": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "callee": "_cleanup", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L944"}, {"caller_nid": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L945"}, {"caller_nid": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L954"}, {"caller_nid": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L957"}, {"caller_nid": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L967"}, {"caller_nid": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L969"}, {"caller_nid": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L978"}, {"caller_nid": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L985"}, {"caller_nid": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L988"}, {"caller_nid": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L989"}, {"caller_nid": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L991"}, {"caller_nid": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L993"}, {"caller_nid": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L994"}, {"caller_nid": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L995"}, {"caller_nid": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L997"}, {"caller_nid": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", "callee": "status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L998"}, {"caller_nid": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1005"}, {"caller_nid": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1009"}, {"caller_nid": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1013"}, {"caller_nid": "controller_test_creation_flow_test_format_error_with_non_validation_exception_returns_internal_error", "callee": "_format_error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1020"}, {"caller_nid": "controller_test_creation_flow_test_format_error_with_non_validation_exception_returns_internal_error", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1020"}, {"caller_nid": "controller_test_creation_flow_test_append_log_writes_log_line", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1028"}, {"caller_nid": "controller_test_creation_flow_test_append_log_writes_log_line", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1032"}, {"caller_nid": "controller_test_creation_flow_test_append_log_writes_log_line", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1036"}, {"caller_nid": "controller_test_creation_flow_test_append_log_writes_log_line", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1037"}, {"caller_nid": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1046"}, {"caller_nid": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "callee": "create_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1051"}, {"caller_nid": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1054"}, {"caller_nid": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1058"}, {"caller_nid": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "callee": "glob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1058"}, {"caller_nid": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1059"}, {"caller_nid": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1059"}, {"caller_nid": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1069"}, {"caller_nid": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1074"}, {"caller_nid": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1076"}, {"caller_nid": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1077"}, {"caller_nid": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "callee": "cancel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1080"}, {"caller_nid": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", "callee": "status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1081"}, {"caller_nid": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1088"}, {"caller_nid": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1093"}, {"caller_nid": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1100"}, {"caller_nid": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1102"}, {"caller_nid": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", "callee": "resume", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1103"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1110"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1114"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1121"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "callee": "consumer", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1121"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1123"}, {"caller_nid": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", "callee": "put", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1125"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1136"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1137"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1148"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1151"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1162"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1163"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1164"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1165"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1167"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1168"}, {"caller_nid": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1170"}, {"caller_nid": "controller_test_creation_flow_test_required_field_ids_filters_non_dict_entries", "callee": "_required_field_ids", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1188"}, {"caller_nid": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1196"}, {"caller_nid": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "callee": "create_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1202"}, {"caller_nid": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1206"}, {"caller_nid": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "callee": "glob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1206"}, {"caller_nid": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1207"}, {"caller_nid": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py", "source_location": "L1207"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2e3dd04d6967162c926138dea01b37f8239099adc9bfb0167b39db7351bfc734.json b/graphify-out/cache/ast/2e3dd04d6967162c926138dea01b37f8239099adc9bfb0167b39db7351bfc734.json deleted file mode 100644 index b14c62f..0000000 --- a/graphify-out/cache/ast/2e3dd04d6967162c926138dea01b37f8239099adc9bfb0167b39db7351bfc734.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_icon_py", "label": "icon.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L1"}, {"id": "tray_icon_default_icon_image", "label": "default_icon_image()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L39"}, {"id": "tray_icon_build_icon", "label": "build_icon()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L58"}, {"id": "tray_icon_import_pystray", "label": "_import_pystray()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L94"}, {"id": "tray_icon_safe_call", "label": "_safe_call()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L101"}, {"id": "tray_icon_rationale_1", "label": "pystray icon construction. Backend Spec \u00a74.3.2. The tray icon's menu has three", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L1"}, {"id": "tray_icon_rationale_40", "label": "Return a small PIL.Image used as the tray icon bitmap. Imported lazily so t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L40"}, {"id": "tray_icon_rationale_68", "label": "Build the pystray icon with the \u00a74.1 menu. ``status_provider`` is invoked e", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L68"}, {"id": "tray_icon_rationale_95", "label": "Lazy import so unit tests on headless hosts can mock pystray.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L95"}, {"id": "tray_icon_rationale_102", "label": "Invoke a menu callback; log + swallow exceptions. The pystray menu handler", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L102"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_icon_py", "target": "io", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_icon_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_icon_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_icon_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_icon_py", "target": "tray_icon_default_icon_image", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_icon_py", "target": "tray_icon_build_icon", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_icon_py", "target": "tray_icon_import_pystray", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L94", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_icon_py", "target": "tray_icon_safe_call", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L101", "weight": 1.0}, {"source": "tray_icon_build_icon", "target": "tray_icon_import_pystray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L75", "weight": 1.0}, {"source": "tray_icon_build_icon", "target": "tray_icon_default_icon_image", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L76", "weight": 1.0}, {"source": "tray_icon_build_icon", "target": "tray_icon_safe_call", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L80", "weight": 1.0}, {"source": "tray_icon_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_icon_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_icon_rationale_40", "target": "tray_icon_default_icon_image", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L40", "weight": 1.0}, {"source": "tray_icon_rationale_68", "target": "tray_icon_build_icon", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L68", "weight": 1.0}, {"source": "tray_icon_rationale_95", "target": "tray_icon_import_pystray", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L95", "weight": 1.0}, {"source": "tray_icon_rationale_102", "target": "tray_icon_safe_call", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L102", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_icon_default_icon_image", "callee": "new", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L50"}, {"caller_nid": "tray_icon_default_icon_image", "callee": "Draw", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L51"}, {"caller_nid": "tray_icon_default_icon_image", "callee": "text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L52"}, {"caller_nid": "tray_icon_default_icon_image", "callee": "BytesIO", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L55"}, {"caller_nid": "tray_icon_build_icon", "callee": "MenuItem", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L78"}, {"caller_nid": "tray_icon_build_icon", "callee": "MenuItem", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L83"}, {"caller_nid": "tray_icon_build_icon", "callee": "status_provider", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L84"}, {"caller_nid": "tray_icon_build_icon", "callee": "MenuItem", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L88"}, {"caller_nid": "tray_icon_build_icon", "callee": "Menu", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L89"}, {"caller_nid": "tray_icon_build_icon", "callee": "Icon", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L91"}, {"caller_nid": "tray_icon_safe_call", "callee": "fn", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L110"}, {"caller_nid": "tray_icon_safe_call", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py", "source_location": "L112"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/2f465303dfa336d58d9baa9cc874c4d3a1283bad4bd7b24c4eff9f9784022945.json b/graphify-out/cache/ast/2f465303dfa336d58d9baa9cc874c4d3a1283bad4bd7b24c4eff9f9784022945.json deleted file mode 100644 index ca40367..0000000 --- a/graphify-out/cache/ast/2f465303dfa336d58d9baa9cc874c4d3a1283bad4bd7b24c4eff9f9784022945.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "label": "test_filenames.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L1"}, {"id": "constants_test_filenames_test_cache_dir_name", "label": "test_cache_dir_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L12"}, {"id": "constants_test_filenames_test_creation_json_name", "label": "test_creation_json_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L17"}, {"id": "constants_test_filenames_test_readme_fields_json_name", "label": "test_readme_fields_json_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L22"}, {"id": "constants_test_filenames_test_equipment_json_name", "label": "test_equipment_json_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L27"}, {"id": "constants_test_filenames_test_sync_state_filename", "label": "test_sync_state_filename()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L32"}, {"id": "constants_test_filenames_test_test_runs_json_name", "label": "test_test_runs_json_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L37"}, {"id": "constants_test_filenames_test_answers_file_name", "label": "test_answers_file_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L42"}, {"id": "constants_test_filenames_test_log_file_template", "label": "test_log_file_template()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L47"}, {"id": "constants_test_filenames_test_log_file_template_formats", "label": "test_log_file_template_formats()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L52"}, {"id": "constants_test_filenames_test_readme_file_name", "label": "test_readme_file_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L58"}, {"id": "constants_test_filenames_test_copier_manifest_name", "label": "test_copier_manifest_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L63"}, {"id": "constants_test_filenames_test_plugin_manifest_name", "label": "test_plugin_manifest_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L68"}, {"id": "constants_test_filenames_test_server_state_file", "label": "test_server_state_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L73"}, {"id": "constants_test_filenames_test_lims_cache_db_name", "label": "test_lims_cache_db_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L78"}, {"id": "constants_test_filenames_test_sync_queue_db_name", "label": "test_sync_queue_db_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L83"}, {"id": "constants_test_filenames_test_central_log_file", "label": "test_central_log_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L88"}, {"id": "constants_test_filenames_test_secrets_file", "label": "test_secrets_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L93"}, {"id": "constants_test_filenames_test_filenames_re_exported_from_package", "label": "test_filenames_re_exported_from_package()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L98"}, {"id": "constants_test_filenames_rationale_1", "label": "Verify the canonical filename constants. These literals appear in directory lay", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_cache_dir_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_creation_json_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_readme_fields_json_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_equipment_json_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_sync_state_filename", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_test_runs_json_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_answers_file_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_log_file_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_log_file_template_formats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_readme_file_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_copier_manifest_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_plugin_manifest_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L68", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_server_state_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L73", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_lims_cache_db_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L78", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_sync_queue_db_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_central_log_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L88", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_secrets_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "target": "constants_test_filenames_test_filenames_re_exported_from_package", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L98", "weight": 1.0}, {"source": "constants_test_filenames_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_constants_test_filenames_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "constants_test_filenames_test_log_file_template_formats", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py", "source_location": "L54"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/30ad648969ac428e4e02be0c8ba746e6d90ed236e08ef63bbc115e1ba608efb0.json b/graphify-out/cache/ast/30ad648969ac428e4e02be0c8ba746e6d90ed236e08ef63bbc115e1ba608efb0.json deleted file mode 100644 index a921531..0000000 --- a/graphify-out/cache/ast/30ad648969ac428e4e02be0c8ba746e6d90ed236e08ef63bbc115e1ba608efb0.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_08_settings_py", "label": "test_flow_08_settings.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L1"}, {"id": "e2e_test_flow_08_settings_test_flow_08_settings", "label": "test_flow_08_settings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L30"}, {"id": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "label": "test_flow_08_lims_password_credential()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L58"}, {"id": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "label": "test_flow_08_lims_password_cancel_discards_edit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L91"}, {"id": "e2e_test_flow_08_settings_rationale_1", "label": "E2E flow 08: Settings dialog round-trip + persistence. Frontend Spec \u00a76.7 (sett", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L1"}, {"id": "e2e_test_flow_08_settings_rationale_59", "label": "The LIMS credential field's full lifecycle: set -> replace -> clear (\u00a77.4.1).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L59"}, {"id": "e2e_test_flow_08_settings_rationale_92", "label": "Cancelling the credential editor collapses the row without saving.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L92"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_08_settings_py", "target": "playwright_sync_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_08_settings_py", "target": "tests_e2e_page_objects_settings_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_08_settings_py", "target": "e2e_test_flow_08_settings_test_flow_08_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_08_settings_py", "target": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_08_settings_py", "target": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L91", "weight": 1.0}, {"source": "e2e_test_flow_08_settings_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_08_settings_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_flow_08_settings_rationale_59", "target": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L59", "weight": 1.0}, {"source": "e2e_test_flow_08_settings_rationale_92", "target": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L92", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "SettingsPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L35"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "nav", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L43"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L44"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L45"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "section", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L45"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L48"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L49"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L50"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L51"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L52"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L53"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L54"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_settings", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L55"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "SettingsPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L64"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L65"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L66"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L67"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "section", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L67"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L70"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L73"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L74"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L78"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L79"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "to_have_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L80"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "expect", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L80"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L85"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L86"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L87"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "to_have_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L88"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", "callee": "expect", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L88"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "SettingsPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L93"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L94"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L95"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L96"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "section", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L96"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L98"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L99"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L100"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L103"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L104"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "to_have_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L105"}, {"caller_nid": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", "callee": "expect", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py", "source_location": "L105"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/3118c9cd8e31e8d8156c75c3f77da481aa3931143591761f94e3d10d40538cd7.json b/graphify-out/cache/ast/3118c9cd8e31e8d8156c75c3f77da481aa3931143591761f94e3d10d40538cd7.json deleted file mode 100644 index d7fe5b2..0000000 --- a/graphify-out/cache/ast/3118c9cd8e31e8d8156c75c3f77da481aa3931143591761f94e3d10d40538cd7.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "label": "problems.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L1"}, {"id": "pages_problems_finding", "label": "Finding", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L39"}, {"id": "pages_problems_problemspagestate", "label": "ProblemsPageState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L54"}, {"id": "pages_problems_severity_chip_definitions", "label": "severity_chip_definitions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L70"}, {"id": "pages_problems_class_chip_definitions", "label": "class_chip_definitions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L79"}, {"id": "pages_problems_state_chip_definitions", "label": "state_chip_definitions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L88"}, {"id": "pages_problems_filter_findings", "label": "filter_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L105"}, {"id": "pages_problems_empty_state_text", "label": "empty_state_text()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L127"}, {"id": "pages_problems_validate_override_reason", "label": "validate_override_reason()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L144"}, {"id": "pages_problems_near_limit", "label": "near_limit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L159"}, {"id": "pages_problems_render_problems_page", "label": "render_problems_page()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L166"}, {"id": "pages_problems_rationale_1", "label": "Problems tab (Frontend Spec \u00a711). Filter chips (Severity, Class, State, Scope),", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L1"}, {"id": "pages_problems_rationale_40", "label": "One row in the Problems table.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L40"}, {"id": "pages_problems_rationale_55", "label": "Mutable filter state.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L55"}, {"id": "pages_problems_rationale_71", "label": "Severity chips per Frontend \u00a711.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L71"}, {"id": "pages_problems_rationale_80", "label": "One chip per problem class (Frontend \u00a711.1).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L80"}, {"id": "pages_problems_rationale_89", "label": "State chips (Frontend \u00a711.1).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L89"}, {"id": "pages_problems_rationale_109", "label": "Filter ``findings`` against the active chip / search state.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L109"}, {"id": "pages_problems_rationale_132", "label": "Compute the empty-state copy per Frontend \u00a711.4.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L132"}, {"id": "pages_problems_rationale_145", "label": "Validate an override reason per Frontend \u00a711.5. Returns ``(ok, error_messag", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L145"}, {"id": "pages_problems_rationale_160", "label": "Return ``True`` when the counter should turn warning-tier (last 10).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L160"}, {"id": "pages_problems_rationale_175", "label": "Render the Problems tab content. ``last_audit_at`` is the ISO timestamp of", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L175"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "exlab_wizard_ui_components", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "pages_problems_finding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "pages_problems_problemspagestate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "pages_problems_severity_chip_definitions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "pages_problems_class_chip_definitions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L79", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "pages_problems_state_chip_definitions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L88", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "pages_problems_filter_findings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L105", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "pages_problems_empty_state_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L127", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "pages_problems_validate_override_reason", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L144", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "pages_problems_near_limit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L159", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "target": "pages_problems_render_problems_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L166", "weight": 1.0}, {"source": "pages_problems_render_problems_page", "target": "pages_problems_problemspagestate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L183", "weight": 1.0}, {"source": "pages_problems_render_problems_page", "target": "pages_problems_filter_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L184", "weight": 1.0}, {"source": "pages_problems_render_problems_page", "target": "pages_problems_empty_state_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L188", "weight": 1.0}, {"source": "pages_problems_render_problems_page", "target": "pages_problems_severity_chip_definitions", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L190", "weight": 1.0}, {"source": "pages_problems_render_problems_page", "target": "pages_problems_class_chip_definitions", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L191", "weight": 1.0}, {"source": "pages_problems_render_problems_page", "target": "pages_problems_state_chip_definitions", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L192", "weight": 1.0}, {"source": "pages_problems_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_problems_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L1", "weight": 1.0}, {"source": "pages_problems_rationale_40", "target": "pages_problems_finding", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L40", "weight": 1.0}, {"source": "pages_problems_rationale_55", "target": "pages_problems_problemspagestate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L55", "weight": 1.0}, {"source": "pages_problems_rationale_71", "target": "pages_problems_severity_chip_definitions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L71", "weight": 1.0}, {"source": "pages_problems_rationale_80", "target": "pages_problems_class_chip_definitions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L80", "weight": 1.0}, {"source": "pages_problems_rationale_89", "target": "pages_problems_state_chip_definitions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L89", "weight": 1.0}, {"source": "pages_problems_rationale_109", "target": "pages_problems_filter_findings", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L109", "weight": 1.0}, {"source": "pages_problems_rationale_132", "target": "pages_problems_empty_state_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L132", "weight": 1.0}, {"source": "pages_problems_rationale_145", "target": "pages_problems_validate_override_reason", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L145", "weight": 1.0}, {"source": "pages_problems_rationale_160", "target": "pages_problems_near_limit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L160", "weight": 1.0}, {"source": "pages_problems_rationale_175", "target": "pages_problems_render_problems_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L175", "weight": 1.0}], "raw_calls": [{"caller_nid": "pages_problems_severity_chip_definitions", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L74"}, {"caller_nid": "pages_problems_severity_chip_definitions", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L75"}, {"caller_nid": "pages_problems_class_chip_definitions", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L82"}, {"caller_nid": "pages_problems_class_chip_definitions", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L83"}, {"caller_nid": "pages_problems_state_chip_definitions", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L92"}, {"caller_nid": "pages_problems_state_chip_definitions", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L93"}, {"caller_nid": "pages_problems_state_chip_definitions", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L96"}, {"caller_nid": "pages_problems_state_chip_definitions", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L97"}, {"caller_nid": "pages_problems_filter_findings", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L113"}, {"caller_nid": "pages_problems_filter_findings", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L115"}, {"caller_nid": "pages_problems_filter_findings", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L117"}, {"caller_nid": "pages_problems_filter_findings", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L121"}, {"caller_nid": "pages_problems_filter_findings", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L121"}, {"caller_nid": "pages_problems_filter_findings", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L123"}, {"caller_nid": "pages_problems_empty_state_text", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L134"}, {"caller_nid": "pages_problems_validate_override_reason", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L151"}, {"caller_nid": "pages_problems_validate_override_reason", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L152"}, {"caller_nid": "pages_problems_validate_override_reason", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L154"}, {"caller_nid": "pages_problems_near_limit", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L162"}, {"caller_nid": "pages_problems_near_limit", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L163"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L187"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L202"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L202"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L202"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L202"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L205"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L205"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L205"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L206"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L206"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "filter_chips", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L213"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L217"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L217"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L217"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L218"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L218"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "filter_chips", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L225"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L229"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L229"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L229"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L230"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L230"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "filter_chips", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L237"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L243"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L243"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L243"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "enumerate", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L247"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L250"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L250"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L250"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L250"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L260"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L260"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L263"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L263"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L268"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L268"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L268"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L277"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L277"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "on_override", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L279"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L282"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L282"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "on_revoke_override", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L284"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L309"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L309"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L309"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "_render_footer", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L326"}, {"caller_nid": "pages_problems_render_problems_page", "callee": "timer", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py", "source_location": "L329"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/31a4642a5fd0c209901fa28b4c7c8031434660f2dca51d784d9ea9b2206b82dd.json b/graphify-out/cache/ast/31a4642a5fd0c209901fa28b4c7c8031434660f2dca51d784d9ea9b2206b82dd.json deleted file mode 100644 index 82fdcd0..0000000 --- a/graphify-out/cache/ast/31a4642a5fd0c209901fa28b4c7c8031434660f2dca51d784d9ea9b2206b82dd.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "label": "test_setup.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L1"}, {"id": "api_test_setup_ready_config", "label": "_ready_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L28"}, {"id": "api_test_setup_ready_config_without_lims", "label": "_ready_config_without_lims()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L56"}, {"id": "api_test_setup_test_compute_setup_state_returns_ready_for_complete_config", "label": "test_compute_setup_state_returns_ready_for_complete_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L81"}, {"id": "api_test_setup_test_compute_setup_state_no_config", "label": "test_compute_setup_state_no_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L88"}, {"id": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", "label": "test_is_creation_blocked_treats_lims_unreachable_as_soft()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L93"}, {"id": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential", "label": "test_compute_setup_state_returns_incomplete_no_nas_credential()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L103"}, {"id": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", "label": "test_get_setup_status_lists_missing_nas_credential_per_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L109"}, {"id": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "label": "test_setup_state_gate_returns_503_in_incomplete_states()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L121"}, {"id": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "label": "test_setup_state_gate_lims_unreachable_does_not_block()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L181"}, {"id": "api_test_setup_test_setup_state_gate_no_op_without_dependencies", "label": "test_setup_state_gate_no_op_without_dependencies()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L199"}, {"id": "api_test_setup_test_get_setup_status_ready", "label": "test_get_setup_status_ready()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L212"}, {"id": "api_test_setup_test_get_setup_status_incomplete_paths", "label": "test_get_setup_status_incomplete_paths()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L226"}, {"id": "api_test_setup_test_post_test_lims_invokes_probe", "label": "test_post_test_lims_invokes_probe()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L239"}, {"id": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", "label": "test_post_test_lims_probe_raises_returns_reason()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L251"}, {"id": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", "label": "test_post_test_lims_without_probe_reports_not_wired()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L266"}, {"id": "api_test_setup_test_post_test_equipment_requires_equipment_id", "label": "test_post_test_equipment_requires_equipment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L274"}, {"id": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", "label": "test_post_test_equipment_with_explicit_equipment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L288"}, {"id": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", "label": "test_post_test_equipment_unknown_id_returns_404()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L306"}, {"id": "api_test_setup_test_post_autostart_calls_toggle", "label": "test_post_autostart_calls_toggle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L319"}, {"id": "api_test_setup_test_post_autostart_without_toggle_echoes_state", "label": "test_post_autostart_without_toggle_echoes_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L339"}, {"id": "api_test_setup_rationale_1", "label": "Unit tests for ``exlab_wizard.api.setup`` (gate + endpoints).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L1"}, {"id": "api_test_setup_rationale_57", "label": "``_ready_config`` minus the LIMS slot, for exercising the LIMS gate.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L57"}, {"id": "api_test_setup_rationale_104", "label": "Equipment with a password-requiring transport but no keyring entry gates.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L104"}, {"id": "api_test_setup_rationale_122", "label": "Each non-soft INCOMPLETE_* state returns a 503 with the right code.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L122"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "fastapi_testclient", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "exlab_wizard_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "exlab_wizard_api_setup", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_ready_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_ready_config_without_lims", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_compute_setup_state_returns_ready_for_complete_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_compute_setup_state_no_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L88", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L109", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L181", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_setup_state_gate_no_op_without_dependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L199", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_get_setup_status_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L212", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_get_setup_status_incomplete_paths", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L226", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_post_test_lims_invokes_probe", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L239", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L251", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L266", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_post_test_equipment_requires_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L274", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L288", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L306", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_post_autostart_calls_toggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L319", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "target": "api_test_setup_test_post_autostart_without_toggle_echoes_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L339", "weight": 1.0}, {"source": "api_test_setup_test_compute_setup_state_returns_ready_for_complete_config", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L83", "weight": 1.0}, {"source": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L105", "weight": 1.0}, {"source": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L110", "weight": 1.0}, {"source": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L128", "weight": 1.0}, {"source": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "target": "api_test_setup_ready_config_without_lims", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L152", "weight": 1.0}, {"source": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L182", "weight": 1.0}, {"source": "api_test_setup_test_get_setup_status_ready", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L214", "weight": 1.0}, {"source": "api_test_setup_test_post_test_lims_invokes_probe", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L243", "weight": 1.0}, {"source": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L256", "weight": 1.0}, {"source": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L267", "weight": 1.0}, {"source": "api_test_setup_test_post_test_equipment_requires_equipment_id", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L276", "weight": 1.0}, {"source": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L296", "weight": 1.0}, {"source": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L308", "weight": 1.0}, {"source": "api_test_setup_test_post_autostart_calls_toggle", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L327", "weight": 1.0}, {"source": "api_test_setup_test_post_autostart_without_toggle_echoes_state", "target": "api_test_setup_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L340", "weight": 1.0}, {"source": "api_test_setup_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_setup_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L1", "weight": 1.0}, {"source": "api_test_setup_rationale_57", "target": "api_test_setup_ready_config_without_lims", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L57", "weight": 1.0}, {"source": "api_test_setup_rationale_104", "target": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L104", "weight": 1.0}, {"source": "api_test_setup_rationale_122", "target": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L122", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_setup_ready_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L31"}, {"caller_nid": "api_test_setup_ready_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L32"}, {"caller_nid": "api_test_setup_ready_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L38"}, {"caller_nid": "api_test_setup_ready_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L43"}, {"caller_nid": "api_test_setup_ready_config", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L51"}, {"caller_nid": "api_test_setup_ready_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L52"}, {"caller_nid": "api_test_setup_ready_config_without_lims", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L60"}, {"caller_nid": "api_test_setup_ready_config_without_lims", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L61"}, {"caller_nid": "api_test_setup_ready_config_without_lims", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L63"}, {"caller_nid": "api_test_setup_ready_config_without_lims", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L68"}, {"caller_nid": "api_test_setup_ready_config_without_lims", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L76"}, {"caller_nid": "api_test_setup_ready_config_without_lims", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L77"}, {"caller_nid": "api_test_setup_test_compute_setup_state_returns_ready_for_complete_config", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L82"}, {"caller_nid": "api_test_setup_test_compute_setup_state_returns_ready_for_complete_config", "callee": "compute_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L85"}, {"caller_nid": "api_test_setup_test_compute_setup_state_no_config", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L89"}, {"caller_nid": "api_test_setup_test_compute_setup_state_no_config", "callee": "compute_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L90"}, {"caller_nid": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", "callee": "is_creation_blocked", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L94"}, {"caller_nid": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", "callee": "is_creation_blocked", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L95"}, {"caller_nid": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", "callee": "is_creation_blocked", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L96"}, {"caller_nid": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", "callee": "is_creation_blocked", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L97"}, {"caller_nid": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", "callee": "is_creation_blocked", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L98"}, {"caller_nid": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", "callee": "is_creation_blocked", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L99"}, {"caller_nid": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", "callee": "is_creation_blocked", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L100"}, {"caller_nid": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L105"}, {"caller_nid": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential", "callee": "compute_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L106"}, {"caller_nid": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L110"}, {"caller_nid": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L111"}, {"caller_nid": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L112"}, {"caller_nid": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L113"}, {"caller_nid": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L114"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "set[str]", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L132"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L133"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "set[str]", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L133"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L135"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L135"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "set[str]", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L136"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L140"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L141"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L142"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "set[str]", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L144"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "set[str]", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L148"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L158"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L158"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L159"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L162"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L164"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L164"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L168"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L169"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L170"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L172"}, {"caller_nid": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L176"}, {"caller_nid": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L183"}, {"caller_nid": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L184"}, {"caller_nid": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L187"}, {"caller_nid": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L189"}, {"caller_nid": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L189"}, {"caller_nid": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L193"}, {"caller_nid": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L194"}, {"caller_nid": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L195"}, {"caller_nid": "api_test_setup_test_setup_state_gate_no_op_without_dependencies", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L200"}, {"caller_nid": "api_test_setup_test_setup_state_gate_no_op_without_dependencies", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L201"}, {"caller_nid": "api_test_setup_test_setup_state_gate_no_op_without_dependencies", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L203"}, {"caller_nid": "api_test_setup_test_setup_state_gate_no_op_without_dependencies", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L203"}, {"caller_nid": "api_test_setup_test_setup_state_gate_no_op_without_dependencies", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L207"}, {"caller_nid": "api_test_setup_test_setup_state_gate_no_op_without_dependencies", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L208"}, {"caller_nid": "api_test_setup_test_setup_state_gate_no_op_without_dependencies", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L209"}, {"caller_nid": "api_test_setup_test_get_setup_status_ready", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L213"}, {"caller_nid": "api_test_setup_test_get_setup_status_ready", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L216"}, {"caller_nid": "api_test_setup_test_get_setup_status_ready", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L217"}, {"caller_nid": "api_test_setup_test_get_setup_status_ready", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L218"}, {"caller_nid": "api_test_setup_test_get_setup_status_ready", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L220"}, {"caller_nid": "api_test_setup_test_get_setup_status_incomplete_paths", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L227"}, {"caller_nid": "api_test_setup_test_get_setup_status_incomplete_paths", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L227"}, {"caller_nid": "api_test_setup_test_get_setup_status_incomplete_paths", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L228"}, {"caller_nid": "api_test_setup_test_get_setup_status_incomplete_paths", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L229"}, {"caller_nid": "api_test_setup_test_get_setup_status_incomplete_paths", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L230"}, {"caller_nid": "api_test_setup_test_get_setup_status_incomplete_paths", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L231"}, {"caller_nid": "api_test_setup_test_post_test_lims_invokes_probe", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L243"}, {"caller_nid": "api_test_setup_test_post_test_lims_invokes_probe", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L244"}, {"caller_nid": "api_test_setup_test_post_test_lims_invokes_probe", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L245"}, {"caller_nid": "api_test_setup_test_post_test_lims_invokes_probe", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L246"}, {"caller_nid": "api_test_setup_test_post_test_lims_invokes_probe", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L248"}, {"caller_nid": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L255"}, {"caller_nid": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L258"}, {"caller_nid": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L259"}, {"caller_nid": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L260"}, {"caller_nid": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L262"}, {"caller_nid": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L263"}, {"caller_nid": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L267"}, {"caller_nid": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L268"}, {"caller_nid": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L269"}, {"caller_nid": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L270"}, {"caller_nid": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L271"}, {"caller_nid": "api_test_setup_test_post_test_equipment_requires_equipment_id", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L275"}, {"caller_nid": "api_test_setup_test_post_test_equipment_requires_equipment_id", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L280"}, {"caller_nid": "api_test_setup_test_post_test_equipment_requires_equipment_id", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L281"}, {"caller_nid": "api_test_setup_test_post_test_equipment_requires_equipment_id", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L284"}, {"caller_nid": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L295"}, {"caller_nid": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L298"}, {"caller_nid": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L299"}, {"caller_nid": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L301"}, {"caller_nid": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L302"}, {"caller_nid": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L307"}, {"caller_nid": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L312"}, {"caller_nid": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L313"}, {"caller_nid": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L314"}, {"caller_nid": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L316"}, {"caller_nid": "api_test_setup_test_post_autostart_calls_toggle", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L326"}, {"caller_nid": "api_test_setup_test_post_autostart_calls_toggle", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L329"}, {"caller_nid": "api_test_setup_test_post_autostart_calls_toggle", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L330"}, {"caller_nid": "api_test_setup_test_post_autostart_calls_toggle", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L331"}, {"caller_nid": "api_test_setup_test_post_autostart_calls_toggle", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L333"}, {"caller_nid": "api_test_setup_test_post_autostart_without_toggle_echoes_state", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L340"}, {"caller_nid": "api_test_setup_test_post_autostart_without_toggle_echoes_state", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L341"}, {"caller_nid": "api_test_setup_test_post_autostart_without_toggle_echoes_state", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L342"}, {"caller_nid": "api_test_setup_test_post_autostart_without_toggle_echoes_state", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L343"}, {"caller_nid": "api_test_setup_test_post_autostart_without_toggle_echoes_state", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py", "source_location": "L344"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/35301956c851763c58d05fc3fd1a1b49fd245a7f0d50b1c733a87bfa89f53fd4.json b/graphify-out/cache/ast/35301956c851763c58d05fc3fd1a1b49fd245a7f0d50b1c733a87bfa89f53fd4.json deleted file mode 100644 index d59845e..0000000 --- a/graphify-out/cache/ast/35301956c851763c58d05fc3fd1a1b49fd245a7f0d50b1c733a87bfa89f53fd4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "label": "test_registry.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L1"}, {"id": "plugins_test_registry_write_plugin", "label": "_write_plugin()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L35"}, {"id": "plugins_test_registry_test_loads_a_valid_plugin", "label": "test_loads_a_valid_plugin()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L89"}, {"id": "plugins_test_registry_test_loaded_record_carries_isolation_block", "label": "test_loaded_record_carries_isolation_block()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L106"}, {"id": "plugins_test_registry_test_required_and_optional_variables_round_trip", "label": "test_required_and_optional_variables_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L118"}, {"id": "plugins_test_registry_test_rejects_plugin_directory_without_manifest", "label": "test_rejects_plugin_directory_without_manifest()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L140"}, {"id": "plugins_test_registry_test_rejects_plugin_with_malformed_yaml", "label": "test_rejects_plugin_with_malformed_yaml()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L152"}, {"id": "plugins_test_registry_test_rejects_plugin_missing_required_field", "label": "test_rejects_plugin_missing_required_field()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L164"}, {"id": "plugins_test_registry_test_rejects_plugin_with_unsupported_api_version", "label": "test_rejects_plugin_with_unsupported_api_version()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L174"}, {"id": "plugins_test_registry_test_rejects_plugin_with_invalid_name", "label": "test_rejects_plugin_with_invalid_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L184"}, {"id": "plugins_test_registry_test_rejects_plugin_with_timeout_above_cap", "label": "test_rejects_plugin_with_timeout_above_cap()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L202"}, {"id": "plugins_test_registry_test_rejects_plugin_with_memory_above_cap", "label": "test_rejects_plugin_with_memory_above_cap()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L211"}, {"id": "plugins_test_registry_test_rejects_supported_extensions_when_not_a_list_of_strings", "label": "test_rejects_supported_extensions_when_not_a_list_of_strings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L220"}, {"id": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false", "label": "test_rejects_network_plugin_when_allow_network_false()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L238"}, {"id": "plugins_test_registry_test_loads_network_plugin_when_allow_network_true", "label": "test_loads_network_plugin_when_allow_network_true()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L247"}, {"id": "plugins_test_registry_test_lab_dir_wins_on_name_collision", "label": "test_lab_dir_wins_on_name_collision()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L263"}, {"id": "plugins_test_registry_test_bundled_only_when_no_lab_collision", "label": "test_bundled_only_when_no_lab_collision()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L278"}, {"id": "plugins_test_registry_test_lab_only_plugins_are_loaded_too", "label": "test_lab_only_plugins_are_loaded_too()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L292"}, {"id": "plugins_test_registry_test_reload_replaces_previous_state", "label": "test_reload_replaces_previous_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L311"}, {"id": "plugins_test_registry_test_reload_returns_registry_report_dataclass", "label": "test_reload_returns_registry_report_dataclass()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L326"}, {"id": "plugins_test_registry_test_get_returns_none_for_unknown_plugin", "label": "test_get_returns_none_for_unknown_plugin()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L340"}, {"id": "plugins_test_registry_test_list_all_returns_records_sorted_by_name", "label": "test_list_all_returns_records_sorted_by_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L346"}, {"id": "plugins_test_registry_test_list_all_returns_record_instances", "label": "test_list_all_returns_record_instances()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L357"}, {"id": "plugins_test_registry_test_candidates_for_matches_by_extension", "label": "test_candidates_for_matches_by_extension()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L372"}, {"id": "plugins_test_registry_test_candidates_for_excludes_plugins_with_zero_matches", "label": "test_candidates_for_excludes_plugins_with_zero_matches()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L392"}, {"id": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", "label": "test_candidates_for_returns_pluginplan_instances()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L402"}, {"id": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin", "label": "test_candidates_for_supports_multi_extension_plugin()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L414"}, {"id": "plugins_test_registry_test_registry_with_no_dirs_loads_nothing", "label": "test_registry_with_no_dirs_loads_nothing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L430"}, {"id": "plugins_test_registry_test_registry_skips_files_in_root", "label": "test_registry_skips_files_in_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L438"}, {"id": "plugins_test_registry_test_registry_handles_nonexistent_dir", "label": "test_registry_handles_nonexistent_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L450"}, {"id": "plugins_test_registry_test_registry_accepts_isolation_at_cap_boundary", "label": "test_registry_accepts_isolation_at_cap_boundary()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L465"}, {"id": "plugins_test_registry_test_pluginplan_dataclass_shape", "label": "test_pluginplan_dataclass_shape()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L473"}, {"id": "plugins_test_registry_test_pluginrecord_dataclass_shape", "label": "test_pluginrecord_dataclass_shape()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L484"}, {"id": "plugins_test_registry_rationale_1", "label": "Tests for ``exlab_wizard.plugins.registry`` -- manifest-driven discovery. Pin t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L1"}, {"id": "plugins_test_registry_rationale_50", "label": "Write a minimal plugin scaffold and return the plugin directory.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L50"}, {"id": "plugins_test_registry_rationale_439", "label": "A non-directory entry inside the plugin root must be ignored, not crashed on.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L439"}, {"id": "plugins_test_registry_rationale_451", "label": "A configured plugin root that doesn't exist is treated as empty (no crash).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L451"}, {"id": "plugins_test_registry_rationale_474", "label": "PluginPlan exposes ``record`` and ``matching_files`` as named attributes.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L474"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "exlab_wizard_plugins_registry", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_write_plugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_loads_a_valid_plugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_loaded_record_carries_isolation_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L106", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_required_and_optional_variables_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L118", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_rejects_plugin_directory_without_manifest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L140", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_rejects_plugin_with_malformed_yaml", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_rejects_plugin_missing_required_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L164", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_rejects_plugin_with_unsupported_api_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L174", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_rejects_plugin_with_invalid_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L184", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_rejects_plugin_with_timeout_above_cap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L202", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_rejects_plugin_with_memory_above_cap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L211", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_rejects_supported_extensions_when_not_a_list_of_strings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L220", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L238", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_loads_network_plugin_when_allow_network_true", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L247", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_lab_dir_wins_on_name_collision", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L263", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_bundled_only_when_no_lab_collision", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L278", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_lab_only_plugins_are_loaded_too", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L292", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_reload_replaces_previous_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L311", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_reload_returns_registry_report_dataclass", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L326", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_get_returns_none_for_unknown_plugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L340", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_list_all_returns_records_sorted_by_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L346", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_list_all_returns_record_instances", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L357", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_candidates_for_matches_by_extension", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L372", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_candidates_for_excludes_plugins_with_zero_matches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L392", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L402", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L414", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_registry_with_no_dirs_loads_nothing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L430", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_registry_skips_files_in_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L438", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_registry_handles_nonexistent_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L450", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_registry_accepts_isolation_at_cap_boundary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L465", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_pluginplan_dataclass_shape", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L473", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "target": "plugins_test_registry_test_pluginrecord_dataclass_shape", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L484", "weight": 1.0}, {"source": "plugins_test_registry_test_loads_a_valid_plugin", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L91", "weight": 1.0}, {"source": "plugins_test_registry_test_loaded_record_carries_isolation_block", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L108", "weight": 1.0}, {"source": "plugins_test_registry_test_required_and_optional_variables_round_trip", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L120", "weight": 1.0}, {"source": "plugins_test_registry_test_rejects_plugin_missing_required_field", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L166", "weight": 1.0}, {"source": "plugins_test_registry_test_rejects_plugin_with_unsupported_api_version", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L176", "weight": 1.0}, {"source": "plugins_test_registry_test_rejects_plugin_with_timeout_above_cap", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L204", "weight": 1.0}, {"source": "plugins_test_registry_test_rejects_plugin_with_memory_above_cap", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L213", "weight": 1.0}, {"source": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L240", "weight": 1.0}, {"source": "plugins_test_registry_test_loads_network_plugin_when_allow_network_true", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L249", "weight": 1.0}, {"source": "plugins_test_registry_test_lab_dir_wins_on_name_collision", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L266", "weight": 1.0}, {"source": "plugins_test_registry_test_bundled_only_when_no_lab_collision", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L282", "weight": 1.0}, {"source": "plugins_test_registry_test_lab_only_plugins_are_loaded_too", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L296", "weight": 1.0}, {"source": "plugins_test_registry_test_reload_replaces_previous_state", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L313", "weight": 1.0}, {"source": "plugins_test_registry_test_reload_returns_registry_report_dataclass", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L328", "weight": 1.0}, {"source": "plugins_test_registry_test_list_all_returns_records_sorted_by_name", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L348", "weight": 1.0}, {"source": "plugins_test_registry_test_list_all_returns_record_instances", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L359", "weight": 1.0}, {"source": "plugins_test_registry_test_candidates_for_matches_by_extension", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L374", "weight": 1.0}, {"source": "plugins_test_registry_test_candidates_for_excludes_plugins_with_zero_matches", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L394", "weight": 1.0}, {"source": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L404", "weight": 1.0}, {"source": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L416", "weight": 1.0}, {"source": "plugins_test_registry_test_registry_skips_files_in_root", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L443", "weight": 1.0}, {"source": "plugins_test_registry_test_registry_accepts_isolation_at_cap_boundary", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L467", "weight": 1.0}, {"source": "plugins_test_registry_test_pluginplan_dataclass_shape", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L476", "weight": 1.0}, {"source": "plugins_test_registry_test_pluginrecord_dataclass_shape", "target": "plugins_test_registry_write_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L486", "weight": 1.0}, {"source": "plugins_test_registry_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_plugins_test_registry_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L1", "weight": 1.0}, {"source": "plugins_test_registry_rationale_50", "target": "plugins_test_registry_write_plugin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L50", "weight": 1.0}, {"source": "plugins_test_registry_rationale_439", "target": "plugins_test_registry_test_registry_skips_files_in_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L439", "weight": 1.0}, {"source": "plugins_test_registry_rationale_451", "target": "plugins_test_registry_test_registry_handles_nonexistent_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L451", "weight": 1.0}, {"source": "plugins_test_registry_rationale_474", "target": "plugins_test_registry_test_pluginplan_dataclass_shape", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L474", "weight": 1.0}], "raw_calls": [{"caller_nid": "plugins_test_registry_write_plugin", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L52"}, {"caller_nid": "plugins_test_registry_write_plugin", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L62"}, {"caller_nid": "plugins_test_registry_write_plugin", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L64"}, {"caller_nid": "plugins_test_registry_write_plugin", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L65"}, {"caller_nid": "plugins_test_registry_write_plugin", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L68"}, {"caller_nid": "plugins_test_registry_write_plugin", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L70"}, {"caller_nid": "plugins_test_registry_write_plugin", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L70"}, {"caller_nid": "plugins_test_registry_write_plugin", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L80"}, {"caller_nid": "plugins_test_registry_test_loads_a_valid_plugin", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L92"}, {"caller_nid": "plugins_test_registry_test_loads_a_valid_plugin", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L94"}, {"caller_nid": "plugins_test_registry_test_loads_a_valid_plugin", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L98"}, {"caller_nid": "plugins_test_registry_test_loads_a_valid_plugin", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L100"}, {"caller_nid": "plugins_test_registry_test_loaded_record_carries_isolation_block", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L109"}, {"caller_nid": "plugins_test_registry_test_loaded_record_carries_isolation_block", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L110"}, {"caller_nid": "plugins_test_registry_test_loaded_record_carries_isolation_block", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L112"}, {"caller_nid": "plugins_test_registry_test_required_and_optional_variables_round_trip", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L126"}, {"caller_nid": "plugins_test_registry_test_required_and_optional_variables_round_trip", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L127"}, {"caller_nid": "plugins_test_registry_test_required_and_optional_variables_round_trip", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L129"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_directory_without_manifest", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L143"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_directory_without_manifest", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L144"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_directory_without_manifest", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L146"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_directory_without_manifest", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L149"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_malformed_yaml", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L155"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_malformed_yaml", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L156"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_malformed_yaml", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L157"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_malformed_yaml", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L159"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_malformed_yaml", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L161"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_missing_required_field", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L167"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_missing_required_field", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L169"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_missing_required_field", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L171"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_unsupported_api_version", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L177"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_unsupported_api_version", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L179"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_unsupported_api_version", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L181"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_invalid_name", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L187"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_invalid_name", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L189"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_invalid_name", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L196"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_invalid_name", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L197"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_timeout_above_cap", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L205"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_timeout_above_cap", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L206"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_timeout_above_cap", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L208"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_memory_above_cap", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L214"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_memory_above_cap", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L215"}, {"caller_nid": "plugins_test_registry_test_rejects_plugin_with_memory_above_cap", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L217"}, {"caller_nid": "plugins_test_registry_test_rejects_supported_extensions_when_not_a_list_of_strings", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L223"}, {"caller_nid": "plugins_test_registry_test_rejects_supported_extensions_when_not_a_list_of_strings", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L224"}, {"caller_nid": "plugins_test_registry_test_rejects_supported_extensions_when_not_a_list_of_strings", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L228"}, {"caller_nid": "plugins_test_registry_test_rejects_supported_extensions_when_not_a_list_of_strings", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L229"}, {"caller_nid": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L241"}, {"caller_nid": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L242"}, {"caller_nid": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L244"}, {"caller_nid": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L244"}, {"caller_nid": "plugins_test_registry_test_loads_network_plugin_when_allow_network_true", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L250"}, {"caller_nid": "plugins_test_registry_test_loads_network_plugin_when_allow_network_true", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L251"}, {"caller_nid": "plugins_test_registry_test_loads_network_plugin_when_allow_network_true", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L253"}, {"caller_nid": "plugins_test_registry_test_lab_dir_wins_on_name_collision", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L269"}, {"caller_nid": "plugins_test_registry_test_lab_dir_wins_on_name_collision", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L270"}, {"caller_nid": "plugins_test_registry_test_lab_dir_wins_on_name_collision", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L272"}, {"caller_nid": "plugins_test_registry_test_bundled_only_when_no_lab_collision", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L281"}, {"caller_nid": "plugins_test_registry_test_bundled_only_when_no_lab_collision", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L284"}, {"caller_nid": "plugins_test_registry_test_bundled_only_when_no_lab_collision", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L285"}, {"caller_nid": "plugins_test_registry_test_bundled_only_when_no_lab_collision", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L287"}, {"caller_nid": "plugins_test_registry_test_lab_only_plugins_are_loaded_too", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L294"}, {"caller_nid": "plugins_test_registry_test_lab_only_plugins_are_loaded_too", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L298"}, {"caller_nid": "plugins_test_registry_test_lab_only_plugins_are_loaded_too", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L299"}, {"caller_nid": "plugins_test_registry_test_lab_only_plugins_are_loaded_too", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L301"}, {"caller_nid": "plugins_test_registry_test_reload_replaces_previous_state", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L314"}, {"caller_nid": "plugins_test_registry_test_reload_replaces_previous_state", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L315"}, {"caller_nid": "plugins_test_registry_test_reload_replaces_previous_state", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L316"}, {"caller_nid": "plugins_test_registry_test_reload_replaces_previous_state", "callee": "rmtree", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L321"}, {"caller_nid": "plugins_test_registry_test_reload_replaces_previous_state", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L322"}, {"caller_nid": "plugins_test_registry_test_reload_replaces_previous_state", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L323"}, {"caller_nid": "plugins_test_registry_test_reload_returns_registry_report_dataclass", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L329"}, {"caller_nid": "plugins_test_registry_test_reload_returns_registry_report_dataclass", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L330"}, {"caller_nid": "plugins_test_registry_test_reload_returns_registry_report_dataclass", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L331"}, {"caller_nid": "plugins_test_registry_test_get_returns_none_for_unknown_plugin", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L341"}, {"caller_nid": "plugins_test_registry_test_get_returns_none_for_unknown_plugin", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L342"}, {"caller_nid": "plugins_test_registry_test_get_returns_none_for_unknown_plugin", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L343"}, {"caller_nid": "plugins_test_registry_test_list_all_returns_records_sorted_by_name", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L351"}, {"caller_nid": "plugins_test_registry_test_list_all_returns_records_sorted_by_name", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L352"}, {"caller_nid": "plugins_test_registry_test_list_all_returns_records_sorted_by_name", "callee": "list_all", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L353"}, {"caller_nid": "plugins_test_registry_test_list_all_returns_record_instances", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L360"}, {"caller_nid": "plugins_test_registry_test_list_all_returns_record_instances", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L361"}, {"caller_nid": "plugins_test_registry_test_list_all_returns_record_instances", "callee": "list_all", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L362"}, {"caller_nid": "plugins_test_registry_test_list_all_returns_record_instances", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L363"}, {"caller_nid": "plugins_test_registry_test_list_all_returns_record_instances", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L364"}, {"caller_nid": "plugins_test_registry_test_candidates_for_matches_by_extension", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L376"}, {"caller_nid": "plugins_test_registry_test_candidates_for_matches_by_extension", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L377"}, {"caller_nid": "plugins_test_registry_test_candidates_for_matches_by_extension", "callee": "candidates_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L384"}, {"caller_nid": "plugins_test_registry_test_candidates_for_excludes_plugins_with_zero_matches", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L395"}, {"caller_nid": "plugins_test_registry_test_candidates_for_excludes_plugins_with_zero_matches", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L396"}, {"caller_nid": "plugins_test_registry_test_candidates_for_excludes_plugins_with_zero_matches", "callee": "candidates_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L398"}, {"caller_nid": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L405"}, {"caller_nid": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L406"}, {"caller_nid": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", "callee": "candidates_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L408"}, {"caller_nid": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L409"}, {"caller_nid": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L410"}, {"caller_nid": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L417"}, {"caller_nid": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L418"}, {"caller_nid": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin", "callee": "candidates_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L420"}, {"caller_nid": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L421"}, {"caller_nid": "plugins_test_registry_test_registry_with_no_dirs_loads_nothing", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L431"}, {"caller_nid": "plugins_test_registry_test_registry_with_no_dirs_loads_nothing", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L432"}, {"caller_nid": "plugins_test_registry_test_registry_with_no_dirs_loads_nothing", "callee": "list_all", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L435"}, {"caller_nid": "plugins_test_registry_test_registry_skips_files_in_root", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L441"}, {"caller_nid": "plugins_test_registry_test_registry_skips_files_in_root", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L442"}, {"caller_nid": "plugins_test_registry_test_registry_skips_files_in_root", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L445"}, {"caller_nid": "plugins_test_registry_test_registry_skips_files_in_root", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L446"}, {"caller_nid": "plugins_test_registry_test_registry_handles_nonexistent_dir", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L452"}, {"caller_nid": "plugins_test_registry_test_registry_handles_nonexistent_dir", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L453"}, {"caller_nid": "plugins_test_registry_test_registry_accepts_isolation_at_cap_boundary", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L468"}, {"caller_nid": "plugins_test_registry_test_registry_accepts_isolation_at_cap_boundary", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L469"}, {"caller_nid": "plugins_test_registry_test_pluginplan_dataclass_shape", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L477"}, {"caller_nid": "plugins_test_registry_test_pluginplan_dataclass_shape", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L478"}, {"caller_nid": "plugins_test_registry_test_pluginplan_dataclass_shape", "callee": "candidates_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L479"}, {"caller_nid": "plugins_test_registry_test_pluginplan_dataclass_shape", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L480"}, {"caller_nid": "plugins_test_registry_test_pluginplan_dataclass_shape", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L481"}, {"caller_nid": "plugins_test_registry_test_pluginrecord_dataclass_shape", "callee": "PluginRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L487"}, {"caller_nid": "plugins_test_registry_test_pluginrecord_dataclass_shape", "callee": "reload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L488"}, {"caller_nid": "plugins_test_registry_test_pluginrecord_dataclass_shape", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L489"}, {"caller_nid": "plugins_test_registry_test_pluginrecord_dataclass_shape", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L491"}, {"caller_nid": "plugins_test_registry_test_pluginrecord_dataclass_shape", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py", "source_location": "L493"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/365a086a18e2abc992efb3108ae1ed74da5b6e3e45faaa8bf87c0ca53546fd0c.json b/graphify-out/cache/ast/365a086a18e2abc992efb3108ae1ed74da5b6e3e45faaa8bf87c0ca53546fd0c.json deleted file mode 100644 index 9303c80..0000000 --- a/graphify-out/cache/ast/365a086a18e2abc992efb3108ae1ed74da5b6e3e45faaa8bf87c0ca53546fd0c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "label": "test_nas_sync.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L1"}, {"id": "integration_test_nas_sync_stubkeyring", "label": "_StubKeyring", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L53"}, {"id": "integration_test_nas_sync_stubkeyring_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L62"}, {"id": "integration_test_nas_sync_stubkeyring_get_password", "label": ".get_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L65"}, {"id": "integration_test_nas_sync_stub_binaries_on_path", "label": "stub_binaries_on_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L71"}, {"id": "integration_test_nas_sync_build_config", "label": "_build_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L84"}, {"id": "integration_test_nas_sync_make_creation", "label": "_make_creation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L111"}, {"id": "integration_test_nas_sync_populate_run", "label": "_populate_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L130"}, {"id": "integration_test_nas_sync_wait_for_state", "label": "_wait_for_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L141"}, {"id": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "label": "test_full_happy_path_via_stub_rclone()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L161"}, {"id": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "label": "test_pre_sync_gate_blocks_run_with_placeholder_in_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L235"}, {"id": "integration_test_nas_sync_test_auth_error_terminates_failed", "label": "test_auth_error_terminates_failed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L274"}, {"id": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "label": "test_force_verify_returns_ok_after_compute()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L305"}, {"id": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "label": "test_remote_hash_mismatch_triggers_retry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L349"}, {"id": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "label": "test_remote_hashsum_probe_failure_does_not_skip_verify()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L422"}, {"id": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "label": "test_remote_hash_mismatch_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L489"}, {"id": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "label": "test_poller_per_file_enqueue_drives_to_synced_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L547"}, {"id": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "label": "test_poller_to_cleanup_honors_keep_local_and_stamps_cleared()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L621"}, {"id": "integration_test_nas_sync_rationale_1", "label": "End-to-end integration tests for the NAS sync subsystem (Phase 10). These tests", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L1"}, {"id": "integration_test_nas_sync_rationale_54", "label": "Minimal keyring stub returning a fixed password for every username. The new", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L54"}, {"id": "integration_test_nas_sync_rationale_72", "label": "Install the rclone stub on PATH for the test.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L72"}, {"id": "integration_test_nas_sync_rationale_149", "label": "Poll ``queue.get_by_id`` until ``state`` is in ``targets`` or timeout.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L149"}, {"id": "integration_test_nas_sync_rationale_166", "label": "Enqueue -> RUNNING -> AWAITING_VERIFY -> VERIFIED -> CLEANED. Uses the Pyth", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L166"}, {"id": "integration_test_nas_sync_rationale_240", "label": "A run path with ```` is gated; sync_status -> blocked_by_validation.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L240"}, {"id": "integration_test_nas_sync_rationale_279", "label": "The stub returns ``auth_error`` -> queue row terminates FAILED.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L279"}, {"id": "integration_test_nas_sync_rationale_310", "label": "``force_verify`` runs a manifest pass against the local subtree.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L310"}, {"id": "integration_test_nas_sync_rationale_354", "label": "A first ``rclone check`` mismatch retries the transport phase once. The inj", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L354"}, {"id": "integration_test_nas_sync_rationale_427", "label": "A ``rclone check`` TransportError must NOT promote the job to VERIFIED. The", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L427"}, {"id": "integration_test_nas_sync_rationale_494", "label": "A second remote-hash mismatch terminates the job at FAILED.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L494"}, {"id": "integration_test_nas_sync_rationale_552", "label": "Poller sweep -> per-file enqueue -> drive -> verify -> sync_state.json recor", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L552"}, {"id": "integration_test_nas_sync_rationale_626", "label": "Full Phase 5 path: poller sweep -> enqueue -> verify -> SYNCED rollup -> cle", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L626"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "stat", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "exlab_wizard_sync_nas_client", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "exlab_wizard_sync_queue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_stubkeyring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L53", "weight": 1.0}, {"source": "integration_test_nas_sync_stubkeyring", "target": "integration_test_nas_sync_stubkeyring_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L62", "weight": 1.0}, {"source": "integration_test_nas_sync_stubkeyring", "target": "integration_test_nas_sync_stubkeyring_get_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L65", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_stub_binaries_on_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L71", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_build_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L84", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_make_creation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_populate_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L130", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_wait_for_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L141", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L161", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L235", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_test_auth_error_terminates_failed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L274", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L305", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L349", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L422", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L489", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L547", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "target": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L621", "weight": 1.0}, {"source": "integration_test_nas_sync_populate_run", "target": "integration_test_nas_sync_make_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L137", "weight": 1.0}, {"source": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "target": "integration_test_nas_sync_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L193", "weight": 1.0}, {"source": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "target": "integration_test_nas_sync_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L194", "weight": 1.0}, {"source": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "target": "integration_test_nas_sync_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L202", "weight": 1.0}, {"source": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "target": "integration_test_nas_sync_wait_for_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L212", "weight": 1.0}, {"source": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "target": "integration_test_nas_sync_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L245", "weight": 1.0}, {"source": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "target": "integration_test_nas_sync_make_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L253", "weight": 1.0}, {"source": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "target": "integration_test_nas_sync_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L261", "weight": 1.0}, {"source": "integration_test_nas_sync_test_auth_error_terminates_failed", "target": "integration_test_nas_sync_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L284", "weight": 1.0}, {"source": "integration_test_nas_sync_test_auth_error_terminates_failed", "target": "integration_test_nas_sync_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L285", "weight": 1.0}, {"source": "integration_test_nas_sync_test_auth_error_terminates_failed", "target": "integration_test_nas_sync_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L293", "weight": 1.0}, {"source": "integration_test_nas_sync_test_auth_error_terminates_failed", "target": "integration_test_nas_sync_wait_for_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L299", "weight": 1.0}, {"source": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "target": "integration_test_nas_sync_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L313", "weight": 1.0}, {"source": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "target": "integration_test_nas_sync_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L314", "weight": 1.0}, {"source": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "target": "integration_test_nas_sync_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L322", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "target": "integration_test_nas_sync_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L370", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "target": "integration_test_nas_sync_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L371", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "target": "integration_test_nas_sync_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L393", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "target": "integration_test_nas_sync_wait_for_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L402", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "target": "integration_test_nas_sync_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L442", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "target": "integration_test_nas_sync_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L443", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "target": "integration_test_nas_sync_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L459", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "target": "integration_test_nas_sync_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L501", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "target": "integration_test_nas_sync_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L502", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "target": "integration_test_nas_sync_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L527", "weight": 1.0}, {"source": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "target": "integration_test_nas_sync_wait_for_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L534", "weight": 1.0}, {"source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "target": "integration_test_nas_sync_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L569", "weight": 1.0}, {"source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "target": "integration_test_nas_sync_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L570", "weight": 1.0}, {"source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "target": "integration_test_nas_sync_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L579", "weight": 1.0}, {"source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "target": "integration_test_nas_sync_wait_for_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L600", "weight": 1.0}, {"source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "target": "integration_test_nas_sync_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L648", "weight": 1.0}, {"source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "target": "integration_test_nas_sync_make_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L655", "weight": 1.0}, {"source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "target": "integration_test_nas_sync_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L667", "weight": 1.0}, {"source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "target": "integration_test_nas_sync_wait_for_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L688", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_test_nas_sync_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L1", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_54", "target": "integration_test_nas_sync_stubkeyring", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L54", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_72", "target": "integration_test_nas_sync_stub_binaries_on_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L72", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_149", "target": "integration_test_nas_sync_wait_for_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L149", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_166", "target": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L166", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_240", "target": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L240", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_279", "target": "integration_test_nas_sync_test_auth_error_terminates_failed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L279", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_310", "target": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L310", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_354", "target": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L354", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_427", "target": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L427", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_494", "target": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L494", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_552", "target": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L552", "weight": 1.0}, {"source": "integration_test_nas_sync_rationale_626", "target": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L626", "weight": 1.0}], "raw_calls": [{"caller_nid": "integration_test_nas_sync_stub_binaries_on_path", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L74"}, {"caller_nid": "integration_test_nas_sync_stub_binaries_on_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L75"}, {"caller_nid": "integration_test_nas_sync_stub_binaries_on_path", "callee": "copy", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L77"}, {"caller_nid": "integration_test_nas_sync_stub_binaries_on_path", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L78"}, {"caller_nid": "integration_test_nas_sync_stub_binaries_on_path", "callee": "chmod", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L79"}, {"caller_nid": "integration_test_nas_sync_stub_binaries_on_path", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L80"}, {"caller_nid": "integration_test_nas_sync_build_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L85"}, {"caller_nid": "integration_test_nas_sync_build_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L86"}, {"caller_nid": "integration_test_nas_sync_build_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L86"}, {"caller_nid": "integration_test_nas_sync_build_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L88"}, {"caller_nid": "integration_test_nas_sync_build_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L91"}, {"caller_nid": "integration_test_nas_sync_build_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L93"}, {"caller_nid": "integration_test_nas_sync_build_config", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L98"}, {"caller_nid": "integration_test_nas_sync_build_config", "callee": "NASCleanupConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L102"}, {"caller_nid": "integration_test_nas_sync_make_creation", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L112"}, {"caller_nid": "integration_test_nas_sync_make_creation", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L118"}, {"caller_nid": "integration_test_nas_sync_make_creation", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L119"}, {"caller_nid": "integration_test_nas_sync_make_creation", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L126"}, {"caller_nid": "integration_test_nas_sync_make_creation", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L126"}, {"caller_nid": "integration_test_nas_sync_populate_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L132"}, {"caller_nid": "integration_test_nas_sync_populate_run", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L133"}, {"caller_nid": "integration_test_nas_sync_populate_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L135"}, {"caller_nid": "integration_test_nas_sync_populate_run", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L137"}, {"caller_nid": "integration_test_nas_sync_populate_run", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L137"}, {"caller_nid": "integration_test_nas_sync_wait_for_state", "callee": "queue_get", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L152"}, {"caller_nid": "integration_test_nas_sync_wait_for_state", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L155"}, {"caller_nid": "integration_test_nas_sync_wait_for_state", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L158"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L184"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L186"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L187"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L187"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L191"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L195"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L197"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L200"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L205"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L207"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L229"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L229"}, {"caller_nid": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L232"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L242"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L243"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L248"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L249"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L251"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L253"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L253"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L255"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L256"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L259"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L264"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L266"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L268"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L268"}, {"caller_nid": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L271"}, {"caller_nid": "integration_test_nas_sync_test_auth_error_terminates_failed", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L281"}, {"caller_nid": "integration_test_nas_sync_test_auth_error_terminates_failed", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L282"}, {"caller_nid": "integration_test_nas_sync_test_auth_error_terminates_failed", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L286"}, {"caller_nid": "integration_test_nas_sync_test_auth_error_terminates_failed", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L288"}, {"caller_nid": "integration_test_nas_sync_test_auth_error_terminates_failed", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L291"}, {"caller_nid": "integration_test_nas_sync_test_auth_error_terminates_failed", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L296"}, {"caller_nid": "integration_test_nas_sync_test_auth_error_terminates_failed", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L298"}, {"caller_nid": "integration_test_nas_sync_test_auth_error_terminates_failed", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L302"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L312"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L316"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L317"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L320"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L324"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L329"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L330"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L333"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "force_verify", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L335"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L339"}, {"caller_nid": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L341"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L365"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L367"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L368"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L368"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L372"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L388"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L391"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L397"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L399"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L419"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L437"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L439"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L440"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L440"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L444"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L454"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L457"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L463"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L465"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L473"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L474"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L479"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L484"}, {"caller_nid": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L486"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L496"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L498"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L499"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L499"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L503"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L522"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L525"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L531"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L533"}, {"caller_nid": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L544"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L564"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L566"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L567"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L567"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L571"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L572"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L574"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L577"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L583"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "QuiescenceSyncPoller", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L584"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L592"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L593"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L613"}, {"caller_nid": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L618"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L641"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L643"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L644"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L644"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L650"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L651"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L652"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L654"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L655"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L655"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L657"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L658"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "set_keep_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L660"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L662"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L665"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L671"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "QuiescenceSyncPoller", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L672"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L680"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L681"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L695"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L696"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L698"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L701"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "rollup_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L703"}, {"caller_nid": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py", "source_location": "L709"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/36a6b851124aa1147d77e46aefce22b81882034cb13ba9d6927b06d17772d650.json b/graphify-out/cache/ast/36a6b851124aa1147d77e46aefce22b81882034cb13ba9d6927b06d17772d650.json deleted file mode 100644 index dd08b3f..0000000 --- a/graphify-out/cache/ast/36a6b851124aa1147d77e46aefce22b81882034cb13ba9d6927b06d17772d650.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_15_distribution_md", "label": "15_Distribution.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L1"}, {"id": "design_spec_sections_15_distribution_15_distribution_and_installation", "label": "15. Distribution and Installation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L1"}, {"id": "design_spec_sections_15_distribution_15_1_build_pipeline_pyinstaller", "label": "15.1 Build Pipeline (PyInstaller)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L7"}, {"id": "design_spec_sections_15_distribution_15_2_code_signing_posture", "label": "15.2 Code Signing Posture", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L49"}, {"id": "design_spec_sections_15_distribution_15_2_1_offline_machine_specifics", "label": "15.2.1 Offline-machine specifics", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L61"}, {"id": "design_spec_sections_15_distribution_15_3_launcher_behavior", "label": "15.3 Launcher Behavior", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L76"}, {"id": "design_spec_sections_15_distribution_15_3_1_exlab_wizard_tray_long_lived_autostart_target", "label": "15.3.1 `ExLab-Wizard-Tray` (long-lived, autostart target)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L80"}, {"id": "design_spec_sections_15_distribution_15_3_2_exlab_wizard_window_on_demand", "label": "15.3.2 `ExLab-Wizard-Window` (on-demand)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L93"}, {"id": "design_spec_sections_15_distribution_15_3_3_exlab_wizard_cli_alias_desktop_launcher_target", "label": "15.3.3 `ExLab-Wizard` (CLI alias / desktop-launcher target)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L103"}, {"id": "design_spec_sections_15_distribution_15_3_4_linux_fallback_no_system_tray", "label": "15.3.4 Linux fallback (no system tray)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L114"}, {"id": "design_spec_sections_15_distribution_15_4_bundled_starter_content", "label": "15.4 Bundled Starter Content", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L118"}, {"id": "design_spec_sections_15_distribution_15_5_bundled_vs_external_binaries", "label": "15.5 Bundled vs External Binaries", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L127"}, {"id": "design_spec_sections_15_distribution_15_6_versioning_and_release_artifacts", "label": "15.6 Versioning and Release Artifacts", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L141"}, {"id": "design_spec_sections_15_distribution_15_7_autostart_registration", "label": "15.7 Autostart Registration", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L148"}, {"id": "design_spec_sections_15_distribution_15_7_1_per_platform_registration", "label": "15.7.1 Per-platform registration", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L152"}, {"id": "design_spec_sections_15_distribution_15_7_2_upgrade_and_uninstall", "label": "15.7.2 Upgrade and uninstall", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L163"}, {"id": "design_spec_sections_15_distribution_15_7_3_os_notifications", "label": "15.7.3 OS notifications", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L169"}, {"id": "design_spec_sections_15_distribution_15_7_4_window_only_fallback_linux_without_tray_support", "label": "15.7.4 Window-only fallback (Linux without tray support)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L178"}, {"id": "design_spec_sections_15_distribution_15_8_open_questions", "label": "15.8 Open Questions", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L189"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_15_distribution_md", "target": "design_spec_sections_15_distribution_15_distribution_and_installation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_distribution_and_installation", "target": "design_spec_sections_15_distribution_15_1_build_pipeline_pyinstaller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L7", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_distribution_and_installation", "target": "design_spec_sections_15_distribution_15_2_code_signing_posture", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L49", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_2_code_signing_posture", "target": "design_spec_sections_15_distribution_15_2_1_offline_machine_specifics", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L61", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_distribution_and_installation", "target": "design_spec_sections_15_distribution_15_3_launcher_behavior", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L76", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_3_launcher_behavior", "target": "design_spec_sections_15_distribution_15_3_1_exlab_wizard_tray_long_lived_autostart_target", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L80", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_3_launcher_behavior", "target": "design_spec_sections_15_distribution_15_3_2_exlab_wizard_window_on_demand", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L93", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_3_launcher_behavior", "target": "design_spec_sections_15_distribution_15_3_3_exlab_wizard_cli_alias_desktop_launcher_target", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L103", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_3_launcher_behavior", "target": "design_spec_sections_15_distribution_15_3_4_linux_fallback_no_system_tray", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L114", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_distribution_and_installation", "target": "design_spec_sections_15_distribution_15_4_bundled_starter_content", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L118", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_distribution_and_installation", "target": "design_spec_sections_15_distribution_15_5_bundled_vs_external_binaries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L127", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_distribution_and_installation", "target": "design_spec_sections_15_distribution_15_6_versioning_and_release_artifacts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L141", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_distribution_and_installation", "target": "design_spec_sections_15_distribution_15_7_autostart_registration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L148", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_7_autostart_registration", "target": "design_spec_sections_15_distribution_15_7_1_per_platform_registration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L152", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_7_autostart_registration", "target": "design_spec_sections_15_distribution_15_7_2_upgrade_and_uninstall", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L163", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_7_autostart_registration", "target": "design_spec_sections_15_distribution_15_7_3_os_notifications", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L169", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_7_autostart_registration", "target": "design_spec_sections_15_distribution_15_7_4_window_only_fallback_linux_without_tray_support", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L178", "weight": 1.0}, {"source": "design_spec_sections_15_distribution_15_distribution_and_installation", "target": "design_spec_sections_15_distribution_15_8_open_questions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md", "source_location": "L189", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/36c2ad26931208926aa26154f786f7c4a57fdc71eded33f8285a7236bee95d42.json b/graphify-out/cache/ast/36c2ad26931208926aa26154f786f7c4a57fdc71eded33f8285a7236bee95d42.json deleted file mode 100644 index 9e2e5ca..0000000 --- a/graphify-out/cache/ast/36c2ad26931208926aa26154f786f7c4a57fdc71eded33f8285a7236bee95d42.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "label": "_prod_server.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L1"}, {"id": "e2e_prod_server_free_port", "label": "free_port()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L29"}, {"id": "e2e_prod_server_prod_app_env", "label": "prod_app_env()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L36"}, {"id": "e2e_prod_server_resolve_config_path", "label": "resolve_config_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L60"}, {"id": "e2e_prod_server_prodserver", "label": "ProdServer", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L75"}, {"id": "e2e_prod_server_prodserver_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L84"}, {"id": "e2e_prod_server_config_path", "label": "config_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L94"}, {"id": "e2e_prod_server_prodserver_start", "label": ".start()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L98"}, {"id": "e2e_prod_server_prodserver_stop", "label": ".stop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L132"}, {"id": "e2e_prod_server_prodserver_restart", "label": ".restart()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L144"}, {"id": "e2e_prod_server_rationale_1", "label": "Reusable spawn/restart harness for the *production* wizard app. The e2e lifecyc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L1"}, {"id": "e2e_prod_server_rationale_30", "label": "Return a free TCP port on 127.0.0.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L30"}, {"id": "e2e_prod_server_rationale_37", "label": "Build a hermetic environment for a spawned production-app process. Every OS", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L37"}, {"id": "e2e_prod_server_rationale_61", "label": "Where the spawned production app writes ``config.yaml``. Computed by callin", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L61"}, {"id": "e2e_prod_server_rationale_76", "label": "A spawnable / restartable production-app uvicorn process. ``home`` is the r", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L76"}, {"id": "e2e_prod_server_rationale_95", "label": "Where the wizard writes ``config.yaml`` under the redirected HOME.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L95"}, {"id": "e2e_prod_server_rationale_99", "label": "Spawn uvicorn and block until ``/api/v1/health`` answers 200. Returns `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L99"}, {"id": "e2e_prod_server_rationale_133", "label": "Terminate the uvicorn process. Idempotent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L133"}, {"id": "e2e_prod_server_rationale_145", "label": "Stop and re-spawn the process with the same HOME / port.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L145"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "socket", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "unittest_mock", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "contextlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "e2e_prod_server_free_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "e2e_prod_server_prod_app_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "e2e_prod_server_resolve_config_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "e2e_prod_server_prodserver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L75", "weight": 1.0}, {"source": "e2e_prod_server_prodserver", "target": "e2e_prod_server_prodserver_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L84", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "target": "e2e_prod_server_config_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L94", "weight": 1.0}, {"source": "e2e_prod_server_prodserver", "target": "e2e_prod_server_prodserver_start", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L98", "weight": 1.0}, {"source": "e2e_prod_server_prodserver", "target": "e2e_prod_server_prodserver_stop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L132", "weight": 1.0}, {"source": "e2e_prod_server_prodserver", "target": "e2e_prod_server_prodserver_restart", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L144", "weight": 1.0}, {"source": "e2e_prod_server_resolve_config_path", "target": "e2e_prod_server_prod_app_env", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L71", "weight": 1.0}, {"source": "e2e_prod_server_prodserver_init", "target": "e2e_prod_server_free_port", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L86", "weight": 1.0}, {"source": "e2e_prod_server_prodserver_init", "target": "e2e_prod_server_prod_app_env", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L89", "weight": 1.0}, {"source": "e2e_prod_server_config_path", "target": "e2e_prod_server_resolve_config_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L96", "weight": 1.0}, {"source": "e2e_prod_server_prodserver_start", "target": "e2e_prod_server_prodserver_stop", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L129", "weight": 1.0}, {"source": "e2e_prod_server_prodserver_restart", "target": "e2e_prod_server_prodserver_stop", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L146", "weight": 1.0}, {"source": "e2e_prod_server_prodserver_restart", "target": "e2e_prod_server_prodserver_start", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L147", "weight": 1.0}, {"source": "e2e_prod_server_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_prod_server_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_prod_server_rationale_30", "target": "e2e_prod_server_free_port", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L30", "weight": 1.0}, {"source": "e2e_prod_server_rationale_37", "target": "e2e_prod_server_prod_app_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L37", "weight": 1.0}, {"source": "e2e_prod_server_rationale_61", "target": "e2e_prod_server_resolve_config_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L61", "weight": 1.0}, {"source": "e2e_prod_server_rationale_76", "target": "e2e_prod_server_prodserver", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L76", "weight": 1.0}, {"source": "e2e_prod_server_rationale_95", "target": "e2e_prod_server_prodserver_config_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L95", "weight": 1.0}, {"source": "e2e_prod_server_rationale_99", "target": "e2e_prod_server_prodserver_start", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L99", "weight": 1.0}, {"source": "e2e_prod_server_rationale_133", "target": "e2e_prod_server_prodserver_stop", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L133", "weight": 1.0}, {"source": "e2e_prod_server_rationale_145", "target": "e2e_prod_server_prodserver_restart", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L145", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_prod_server_free_port", "callee": "closing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L31"}, {"caller_nid": "e2e_prod_server_free_port", "callee": "socket", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L31"}, {"caller_nid": "e2e_prod_server_free_port", "callee": "bind", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L32"}, {"caller_nid": "e2e_prod_server_free_port", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L33"}, {"caller_nid": "e2e_prod_server_free_port", "callee": "getsockname", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L33"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L45"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L45"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L48"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L49"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L50"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L51"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L52"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L53"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L54"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L55"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L56"}, {"caller_nid": "e2e_prod_server_prod_app_env", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L56"}, {"caller_nid": "e2e_prod_server_resolve_config_path", "callee": "dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L71"}, {"caller_nid": "e2e_prod_server_resolve_config_path", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L72"}, {"caller_nid": "e2e_prod_server_prodserver_init", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L91"}, {"caller_nid": "e2e_prod_server_prodserver_start", "callee": "Popen", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L104"}, {"caller_nid": "e2e_prod_server_prodserver_start", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L114"}, {"caller_nid": "e2e_prod_server_prodserver_start", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L120"}, {"caller_nid": "e2e_prod_server_prodserver_start", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L121"}, {"caller_nid": "e2e_prod_server_prodserver_start", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L123"}, {"caller_nid": "e2e_prod_server_prodserver_start", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L128"}, {"caller_nid": "e2e_prod_server_prodserver_stop", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L136"}, {"caller_nid": "e2e_prod_server_prodserver_stop", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L138"}, {"caller_nid": "e2e_prod_server_prodserver_stop", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L140"}, {"caller_nid": "e2e_prod_server_prodserver_stop", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py", "source_location": "L141"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/37668756496e5993e4e4e8b099508f4bcca4b494387440b7c48da4ac7e71a21f.json b/graphify-out/cache/ast/37668756496e5993e4e4e8b099508f4bcca4b494387440b7c48da4ac7e71a21f.json deleted file mode 100644 index 0c9a4d0..0000000 --- a/graphify-out/cache/ast/37668756496e5993e4e4e8b099508f4bcca4b494387440b7c48da4ac7e71a21f.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_12_quit_coordinator_py", "label": "test_flow_12_quit_coordinator.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_12_quit_coordinator.py", "source_location": "L1"}, {"id": "e2e_test_flow_12_quit_coordinator_test_flow_12_quit_coordinator", "label": "test_flow_12_quit_coordinator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_12_quit_coordinator.py", "source_location": "L27"}, {"id": "e2e_test_flow_12_quit_coordinator_rationale_1", "label": "E2E flow 12: Quit coordinator (drain in-flight sessions). Frontend Spec \u00a76.11 (", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_12_quit_coordinator.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_12_quit_coordinator_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_12_quit_coordinator.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_12_quit_coordinator_py", "target": "e2e_test_flow_12_quit_coordinator_test_flow_12_quit_coordinator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_12_quit_coordinator.py", "source_location": "L27", "weight": 1.0}, {"source": "e2e_test_flow_12_quit_coordinator_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_12_quit_coordinator_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_12_quit_coordinator.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/3bcc4ff44b960ea9c26430266be3845c93992464b77548db90b282c74e2c28d1.json b/graphify-out/cache/ast/3bcc4ff44b960ea9c26430266be3845c93992464b77548db90b282c74e2c28d1.json deleted file mode 100644 index 56aa3cc..0000000 --- a/graphify-out/cache/ast/3bcc4ff44b960ea9c26430266be3845c93992464b77548db90b282c74e2c28d1.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_03_experimental_run_py", "label": "test_flow_03_experimental_run.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L1"}, {"id": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "label": "test_flow_03_experimental_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L15"}, {"id": "e2e_test_flow_03_experimental_run_rationale_1", "label": "E2E flow 03: Experimental-run wizard end-to-end. Frontend Spec \u00a76.4 (run wizard", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_03_experimental_run_py", "target": "tests_e2e_page_objects_wizard_run_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_03_experimental_run_py", "target": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L15", "weight": 1.0}, {"source": "e2e_test_flow_03_experimental_run_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_03_experimental_run_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "WizardRunPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L16"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L17"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L18"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L23"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "step", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py", "source_location": "L40"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/3c79e1deedac0c26c30d8fb11950b069b5b47ca785522e6913d515121248aeb6.json b/graphify-out/cache/ast/3c79e1deedac0c26c30d8fb11950b069b5b47ca785522e6913d515121248aeb6.json deleted file mode 100644 index f9f07a3..0000000 --- a/graphify-out/cache/ast/3c79e1deedac0c26c30d8fb11950b069b5b47ca785522e6913d515121248aeb6.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_context_py", "label": "context.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L1"}, {"id": "logging_context_set_run_context", "label": "set_run_context()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L68"}, {"id": "logging_context_get_run_context", "label": "get_run_context()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L114"}, {"id": "logging_context_clear_run_context", "label": "clear_run_context()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L124"}, {"id": "logging_context_rationale_1", "label": "Per-task structured-tag context vars for the logging system. Backend Spec \u00a716.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L1"}, {"id": "logging_context_rationale_76", "label": "Push the supplied context vars on entry and reset them on exit. Vars whose", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L76"}, {"id": "logging_context_rationale_115", "label": "Return a snapshot of the active context as a plain ``dict``. Used by the fo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L115"}, {"id": "logging_context_rationale_125", "label": "Reset every context var to ``None``. Provided for test fixtures that want t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L125"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_context_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_context_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_context_py", "target": "contextvars", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_context_py", "target": "logging_context_set_run_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L68", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_context_py", "target": "logging_context_get_run_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L114", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_context_py", "target": "logging_context_clear_run_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L124", "weight": 1.0}, {"source": "logging_context_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_context_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L1", "weight": 1.0}, {"source": "logging_context_rationale_76", "target": "logging_context_set_run_context", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L76", "weight": 1.0}, {"source": "logging_context_rationale_115", "target": "logging_context_get_run_context", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L115", "weight": 1.0}, {"source": "logging_context_rationale_125", "target": "logging_context_clear_run_context", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L125", "weight": 1.0}], "raw_calls": [{"caller_nid": "logging_context_set_run_context", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L106"}, {"caller_nid": "logging_context_set_run_context", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L106"}, {"caller_nid": "logging_context_set_run_context", "callee": "reversed", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L110"}, {"caller_nid": "logging_context_set_run_context", "callee": "reset", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L111"}, {"caller_nid": "logging_context_get_run_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L121"}, {"caller_nid": "logging_context_clear_run_context", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py", "source_location": "L133"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/3dd6e5c296575597ad98f244cdd0814f54c1f74b07b61602e3532cec57d542a5.json b/graphify-out/cache/ast/3dd6e5c296575597ad98f244cdd0814f54c1f74b07b61602e3532cec57d542a5.json deleted file mode 100644 index 9395ae7..0000000 --- a/graphify-out/cache/ast/3dd6e5c296575597ad98f244cdd0814f54c1f74b07b61602e3532cec57d542a5.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_plugin_guide_ipc_envelope_md", "label": "ipc_envelope.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L1"}, {"id": "plugin_guide_ipc_envelope_ipc_envelope", "label": "IPC Envelope", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L1"}, {"id": "plugin_guide_ipc_envelope_stdin_host_to_worker", "label": "Stdin (host to worker)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L12"}, {"id": "plugin_guide_ipc_envelope_codeblock_1", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L16"}, {"id": "plugin_guide_ipc_envelope_stdout_worker_to_host", "label": "Stdout (worker to host)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L31"}, {"id": "plugin_guide_ipc_envelope_codeblock_2", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L35"}, {"id": "plugin_guide_ipc_envelope_stderr_structured_log_channel", "label": "Stderr (structured log channel)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L54"}, {"id": "plugin_guide_ipc_envelope_exit_codes", "label": "Exit codes", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L61"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_plugin_guide_ipc_envelope_md", "target": "plugin_guide_ipc_envelope_ipc_envelope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L1", "weight": 1.0}, {"source": "plugin_guide_ipc_envelope_ipc_envelope", "target": "plugin_guide_ipc_envelope_stdin_host_to_worker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L12", "weight": 1.0}, {"source": "plugin_guide_ipc_envelope_stdin_host_to_worker", "target": "plugin_guide_ipc_envelope_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L16", "weight": 1.0}, {"source": "plugin_guide_ipc_envelope_ipc_envelope", "target": "plugin_guide_ipc_envelope_stdout_worker_to_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L31", "weight": 1.0}, {"source": "plugin_guide_ipc_envelope_stdout_worker_to_host", "target": "plugin_guide_ipc_envelope_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L35", "weight": 1.0}, {"source": "plugin_guide_ipc_envelope_ipc_envelope", "target": "plugin_guide_ipc_envelope_stderr_structured_log_channel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L54", "weight": 1.0}, {"source": "plugin_guide_ipc_envelope_ipc_envelope", "target": "plugin_guide_ipc_envelope_exit_codes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md", "source_location": "L61", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/3dfc647b6f5ddc53ae6dc116a53d777c0bb04f37142b164bb57c0726d59a59c5.json b/graphify-out/cache/ast/3dfc647b6f5ddc53ae6dc116a53d777c0bb04f37142b164bb57c0726d59a59c5.json deleted file mode 100644 index 7160a1e..0000000 --- a/graphify-out/cache/ast/3dfc647b6f5ddc53ae6dc116a53d777c0bb04f37142b164bb57c0726d59a59c5.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_lims_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/4057566f4922fd594460a51f02878459cdba2f2c978cf76fef663bd60dbc9c1d.json b/graphify-out/cache/ast/4057566f4922fd594460a51f02878459cdba2f2c978cf76fef663bd60dbc9c1d.json deleted file mode 100644 index d381a0b..0000000 --- a/graphify-out/cache/ast/4057566f4922fd594460a51f02878459cdba2f2c978cf76fef663bd60dbc9c1d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "label": "wizard_equipment_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L1"}, {"id": "page_objects_wizard_equipment_page_wizardequipmentpage", "label": "WizardEquipmentPage", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L8"}, {"id": "page_objects_wizard_equipment_page_wizardequipmentpage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L9"}, {"id": "page_objects_wizard_equipment_page_step_identity", "label": "step_identity()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L14"}, {"id": "page_objects_wizard_equipment_page_equipment_id", "label": "equipment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L18"}, {"id": "page_objects_wizard_equipment_page_label", "label": "label()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L22"}, {"id": "page_objects_wizard_equipment_page_step_paths", "label": "step_paths()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L26"}, {"id": "page_objects_wizard_equipment_page_local_root", "label": "local_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L31"}, {"id": "page_objects_wizard_equipment_page_nas_root", "label": "nas_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L35"}, {"id": "page_objects_wizard_equipment_page_sync_mode", "label": "sync_mode()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L40"}, {"id": "page_objects_wizard_equipment_page_transport_type", "label": "transport_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L44"}, {"id": "page_objects_wizard_equipment_page_sftp_host", "label": "sftp_host()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L49"}, {"id": "page_objects_wizard_equipment_page_sftp_user", "label": "sftp_user()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L53"}, {"id": "page_objects_wizard_equipment_page_sftp_remote_path", "label": "sftp_remote_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L57"}, {"id": "page_objects_wizard_equipment_page_smb_host", "label": "smb_host()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L62"}, {"id": "page_objects_wizard_equipment_page_smb_share", "label": "smb_share()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L66"}, {"id": "page_objects_wizard_equipment_page_smb_user", "label": "smb_user()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L70"}, {"id": "page_objects_wizard_equipment_page_confirm", "label": "confirm()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L75"}, {"id": "page_objects_wizard_equipment_page_cancel", "label": "cancel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L79"}, {"id": "page_objects_wizard_equipment_page_next_button", "label": "next_button()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L83"}, {"id": "page_objects_wizard_equipment_page_back", "label": "back()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L87"}, {"id": "page_objects_wizard_equipment_page_success", "label": "success()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L91"}, {"id": "page_objects_wizard_equipment_page_rationale_1", "label": "Page object for the Add-Equipment wizard (Redesign \u00a76).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_wizardequipmentpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L8", "weight": 1.0}, {"source": "page_objects_wizard_equipment_page_wizardequipmentpage", "target": "page_objects_wizard_equipment_page_wizardequipmentpage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_step_identity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_step_paths", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_local_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_nas_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_sync_mode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_transport_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_sftp_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_sftp_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_sftp_remote_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_smb_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_smb_share", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L66", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_smb_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_confirm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_cancel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L79", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_next_button", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_back", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "target": "page_objects_wizard_equipment_page_success", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L91", "weight": 1.0}, {"source": "page_objects_wizard_equipment_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_equipment_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "page_objects_wizard_equipment_page_step_identity", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L15"}, {"caller_nid": "page_objects_wizard_equipment_page_equipment_id", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L19"}, {"caller_nid": "page_objects_wizard_equipment_page_label", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L23"}, {"caller_nid": "page_objects_wizard_equipment_page_step_paths", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L27"}, {"caller_nid": "page_objects_wizard_equipment_page_local_root", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L32"}, {"caller_nid": "page_objects_wizard_equipment_page_nas_root", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L36"}, {"caller_nid": "page_objects_wizard_equipment_page_sync_mode", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L41"}, {"caller_nid": "page_objects_wizard_equipment_page_transport_type", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L45"}, {"caller_nid": "page_objects_wizard_equipment_page_sftp_host", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L50"}, {"caller_nid": "page_objects_wizard_equipment_page_sftp_user", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L54"}, {"caller_nid": "page_objects_wizard_equipment_page_sftp_remote_path", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L58"}, {"caller_nid": "page_objects_wizard_equipment_page_smb_host", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L63"}, {"caller_nid": "page_objects_wizard_equipment_page_smb_share", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L67"}, {"caller_nid": "page_objects_wizard_equipment_page_smb_user", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L71"}, {"caller_nid": "page_objects_wizard_equipment_page_confirm", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L76"}, {"caller_nid": "page_objects_wizard_equipment_page_cancel", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L80"}, {"caller_nid": "page_objects_wizard_equipment_page_next_button", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L84"}, {"caller_nid": "page_objects_wizard_equipment_page_back", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L88"}, {"caller_nid": "page_objects_wizard_equipment_page_success", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py", "source_location": "L92"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/40f4f0021e2b076ac53e1c60246b665d8e35f6fd7fa35d4086d7e463e8156799.json b/graphify-out/cache/ast/40f4f0021e2b076ac53e1c60246b665d8e35f6fd7fa35d4086d7e463e8156799.json deleted file mode 100644 index 39e9bd6..0000000 --- a/graphify-out/cache/ast/40f4f0021e2b076ac53e1c60246b665d8e35f6fd7fa35d4086d7e463e8156799.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "label": "window_launcher.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L1"}, {"id": "tray_window_launcher_resolve_window_executable", "label": "_resolve_window_executable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L35"}, {"id": "tray_window_launcher_windowlauncher", "label": "WindowLauncher", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L55"}, {"id": "tray_window_launcher_windowlauncher_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L63"}, {"id": "tray_window_launcher_windowlauncher_open", "label": ".open()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L77"}, {"id": "tray_window_launcher_windowlauncher_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L89"}, {"id": "tray_window_launcher_is_alive", "label": "is_alive()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L103"}, {"id": "tray_window_launcher_pid", "label": "pid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L110"}, {"id": "tray_window_launcher_windowlauncher_argv", "label": "._argv()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L120"}, {"id": "tray_window_launcher_windowlauncher_focus_existing", "label": "._focus_existing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L126"}, {"id": "tray_window_launcher_rationale_1", "label": "Spawn / focus the on-demand window subprocess. Backend Spec \u00a74.3.2. The tray cl", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L1"}, {"id": "tray_window_launcher_rationale_36", "label": "Return the argv prefix for spawning ``exlab-wizard-window``. Resolution ord", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L36"}, {"id": "tray_window_launcher_rationale_56", "label": "Spawn ``exlab-wizard-window`` as a subprocess, track its PID. On a re-open", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L56"}, {"id": "tray_window_launcher_rationale_78", "label": "Spawn a window subprocess, or focus the existing one.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L78"}, {"id": "tray_window_launcher_rationale_90", "label": "Terminate the live window subprocess, if any. Idempotent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L90"}, {"id": "tray_window_launcher_rationale_104", "label": "Return ``True`` while the window subprocess is running.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L104"}, {"id": "tray_window_launcher_rationale_111", "label": "Return the live window's PID, or ``None`` if no window is up.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L111"}, {"id": "tray_window_launcher_rationale_121", "label": "Return the argv to spawn the window subprocess.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L121"}, {"id": "tray_window_launcher_rationale_127", "label": "Best-effort raise/focus of the existing window. v1 logs the request; th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L127"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "target": "tray_window_launcher_resolve_window_executable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "target": "tray_window_launcher_windowlauncher", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L55", "weight": 1.0}, {"source": "tray_window_launcher_windowlauncher", "target": "tray_window_launcher_windowlauncher_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L63", "weight": 1.0}, {"source": "tray_window_launcher_windowlauncher", "target": "tray_window_launcher_windowlauncher_open", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L77", "weight": 1.0}, {"source": "tray_window_launcher_windowlauncher", "target": "tray_window_launcher_windowlauncher_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "target": "tray_window_launcher_is_alive", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "target": "tray_window_launcher_pid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L110", "weight": 1.0}, {"source": "tray_window_launcher_windowlauncher", "target": "tray_window_launcher_windowlauncher_argv", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L120", "weight": 1.0}, {"source": "tray_window_launcher_windowlauncher", "target": "tray_window_launcher_windowlauncher_focus_existing", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L126", "weight": 1.0}, {"source": "tray_window_launcher_windowlauncher_open", "target": "tray_window_launcher_windowlauncher_focus_existing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L80", "weight": 1.0}, {"source": "tray_window_launcher_windowlauncher_open", "target": "tray_window_launcher_windowlauncher_argv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L82", "weight": 1.0}, {"source": "tray_window_launcher_windowlauncher_argv", "target": "tray_window_launcher_resolve_window_executable", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L124", "weight": 1.0}, {"source": "tray_window_launcher_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_window_launcher_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_window_launcher_rationale_36", "target": "tray_window_launcher_resolve_window_executable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L36", "weight": 1.0}, {"source": "tray_window_launcher_rationale_56", "target": "tray_window_launcher_windowlauncher", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L56", "weight": 1.0}, {"source": "tray_window_launcher_rationale_78", "target": "tray_window_launcher_windowlauncher_open", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L78", "weight": 1.0}, {"source": "tray_window_launcher_rationale_90", "target": "tray_window_launcher_windowlauncher_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L90", "weight": 1.0}, {"source": "tray_window_launcher_rationale_104", "target": "tray_window_launcher_windowlauncher_is_alive", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L104", "weight": 1.0}, {"source": "tray_window_launcher_rationale_111", "target": "tray_window_launcher_windowlauncher_pid", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L111", "weight": 1.0}, {"source": "tray_window_launcher_rationale_121", "target": "tray_window_launcher_windowlauncher_argv", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L121", "weight": 1.0}, {"source": "tray_window_launcher_rationale_127", "target": "tray_window_launcher_windowlauncher_focus_existing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L127", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_window_launcher_resolve_window_executable", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L46"}, {"caller_nid": "tray_window_launcher_resolve_window_executable", "callee": "which", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L49"}, {"caller_nid": "tray_window_launcher_windowlauncher_init", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L69"}, {"caller_nid": "tray_window_launcher_windowlauncher_open", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L83"}, {"caller_nid": "tray_window_launcher_windowlauncher_open", "callee": "Popen", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L84"}, {"caller_nid": "tray_window_launcher_windowlauncher_close", "callee": "poll", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L93"}, {"caller_nid": "tray_window_launcher_windowlauncher_close", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L94"}, {"caller_nid": "tray_window_launcher_windowlauncher_close", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L96"}, {"caller_nid": "tray_window_launcher_windowlauncher_close", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L98"}, {"caller_nid": "tray_window_launcher_windowlauncher_close", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L99"}, {"caller_nid": "tray_window_launcher_is_alive", "callee": "poll", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L107"}, {"caller_nid": "tray_window_launcher_windowlauncher_focus_existing", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py", "source_location": "L134"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/4105c1e8d1f1786d09dd9e16eb9665990fe17069fecd93c62e44dca45358e455.json b/graphify-out/cache/ast/4105c1e8d1f1786d09dd9e16eb9665990fe17069fecd93c62e44dca45358e455.json deleted file mode 100644 index e98deb5..0000000 --- a/graphify-out/cache/ast/4105c1e8d1f1786d09dd9e16eb9665990fe17069fecd93c62e44dca45358e455.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/__init__.py", "source_location": "L1"}, {"id": "validator_init_rationale_1", "label": "Validator engine package. Backend Spec \u00a78.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/__init__.py", "source_location": "L1"}], "edges": [{"source": "validator_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/434eda36af4dc064789e34016e457465548f784243c2b9b32e8dd14225571a56.json b/graphify-out/cache/ast/434eda36af4dc064789e34016e457465548f784243c2b9b32e8dd14225571a56.json deleted file mode 100644 index 1f5685a..0000000 --- a/graphify-out/cache/ast/434eda36af4dc064789e34016e457465548f784243c2b9b32e8dd14225571a56.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_17_picker_step_py", "label": "test_flow_17_picker_step.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L1"}, {"id": "e2e_test_flow_17_picker_step_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L12"}, {"id": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "label": "test_flow_17_creation_buttons_enabled_on_owned_node()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L25"}, {"id": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_disabled_on_received_node", "label": "test_flow_17_creation_buttons_disabled_on_received_node()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L41"}, {"id": "e2e_test_flow_17_picker_step_rationale_1", "label": "E2E flow 17: creation-button enablement on received nodes (Redesign decision 1).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_17_picker_step_py", "target": "e2e_test_flow_17_picker_step_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_17_picker_step_py", "target": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_17_picker_step_py", "target": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_disabled_on_received_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L41", "weight": 1.0}, {"source": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "target": "e2e_test_flow_17_picker_step_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L26", "weight": 1.0}, {"source": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_disabled_on_received_node", "target": "e2e_test_flow_17_picker_step_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L47", "weight": 1.0}, {"source": "e2e_test_flow_17_picker_step_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_17_picker_step_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_17_picker_step_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L14"}, {"caller_nid": "e2e_test_flow_17_picker_step_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L16"}, {"caller_nid": "e2e_test_flow_17_picker_step_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L17"}, {"caller_nid": "e2e_test_flow_17_picker_step_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L21"}, {"caller_nid": "e2e_test_flow_17_picker_step_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L35"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", "callee": "get_attribute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L38"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_disabled_on_received_node", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L49"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_disabled_on_received_node", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L50"}, {"caller_nid": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_disabled_on_received_node", "callee": "get_attribute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py", "source_location": "L51"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/44c391dfce445c141dfed5734d654cd324c009ba7625fce253d65af6df46e087.json b/graphify-out/cache/ast/44c391dfce445c141dfed5734d654cd324c009ba7625fce253d65af6df46e087.json deleted file mode 100644 index ed0db95..0000000 --- a/graphify-out/cache/ast/44c391dfce445c141dfed5734d654cd324c009ba7625fce253d65af6df46e087.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_05_browse_view_py", "label": "test_flow_05_browse_view.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L1"}, {"id": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "label": "test_flow_05_browse_view()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L15"}, {"id": "e2e_test_flow_05_browse_view_rationale_1", "label": "E2E flow 05: Browse view -- open existing project + sessions. Frontend Spec \u00a76.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_05_browse_view_py", "target": "tests_e2e_page_objects_main_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_05_browse_view_py", "target": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L15", "weight": 1.0}, {"source": "e2e_test_flow_05_browse_view_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_05_browse_view_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "MainPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L16"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L17"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L18"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L23"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L24"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L30"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "find", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "inner_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py", "source_location": "L36"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/44c62ed0402bf6989bb4f4dbdcc84474744e8e00236ec921511bc356bf125715.json b/graphify-out/cache/ast/44c62ed0402bf6989bb4f4dbdcc84474744e8e00236ec921511bc356bf125715.json deleted file mode 100644 index b521ac9..0000000 --- a/graphify-out/cache/ast/44c62ed0402bf6989bb4f4dbdcc84474744e8e00236ec921511bc356bf125715.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_test_main_py", "label": "test_main.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L1"}, {"id": "unit_test_main_test_main_returns_zero", "label": "test_main_returns_zero()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L14"}, {"id": "unit_test_main_test_main_prints_hint", "label": "test_main_prints_hint()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L19"}, {"id": "unit_test_main_rationale_1", "label": "Tests for the CLI alias entry point in ``exlab_wizard.__main__``. The entry poi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_test_main_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_main_py", "target": "exlab_wizard_main", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_main_py", "target": "unit_test_main_test_main_returns_zero", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_main_py", "target": "unit_test_main_test_main_prints_hint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L19", "weight": 1.0}, {"source": "unit_test_main_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_test_main_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "unit_test_main_test_main_returns_zero", "callee": "main", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L15"}, {"caller_nid": "unit_test_main_test_main_prints_hint", "callee": "main", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L20"}, {"caller_nid": "unit_test_main_test_main_prints_hint", "callee": "readouterr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py", "source_location": "L21"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/450f3cfac392d77657e35574d0d8bb48462285d8f6867d85d1e257ded4597b82.json b/graphify-out/cache/ast/450f3cfac392d77657e35574d0d8bb48462285d8f6867d85d1e257ded4597b82.json deleted file mode 100644 index 3bb9d8f..0000000 --- a/graphify-out/cache/ast/450f3cfac392d77657e35574d0d8bb48462285d8f6867d85d1e257ded4597b82.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "label": "client.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L1"}, {"id": "lims_client_limsclient", "label": "LIMSClient", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L42"}, {"id": "lims_client_limsclient_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L55"}, {"id": "lims_client_endpoint", "label": "endpoint()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L71"}, {"id": "lims_client_email", "label": "email()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L76"}, {"id": "lims_client_limsclient_login", "label": ".login()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L80"}, {"id": "lims_client_limsclient_list_projects", "label": ".list_projects()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L105"}, {"id": "lims_client_limsclient_get_project", "label": ".get_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L125"}, {"id": "lims_client_limsclient_get_me", "label": ".get_me()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L139"}, {"id": "lims_client_limsclient_health_check", "label": ".health_check()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L144"}, {"id": "lims_client_limsclient_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L167"}, {"id": "lims_client_limsclient_get_json", "label": "._get_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L175"}, {"id": "lims_client_limsclient_request_with_relogin", "label": "._request_with_relogin()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L180"}, {"id": "lims_client_project_from_row", "label": "_project_from_row()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L190"}, {"id": "lims_client_rationale_1", "label": "Read-only LIMS client (Mapping B). Backend Spec \u00a77.2. The client wraps an :clas", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L1"}, {"id": "lims_client_rationale_43", "label": "Read-only LIMS client. Backend Spec \u00a77.2 Mapping B. Cookie-session auth: :m", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L43"}, {"id": "lims_client_rationale_72", "label": "Configured base URL (trailing slashes stripped).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L72"}, {"id": "lims_client_rationale_77", "label": "Configured operator email; used as the login username.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L77"}, {"id": "lims_client_rationale_81", "label": "POST ``/api/v1/login`` with email + password. On success the underlying", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L81"}, {"id": "lims_client_rationale_106", "label": "``GET /api/v1/projects``; returns one LIMSProject per row. ``status_fil", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L106"}, {"id": "lims_client_rationale_126", "label": "``GET /api/v1/projects/``; returns None on 404. ``uid_or_short_id``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L126"}, {"id": "lims_client_rationale_140", "label": "``GET /api/v1/me``; returns the current operator's row.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L140"}, {"id": "lims_client_rationale_145", "label": "Return a ``HealthStatus`` snapshot. Backend Spec \u00a77.2.3. Calls ``GET /a", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L145"}, {"id": "lims_client_rationale_168", "label": "Close the underlying ``httpx.AsyncClient``. Idempotent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L168"}, {"id": "lims_client_rationale_181", "label": "Issue one request; on 401 retry once after a fresh ``login``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L181"}, {"id": "lims_client_rationale_191", "label": "Decode one ``/projects`` row into LIMSProject. Adds a fresh UTC ``fetch", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L191"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "exlab_wizard_lims_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "lims_client_limsclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L42", "weight": 1.0}, {"source": "lims_client_limsclient", "target": "lims_client_limsclient_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "lims_client_endpoint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L71", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "lims_client_email", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L76", "weight": 1.0}, {"source": "lims_client_limsclient", "target": "lims_client_limsclient_login", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L80", "weight": 1.0}, {"source": "lims_client_limsclient", "target": "lims_client_limsclient_list_projects", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L105", "weight": 1.0}, {"source": "lims_client_limsclient", "target": "lims_client_limsclient_get_project", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L125", "weight": 1.0}, {"source": "lims_client_limsclient", "target": "lims_client_limsclient_get_me", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L139", "weight": 1.0}, {"source": "lims_client_limsclient", "target": "lims_client_limsclient_health_check", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L144", "weight": 1.0}, {"source": "lims_client_limsclient", "target": "lims_client_limsclient_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L167", "weight": 1.0}, {"source": "lims_client_limsclient", "target": "lims_client_limsclient_get_json", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L175", "weight": 1.0}, {"source": "lims_client_limsclient", "target": "lims_client_limsclient_request_with_relogin", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L180", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "target": "lims_client_project_from_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L190", "weight": 1.0}, {"source": "lims_client_limsclient_list_projects", "target": "lims_client_limsclient_get_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L117", "weight": 1.0}, {"source": "lims_client_limsclient_list_projects", "target": "lims_client_project_from_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L119", "weight": 1.0}, {"source": "lims_client_limsclient_get_project", "target": "lims_client_limsclient_request_with_relogin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L133", "weight": 1.0}, {"source": "lims_client_limsclient_get_project", "target": "lims_client_project_from_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L137", "weight": 1.0}, {"source": "lims_client_limsclient_get_me", "target": "lims_client_limsclient_get_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L141", "weight": 1.0}, {"source": "lims_client_limsclient_health_check", "target": "lims_client_limsclient_request_with_relogin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L154", "weight": 1.0}, {"source": "lims_client_limsclient_get_json", "target": "lims_client_limsclient_request_with_relogin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L176", "weight": 1.0}, {"source": "lims_client_limsclient_request_with_relogin", "target": "lims_client_limsclient_login", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L186", "weight": 1.0}, {"source": "lims_client_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_client_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L1", "weight": 1.0}, {"source": "lims_client_rationale_43", "target": "lims_client_limsclient", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L43", "weight": 1.0}, {"source": "lims_client_rationale_72", "target": "lims_client_limsclient_endpoint", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L72", "weight": 1.0}, {"source": "lims_client_rationale_77", "target": "lims_client_limsclient_email", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L77", "weight": 1.0}, {"source": "lims_client_rationale_81", "target": "lims_client_limsclient_login", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L81", "weight": 1.0}, {"source": "lims_client_rationale_106", "target": "lims_client_limsclient_list_projects", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L106", "weight": 1.0}, {"source": "lims_client_rationale_126", "target": "lims_client_limsclient_get_project", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L126", "weight": 1.0}, {"source": "lims_client_rationale_140", "target": "lims_client_limsclient_get_me", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L140", "weight": 1.0}, {"source": "lims_client_rationale_145", "target": "lims_client_limsclient_health_check", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L145", "weight": 1.0}, {"source": "lims_client_rationale_168", "target": "lims_client_limsclient_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L168", "weight": 1.0}, {"source": "lims_client_rationale_181", "target": "lims_client_limsclient_request_with_relogin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L181", "weight": 1.0}, {"source": "lims_client_rationale_191", "target": "lims_client_limsclient_project_from_row", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L191", "weight": 1.0}], "raw_calls": [{"caller_nid": "lims_client_limsclient_init", "callee": "rstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L62"}, {"caller_nid": "lims_client_limsclient_init", "callee": "AsyncClient", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L65"}, {"caller_nid": "lims_client_limsclient_login", "callee": "_password_provider", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L90"}, {"caller_nid": "lims_client_limsclient_login", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L93"}, {"caller_nid": "lims_client_limsclient_login", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L94"}, {"caller_nid": "lims_client_limsclient_login", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L99"}, {"caller_nid": "lims_client_limsclient_login", "callee": "raise_for_status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L103"}, {"caller_nid": "lims_client_limsclient_list_projects", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L118"}, {"caller_nid": "lims_client_limsclient_list_projects", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L121"}, {"caller_nid": "lims_client_limsclient_get_project", "callee": "raise_for_status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L136"}, {"caller_nid": "lims_client_limsclient_get_project", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L137"}, {"caller_nid": "lims_client_limsclient_get_me", "callee": "convert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L142"}, {"caller_nid": "lims_client_limsclient_health_check", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L152"}, {"caller_nid": "lims_client_limsclient_health_check", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L156"}, {"caller_nid": "lims_client_limsclient_health_check", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L156"}, {"caller_nid": "lims_client_limsclient_health_check", "callee": "HealthStatus", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L157"}, {"caller_nid": "lims_client_limsclient_health_check", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L157"}, {"caller_nid": "lims_client_limsclient_health_check", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L158"}, {"caller_nid": "lims_client_limsclient_health_check", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L158"}, {"caller_nid": "lims_client_limsclient_health_check", "callee": "HealthStatus", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L160"}, {"caller_nid": "lims_client_limsclient_health_check", "callee": "HealthStatus", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L161"}, {"caller_nid": "lims_client_limsclient_close", "callee": "aclose", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L169"}, {"caller_nid": "lims_client_limsclient_get_json", "callee": "raise_for_status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L177"}, {"caller_nid": "lims_client_limsclient_get_json", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L178"}, {"caller_nid": "lims_client_limsclient_request_with_relogin", "callee": "request", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L182"}, {"caller_nid": "lims_client_limsclient_request_with_relogin", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L185"}, {"caller_nid": "lims_client_limsclient_request_with_relogin", "callee": "request", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L187"}, {"caller_nid": "lims_client_project_from_row", "callee": "LIMSProject", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L196"}, {"caller_nid": "lims_client_project_from_row", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L200"}, {"caller_nid": "lims_client_project_from_row", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L202"}, {"caller_nid": "lims_client_project_from_row", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L204"}, {"caller_nid": "lims_client_project_from_row", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py", "source_location": "L205"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/47a3e3411e64df363fca528ebaa9c33011c93219dc608ac675fba55a6b8f732f.json b/graphify-out/cache/ast/47a3e3411e64df363fca528ebaa9c33011c93219dc608ac675fba55a6b8f732f.json deleted file mode 100644 index 77f9973..0000000 --- a/graphify-out/cache/ast/47a3e3411e64df363fca528ebaa9c33011c93219dc608ac675fba55a6b8f732f.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "label": "engine.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1"}, {"id": "validator_engine_creationvalidationinput", "label": "CreationValidationInput", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L114"}, {"id": "validator_engine_split_path_segments", "label": "_split_path_segments()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L162"}, {"id": "validator_engine_auditscopeequipment", "label": "AuditScopeEquipment", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L193"}, {"id": "typeddict", "label": "TypedDict", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "validator_engine_auditscopeproject", "label": "AuditScopeProject", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L206"}, {"id": "validator_engine_auditscopeall", "label": "AuditScopeAll", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L217"}, {"id": "validator_engine_validator", "label": "Validator", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L236"}, {"id": "validator_engine_validator_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L251"}, {"id": "validator_engine_config", "label": "config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L267"}, {"id": "validator_engine_validator_reconfigure", "label": ".reconfigure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L275"}, {"id": "validator_engine_validator_validate_creation", "label": ".validate_creation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L303"}, {"id": "validator_engine_materialise", "label": "_materialise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L398"}, {"id": "validator_engine_from_config", "label": "from_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L428"}, {"id": "validator_engine_validator_audit", "label": ".audit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L451"}, {"id": "validator_engine_validator_query_problems", "label": ".query_problems()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L482"}, {"id": "validator_engine_validator_resolve_scope_roots", "label": "._resolve_scope_roots()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L494"}, {"id": "validator_engine_validator_walk_root", "label": "._walk_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L513"}, {"id": "validator_engine_validator_walk_dir", "label": "._walk_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L532"}, {"id": "validator_engine_validator_classify_level", "label": "._classify_level()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L602"}, {"id": "validator_engine_validator_compute_run_path", "label": "._compute_run_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L655"}, {"id": "validator_engine_validator_apply_directory_rules", "label": "._apply_directory_rules()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L697"}, {"id": "validator_engine_validator_extend_findings", "label": "._extend_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L787"}, {"id": "validator_engine_validator_apply_missing_required_field_rule", "label": "._apply_missing_required_field_rule()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L814"}, {"id": "validator_engine_validator_apply_directory_name_rules", "label": "._apply_directory_name_rules()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L862"}, {"id": "validator_engine_validator_apply_file_rules", "label": "._apply_file_rules()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L905"}, {"id": "validator_engine_validator_content_scan_eligible", "label": "._content_scan_eligible()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L978"}, {"id": "validator_engine_validator_read_text_for_scan", "label": "._read_text_for_scan()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L996"}, {"id": "validator_engine_validator_read_creation_for", "label": "._read_creation_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1014"}, {"id": "validator_engine_extract_overrides_and_sync", "label": "_extract_overrides_and_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1041"}, {"id": "validator_engine_materialise_audit", "label": "_materialise_audit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1061"}, {"id": "validator_engine_tier_rank", "label": "_tier_rank()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1112"}, {"id": "validator_engine_finding_sort_key", "label": "_finding_sort_key()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1126"}, {"id": "validator_engine_level_for_orphan", "label": "_level_for_orphan()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1143"}, {"id": "validator_engine_rationale_1", "label": "Validator engine. Backend Spec \u00a74.4.4, \u00a78.1, \u00a711.7, \u00a711.8. The engine is the si", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1"}, {"id": "validator_engine_rationale_115", "label": "Input bundle for creation-time validation. Backend Spec \u00a78.1, \u00a711.8. All fi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L115"}, {"id": "validator_engine_rationale_163", "label": "Split ``proposed_path`` into per-segment names. Accepts both POSIX and Wind", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L163"}, {"id": "validator_engine_rationale_194", "label": "Audit one equipment subtree. Spec \u00a711.8. The ``value`` is the equipment ID", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L194"}, {"id": "validator_engine_rationale_207", "label": "Audit one ``/`` subtree. Spec \u00a711.8. The ``value`` is a", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L207"}, {"id": "validator_engine_rationale_218", "label": "Audit every configured equipment + staging when orchestrator on. Spec \u00a711.8", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L218"}, {"id": "validator_engine_rationale_237", "label": "Run \u00a78.1 rules in creation-time and audit modes. Backend Spec \u00a711.8. The co", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L237"}, {"id": "validator_engine_rationale_268", "label": "The :class:`ValidatorConfig` this engine instance was built with. Expos", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L268"}, {"id": "validator_engine_rationale_282", "label": "Re-seed the config + audit-mode roots in place (no tray relaunch). Mirr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L282"}, {"id": "validator_engine_rationale_304", "label": "Run every \u00a78.1 creation-time rule against ``params``. Returns a flat li", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L304"}, {"id": "validator_engine_rationale_399", "label": "Wrap a rule-helper dict in a :class:`Finding`. The \u00a78.1 rule helpers re", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L399"}, {"id": "validator_engine_rationale_429", "label": "Build a :class:`Validator` from the full ``config.yaml`` model. Project", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L429"}, {"id": "validator_engine_rationale_452", "label": "Walk a directory subtree and return all findings. Backend Spec \u00a711.8. U", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L452"}, {"id": "validator_engine_rationale_483", "label": "Public read-only alias for :meth:`audit`. Backend Spec \u00a711.8. Read-only", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L483"}, {"id": "validator_engine_rationale_495", "label": "Map an :class:`AuditScope` onto the directory roots to walk.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L495"}, {"id": "validator_engine_rationale_514", "label": "Walk a single subtree rooted at ``root`` (depth-first). Returns a flat", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L514"}, {"id": "validator_engine_rationale_539", "label": "Recursive ``os.scandir`` walk; apply rules at every level. Per-director", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L539"}, {"id": "validator_engine_rationale_607", "label": "Classify a directory's role in an equipment subtree. Equipment root is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L607"}, {"id": "validator_engine_rationale_661", "label": "Return the \u00a711.8 ``run_path`` for findings at ``directory``. Per spec,", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L661"}, {"id": "validator_engine_rationale_707", "label": "Apply rules whose scope is the run-level directory itself. Three rule f", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L707"}, {"id": "validator_engine_rationale_797", "label": "Materialise raw rule output into :class:`Finding` instances. Reduces au", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L797"}, {"id": "validator_engine_rationale_824", "label": "Read ``readme_fields.json`` and call ``check_missing_required_field``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L824"}, {"id": "validator_engine_rationale_871", "label": "Apply name-level rules (placeholder + illegal char) to a directory. Res", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L871"}, {"id": "validator_engine_rationale_914", "label": "Apply file-name + file-content rules to a single file. Filename rules (", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L914"}, {"id": "validator_engine_rationale_979", "label": "Return True iff the file passes the size + extension gates. Spec \u00a78.1.1", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L979"}, {"id": "validator_engine_rationale_997", "label": "Read text bytes for placeholder scan, applying the binary sniff. Return", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L997"}, {"id": "validator_engine_rationale_1017", "label": "Read ``/.exlab-wizard/creation.json`` if present. Returns ``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1017"}, {"id": "validator_engine_rationale_1044", "label": "Return ``(active_problem_classes, sync_status)`` for a payload. ``activ", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1044"}, {"id": "validator_engine_rationale_1069", "label": "Audit-mode counterpart of :meth:`_materialise`. Computes ``override_act", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1069"}, {"id": "validator_engine_rationale_1113", "label": "Hard tier sorts before soft tier (\u00a711.8). Returns 0 for ``\"hard\"`` and 1 fo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1113"}, {"id": "validator_engine_rationale_1127", "label": "Sort key for the \u00a711.8 finding list ordering. Tuple: ``(tier_rank, rule, of", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1127"}, {"id": "validator_engine_rationale_1144", "label": "Translate the engine-level enum into the rules.check_orphan input. The orph", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1144"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L68", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L82", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "exlab_wizard_validator", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "exlab_wizard_validator_findings", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_creationvalidationinput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L114", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_split_path_segments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L162", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_auditscopeequipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L193", "weight": 1.0}, {"source": "validator_engine_auditscopeequipment", "target": "typeddict", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L193", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_auditscopeproject", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L206", "weight": 1.0}, {"source": "validator_engine_auditscopeproject", "target": "typeddict", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L206", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_auditscopeall", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L217", "weight": 1.0}, {"source": "validator_engine_auditscopeall", "target": "typeddict", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L217", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_validator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L236", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L251", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L267", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_reconfigure", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L275", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_validate_creation", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L303", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_materialise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L398", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_from_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L428", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_audit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L451", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_query_problems", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L482", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_resolve_scope_roots", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L494", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_walk_root", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L513", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_walk_dir", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L532", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_classify_level", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L602", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_compute_run_path", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L655", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_apply_directory_rules", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L697", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_extend_findings", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L787", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_apply_missing_required_field_rule", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L814", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_apply_directory_name_rules", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L862", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_apply_file_rules", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L905", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_content_scan_eligible", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L978", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_read_text_for_scan", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L996", "weight": 1.0}, {"source": "validator_engine_validator", "target": "validator_engine_validator_read_creation_for", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1014", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_extract_overrides_and_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1041", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_materialise_audit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1061", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_tier_rank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_finding_sort_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1126", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "target": "validator_engine_level_for_orphan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1143", "weight": 1.0}, {"source": "validator_engine_validator_validate_creation", "target": "validator_engine_split_path_segments", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L333", "weight": 1.0}, {"source": "validator_engine_validator_validate_creation", "target": "validator_engine_materialise", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L384", "weight": 1.0}, {"source": "validator_engine_validator_audit", "target": "validator_engine_validator_resolve_scope_roots", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L476", "weight": 1.0}, {"source": "validator_engine_validator_audit", "target": "validator_engine_validator_walk_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L479", "weight": 1.0}, {"source": "validator_engine_validator_query_problems", "target": "validator_engine_validator_audit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L490", "weight": 1.0}, {"source": "validator_engine_validator_walk_root", "target": "validator_engine_validator_walk_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L525", "weight": 1.0}, {"source": "validator_engine_validator_walk_dir", "target": "validator_engine_validator_classify_level", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L554", "weight": 1.0}, {"source": "validator_engine_validator_walk_dir", "target": "validator_engine_validator_read_creation_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L555", "weight": 1.0}, {"source": "validator_engine_validator_walk_dir", "target": "validator_engine_validator_compute_run_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L556", "weight": 1.0}, {"source": "validator_engine_validator_walk_dir", "target": "validator_engine_validator_apply_directory_rules", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L559", "weight": 1.0}, {"source": "validator_engine_validator_walk_dir", "target": "validator_engine_validator_apply_file_rules", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L581", "weight": 1.0}, {"source": "validator_engine_validator_walk_dir", "target": "validator_engine_validator_apply_directory_name_rules", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L589", "weight": 1.0}, {"source": "validator_engine_validator_apply_directory_rules", "target": "validator_engine_extract_overrides_and_sync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L722", "weight": 1.0}, {"source": "validator_engine_validator_apply_directory_rules", "target": "validator_engine_level_for_orphan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L725", "weight": 1.0}, {"source": "validator_engine_validator_apply_directory_rules", "target": "validator_engine_validator_extend_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L727", "weight": 1.0}, {"source": "validator_engine_validator_apply_directory_rules", "target": "validator_engine_validator_apply_missing_required_field_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L755", "weight": 1.0}, {"source": "validator_engine_validator_apply_directory_rules", "target": "validator_engine_validator_apply_directory_name_rules", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L779", "weight": 1.0}, {"source": "validator_engine_validator_extend_findings", "target": "validator_engine_materialise_audit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L805", "weight": 1.0}, {"source": "validator_engine_validator_apply_missing_required_field_rule", "target": "validator_engine_validator_extend_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L850", "weight": 1.0}, {"source": "validator_engine_validator_apply_directory_name_rules", "target": "validator_engine_extract_overrides_and_sync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L878", "weight": 1.0}, {"source": "validator_engine_validator_apply_directory_name_rules", "target": "validator_engine_validator_extend_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L881", "weight": 1.0}, {"source": "validator_engine_validator_apply_file_rules", "target": "validator_engine_extract_overrides_and_sync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L921", "weight": 1.0}, {"source": "validator_engine_validator_apply_file_rules", "target": "validator_engine_validator_extend_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L925", "weight": 1.0}, {"source": "validator_engine_validator_apply_file_rules", "target": "validator_engine_validator_content_scan_eligible", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L958", "weight": 1.0}, {"source": "validator_engine_validator_apply_file_rules", "target": "validator_engine_validator_read_text_for_scan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L960", "weight": 1.0}, {"source": "validator_engine_finding_sort_key", "target": "validator_engine_tier_rank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1135", "weight": 1.0}, {"source": "validator_engine_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_engine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1", "weight": 1.0}, {"source": "validator_engine_rationale_115", "target": "validator_engine_creationvalidationinput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L115", "weight": 1.0}, {"source": "validator_engine_rationale_163", "target": "validator_engine_split_path_segments", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L163", "weight": 1.0}, {"source": "validator_engine_rationale_194", "target": "validator_engine_auditscopeequipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L194", "weight": 1.0}, {"source": "validator_engine_rationale_207", "target": "validator_engine_auditscopeproject", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L207", "weight": 1.0}, {"source": "validator_engine_rationale_218", "target": "validator_engine_auditscopeall", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L218", "weight": 1.0}, {"source": "validator_engine_rationale_237", "target": "validator_engine_validator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L237", "weight": 1.0}, {"source": "validator_engine_rationale_268", "target": "validator_engine_validator_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L268", "weight": 1.0}, {"source": "validator_engine_rationale_282", "target": "validator_engine_validator_reconfigure", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L282", "weight": 1.0}, {"source": "validator_engine_rationale_304", "target": "validator_engine_validator_validate_creation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L304", "weight": 1.0}, {"source": "validator_engine_rationale_399", "target": "validator_engine_validator_materialise", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L399", "weight": 1.0}, {"source": "validator_engine_rationale_429", "target": "validator_engine_validator_from_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L429", "weight": 1.0}, {"source": "validator_engine_rationale_452", "target": "validator_engine_validator_audit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L452", "weight": 1.0}, {"source": "validator_engine_rationale_483", "target": "validator_engine_validator_query_problems", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L483", "weight": 1.0}, {"source": "validator_engine_rationale_495", "target": "validator_engine_validator_resolve_scope_roots", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L495", "weight": 1.0}, {"source": "validator_engine_rationale_514", "target": "validator_engine_validator_walk_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L514", "weight": 1.0}, {"source": "validator_engine_rationale_539", "target": "validator_engine_validator_walk_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L539", "weight": 1.0}, {"source": "validator_engine_rationale_607", "target": "validator_engine_validator_classify_level", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L607", "weight": 1.0}, {"source": "validator_engine_rationale_661", "target": "validator_engine_validator_compute_run_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L661", "weight": 1.0}, {"source": "validator_engine_rationale_707", "target": "validator_engine_validator_apply_directory_rules", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L707", "weight": 1.0}, {"source": "validator_engine_rationale_797", "target": "validator_engine_validator_extend_findings", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L797", "weight": 1.0}, {"source": "validator_engine_rationale_824", "target": "validator_engine_validator_apply_missing_required_field_rule", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L824", "weight": 1.0}, {"source": "validator_engine_rationale_871", "target": "validator_engine_validator_apply_directory_name_rules", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L871", "weight": 1.0}, {"source": "validator_engine_rationale_914", "target": "validator_engine_validator_apply_file_rules", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L914", "weight": 1.0}, {"source": "validator_engine_rationale_979", "target": "validator_engine_validator_content_scan_eligible", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L979", "weight": 1.0}, {"source": "validator_engine_rationale_997", "target": "validator_engine_validator_read_text_for_scan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L997", "weight": 1.0}, {"source": "validator_engine_rationale_1017", "target": "validator_engine_validator_read_creation_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1017", "weight": 1.0}, {"source": "validator_engine_rationale_1044", "target": "validator_engine_validator_extract_overrides_and_sync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1044", "weight": 1.0}, {"source": "validator_engine_rationale_1069", "target": "validator_engine_validator_materialise_audit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1069", "weight": 1.0}, {"source": "validator_engine_rationale_1113", "target": "validator_engine_tier_rank", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1113", "weight": 1.0}, {"source": "validator_engine_rationale_1127", "target": "validator_engine_finding_sort_key", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1127", "weight": 1.0}, {"source": "validator_engine_rationale_1144", "target": "validator_engine_level_for_orphan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1144", "weight": 1.0}], "raw_calls": [{"caller_nid": "validator_engine_split_path_segments", "callee": "PureWindowsPath", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L180"}, {"caller_nid": "validator_engine_split_path_segments", "callee": "PurePosixPath", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L182"}, {"caller_nid": "validator_engine_split_path_segments", "callee": "replace", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L182"}, {"caller_nid": "validator_engine_validator_init", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L258"}, {"caller_nid": "validator_engine_validator_init", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L259"}, {"caller_nid": "validator_engine_validator_init", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L262"}, {"caller_nid": "validator_engine_validator_init", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L263"}, {"caller_nid": "validator_engine_validator_reconfigure", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L291"}, {"caller_nid": "validator_engine_validator_reconfigure", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L292"}, {"caller_nid": "validator_engine_validator_reconfigure", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L297"}, {"caller_nid": "validator_engine_validator_reconfigure", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L298"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L335"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L342"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "fromkeys", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L343"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L348"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "check_unresolved_placeholder", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L349"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L351"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L352"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L355"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "check_illegal_filesystem_character", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L356"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L358"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L361"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "check_reserved_filesystem_name", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L362"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L363"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L366"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "check_mode_prefix_mismatch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L367"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L373"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "check_missing_required_field", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L374"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L375"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L376"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L379"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L381"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "check_malformed_yaml_front_matter", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L381"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L387"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L389"}, {"caller_nid": "validator_engine_validator_validate_creation", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L393"}, {"caller_nid": "validator_engine_materialise", "callee": "Finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L411"}, {"caller_nid": "validator_engine_materialise", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L415"}, {"caller_nid": "validator_engine_materialise", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L417"}, {"caller_nid": "validator_engine_materialise", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L418"}, {"caller_nid": "validator_engine_from_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L437"}, {"caller_nid": "validator_engine_from_config", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L438"}, {"caller_nid": "validator_engine_from_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L440"}, {"caller_nid": "validator_engine_from_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L441"}, {"caller_nid": "validator_engine_from_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L442"}, {"caller_nid": "validator_engine_from_config", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L444"}, {"caller_nid": "validator_engine_from_config", "callee": "cls", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L445"}, {"caller_nid": "validator_engine_from_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L446"}, {"caller_nid": "validator_engine_validator_audit", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L479"}, {"caller_nid": "validator_engine_validator_audit", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L480"}, {"caller_nid": "validator_engine_validator_resolve_scope_roots", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L499"}, {"caller_nid": "validator_engine_validator_resolve_scope_roots", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L502"}, {"caller_nid": "validator_engine_validator_resolve_scope_roots", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L504"}, {"caller_nid": "validator_engine_validator_resolve_scope_roots", "callee": "values", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L504"}, {"caller_nid": "validator_engine_validator_resolve_scope_roots", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L506"}, {"caller_nid": "validator_engine_validator_resolve_scope_roots", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L509"}, {"caller_nid": "validator_engine_validator_walk_root", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L521"}, {"caller_nid": "validator_engine_validator_walk_root", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L521"}, {"caller_nid": "validator_engine_validator_walk_root", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L523"}, {"caller_nid": "validator_engine_validator_walk_root", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L523"}, {"caller_nid": "validator_engine_validator_walk_dir", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L569"}, {"caller_nid": "validator_engine_validator_walk_dir", "callee": "scandir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L569"}, {"caller_nid": "validator_engine_validator_walk_dir", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L579"}, {"caller_nid": "validator_engine_validator_walk_dir", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L580"}, {"caller_nid": "validator_engine_validator_walk_dir", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L588"}, {"caller_nid": "validator_engine_validator_classify_level", "callee": "relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L625"}, {"caller_nid": "validator_engine_validator_classify_level", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L625"}, {"caller_nid": "validator_engine_validator_classify_level", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L629"}, {"caller_nid": "validator_engine_validator_classify_level", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L631"}, {"caller_nid": "validator_engine_validator_classify_level", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L633"}, {"caller_nid": "validator_engine_validator_classify_level", "callee": "is_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L639"}, {"caller_nid": "validator_engine_validator_classify_level", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L645"}, {"caller_nid": "validator_engine_validator_classify_level", "callee": "is_test_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L646"}, {"caller_nid": "validator_engine_validator_classify_level", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L649"}, {"caller_nid": "validator_engine_validator_classify_level", "callee": "is_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L650"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L676"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L681"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L681"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L683"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L685"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L686"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L686"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L686"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L687"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L688"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L688"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L688"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L689"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "is_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L689"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L690"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L690"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L690"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L691"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L692"}, {"caller_nid": "validator_engine_validator_compute_run_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L692"}, {"caller_nid": "validator_engine_validator_apply_directory_rules", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L723"}, {"caller_nid": "validator_engine_validator_apply_directory_rules", "callee": "check_orphan", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L728"}, {"caller_nid": "validator_engine_validator_apply_directory_rules", "callee": "check_mode_prefix_mismatch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L742"}, {"caller_nid": "validator_engine_validator_apply_directory_rules", "callee": "check_unsafe_project_name", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L770"}, {"caller_nid": "validator_engine_validator_extend_findings", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L804"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "readme_fields_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L832"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L833"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "read_msgspec_json", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L836"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L838"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L842"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L843"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L844"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L845"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "to_builtins", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L849"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "check_missing_required_field", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L851"}, {"caller_nid": "validator_engine_validator_apply_missing_required_field_rule", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L857"}, {"caller_nid": "validator_engine_validator_apply_directory_name_rules", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L879"}, {"caller_nid": "validator_engine_validator_apply_directory_name_rules", "callee": "check_unresolved_placeholder", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L882"}, {"caller_nid": "validator_engine_validator_apply_directory_name_rules", "callee": "check_illegal_filesystem_character", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L894"}, {"caller_nid": "validator_engine_validator_apply_file_rules", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L922"}, {"caller_nid": "validator_engine_validator_apply_file_rules", "callee": "check_unresolved_placeholder", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L926"}, {"caller_nid": "validator_engine_validator_apply_file_rules", "callee": "check_illegal_filesystem_character", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L938"}, {"caller_nid": "validator_engine_validator_apply_file_rules", "callee": "check_reserved_filesystem_name", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L949"}, {"caller_nid": "validator_engine_validator_apply_file_rules", "callee": "check_unresolved_placeholder", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L964"}, {"caller_nid": "validator_engine_validator_content_scan_eligible", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L987"}, {"caller_nid": "validator_engine_validator_content_scan_eligible", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L991"}, {"caller_nid": "validator_engine_validator_read_text_for_scan", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1005"}, {"caller_nid": "validator_engine_validator_read_text_for_scan", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1006"}, {"caller_nid": "validator_engine_validator_read_text_for_scan", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1009"}, {"caller_nid": "validator_engine_validator_read_text_for_scan", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1012"}, {"caller_nid": "validator_engine_validator_read_creation_for", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1025"}, {"caller_nid": "validator_engine_validator_read_creation_for", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1026"}, {"caller_nid": "validator_engine_validator_read_creation_for", "callee": "read_msgspec_json_raw", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1029"}, {"caller_nid": "validator_engine_validator_read_creation_for", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1031"}, {"caller_nid": "validator_engine_validator_read_creation_for", "callee": "convert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1034"}, {"caller_nid": "validator_engine_validator_read_creation_for", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1036"}, {"caller_nid": "validator_engine_extract_overrides_and_sync", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1053"}, {"caller_nid": "validator_engine_extract_overrides_and_sync", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1054"}, {"caller_nid": "validator_engine_materialise_audit", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1077"}, {"caller_nid": "validator_engine_materialise_audit", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1078"}, {"caller_nid": "validator_engine_materialise_audit", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1079"}, {"caller_nid": "validator_engine_materialise_audit", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1083"}, {"caller_nid": "validator_engine_materialise_audit", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1083"}, {"caller_nid": "validator_engine_materialise_audit", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1085"}, {"caller_nid": "validator_engine_materialise_audit", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1086"}, {"caller_nid": "validator_engine_materialise_audit", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1086"}, {"caller_nid": "validator_engine_materialise_audit", "callee": "Finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1094"}, {"caller_nid": "validator_engine_materialise_audit", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py", "source_location": "L1100"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/47c5ce5f10d7b4e6d10cbb99e8d2c413cd75128782fb8e7c3405afc426b24dfc.json b/graphify-out/cache/ast/47c5ce5f10d7b4e6d10cbb99e8d2c413cd75128782fb8e7c3405afc426b24dfc.json deleted file mode 100644 index 50393f5..0000000 --- a/graphify-out/cache/ast/47c5ce5f10d7b4e6d10cbb99e8d2c413cd75128782fb8e7c3405afc426b24dfc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "label": "config.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L1"}, {"id": "routers_config_configupdateresponse", "label": "ConfigUpdateResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L46"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "routers_config_equipmentappendresponse", "label": "EquipmentAppendResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L57"}, {"id": "routers_config_build_config_router", "label": "build_config_router()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L74"}, {"id": "routers_config_await_or_call", "label": "_await_or_call()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L163"}, {"id": "routers_config_apply_live_config", "label": "_apply_live_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L171"}, {"id": "routers_config_rationale_1", "label": "``/config`` router. Backend Spec \u00a74.6.1, \u00a74.9. Endpoints: * ``GET /config`` --", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L1"}, {"id": "routers_config_rationale_47", "label": "``PUT /config`` response with the new setup state.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L47"}, {"id": "routers_config_rationale_58", "label": "``POST /config/equipment`` response: the new setup state + appended id. Red", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L58"}, {"id": "routers_config_rationale_75", "label": "Construct the ``/config`` router. Routes are always available.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L75"}, {"id": "routers_config_rationale_164", "label": "Invoke a saver that may be sync or async.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L164"}, {"id": "routers_config_rationale_172", "label": "Push ``cfg`` into the running components, then keep it as the live config.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L172"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "inspect", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "exlab_wizard_api_dependencies", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "routers_config_configupdateresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L46", "weight": 1.0}, {"source": "routers_config_configupdateresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "routers_config_equipmentappendresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L57", "weight": 1.0}, {"source": "routers_config_equipmentappendresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "routers_config_build_config_router", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L74", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "routers_config_await_or_call", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L163", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "target": "routers_config_apply_live_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L171", "weight": 1.0}, {"source": "routers_config_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_config_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L1", "weight": 1.0}, {"source": "routers_config_rationale_47", "target": "routers_config_configupdateresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L47", "weight": 1.0}, {"source": "routers_config_rationale_58", "target": "routers_config_equipmentappendresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L58", "weight": 1.0}, {"source": "routers_config_rationale_75", "target": "routers_config_build_config_router", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L75", "weight": 1.0}, {"source": "routers_config_rationale_164", "target": "routers_config_await_or_call", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L164", "weight": 1.0}, {"source": "routers_config_rationale_172", "target": "routers_config_apply_live_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L172", "weight": 1.0}], "raw_calls": [{"caller_nid": "routers_config_build_config_router", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L76"}, {"caller_nid": "routers_config_build_config_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L78"}, {"caller_nid": "routers_config_build_config_router", "callee": "put", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L89"}, {"caller_nid": "routers_config_build_config_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L116"}, {"caller_nid": "routers_config_await_or_call", "callee": "callable_", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L165"}, {"caller_nid": "routers_config_await_or_call", "callee": "isawaitable", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L166"}, {"caller_nid": "routers_config_apply_live_config", "callee": "apply_live_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L182"}, {"caller_nid": "routers_config_apply_live_config", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py", "source_location": "L184"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/47f3d052ba3e9905c21fb6b8da981f2c208412e6900bb3b95f0c6a1a12981500.json b/graphify-out/cache/ast/47f3d052ba3e9905c21fb6b8da981f2c208412e6900bb3b95f0c6a1a12981500.json deleted file mode 100644 index 4f801a9..0000000 --- a/graphify-out/cache/ast/47f3d052ba3e9905c21fb6b8da981f2c208412e6900bb3b95f0c6a1a12981500.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "label": "test_manager.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L1"}, {"id": "logging_test_manager_isolate_central_log", "label": "_isolate_central_log()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L30"}, {"id": "logging_test_manager_test_get_logger_importable_from_package", "label": "test_get_logger_importable_from_package()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L50"}, {"id": "logging_test_manager_test_get_logger_importable_from_manager_module", "label": "test_get_logger_importable_from_manager_module()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L56"}, {"id": "logging_test_manager_test_package_and_manager_export_the_same_callable", "label": "test_package_and_manager_export_the_same_callable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L62"}, {"id": "logging_test_manager_test_get_logger_returns_stdlib_logger_instance", "label": "test_get_logger_returns_stdlib_logger_instance()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L69"}, {"id": "logging_test_manager_test_get_logger_sets_name_on_returned_logger", "label": "test_get_logger_sets_name_on_returned_logger()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L76"}, {"id": "logging_test_manager_test_get_logger_is_idempotent_for_same_name", "label": "test_get_logger_is_idempotent_for_same_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L83"}, {"id": "logging_test_manager_test_get_logger_returns_distinct_loggers_for_different_names", "label": "test_get_logger_returns_distinct_loggers_for_different_names()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L93"}, {"id": "logging_test_manager_test_logging_package_all_contains_get_logger", "label": "test_logging_package_all_contains_get_logger()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L103"}, {"id": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers", "label": "test_configure_logging_with_default_threshold_and_handlers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L112"}, {"id": "logging_test_manager_test_configure_logging_applies_config_level", "label": "test_configure_logging_applies_config_level()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L121"}, {"id": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", "label": "test_configure_logging_idempotent_does_not_accumulate_handlers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L128"}, {"id": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", "label": "test_configure_logging_routes_records_through_queue_listener()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L143"}, {"id": "logging_test_manager_test_shutdown_logging_is_idempotent", "label": "test_shutdown_logging_is_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L154"}, {"id": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler", "label": "test_configure_logging_installs_central_rotating_file_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L161"}, {"id": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", "label": "test_configure_logging_stderr_handler_is_warn_capped()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L176"}, {"id": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info", "label": "test_resolve_threshold_unknown_level_falls_back_to_info()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L192"}, {"id": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "label": "test_configure_logging_strips_pre_existing_queue_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L207"}, {"id": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", "label": "test_build_real_handlers_includes_equipment_handler_when_local_root_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L228"}, {"id": "logging_test_manager_rationale_1", "label": "Tests for the logger factory + ``configure_logging`` in ``exlab_wizard.logging.m", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L1"}, {"id": "logging_test_manager_rationale_31", "label": "Redirect ``os_central_log_path`` to ``tmp_path`` so manager tests don't writ", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L31"}, {"id": "logging_test_manager_rationale_113", "label": "First call with ``config=None`` installs the queue-handler chain at INFO.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L113"}, {"id": "logging_test_manager_rationale_122", "label": "``LoggingConfig.level`` drives the root threshold (\u00a716.5).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L122"}, {"id": "logging_test_manager_rationale_129", "label": "\u00a716.2.2: re-calling ``configure_logging`` tears down + rebuilds. The launch", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L129"}, {"id": "logging_test_manager_rationale_144", "label": "A logger.info() call in the configured handler chain produces a record that", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L144"}, {"id": "logging_test_manager_rationale_155", "label": "A second ``_shutdown_logging`` call must be a no-op (used by quit).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L155"}, {"id": "logging_test_manager_rationale_162", "label": "The downstream handler chain must include a ``RotatingFileHandler`` against", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L162"}, {"id": "logging_test_manager_rationale_177", "label": "\u00a716.2.1: the stderr handler is capped at WARN even when the global threshold", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L177"}, {"id": "logging_test_manager_rationale_193", "label": "A ``LoggingConfig`` with a level that ``getLevelName`` doesn't know about de", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L193"}, {"id": "logging_test_manager_rationale_208", "label": "If a stray ``QueueHandler`` is on the root logger before ``configure_logging", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L208"}, {"id": "logging_test_manager_rationale_231", "label": "When ``local_root`` is configured, the listener chain includes an :class:`Eq", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L231"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_handlers", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "unittest", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "exlab_wizard_logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "exlab_wizard_logging_manager", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_isolate_central_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_get_logger_importable_from_package", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_get_logger_importable_from_manager_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_package_and_manager_export_the_same_callable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_get_logger_returns_stdlib_logger_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_get_logger_sets_name_on_returned_logger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_get_logger_is_idempotent_for_same_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_get_logger_returns_distinct_loggers_for_different_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_logging_package_all_contains_get_logger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_configure_logging_applies_config_level", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L143", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_shutdown_logging_is_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L154", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L161", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L176", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L192", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L207", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "target": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L228", "weight": 1.0}, {"source": "logging_test_manager_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_logging_test_manager_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L1", "weight": 1.0}, {"source": "logging_test_manager_rationale_31", "target": "logging_test_manager_isolate_central_log", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L31", "weight": 1.0}, {"source": "logging_test_manager_rationale_113", "target": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L113", "weight": 1.0}, {"source": "logging_test_manager_rationale_122", "target": "logging_test_manager_test_configure_logging_applies_config_level", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L122", "weight": 1.0}, {"source": "logging_test_manager_rationale_129", "target": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L129", "weight": 1.0}, {"source": "logging_test_manager_rationale_144", "target": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L144", "weight": 1.0}, {"source": "logging_test_manager_rationale_155", "target": "logging_test_manager_test_shutdown_logging_is_idempotent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L155", "weight": 1.0}, {"source": "logging_test_manager_rationale_162", "target": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L162", "weight": 1.0}, {"source": "logging_test_manager_rationale_177", "target": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L177", "weight": 1.0}, {"source": "logging_test_manager_rationale_193", "target": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L193", "weight": 1.0}, {"source": "logging_test_manager_rationale_208", "target": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L208", "weight": 1.0}, {"source": "logging_test_manager_rationale_231", "target": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L231", "weight": 1.0}], "raw_calls": [{"caller_nid": "logging_test_manager_isolate_central_log", "callee": "patch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L35"}, {"caller_nid": "logging_test_manager_isolate_central_log", "callee": "patch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L39"}, {"caller_nid": "logging_test_manager_isolate_central_log", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L41"}, {"caller_nid": "logging_test_manager_isolate_central_log", "callee": "_shutdown_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L47"}, {"caller_nid": "logging_test_manager_test_get_logger_importable_from_package", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L53"}, {"caller_nid": "logging_test_manager_test_get_logger_importable_from_manager_module", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L59"}, {"caller_nid": "logging_test_manager_test_get_logger_returns_stdlib_logger_instance", "callee": "get_logger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L72"}, {"caller_nid": "logging_test_manager_test_get_logger_returns_stdlib_logger_instance", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L73"}, {"caller_nid": "logging_test_manager_test_get_logger_sets_name_on_returned_logger", "callee": "get_logger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L79"}, {"caller_nid": "logging_test_manager_test_get_logger_is_idempotent_for_same_name", "callee": "get_logger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L88"}, {"caller_nid": "logging_test_manager_test_get_logger_is_idempotent_for_same_name", "callee": "get_logger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L89"}, {"caller_nid": "logging_test_manager_test_get_logger_returns_distinct_loggers_for_different_names", "callee": "get_logger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L96"}, {"caller_nid": "logging_test_manager_test_get_logger_returns_distinct_loggers_for_different_names", "callee": "get_logger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L97"}, {"caller_nid": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L114"}, {"caller_nid": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers", "callee": "getLogger", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L115"}, {"caller_nid": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L116"}, {"caller_nid": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L117"}, {"caller_nid": "logging_test_manager_test_configure_logging_applies_config_level", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L123"}, {"caller_nid": "logging_test_manager_test_configure_logging_applies_config_level", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L123"}, {"caller_nid": "logging_test_manager_test_configure_logging_applies_config_level", "callee": "getLogger", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L124"}, {"caller_nid": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L135"}, {"caller_nid": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L136"}, {"caller_nid": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L137"}, {"caller_nid": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", "callee": "getLogger", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L138"}, {"caller_nid": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L139"}, {"caller_nid": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L140"}, {"caller_nid": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L146"}, {"caller_nid": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L146"}, {"caller_nid": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", "callee": "getLogger", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L147"}, {"caller_nid": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L149"}, {"caller_nid": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", "callee": "_shutdown_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L151"}, {"caller_nid": "logging_test_manager_test_shutdown_logging_is_idempotent", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L156"}, {"caller_nid": "logging_test_manager_test_shutdown_logging_is_idempotent", "callee": "_shutdown_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L157"}, {"caller_nid": "logging_test_manager_test_shutdown_logging_is_idempotent", "callee": "_shutdown_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L158"}, {"caller_nid": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L164"}, {"caller_nid": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L164"}, {"caller_nid": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L168"}, {"caller_nid": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L169"}, {"caller_nid": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L179"}, {"caller_nid": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L179"}, {"caller_nid": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L186"}, {"caller_nid": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L187"}, {"caller_nid": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L189"}, {"caller_nid": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L201"}, {"caller_nid": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info", "callee": "__setattr__", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L202"}, {"caller_nid": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info", "callee": "_resolve_threshold", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L203"}, {"caller_nid": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "callee": "QueueHandler", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L213"}, {"caller_nid": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L213"}, {"caller_nid": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "callee": "getLogger", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L214"}, {"caller_nid": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "callee": "addHandler", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L215"}, {"caller_nid": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "callee": "configure_logging", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L217"}, {"caller_nid": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "callee": "removeHandler", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L221"}, {"caller_nid": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L224"}, {"caller_nid": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L225"}, {"caller_nid": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", "callee": "_build_real_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L237"}, {"caller_nid": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", "callee": "StructuredTagFormatter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L241"}, {"caller_nid": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L243"}, {"caller_nid": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L243"}, {"caller_nid": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py", "source_location": "L245"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/48758daf3ed586f6c0719a7a6f9e095f47e5b2f7024887ab2409179c142b65e6.json b/graphify-out/cache/ast/48758daf3ed586f6c0719a7a6f9e095f47e5b2f7024887ab2409179c142b65e6.json deleted file mode 100644 index 7184a70..0000000 --- a/graphify-out/cache/ast/48758daf3ed586f6c0719a7a6f9e095f47e5b2f7024887ab2409179c142b65e6.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_internal_readme_md", "label": "README.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L1"}, {"id": "internal_readme_internal_bundled_starter_content", "label": "`_internal/` -- bundled starter content", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L1"}, {"id": "internal_readme_layout", "label": "Layout", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L13"}, {"id": "internal_readme_codeblock_1", "label": "code:block1 (_internal/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L15"}, {"id": "internal_readme_populating_for_v1", "label": "Populating for v1", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L24"}, {"id": "internal_readme_bundled_templates_spec_5", "label": "Bundled templates (Spec \u00a75)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L30"}, {"id": "internal_readme_bundled_plugins_spec_6_5_6_6", "label": "Bundled plugins (Spec \u00a76.5, \u00a76.6)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L47"}, {"id": "internal_readme_v1_status", "label": "v1 status", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L58"}], "edges": [{"source": "users_alex_projects_exlabwizard_internal_readme_md", "target": "internal_readme_internal_bundled_starter_content", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L1", "weight": 1.0}, {"source": "internal_readme_internal_bundled_starter_content", "target": "internal_readme_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L13", "weight": 1.0}, {"source": "internal_readme_layout", "target": "internal_readme_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L15", "weight": 1.0}, {"source": "internal_readme_internal_bundled_starter_content", "target": "internal_readme_populating_for_v1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L24", "weight": 1.0}, {"source": "internal_readme_populating_for_v1", "target": "internal_readme_bundled_templates_spec_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L30", "weight": 1.0}, {"source": "internal_readme_populating_for_v1", "target": "internal_readme_bundled_plugins_spec_6_5_6_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L47", "weight": 1.0}, {"source": "internal_readme_internal_bundled_starter_content", "target": "internal_readme_v1_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/_internal/README.md", "source_location": "L58", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/48ff8b91831724a572c51e3d0a3bd3723912ba556421144950abc9eaa5a018ba.json b/graphify-out/cache/ast/48ff8b91831724a572c51e3d0a3bd3723912ba556421144950abc9eaa5a018ba.json deleted file mode 100644 index 4421bc7..0000000 --- a/graphify-out/cache/ast/48ff8b91831724a572c51e3d0a3bd3723912ba556421144950abc9eaa5a018ba.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "label": "test_operations.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L1"}, {"id": "api_test_operations_ready_config", "label": "_ready_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L23"}, {"id": "api_test_operations_stubcontroller", "label": "_StubController", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L45"}, {"id": "api_test_operations_stubcontroller_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L46"}, {"id": "api_test_operations_make_project_request", "label": "_make_project_request()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L50"}, {"id": "api_test_operations_test_get_operations_lists_in_flight_sessions", "label": "test_get_operations_lists_in_flight_sessions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L67"}, {"id": "api_test_operations_test_get_operations_excludes_done_and_aborted", "label": "test_get_operations_excludes_done_and_aborted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L86"}, {"id": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "label": "test_get_operations_emits_plugin_name_when_input_required()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L108"}, {"id": "api_test_operations_test_get_operations_503_when_controller_missing", "label": "test_get_operations_503_when_controller_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L127"}, {"id": "api_test_operations_rationale_1", "label": "Unit tests for the ``/operations`` router.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "fastapi_testclient", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "exlab_wizard_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "exlab_wizard_controller_creation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "exlab_wizard_controller_session_store", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "exlab_wizard_controller_state_machine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "api_test_operations_ready_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "api_test_operations_stubcontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L45", "weight": 1.0}, {"source": "api_test_operations_stubcontroller", "target": "api_test_operations_stubcontroller_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "api_test_operations_make_project_request", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "api_test_operations_test_get_operations_lists_in_flight_sessions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "api_test_operations_test_get_operations_excludes_done_and_aborted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "target": "api_test_operations_test_get_operations_503_when_controller_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L127", "weight": 1.0}, {"source": "api_test_operations_test_get_operations_lists_in_flight_sessions", "target": "api_test_operations_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L68", "weight": 1.0}, {"source": "api_test_operations_test_get_operations_lists_in_flight_sessions", "target": "api_test_operations_make_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L69", "weight": 1.0}, {"source": "api_test_operations_test_get_operations_lists_in_flight_sessions", "target": "api_test_operations_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L74", "weight": 1.0}, {"source": "api_test_operations_test_get_operations_excludes_done_and_aborted", "target": "api_test_operations_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L87", "weight": 1.0}, {"source": "api_test_operations_test_get_operations_excludes_done_and_aborted", "target": "api_test_operations_make_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L88", "weight": 1.0}, {"source": "api_test_operations_test_get_operations_excludes_done_and_aborted", "target": "api_test_operations_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L100", "weight": 1.0}, {"source": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "target": "api_test_operations_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L109", "weight": 1.0}, {"source": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "target": "api_test_operations_make_project_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L110", "weight": 1.0}, {"source": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "target": "api_test_operations_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L117", "weight": 1.0}, {"source": "api_test_operations_test_get_operations_503_when_controller_missing", "target": "api_test_operations_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L128", "weight": 1.0}, {"source": "api_test_operations_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_operations_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_operations_ready_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L24"}, {"caller_nid": "api_test_operations_ready_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L25"}, {"caller_nid": "api_test_operations_ready_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L27"}, {"caller_nid": "api_test_operations_ready_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L32"}, {"caller_nid": "api_test_operations_ready_config", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L40"}, {"caller_nid": "api_test_operations_ready_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L41"}, {"caller_nid": "api_test_operations_stubcontroller_init", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L47"}, {"caller_nid": "api_test_operations_make_project_request", "callee": "ProjectCreateRequest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L51"}, {"caller_nid": "api_test_operations_make_project_request", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L53"}, {"caller_nid": "api_test_operations_test_get_operations_lists_in_flight_sessions", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L69"}, {"caller_nid": "api_test_operations_test_get_operations_lists_in_flight_sessions", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L70"}, {"caller_nid": "api_test_operations_test_get_operations_lists_in_flight_sessions", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L71"}, {"caller_nid": "api_test_operations_test_get_operations_lists_in_flight_sessions", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L72"}, {"caller_nid": "api_test_operations_test_get_operations_lists_in_flight_sessions", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L73"}, {"caller_nid": "api_test_operations_test_get_operations_lists_in_flight_sessions", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L76"}, {"caller_nid": "api_test_operations_test_get_operations_lists_in_flight_sessions", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L77"}, {"caller_nid": "api_test_operations_test_get_operations_lists_in_flight_sessions", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L78"}, {"caller_nid": "api_test_operations_test_get_operations_lists_in_flight_sessions", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L80"}, {"caller_nid": "api_test_operations_test_get_operations_lists_in_flight_sessions", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L81"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L88"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L89"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L90"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L91"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L92"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L93"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L94"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L95"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L96"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L97"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L98"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L99"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L102"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L103"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L104"}, {"caller_nid": "api_test_operations_test_get_operations_excludes_done_and_aborted", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L104"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L110"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L111"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L112"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L113"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L114"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L116"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L119"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L120"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L121"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L121"}, {"caller_nid": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L122"}, {"caller_nid": "api_test_operations_test_get_operations_503_when_controller_missing", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L128"}, {"caller_nid": "api_test_operations_test_get_operations_503_when_controller_missing", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L129"}, {"caller_nid": "api_test_operations_test_get_operations_503_when_controller_missing", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L130"}, {"caller_nid": "api_test_operations_test_get_operations_503_when_controller_missing", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py", "source_location": "L131"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/497a3941849d31cca9052858983af1c7ce9aa10fa2c37733323c80bd344ab5ea.json b/graphify-out/cache/ast/497a3941849d31cca9052858983af1c7ce9aa10fa2c37733323c80bd344ab5ea.json deleted file mode 100644 index 6cdf1af..0000000 --- a/graphify-out/cache/ast/497a3941849d31cca9052858983af1c7ce9aa10fa2c37733323c80bd344ab5ea.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "label": "test_nas_client_extra.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1"}, {"id": "sync_test_nas_client_extra_build_config", "label": "_build_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L51"}, {"id": "sync_test_nas_client_extra_make_creation", "label": "_make_creation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L87"}, {"id": "sync_test_nas_client_extra_populate_run", "label": "_populate_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L101"}, {"id": "sync_test_nas_client_extra_factory", "label": "_factory()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L113"}, {"id": "sync_test_nas_client_extra_stubkeyring", "label": "_StubKeyring", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L124"}, {"id": "sync_test_nas_client_extra_stubkeyring_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L127"}, {"id": "sync_test_nas_client_extra_stubkeyring_get_password", "label": ".get_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L130"}, {"id": "sync_test_nas_client_extra_test_build_transport_driver_sftp", "label": "test_build_transport_driver_sftp()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L135"}, {"id": "sync_test_nas_client_extra_test_build_transport_driver_smb", "label": "test_build_transport_driver_smb()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L154"}, {"id": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "label": "test_hash_mismatch_first_failure_retries()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L180"}, {"id": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "label": "test_hash_mismatch_second_failure_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L237"}, {"id": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "label": "test_cleanup_full_delete_when_retain_cache_false()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L275"}, {"id": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "label": "test_cleanup_retain_cache_keeps_metadata()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L311"}, {"id": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "label": "test_cleanup_disabled_keeps_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L349"}, {"id": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "label": "test_cleanup_eligible_when_min_verify_passes_unmet()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L387"}, {"id": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "label": "test_cleanup_blocked_by_remote_stat()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L423"}, {"id": "sync_test_nas_client_extra_client", "label": "_client()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L465"}, {"id": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "label": "test_delete_local_skips_keep_local_files_incl_nested()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L475"}, {"id": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "label": "test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L504"}, {"id": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "label": "test_delete_local_does_not_descend_or_remove_directory_symlink()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L537"}, {"id": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "label": "test_delete_local_keep_local_survives_retain_cache_false()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L563"}, {"id": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", "label": "test_delete_local_retain_cache_false_drops_whole_run_without_keep_local()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L580"}, {"id": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "label": "test_cleanup_marks_cleared_in_sync_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L594"}, {"id": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "label": "test_cleanup_keeps_keep_local_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L634"}, {"id": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "label": "test_cleanup_deferred_when_run_only_partially_synced()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L677"}, {"id": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "label": "test_worker_marks_failed_when_local_run_vanished()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L734"}, {"id": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "label": "test_verifier_mismatch_first_failure_then_pass()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L780"}, {"id": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "label": "test_verifier_mismatch_second_failure_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L831"}, {"id": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "label": "test_default_push_factory_uses_real_driver()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L871"}, {"id": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "label": "test_network_error_records_backoff_retry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L895"}, {"id": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", "label": "test_compute_nas_path_returns_none_when_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L929"}, {"id": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", "label": "test_build_transport_driver_rejects_unknown_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L945"}, {"id": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", "label": "test_mark_synced_no_op_when_creation_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L963"}, {"id": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", "label": "test_delete_local_no_op_when_path_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L981"}, {"id": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "label": "test_infer_equipment_id_falls_back_to_first()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L995"}, {"id": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "label": "test_partial_batch_credits_verified_files_in_sync_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1026"}, {"id": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "label": "test_full_batch_credits_every_file_in_sync_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1083"}, {"id": "sync_test_nas_client_extra_rationale_1", "label": "Extra coverage tests for ``exlab_wizard.sync.nas_client``. These hit the sub-br", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1"}, {"id": "sync_test_nas_client_extra_rationale_125", "label": "Minimal keyring stub returning a fixed password by username.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L125"}, {"id": "sync_test_nas_client_extra_rationale_181", "label": "A first hash-mismatch from the transport re-queues without backoff. The fir", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L181"}, {"id": "sync_test_nas_client_extra_rationale_238", "label": "A second consecutive hash-mismatch terminates FAILED.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L238"}, {"id": "sync_test_nas_client_extra_rationale_276", "label": "``retain_cache=False`` removes the entire run directory after CLEANED.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L276"}, {"id": "sync_test_nas_client_extra_rationale_312", "label": "``retain_cache=True`` deletes data files but keeps ``.exlab-wizard/``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L312"}, {"id": "sync_test_nas_client_extra_rationale_350", "label": "``nas_cleanup.enabled=False`` -> job stays VERIFIED, no cleanup.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L350"}, {"id": "sync_test_nas_client_extra_rationale_388", "label": "Job lands in CLEANUP_ELIGIBLE when min_verify_passes > current passes.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L388"}, {"id": "sync_test_nas_client_extra_rationale_424", "label": "A failing remote_stat keeps the job in CLEANUP_ELIGIBLE, not CLEANED.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L424"}, {"id": "sync_test_nas_client_extra_rationale_466", "label": "Build an un-init'd client for direct ``_delete_local`` calls.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L466"}, {"id": "sync_test_nas_client_extra_rationale_476", "label": "``_delete_local`` keeps ``keep_local`` files, incl. a nested one.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L476"}, {"id": "sync_test_nas_client_extra_rationale_505", "label": "A directory holding only deleted files is pruned (deepest-first); a parent s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L505"}, {"id": "sync_test_nas_client_extra_rationale_538", "label": "A directory symlink inside the run is left untouched -- its target's content", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L538"}, {"id": "sync_test_nas_client_extra_rationale_564", "label": "A ``keep_local`` file survives even when ``retain_cache=False``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L564"}, {"id": "sync_test_nas_client_extra_rationale_583", "label": "With ``retain_cache=False`` and no kept files the run dir is removed.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L583"}, {"id": "sync_test_nas_client_extra_rationale_595", "label": "A full cleanup pass stamps ``cleared_at`` in ``sync_state.json``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L595"}, {"id": "sync_test_nas_client_extra_rationale_635", "label": "A file flagged ``keep_local`` survives the cleanup sweep.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L635"}, {"id": "sync_test_nas_client_extra_rationale_678", "label": "Cleanup does not run while a tracked file remains unverified. A pre-existin", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L678"}, {"id": "sync_test_nas_client_extra_rationale_735", "label": "A run dir deleted between enqueue and worker pick -> FAILED.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L735"}, {"id": "sync_test_nas_client_extra_rationale_781", "label": "A rclone-check mismatch retries once, then passes.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L781"}, {"id": "sync_test_nas_client_extra_rationale_832", "label": "Two consecutive verifier mismatches terminate FAILED.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L832"}, {"id": "sync_test_nas_client_extra_rationale_872", "label": "When no factory is injected, the client builds the per-equipment driver. We", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L872"}, {"id": "sync_test_nas_client_extra_rationale_930", "label": "Helper returns ``None`` when ``creation.paths.nas`` is the empty string.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L930"}, {"id": "sync_test_nas_client_extra_rationale_946", "label": "An unknown transport type raises ValueError from the helper.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L946"}, {"id": "sync_test_nas_client_extra_rationale_964", "label": "``_mark_synced`` is a no-op when ``creation.json`` doesn't exist.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L964"}, {"id": "sync_test_nas_client_extra_rationale_982", "label": "``_delete_local`` is a no-op when the run directory is already gone.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L982"}, {"id": "sync_test_nas_client_extra_rationale_996", "label": "If neither ``creation.paths.local`` nor ``run_path`` contains a configured e", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L996"}, {"id": "sync_test_nas_client_extra_rationale_1027", "label": "A batch where one file fails verification still credits the others in ``sync", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1027"}, {"id": "sync_test_nas_client_extra_rationale_1084", "label": "A fully-successful batch credits every verified file in sync_state.json.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1084"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "exlab_wizard_sync_nas_client", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "exlab_wizard_sync_queue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "exlab_wizard_sync_transports", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "tests_unit_sync_helpers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_build_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_make_creation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_populate_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L101", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_factory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L113", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_stubkeyring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L124", "weight": 1.0}, {"source": "sync_test_nas_client_extra_stubkeyring", "target": "sync_test_nas_client_extra_stubkeyring_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L127", "weight": 1.0}, {"source": "sync_test_nas_client_extra_stubkeyring", "target": "sync_test_nas_client_extra_stubkeyring_get_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L130", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_build_transport_driver_sftp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_build_transport_driver_smb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L154", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L180", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L237", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L275", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L311", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L349", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L387", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L423", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L465", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L475", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L504", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L537", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L563", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L580", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L594", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L634", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L677", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L734", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L780", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L831", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L871", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L895", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L929", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L945", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L963", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L981", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L995", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1026", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "target": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1083", "weight": 1.0}, {"source": "sync_test_nas_client_extra_populate_run", "target": "sync_test_nas_client_extra_make_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L109", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_build_transport_driver_sftp", "target": "sync_test_nas_client_extra_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L149", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_build_transport_driver_smb", "target": "sync_test_nas_client_extra_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L170", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L187", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L188", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L207", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L239", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L240", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L253", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L277", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L278", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L291", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L313", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L314", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L327", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L351", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L352", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L365", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L389", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L390", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L403", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L425", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L426", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L439", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L489", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "target": "sync_test_nas_client_extra_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L490", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L522", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "target": "sync_test_nas_client_extra_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L523", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L551", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "target": "sync_test_nas_client_extra_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L552", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L570", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "target": "sync_test_nas_client_extra_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L571", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L588", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", "target": "sync_test_nas_client_extra_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L589", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L598", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L599", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L612", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L638", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L639", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L656", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L687", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L688", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L705", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L736", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L737", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L754", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L784", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L785", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L809", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L835", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L836", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L853", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L878", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L896", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L897", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L910", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", "target": "sync_test_nas_client_extra_stubkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L960", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L965", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L983", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L998", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1033", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1034", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1047", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "target": "sync_test_nas_client_extra_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1087", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "target": "sync_test_nas_client_extra_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1088", "weight": 1.0}, {"source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "target": "sync_test_nas_client_extra_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1101", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_extra_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_125", "target": "sync_test_nas_client_extra_stubkeyring", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L125", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_181", "target": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L181", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_238", "target": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L238", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_276", "target": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L276", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_312", "target": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L312", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_350", "target": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L350", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_388", "target": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L388", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_424", "target": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L424", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_466", "target": "sync_test_nas_client_extra_client", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L466", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_476", "target": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L476", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_505", "target": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L505", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_538", "target": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L538", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_564", "target": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L564", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_583", "target": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L583", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_595", "target": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L595", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_635", "target": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L635", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_678", "target": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L678", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_735", "target": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L735", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_781", "target": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L781", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_832", "target": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L832", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_872", "target": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L872", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_930", "target": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L930", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_946", "target": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L946", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_964", "target": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L964", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_982", "target": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L982", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_996", "target": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L996", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_1027", "target": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1027", "weight": 1.0}, {"source": "sync_test_nas_client_extra_rationale_1084", "target": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1084", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_test_nas_client_extra_build_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L60"}, {"caller_nid": "sync_test_nas_client_extra_build_config", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L65"}, {"caller_nid": "sync_test_nas_client_extra_build_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L67"}, {"caller_nid": "sync_test_nas_client_extra_build_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L68"}, {"caller_nid": "sync_test_nas_client_extra_build_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L68"}, {"caller_nid": "sync_test_nas_client_extra_build_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L70"}, {"caller_nid": "sync_test_nas_client_extra_build_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L73"}, {"caller_nid": "sync_test_nas_client_extra_build_config", "callee": "NASCleanupConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L78"}, {"caller_nid": "sync_test_nas_client_extra_make_creation", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L88"}, {"caller_nid": "sync_test_nas_client_extra_make_creation", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L94"}, {"caller_nid": "sync_test_nas_client_extra_make_creation", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L95"}, {"caller_nid": "sync_test_nas_client_extra_make_creation", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L97"}, {"caller_nid": "sync_test_nas_client_extra_make_creation", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L97"}, {"caller_nid": "sync_test_nas_client_extra_populate_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L103"}, {"caller_nid": "sync_test_nas_client_extra_populate_run", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L104"}, {"caller_nid": "sync_test_nas_client_extra_populate_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L105"}, {"caller_nid": "sync_test_nas_client_extra_populate_run", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L106"}, {"caller_nid": "sync_test_nas_client_extra_populate_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L108"}, {"caller_nid": "sync_test_nas_client_extra_populate_run", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L109"}, {"caller_nid": "sync_test_nas_client_extra_populate_run", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L109"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_sftp", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L136"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_sftp", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L139"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_sftp", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L141"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_sftp", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L146"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_sftp", "callee": "_build_transport_driver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L149"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_sftp", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L151"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_smb", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L155"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_smb", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L158"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_smb", "callee": "RcloneSmbTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L160"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_smb", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L167"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_smb", "callee": "_build_transport_driver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L170"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_smb", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L172"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L189"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L202"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L205"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L213"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L216"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L218"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L220"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L221"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L228"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L230"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L234"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L241"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L248"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L251"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L256"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L258"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L259"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L260"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L263"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L265"}, {"caller_nid": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L267"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L279"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L286"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L289"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L292"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L295"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L297"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L298"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L299"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L302"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L304"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L306"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L308"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L315"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L322"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L325"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L328"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L331"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L333"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L334"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L335"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L338"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L340"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L342"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L343"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L344"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L346"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L353"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L360"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L363"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L366"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L369"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L371"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L373"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L374"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L377"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L379"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L381"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L382"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L384"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L391"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L398"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L401"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L404"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L407"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L409"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L410"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L411"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L414"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L416"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L418"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L420"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L427"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L434"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L437"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L440"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L444"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L446"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L447"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L448"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L451"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L453"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L455"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L457"}, {"caller_nid": "sync_test_nas_client_extra_client", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L467"}, {"caller_nid": "sync_test_nas_client_extra_client", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L470"}, {"caller_nid": "sync_test_nas_client_extra_client", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L471"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L478"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L479"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L480"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L482"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L483"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L484"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L486"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L487"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "_delete_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L491"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L494"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L495"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L496"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L498"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L499"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L501"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L508"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L511"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L512"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L513"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L514"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L518"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L519"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L520"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "_delete_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L524"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L527"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L528"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L530"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L532"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L534"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L542"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L543"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L546"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L547"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "symlink_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L549"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "_delete_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L553"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L553"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L556"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "is_symlink", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L558"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L559"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L560"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L566"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L567"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L568"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "callee": "_delete_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L572"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L575"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L576"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L577"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L585"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L586"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", "callee": "_delete_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L590"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L590"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L591"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L600"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L607"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L610"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L613"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L616"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L618"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L619"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L620"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L623"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L625"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L627"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L629"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L629"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", "callee": "rollup_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L631"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L640"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L641"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "set_keep_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L643"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L650"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L653"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L657"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L660"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L662"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L663"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L664"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L667"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L669"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L671"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L672"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L674"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L689"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L690"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L692"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L699"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L702"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L706"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L709"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L711"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L712"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L713"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L716"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L718"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L720"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L721"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L724"}, {"caller_nid": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L726"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L738"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L749"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L752"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L757"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L759"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "rmtree", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L763"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L764"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L765"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L768"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L770"}, {"caller_nid": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L772"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L786"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L804"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L807"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L813"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L815"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L816"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L817"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L824"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L826"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L828"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L837"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L848"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L851"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L857"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L859"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L860"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L861"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L864"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L866"}, {"caller_nid": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L868"}, {"caller_nid": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L879"}, {"caller_nid": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L880"}, {"caller_nid": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L883"}, {"caller_nid": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L887"}, {"caller_nid": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "callee": "_build_push", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L889"}, {"caller_nid": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L890"}, {"caller_nid": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L892"}, {"caller_nid": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L898"}, {"caller_nid": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L905"}, {"caller_nid": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L908"}, {"caller_nid": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L913"}, {"caller_nid": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L915"}, {"caller_nid": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L916"}, {"caller_nid": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L917"}, {"caller_nid": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L920"}, {"caller_nid": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L922"}, {"caller_nid": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L926"}, {"caller_nid": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L931"}, {"caller_nid": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L937"}, {"caller_nid": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L938"}, {"caller_nid": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L940"}, {"caller_nid": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", "callee": "_compute_nas_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L942"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L950"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", "callee": "model_construct", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L952"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L955"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", "callee": "_BogusTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L957"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L959"}, {"caller_nid": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", "callee": "_build_transport_driver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L960"}, {"caller_nid": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L966"}, {"caller_nid": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L967"}, {"caller_nid": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L970"}, {"caller_nid": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L973"}, {"caller_nid": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", "callee": "_mark_synced", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L976"}, {"caller_nid": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L978"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L984"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L985"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L988"}, {"caller_nid": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", "callee": "_delete_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L992"}, {"caller_nid": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L999"}, {"caller_nid": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1000"}, {"caller_nid": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1003"}, {"caller_nid": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1006"}, {"caller_nid": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1012"}, {"caller_nid": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1013"}, {"caller_nid": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1015"}, {"caller_nid": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "callee": "_infer_equipment_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1017"}, {"caller_nid": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1017"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1035"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1036"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1041"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1044"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "corrupt_one_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1048"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1051"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1053"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1056"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1057"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1060"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1062"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1068"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1077"}, {"caller_nid": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1080"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1089"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1090"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1095"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1098"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1102"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1105"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1107"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1108"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1109"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1116"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1118"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1119"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1120"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "values", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1121"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1127"}, {"caller_nid": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py", "source_location": "L1129"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/4ac23e27349983325d860067f92b6b832f614d6c2520696b0bd0a550e1501245.json b/graphify-out/cache/ast/4ac23e27349983325d860067f92b6b832f614d6c2520696b0bd0a550e1501245.json deleted file mode 100644 index 0a70d8e..0000000 --- a/graphify-out/cache/ast/4ac23e27349983325d860067f92b6b832f614d6c2520696b0bd0a550e1501245.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_limits_py", "label": "limits.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/limits.py", "source_location": "L1"}, {"id": "constants_limits_rationale_1", "label": "Hard-coded numeric limits, timeouts, and policy ceilings. Every value here is c", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/limits.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_limits_py", "target": "exlab_wizard_constants_filenames", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/limits.py", "source_location": "L10", "weight": 1.0}, {"source": "constants_limits_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_limits_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/limits.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/4ad4ca90c59e062c96b1037e4feabda29fa391c3455c9df842f0fa7d46a3408e.json b/graphify-out/cache/ast/4ad4ca90c59e062c96b1037e4feabda29fa391c3455c9df842f0fa7d46a3408e.json deleted file mode 100644 index c917257..0000000 --- a/graphify-out/cache/ast/4ad4ca90c59e062c96b1037e4feabda29fa391c3455c9df842f0fa7d46a3408e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_utils_test_state_py", "label": "test_state.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L1"}, {"id": "utils_test_state_state", "label": "_State", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L12"}, {"id": "strenum", "label": "StrEnum", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "utils_test_state_test_allowed_transition_returns_none", "label": "test_allowed_transition_returns_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L25"}, {"id": "utils_test_state_test_disallowed_transition_raises", "label": "test_disallowed_transition_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L29"}, {"id": "utils_test_state_test_terminal_transition_raises", "label": "test_terminal_transition_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L34"}, {"id": "utils_test_state_test_unknown_source_raises", "label": "test_unknown_source_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L39"}, {"id": "utils_test_state_rationale_1", "label": "Tests for ``exlab_wizard.utils.state``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_state_py", "target": "enum", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_state_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_state_py", "target": "exlab_wizard_utils_state", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_state_py", "target": "utils_test_state_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L12", "weight": 1.0}, {"source": "utils_test_state_state", "target": "strenum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_state_py", "target": "utils_test_state_test_allowed_transition_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_state_py", "target": "utils_test_state_test_disallowed_transition_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_state_py", "target": "utils_test_state_test_terminal_transition_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_state_py", "target": "utils_test_state_test_unknown_source_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L39", "weight": 1.0}, {"source": "utils_test_state_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_utils_test_state_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "utils_test_state_test_allowed_transition_returns_none", "callee": "assert_forward_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L26"}, {"caller_nid": "utils_test_state_test_disallowed_transition_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L30"}, {"caller_nid": "utils_test_state_test_disallowed_transition_raises", "callee": "assert_forward_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L31"}, {"caller_nid": "utils_test_state_test_terminal_transition_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L35"}, {"caller_nid": "utils_test_state_test_terminal_transition_raises", "callee": "assert_forward_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L36"}, {"caller_nid": "utils_test_state_test_unknown_source_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L43"}, {"caller_nid": "utils_test_state_test_unknown_source_raises", "callee": "assert_forward_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py", "source_location": "L44"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/4b4c2fb61d4bd5320eab2ec1fcd6b85f1038250554682b78e29ac667918869ab.json b/graphify-out/cache/ast/4b4c2fb61d4bd5320eab2ec1fcd6b85f1038250554682b78e29ac667918869ab.json deleted file mode 100644 index 401c000..0000000 --- a/graphify-out/cache/ast/4b4c2fb61d4bd5320eab2ec1fcd6b85f1038250554682b78e29ac667918869ab.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_schemas_py", "label": "schemas.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L1"}, {"id": "lims_schemas_limsproject", "label": "LIMSProject", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L36"}, {"id": "struct", "label": "Struct", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "lims_schemas_limsuser", "label": "LIMSUser", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L60"}, {"id": "lims_schemas_healthstatus", "label": "HealthStatus", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L79"}, {"id": "lims_schemas_rationale_1", "label": "msgspec.Struct types for the LIMS read-only client. Backend Spec \u00a77.2. These ty", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L1"}, {"id": "lims_schemas_rationale_41", "label": "One LIMS project row. Backend Spec \u00a77.2.3. The ``metadata`` field is a JSON", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L41"}, {"id": "lims_schemas_rationale_66", "label": "One LIMS user row. Backend Spec \u00a77.2.3. Mirrors the upstream ``safe_user``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L66"}, {"id": "lims_schemas_rationale_80", "label": "Result of ``LIMSClient.health_check()``. Backend Spec \u00a77.2.3. ``ok`` is Tru", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L80"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_schemas_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_schemas_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_schemas_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_schemas_py", "target": "lims_schemas_limsproject", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L36", "weight": 1.0}, {"source": "lims_schemas_limsproject", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_schemas_py", "target": "lims_schemas_limsuser", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L60", "weight": 1.0}, {"source": "lims_schemas_limsuser", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_schemas_py", "target": "lims_schemas_healthstatus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L79", "weight": 1.0}, {"source": "lims_schemas_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_schemas_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L1", "weight": 1.0}, {"source": "lims_schemas_rationale_41", "target": "lims_schemas_limsproject", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L41", "weight": 1.0}, {"source": "lims_schemas_rationale_66", "target": "lims_schemas_limsuser", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L66", "weight": 1.0}, {"source": "lims_schemas_rationale_80", "target": "lims_schemas_healthstatus", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py", "source_location": "L80", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/4b9f91ede10a213358caa5b02c88946f5ae78dd2be20f434b4f919e05bf641e6.json b/graphify-out/cache/ast/4b9f91ede10a213358caa5b02c88946f5ae78dd2be20f434b4f919e05bf641e6.json deleted file mode 100644 index e1379a7..0000000 --- a/graphify-out/cache/ast/4b9f91ede10a213358caa5b02c88946f5ae78dd2be20f434b4f919e05bf641e6.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_plugin_py", "label": "plugin.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L1"}, {"id": "error_plugin_plugin_errorplugin", "label": "ErrorPlugin", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L17"}, {"id": "plugin", "label": "Plugin", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "error_plugin_plugin_errorplugin_can_handle", "label": ".can_handle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L25"}, {"id": "error_plugin_plugin_errorplugin_transform", "label": ".transform()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L28"}, {"id": "error_plugin_plugin_rationale_1", "label": "error_plugin -- raises PluginError mid-transform. Exercises the Backend Spec \u00a76", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L1"}, {"id": "error_plugin_plugin_rationale_18", "label": "Always raises PluginError on transform.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L18"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_plugin_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_plugin_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_plugin_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_plugin_py", "target": "exlab_wizard_plugins", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_plugin_py", "target": "error_plugin_plugin_errorplugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L17", "weight": 1.0}, {"source": "error_plugin_plugin_errorplugin", "target": "plugin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L17", "weight": 1.0}, {"source": "error_plugin_plugin_errorplugin", "target": "error_plugin_plugin_errorplugin_can_handle", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L25", "weight": 1.0}, {"source": "error_plugin_plugin_errorplugin", "target": "error_plugin_plugin_errorplugin_transform", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L28", "weight": 1.0}, {"source": "error_plugin_plugin_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_plugin_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L1", "weight": 1.0}, {"source": "error_plugin_plugin_rationale_18", "target": "error_plugin_plugin_errorplugin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L18", "weight": 1.0}], "raw_calls": [{"caller_nid": "error_plugin_plugin_errorplugin_transform", "callee": "PluginError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py", "source_location": "L29"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/4cee7330ad11ed90efc78f859a27e8874266d5445315c6ffc5dc7578bc0e88a2.json b/graphify-out/cache/ast/4cee7330ad11ed90efc78f859a27e8874266d5445315c6ffc5dc7578bc0e88a2.json deleted file mode 100644 index 172174c..0000000 --- a/graphify-out/cache/ast/4cee7330ad11ed90efc78f859a27e8874266d5445315c6ffc5dc7578bc0e88a2.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "label": "_worker.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L1"}, {"id": "plugins_worker_workeroutcome", "label": "_WorkerOutcome", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L57"}, {"id": "plugins_worker_read_stdin_envelope", "label": "_read_stdin_envelope()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L73"}, {"id": "plugins_worker_decode_files", "label": "_decode_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L88"}, {"id": "plugins_worker_build_context", "label": "_build_context()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L105"}, {"id": "plugins_worker_load_plugin_class", "label": "_load_plugin_class()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L144"}, {"id": "plugins_worker_run_lifecycle", "label": "_run_lifecycle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L170"}, {"id": "plugins_worker_serialize_change", "label": "_serialize_change()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L296"}, {"id": "plugins_worker_swallowcallbackerrors", "label": "_SwallowCallbackErrors", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L311"}, {"id": "plugins_worker_swallowcallbackerrors_enter", "label": ".__enter__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L319"}, {"id": "plugins_worker_swallowcallbackerrors_exit", "label": ".__exit__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L322"}, {"id": "plugins_worker_main", "label": "main()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L350"}, {"id": "plugins_worker_rationale_1", "label": "Plugin worker entry point. Backend Spec \u00a76.3.1, \u00a76.3.2. Invoked as ``python -m", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L1"}, {"id": "plugins_worker_rationale_58", "label": "Aggregated worker-side result before stdout serialization.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L58"}, {"id": "plugins_worker_rationale_74", "label": "Read a single JSON object from stdin and return it as a dict. The host writ", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L74"}, {"id": "plugins_worker_rationale_89", "label": "Resolve incoming file path strings against ``dst_root``. Paths are accepted", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L89"}, {"id": "plugins_worker_rationale_110", "label": "Materialize a :class:`PluginContext` from the stdin envelope. Returns the c", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L110"}, {"id": "plugins_worker_rationale_145", "label": "Import the plugin module and return the exported ``Plugin`` symbol. The hos", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L145"}, {"id": "plugins_worker_rationale_177", "label": "Execute the plugin's transform lifecycle against ``files``. The lifecycle i", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L177"}, {"id": "plugins_worker_rationale_297", "label": "Convert a :class:`FileChange` to its IPC dict shape.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L297"}, {"id": "plugins_worker_rationale_312", "label": "Context manager that suppresses errors from ``on_plugin_failure``. Per Back", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L312"}, {"id": "plugins_worker_rationale_351", "label": "Worker entry point. Returns the process exit code.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L351"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "importlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "traceback", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "exlab_wizard_plugins_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "exlab_wizard_plugins_logger", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "plugins_worker_workeroutcome", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "plugins_worker_read_stdin_envelope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L73", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "plugins_worker_decode_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L88", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "plugins_worker_build_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L105", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "plugins_worker_load_plugin_class", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L144", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "plugins_worker_run_lifecycle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L170", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "plugins_worker_serialize_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L296", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "plugins_worker_swallowcallbackerrors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L311", "weight": 1.0}, {"source": "plugins_worker_swallowcallbackerrors", "target": "plugins_worker_swallowcallbackerrors_enter", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L319", "weight": 1.0}, {"source": "plugins_worker_swallowcallbackerrors", "target": "plugins_worker_swallowcallbackerrors_exit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L322", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "target": "plugins_worker_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L350", "weight": 1.0}, {"source": "plugins_worker_build_context", "target": "plugins_worker_decode_files", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L133", "weight": 1.0}, {"source": "plugins_worker_run_lifecycle", "target": "plugins_worker_workeroutcome", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L196", "weight": 1.0}, {"source": "plugins_worker_run_lifecycle", "target": "plugins_worker_swallowcallbackerrors", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L213", "weight": 1.0}, {"source": "plugins_worker_run_lifecycle", "target": "plugins_worker_serialize_change", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L249", "weight": 1.0}, {"source": "plugins_worker_main", "target": "plugins_worker_read_stdin_envelope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L355", "weight": 1.0}, {"source": "plugins_worker_main", "target": "plugins_worker_build_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L386", "weight": 1.0}, {"source": "plugins_worker_main", "target": "plugins_worker_load_plugin_class", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L402", "weight": 1.0}, {"source": "plugins_worker_main", "target": "plugins_worker_run_lifecycle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L424", "weight": 1.0}, {"source": "plugins_worker_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_worker_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L1", "weight": 1.0}, {"source": "plugins_worker_rationale_58", "target": "plugins_worker_workeroutcome", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L58", "weight": 1.0}, {"source": "plugins_worker_rationale_74", "target": "plugins_worker_read_stdin_envelope", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L74", "weight": 1.0}, {"source": "plugins_worker_rationale_89", "target": "plugins_worker_decode_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L89", "weight": 1.0}, {"source": "plugins_worker_rationale_110", "target": "plugins_worker_build_context", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L110", "weight": 1.0}, {"source": "plugins_worker_rationale_145", "target": "plugins_worker_load_plugin_class", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L145", "weight": 1.0}, {"source": "plugins_worker_rationale_177", "target": "plugins_worker_run_lifecycle", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L177", "weight": 1.0}, {"source": "plugins_worker_rationale_297", "target": "plugins_worker_serialize_change", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L297", "weight": 1.0}, {"source": "plugins_worker_rationale_312", "target": "plugins_worker_swallowcallbackerrors", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L312", "weight": 1.0}, {"source": "plugins_worker_rationale_351", "target": "plugins_worker_main", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L351", "weight": 1.0}], "raw_calls": [{"caller_nid": "plugins_worker_read_stdin_envelope", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L82"}, {"caller_nid": "plugins_worker_read_stdin_envelope", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L84"}, {"caller_nid": "plugins_worker_read_stdin_envelope", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L85"}, {"caller_nid": "plugins_worker_decode_files", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L98"}, {"caller_nid": "plugins_worker_decode_files", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L98"}, {"caller_nid": "plugins_worker_decode_files", "callee": "is_absolute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L99"}, {"caller_nid": "plugins_worker_decode_files", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L101"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L116"}, {"caller_nid": "plugins_worker_build_context", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L117"}, {"caller_nid": "plugins_worker_build_context", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L117"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L117"}, {"caller_nid": "plugins_worker_build_context", "callee": "getcwd", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L117"}, {"caller_nid": "plugins_worker_build_context", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L118"}, {"caller_nid": "plugins_worker_build_context", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L118"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L118"}, {"caller_nid": "plugins_worker_build_context", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L118"}, {"caller_nid": "plugins_worker_build_context", "callee": "PluginContext", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L120"}, {"caller_nid": "plugins_worker_build_context", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L121"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L121"}, {"caller_nid": "plugins_worker_build_context", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L124"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L124"}, {"caller_nid": "plugins_worker_build_context", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L125"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L125"}, {"caller_nid": "plugins_worker_build_context", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L126"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L126"}, {"caller_nid": "plugins_worker_build_context", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L127"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L127"}, {"caller_nid": "plugins_worker_build_context", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L128"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L128"}, {"caller_nid": "plugins_worker_build_context", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L129"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L129"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L133"}, {"caller_nid": "plugins_worker_build_context", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L134"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L134"}, {"caller_nid": "plugins_worker_build_context", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L135"}, {"caller_nid": "plugins_worker_build_context", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L135"}, {"caller_nid": "plugins_worker_load_plugin_class", "callee": "import_module", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L152"}, {"caller_nid": "plugins_worker_load_plugin_class", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L153"}, {"caller_nid": "plugins_worker_load_plugin_class", "callee": "ImportError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L155"}, {"caller_nid": "plugins_worker_load_plugin_class", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L158"}, {"caller_nid": "plugins_worker_load_plugin_class", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L158"}, {"caller_nid": "plugins_worker_load_plugin_class", "callee": "TypeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L159"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L205"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L205"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "pre_transform_all", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L208"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "on_plugin_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L214"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L218"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "on_plugin_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L221"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "can_handle", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L226"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L227"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L228"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L232"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L234"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L237"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "describe_changes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L244"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L245"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L247"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "transform", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L253"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L254"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L255"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L261"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L262"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "on_plugin_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L265"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L269"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L271"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L273"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L276"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "on_plugin_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L280"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "post_transform_all", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L284"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L287"}, {"caller_nid": "plugins_worker_run_lifecycle", "callee": "on_plugin_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L290"}, {"caller_nid": "plugins_worker_serialize_change", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L299"}, {"caller_nid": "plugins_worker_serialize_change", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L302"}, {"caller_nid": "plugins_worker_swallowcallbackerrors_exit", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L325"}, {"caller_nid": "plugins_worker_swallowcallbackerrors_exit", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L326"}, {"caller_nid": "plugins_worker_swallowcallbackerrors_exit", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L331"}, {"caller_nid": "plugins_worker_swallowcallbackerrors_exit", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L332"}, {"caller_nid": "plugins_worker_swallowcallbackerrors_exit", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L338"}, {"caller_nid": "plugins_worker_main", "callee": "WorkerPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L352"}, {"caller_nid": "plugins_worker_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L357"}, {"caller_nid": "plugins_worker_main", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L358"}, {"caller_nid": "plugins_worker_main", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L362"}, {"caller_nid": "plugins_worker_main", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L362"}, {"caller_nid": "plugins_worker_main", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L367"}, {"caller_nid": "plugins_worker_main", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L370"}, {"caller_nid": "plugins_worker_main", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L370"}, {"caller_nid": "plugins_worker_main", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L370"}, {"caller_nid": "plugins_worker_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L372"}, {"caller_nid": "plugins_worker_main", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L373"}, {"caller_nid": "plugins_worker_main", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L382"}, {"caller_nid": "plugins_worker_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L388"}, {"caller_nid": "plugins_worker_main", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L389"}, {"caller_nid": "plugins_worker_main", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L393"}, {"caller_nid": "plugins_worker_main", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L393"}, {"caller_nid": "plugins_worker_main", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L398"}, {"caller_nid": "plugins_worker_main", "callee": "plugin_cls", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L403"}, {"caller_nid": "plugins_worker_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L405"}, {"caller_nid": "plugins_worker_main", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L406"}, {"caller_nid": "plugins_worker_main", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L412"}, {"caller_nid": "plugins_worker_main", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L413"}, {"caller_nid": "plugins_worker_main", "callee": "format_exc", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L414"}, {"caller_nid": "plugins_worker_main", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L420"}, {"caller_nid": "plugins_worker_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L426"}, {"caller_nid": "plugins_worker_main", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L427"}, {"caller_nid": "plugins_worker_main", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L432"}, {"caller_nid": "plugins_worker_main", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L433"}, {"caller_nid": "plugins_worker_main", "callee": "format_exc", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L434"}, {"caller_nid": "plugins_worker_main", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L440"}, {"caller_nid": "plugins_worker_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L450"}, {"caller_nid": "plugins_worker_main", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L450"}, {"caller_nid": "plugins_worker_main", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py", "source_location": "L451"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/4dc162a2a3937aca7184b82e0b6bae2da1a4dd1d31b37e9e3edc01b1ecbab710.json b/graphify-out/cache/ast/4dc162a2a3937aca7184b82e0b6bae2da1a4dd1d31b37e9e3edc01b1ecbab710.json deleted file mode 100644 index b7d6f24..0000000 --- a/graphify-out/cache/ast/4dc162a2a3937aca7184b82e0b6bae2da1a4dd1d31b37e9e3edc01b1ecbab710.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_keyring_py", "label": "keyring.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/keyring.py", "source_location": "L1"}, {"id": "constants_keyring_keyring_nas_username", "label": "keyring_nas_username()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/keyring.py", "source_location": "L26"}, {"id": "constants_keyring_rationale_1", "label": "OS-keyring service/username conventions used for credential storage. The wizard", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/keyring.py", "source_location": "L1"}, {"id": "constants_keyring_rationale_27", "label": "Return the keyring username for the given equipment's NAS credential. Equip", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/keyring.py", "source_location": "L27"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_keyring_py", "target": "exlab_wizard_constants_app", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/keyring.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_keyring_py", "target": "constants_keyring_keyring_nas_username", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/keyring.py", "source_location": "L26", "weight": 1.0}, {"source": "constants_keyring_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_keyring_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/keyring.py", "source_location": "L1", "weight": 1.0}, {"source": "constants_keyring_rationale_27", "target": "constants_keyring_keyring_nas_username", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/keyring.py", "source_location": "L27", "weight": 1.0}], "raw_calls": [{"caller_nid": "constants_keyring_keyring_nas_username", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/keyring.py", "source_location": "L34"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/4de544cd5a94ce6637589519eb5590af1d31d7e65df1561cd18c795a4ae79f1e.json b/graphify-out/cache/ast/4de544cd5a94ce6637589519eb5590af1d31d7e65df1561cd18c795a4ae79f1e.json deleted file mode 100644 index 979465f..0000000 --- a/graphify-out/cache/ast/4de544cd5a94ce6637589519eb5590af1d31d7e65df1561cd18c795a4ae79f1e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "label": "test_flow_25_production_main_wiring.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L1"}, {"id": "e2e_test_flow_25_production_main_wiring_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L21"}, {"id": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "label": "test_flow_25_main_route_renders_redesigned_layout()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L40"}, {"id": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard", "label": "test_flow_25_add_equipment_button_navigates_to_wizard()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L75"}, {"id": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", "label": "test_flow_25_select_node_threads_selected_into_url()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L82"}, {"id": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", "label": "test_flow_25_selected_query_renders_centre_and_right_panes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L95"}, {"id": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", "label": "test_flow_25_breadcrumb_navigation_re_navigates_main()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L105"}, {"id": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "label": "test_flow_25_toggle_right_pane_toggles_query_param()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L121"}, {"id": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", "label": "test_flow_25_tree_context_action_deep_links_into_settings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L132"}, {"id": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", "label": "test_flow_25_received_equipment_disables_creation_buttons()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L147"}, {"id": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", "label": "test_flow_25_footer_clear_verified_routes_to_callback()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L172"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_1", "label": "E2E flow 25: production /main is wired to the redesigned renderer. This suite e", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L1"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_22", "label": "Navigate to ``url`` with one retry on transient NiceGUI failures.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L22"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_41", "label": "The /main route mounts the redesigned renderer, not the legacy one. Asserts", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L41"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_76", "label": "The Add Equipment toolbar button navigates to /wizard/equipment.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L76"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_83", "label": "Clicking an equipment node updates the URL with ?selected=. Exercises o", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L83"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_96", "label": "Loading /main?selected=TEST_EQ1 directly renders the centre + right panes.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L96"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_106", "label": "Clicking a breadcrumb segment routes back through /main?selected=. The brea", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L106"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_122", "label": "Clicking the right-pane toggle flips ?right_pane=collapsed in the URL.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L122"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_133", "label": "Owned-equipment Edit menu navigates to /settings with the equipment id. Rou", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L133"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_148", "label": "Selecting a TEST_RELAY_* node disables the New Project/Run/Test-Run buttons.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L148"}, {"id": "e2e_test_flow_25_production_main_wiring_rationale_173", "label": "The footer Clear-verified button is wired to a callback. Asserts the button", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L173"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L82", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L95", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L105", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L132", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L147", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L172", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L50", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L77", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L89", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L97", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L112", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L123", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L137", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L154", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L180", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_25_production_main_wiring_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_22", "target": "e2e_test_flow_25_production_main_wiring_goto", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L22", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_41", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L41", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_76", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L76", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_83", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L83", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_96", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L96", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_106", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L106", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_122", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L122", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_133", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L133", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_148", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L148", "weight": 1.0}, {"source": "e2e_test_flow_25_production_main_wiring_rationale_173", "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L173", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_25_production_main_wiring_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L24"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L59"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L59"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L62"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L62"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L63"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L63"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L64"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L64"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L67"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L67"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L78"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L78"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L79"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L90"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L90"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L91"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L91"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L92"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L100"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L100"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L102"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L102"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L113"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L113"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L114"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L115"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L117"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L118"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L124"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L124"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L125"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L125"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L126"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L128"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L128"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L129"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L138"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L139"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L140"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L141"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L141"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L142"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L161"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L162"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", "callee": "get_attribute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L163"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L168"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", "callee": "get_attribute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L169"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L181"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L182"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L183"}, {"caller_nid": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py", "source_location": "L186"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/4e19bfe780b0771a6a6bb9ba0b26b0f8e03859a0b09dba96f7ef4b91b2aa5627.json b/graphify-out/cache/ast/4e19bfe780b0771a6a6bb9ba0b26b0f8e03859a0b09dba96f7ef4b91b2aa5627.json deleted file mode 100644 index 3b4ccb7..0000000 --- a/graphify-out/cache/ast/4e19bfe780b0771a6a6bb9ba0b26b0f8e03859a0b09dba96f7ef4b91b2aa5627.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "label": "app.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L1"}, {"id": "api_app_auditchannel", "label": "AuditChannel", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L77"}, {"id": "api_app_auditchannel_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L85"}, {"id": "api_app_auditchannel_subscribe", "label": ".subscribe()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L89"}, {"id": "api_app_auditchannel_publish_snapshot", "label": ".publish_snapshot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L97"}, {"id": "api_app_auditchannel_publish_delta", "label": ".publish_delta()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L106"}, {"id": "api_app_auditchannel_broadcast", "label": "._broadcast()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L123"}, {"id": "api_app_auditchannel_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L128"}, {"id": "api_app_drain", "label": "_drain()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L136"}, {"id": "api_app_finding_to_dict", "label": "_finding_to_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L152"}, {"id": "api_app_appdependencies", "label": "AppDependencies", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L167"}, {"id": "api_app_create_app", "label": "create_app()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L254"}, {"id": "api_app_audit_loop", "label": "_audit_loop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L339"}, {"id": "api_app_diff_findings", "label": "_diff_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L381"}, {"id": "api_app_rationale_1", "label": "FastAPI app + lifespan + dependency wiring. Backend Spec \u00a74.6. The :func:`creat", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L1"}, {"id": "api_app_rationale_78", "label": "Multi-subscriber pub-sub for the Problems WebSocket. Backend Spec \u00a74.6.2. S", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L78"}, {"id": "api_app_rationale_90", "label": "Return an async iterator that yields every published frame.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L90"}, {"id": "api_app_rationale_129", "label": "Close every subscriber's queue. Idempotent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L129"}, {"id": "api_app_rationale_140", "label": "Yield from the subscriber queue until a sentinel arrives.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L140"}, {"id": "api_app_rationale_153", "label": "Best-effort serialize a Finding-like object to dict.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L153"}, {"id": "api_app_rationale_168", "label": "Bundle of live components the API surface dispatches to. Production wiring", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L168"}, {"id": "api_app_rationale_261", "label": "Build the FastAPI app. Backend Spec \u00a74.6. ``config``: optional pre-loaded `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L261"}, {"id": "api_app_rationale_340", "label": "Background task that re-runs the validator audit every interval. Diffs the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L340"}, {"id": "api_app_rationale_384", "label": "Return ``(added, removed, changed)`` keyed on ``(rule, offending_path)``. T", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L384"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "contextlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_api_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_api_health", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_api_routers_browse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_api_routers_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_api_routers_operations", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_api_routers_problems", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_api_routers_sessions", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_api_routers_staging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_api_setup", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "api_app_auditchannel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L77", "weight": 1.0}, {"source": "api_app_auditchannel", "target": "api_app_auditchannel_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L85", "weight": 1.0}, {"source": "api_app_auditchannel", "target": "api_app_auditchannel_subscribe", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L89", "weight": 1.0}, {"source": "api_app_auditchannel", "target": "api_app_auditchannel_publish_snapshot", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L97", "weight": 1.0}, {"source": "api_app_auditchannel", "target": "api_app_auditchannel_publish_delta", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L106", "weight": 1.0}, {"source": "api_app_auditchannel", "target": "api_app_auditchannel_broadcast", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L123", "weight": 1.0}, {"source": "api_app_auditchannel", "target": "api_app_auditchannel_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "api_app_drain", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L136", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "api_app_finding_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "api_app_appdependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L167", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "api_app_create_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L254", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "api_app_audit_loop", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L339", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "target": "api_app_diff_findings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L381", "weight": 1.0}, {"source": "api_app_auditchannel_subscribe", "target": "api_app_drain", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L95", "weight": 1.0}, {"source": "api_app_auditchannel_publish_snapshot", "target": "api_app_finding_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L100", "weight": 1.0}, {"source": "api_app_auditchannel_publish_snapshot", "target": "api_app_auditchannel_broadcast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L104", "weight": 1.0}, {"source": "api_app_auditchannel_publish_delta", "target": "api_app_finding_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L116", "weight": 1.0}, {"source": "api_app_auditchannel_publish_delta", "target": "api_app_auditchannel_broadcast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L121", "weight": 1.0}, {"source": "api_app_create_app", "target": "api_app_appdependencies", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L271", "weight": 1.0}, {"source": "api_app_create_app", "target": "api_app_auditchannel", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L273", "weight": 1.0}, {"source": "api_app_audit_loop", "target": "api_app_diff_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L368", "weight": 1.0}, {"source": "api_app_audit_loop", "target": "api_app_auditchannel_publish_snapshot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L371", "weight": 1.0}, {"source": "api_app_audit_loop", "target": "api_app_auditchannel_publish_delta", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L373", "weight": 1.0}, {"source": "api_app_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_app_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L1", "weight": 1.0}, {"source": "api_app_rationale_78", "target": "api_app_auditchannel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L78", "weight": 1.0}, {"source": "api_app_rationale_90", "target": "api_app_auditchannel_subscribe", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L90", "weight": 1.0}, {"source": "api_app_rationale_129", "target": "api_app_auditchannel_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L129", "weight": 1.0}, {"source": "api_app_rationale_140", "target": "api_app_drain", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L140", "weight": 1.0}, {"source": "api_app_rationale_153", "target": "api_app_finding_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L153", "weight": 1.0}, {"source": "api_app_rationale_168", "target": "api_app_appdependencies", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L168", "weight": 1.0}, {"source": "api_app_rationale_261", "target": "api_app_create_app", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L261", "weight": 1.0}, {"source": "api_app_rationale_340", "target": "api_app_audit_loop", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L340", "weight": 1.0}, {"source": "api_app_rationale_384", "target": "api_app_diff_findings", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L384", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_app_auditchannel_subscribe", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L91"}, {"caller_nid": "api_app_auditchannel_subscribe", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L92"}, {"caller_nid": "api_app_auditchannel_subscribe", "callee": "put_nowait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L94"}, {"caller_nid": "api_app_auditchannel_broadcast", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L124"}, {"caller_nid": "api_app_auditchannel_broadcast", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L125"}, {"caller_nid": "api_app_auditchannel_broadcast", "callee": "put_nowait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L126"}, {"caller_nid": "api_app_auditchannel_close", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L131"}, {"caller_nid": "api_app_auditchannel_close", "callee": "put_nowait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L132"}, {"caller_nid": "api_app_auditchannel_close", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L133"}, {"caller_nid": "api_app_drain", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L143"}, {"caller_nid": "api_app_drain", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L144"}, {"caller_nid": "api_app_drain", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L148"}, {"caller_nid": "api_app_drain", "callee": "remove", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L149"}, {"caller_nid": "api_app_finding_to_dict", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L154"}, {"caller_nid": "api_app_finding_to_dict", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L155"}, {"caller_nid": "api_app_finding_to_dict", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L156"}, {"caller_nid": "api_app_finding_to_dict", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L158"}, {"caller_nid": "api_app_create_app", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L311"}, {"caller_nid": "api_app_create_app", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L314"}, {"caller_nid": "api_app_create_app", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L315"}, {"caller_nid": "api_app_create_app", "callee": "build_sessions_router", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L315"}, {"caller_nid": "api_app_create_app", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L316"}, {"caller_nid": "api_app_create_app", "callee": "build_operations_router", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L316"}, {"caller_nid": "api_app_create_app", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L317"}, {"caller_nid": "api_app_create_app", "callee": "build_problems_router", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L317"}, {"caller_nid": "api_app_create_app", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L318"}, {"caller_nid": "api_app_create_app", "callee": "build_config_router", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L318"}, {"caller_nid": "api_app_create_app", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L319"}, {"caller_nid": "api_app_create_app", "callee": "build_browse_router", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L319"}, {"caller_nid": "api_app_create_app", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L320"}, {"caller_nid": "api_app_create_app", "callee": "build_health_router", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L320"}, {"caller_nid": "api_app_create_app", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L321"}, {"caller_nid": "api_app_create_app", "callee": "build_setup_router", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L321"}, {"caller_nid": "api_app_create_app", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L327"}, {"caller_nid": "api_app_create_app", "callee": "build_staging_router", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L327"}, {"caller_nid": "api_app_create_app", "callee": "include_router", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L328"}, {"caller_nid": "api_app_create_app", "callee": "register_exception_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L330"}, {"caller_nid": "api_app_audit_loop", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L348"}, {"caller_nid": "api_app_audit_loop", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L350"}, {"caller_nid": "api_app_audit_loop", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L354"}, {"caller_nid": "api_app_audit_loop", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L356"}, {"caller_nid": "api_app_audit_loop", "callee": "sum", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L362"}, {"caller_nid": "api_app_audit_loop", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L363"}, {"caller_nid": "api_app_audit_loop", "callee": "sum", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L365"}, {"caller_nid": "api_app_audit_loop", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L366"}, {"caller_nid": "api_app_audit_loop", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L376"}, {"caller_nid": "api_app_diff_findings", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L392"}, {"caller_nid": "api_app_diff_findings", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L393"}, {"caller_nid": "api_app_diff_findings", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L395"}, {"caller_nid": "api_app_diff_findings", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L396"}, {"caller_nid": "api_app_diff_findings", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py", "source_location": "L403"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/4e38efb60a50b0454590ba538a160e146a00f0a1ec4315bf48844f73b64eaa35.json b/graphify-out/cache/ast/4e38efb60a50b0454590ba538a160e146a00f0a1ec4315bf48844f73b64eaa35.json deleted file mode 100644 index bfdae0c..0000000 --- a/graphify-out/cache/ast/4e38efb60a50b0454590ba538a160e146a00f0a1ec4315bf48844f73b64eaa35.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "label": "test_loader.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L1"}, {"id": "config_test_loader_test_load_config_complete_yaml", "label": "test_load_config_complete_yaml()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L46"}, {"id": "config_test_loader_test_load_config_missing_file_raises", "label": "test_load_config_missing_file_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L83"}, {"id": "config_test_loader_test_load_config_invalid_yaml_raises", "label": "test_load_config_invalid_yaml_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L91"}, {"id": "config_test_loader_test_load_config_top_level_not_mapping_raises", "label": "test_load_config_top_level_not_mapping_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L100"}, {"id": "config_test_loader_test_load_config_validation_error_raises_config_error", "label": "test_load_config_validation_error_raises_config_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L108"}, {"id": "config_test_loader_test_load_config_from_text_empty_returns_empty_config", "label": "test_load_config_from_text_empty_returns_empty_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L132"}, {"id": "config_test_loader_test_load_config_unreadable_path_raises_config_error", "label": "test_load_config_unreadable_path_raises_config_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L141"}, {"id": "config_test_loader_test_save_config_atomic", "label": "test_save_config_atomic()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L163"}, {"id": "config_test_loader_test_save_config_preserves_comments_round_trip", "label": "test_save_config_preserves_comments_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L175"}, {"id": "config_test_loader_test_save_config_preserves_key_order", "label": "test_save_config_preserves_key_order()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L189"}, {"id": "config_test_loader_test_save_config_creates_parent_dirs", "label": "test_save_config_creates_parent_dirs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L205"}, {"id": "config_test_loader_test_save_config_without_original_text_writes_fresh", "label": "test_save_config_without_original_text_writes_fresh()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L215"}, {"id": "config_test_loader_test_dump_config_round_trip", "label": "test_dump_config_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L234"}, {"id": "config_test_loader_test_test_mode_unset_leaves_equipment_ids_unchanged", "label": "test_test_mode_unset_leaves_equipment_ids_unchanged()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L306"}, {"id": "config_test_loader_test_test_mode_enabled_prefixes_every_equipment_id", "label": "test_test_mode_enabled_prefixes_every_equipment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L313"}, {"id": "config_test_loader_test_test_mode_is_idempotent_on_already_prefixed_ids", "label": "test_test_mode_is_idempotent_on_already_prefixed_ids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L326"}, {"id": "config_test_loader_test_test_mode_preserves_unique_id_invariant", "label": "test_test_mode_preserves_unique_id_invariant()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L358"}, {"id": "config_test_loader_test_test_mode_truthy_values_trigger_prefix", "label": "test_test_mode_truthy_values_trigger_prefix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L374"}, {"id": "config_test_loader_test_test_mode_falsy_values_do_not_trigger_prefix", "label": "test_test_mode_falsy_values_do_not_trigger_prefix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L386"}, {"id": "config_test_loader_test_test_mode_unset_via_delenv_does_not_trigger_prefix", "label": "test_test_mode_unset_via_delenv_does_not_trigger_prefix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L395"}, {"id": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function", "label": "test_apply_test_mode_prefix_helper_is_a_pure_function()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L404"}, {"id": "config_test_loader_test_load_config_uses_ruamel_round_trip", "label": "test_load_config_uses_ruamel_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L423"}, {"id": "config_test_loader_rationale_1", "label": "Tests for ``exlab_wizard.config.loader``. Backend Spec \u00a79. The loader is the si", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L1"}, {"id": "config_test_loader_rationale_307", "label": "The default code path is a no-op: no env var, no rewrite.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L307"}, {"id": "config_test_loader_rationale_314", "label": "A truthy env value rewrites every id with the canonical prefix.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L314"}, {"id": "config_test_loader_rationale_329", "label": "An already-``TEST_``-prefixed id must NOT be re-prefixed.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L329"}, {"id": "config_test_loader_rationale_359", "label": "The transformed config still passes Config.model_validate.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L359"}, {"id": "config_test_loader_rationale_377", "label": "Every accepted spelling flips the loader on (case-insensitive).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L377"}, {"id": "config_test_loader_rationale_389", "label": "Falsy / unrecognized values leave the loaded config untouched.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L389"}, {"id": "config_test_loader_rationale_398", "label": "An absent env var (not just empty) leaves the config untouched.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L398"}, {"id": "config_test_loader_rationale_407", "label": "``apply_test_mode_prefix`` itself ignores the env var. The env-var check is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L407"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "ruamel_yaml", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "exlab_wizard_config_loader", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_load_config_complete_yaml", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_load_config_missing_file_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_load_config_invalid_yaml_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L91", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_load_config_top_level_not_mapping_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L100", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_load_config_validation_error_raises_config_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_load_config_from_text_empty_returns_empty_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L132", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_load_config_unreadable_path_raises_config_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L141", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_save_config_atomic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L163", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_save_config_preserves_comments_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_save_config_preserves_key_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_save_config_creates_parent_dirs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L205", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_save_config_without_original_text_writes_fresh", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L215", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_dump_config_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L234", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_test_mode_unset_leaves_equipment_ids_unchanged", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L306", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_test_mode_enabled_prefixes_every_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L313", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_test_mode_is_idempotent_on_already_prefixed_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L326", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_test_mode_preserves_unique_id_invariant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L358", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_test_mode_truthy_values_trigger_prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L374", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_test_mode_falsy_values_do_not_trigger_prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L386", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_test_mode_unset_via_delenv_does_not_trigger_prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L395", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L404", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "target": "config_test_loader_test_load_config_uses_ruamel_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L423", "weight": 1.0}, {"source": "config_test_loader_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_config_test_loader_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L1", "weight": 1.0}, {"source": "config_test_loader_rationale_307", "target": "config_test_loader_test_test_mode_unset_leaves_equipment_ids_unchanged", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L307", "weight": 1.0}, {"source": "config_test_loader_rationale_314", "target": "config_test_loader_test_test_mode_enabled_prefixes_every_equipment_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L314", "weight": 1.0}, {"source": "config_test_loader_rationale_329", "target": "config_test_loader_test_test_mode_is_idempotent_on_already_prefixed_ids", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L329", "weight": 1.0}, {"source": "config_test_loader_rationale_359", "target": "config_test_loader_test_test_mode_preserves_unique_id_invariant", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L359", "weight": 1.0}, {"source": "config_test_loader_rationale_377", "target": "config_test_loader_test_test_mode_truthy_values_trigger_prefix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L377", "weight": 1.0}, {"source": "config_test_loader_rationale_389", "target": "config_test_loader_test_test_mode_falsy_values_do_not_trigger_prefix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L389", "weight": 1.0}, {"source": "config_test_loader_rationale_398", "target": "config_test_loader_test_test_mode_unset_via_delenv_does_not_trigger_prefix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L398", "weight": 1.0}, {"source": "config_test_loader_rationale_407", "target": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L407", "weight": 1.0}], "raw_calls": [{"caller_nid": "config_test_loader_test_load_config_complete_yaml", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L47"}, {"caller_nid": "config_test_loader_test_load_config_complete_yaml", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L48"}, {"caller_nid": "config_test_loader_test_load_config_complete_yaml", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L62"}, {"caller_nid": "config_test_loader_test_load_config_missing_file_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L85"}, {"caller_nid": "config_test_loader_test_load_config_missing_file_raises", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L86"}, {"caller_nid": "config_test_loader_test_load_config_missing_file_raises", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L88"}, {"caller_nid": "config_test_loader_test_load_config_missing_file_raises", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L88"}, {"caller_nid": "config_test_loader_test_load_config_invalid_yaml_raises", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L94"}, {"caller_nid": "config_test_loader_test_load_config_invalid_yaml_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L95"}, {"caller_nid": "config_test_loader_test_load_config_invalid_yaml_raises", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L96"}, {"caller_nid": "config_test_loader_test_load_config_invalid_yaml_raises", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L97"}, {"caller_nid": "config_test_loader_test_load_config_top_level_not_mapping_raises", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L102"}, {"caller_nid": "config_test_loader_test_load_config_top_level_not_mapping_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L103"}, {"caller_nid": "config_test_loader_test_load_config_top_level_not_mapping_raises", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L104"}, {"caller_nid": "config_test_loader_test_load_config_top_level_not_mapping_raises", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L105"}, {"caller_nid": "config_test_loader_test_load_config_validation_error_raises_config_error", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L113"}, {"caller_nid": "config_test_loader_test_load_config_validation_error_raises_config_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L126"}, {"caller_nid": "config_test_loader_test_load_config_validation_error_raises_config_error", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L127"}, {"caller_nid": "config_test_loader_test_load_config_validation_error_raises_config_error", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L128"}, {"caller_nid": "config_test_loader_test_load_config_validation_error_raises_config_error", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L129"}, {"caller_nid": "config_test_loader_test_load_config_validation_error_raises_config_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L129"}, {"caller_nid": "config_test_loader_test_load_config_from_text_empty_returns_empty_config", "callee": "load_config_from_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L135"}, {"caller_nid": "config_test_loader_test_load_config_from_text_empty_returns_empty_config", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L136"}, {"caller_nid": "config_test_loader_test_load_config_unreadable_path_raises_config_error", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L147"}, {"caller_nid": "config_test_loader_test_load_config_unreadable_path_raises_config_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L148"}, {"caller_nid": "config_test_loader_test_load_config_unreadable_path_raises_config_error", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L149"}, {"caller_nid": "config_test_loader_test_load_config_unreadable_path_raises_config_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L150"}, {"caller_nid": "config_test_loader_test_load_config_unreadable_path_raises_config_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L150"}, {"caller_nid": "config_test_loader_test_load_config_unreadable_path_raises_config_error", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L153"}, {"caller_nid": "config_test_loader_test_load_config_unreadable_path_raises_config_error", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L155"}, {"caller_nid": "config_test_loader_test_save_config_atomic", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L164"}, {"caller_nid": "config_test_loader_test_save_config_atomic", "callee": "save_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L167"}, {"caller_nid": "config_test_loader_test_save_config_atomic", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L169"}, {"caller_nid": "config_test_loader_test_save_config_atomic", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L172"}, {"caller_nid": "config_test_loader_test_save_config_preserves_comments_round_trip", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L177"}, {"caller_nid": "config_test_loader_test_save_config_preserves_comments_round_trip", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L178"}, {"caller_nid": "config_test_loader_test_save_config_preserves_comments_round_trip", "callee": "save_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L181"}, {"caller_nid": "config_test_loader_test_save_config_preserves_comments_round_trip", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L183"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L191"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L192"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "save_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L195"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "YAML", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L197"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L198"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L199"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L199"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L202"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "keys", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L202"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L202"}, {"caller_nid": "config_test_loader_test_save_config_preserves_key_order", "callee": "keys", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L202"}, {"caller_nid": "config_test_loader_test_save_config_creates_parent_dirs", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L206"}, {"caller_nid": "config_test_loader_test_save_config_creates_parent_dirs", "callee": "save_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L209"}, {"caller_nid": "config_test_loader_test_save_config_creates_parent_dirs", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L211"}, {"caller_nid": "config_test_loader_test_save_config_creates_parent_dirs", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L212"}, {"caller_nid": "config_test_loader_test_save_config_without_original_text_writes_fresh", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L216"}, {"caller_nid": "config_test_loader_test_save_config_without_original_text_writes_fresh", "callee": "save_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L219"}, {"caller_nid": "config_test_loader_test_save_config_without_original_text_writes_fresh", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L225"}, {"caller_nid": "config_test_loader_test_save_config_without_original_text_writes_fresh", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L226"}, {"caller_nid": "config_test_loader_test_save_config_without_original_text_writes_fresh", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L226"}, {"caller_nid": "config_test_loader_test_dump_config_round_trip", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L262"}, {"caller_nid": "config_test_loader_test_dump_config_round_trip", "callee": "dump_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L264"}, {"caller_nid": "config_test_loader_test_dump_config_round_trip", "callee": "load_config_from_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L265"}, {"caller_nid": "config_test_loader_test_dump_config_round_trip", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L266"}, {"caller_nid": "config_test_loader_test_dump_config_round_trip", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L266"}, {"caller_nid": "config_test_loader_test_test_mode_unset_leaves_equipment_ids_unchanged", "callee": "delenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L308"}, {"caller_nid": "config_test_loader_test_test_mode_unset_leaves_equipment_ids_unchanged", "callee": "load_config_from_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L309"}, {"caller_nid": "config_test_loader_test_test_mode_enabled_prefixes_every_equipment_id", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L315"}, {"caller_nid": "config_test_loader_test_test_mode_enabled_prefixes_every_equipment_id", "callee": "load_config_from_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L316"}, {"caller_nid": "config_test_loader_test_test_mode_is_idempotent_on_already_prefixed_ids", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L330"}, {"caller_nid": "config_test_loader_test_test_mode_is_idempotent_on_already_prefixed_ids", "callee": "load_config_from_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L352"}, {"caller_nid": "config_test_loader_test_test_mode_preserves_unique_id_invariant", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L360"}, {"caller_nid": "config_test_loader_test_test_mode_preserves_unique_id_invariant", "callee": "load_config_from_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L361"}, {"caller_nid": "config_test_loader_test_test_mode_preserves_unique_id_invariant", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L366"}, {"caller_nid": "config_test_loader_test_test_mode_preserves_unique_id_invariant", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L366"}, {"caller_nid": "config_test_loader_test_test_mode_preserves_unique_id_invariant", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L367"}, {"caller_nid": "config_test_loader_test_test_mode_preserves_unique_id_invariant", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L370"}, {"caller_nid": "config_test_loader_test_test_mode_truthy_values_trigger_prefix", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L378"}, {"caller_nid": "config_test_loader_test_test_mode_truthy_values_trigger_prefix", "callee": "load_config_from_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L379"}, {"caller_nid": "config_test_loader_test_test_mode_truthy_values_trigger_prefix", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L380"}, {"caller_nid": "config_test_loader_test_test_mode_truthy_values_trigger_prefix", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L380"}, {"caller_nid": "config_test_loader_test_test_mode_falsy_values_do_not_trigger_prefix", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L390"}, {"caller_nid": "config_test_loader_test_test_mode_falsy_values_do_not_trigger_prefix", "callee": "load_config_from_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L391"}, {"caller_nid": "config_test_loader_test_test_mode_unset_via_delenv_does_not_trigger_prefix", "callee": "delenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L399"}, {"caller_nid": "config_test_loader_test_test_mode_unset_via_delenv_does_not_trigger_prefix", "callee": "load_config_from_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L400"}, {"caller_nid": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function", "callee": "delenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L412"}, {"caller_nid": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function", "callee": "load_config_from_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L413"}, {"caller_nid": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function", "callee": "apply_test_mode_prefix", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L414"}, {"caller_nid": "config_test_loader_test_load_config_uses_ruamel_round_trip", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L429"}, {"caller_nid": "config_test_loader_test_load_config_uses_ruamel_round_trip", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L430"}, {"caller_nid": "config_test_loader_test_load_config_uses_ruamel_round_trip", "callee": "save_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L433"}, {"caller_nid": "config_test_loader_test_load_config_uses_ruamel_round_trip", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py", "source_location": "L434"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/4ede0b1018462b7d41300158178b622398500aac1a98362f1bfbbbbc82a02824.json b/graphify-out/cache/ast/4ede0b1018462b7d41300158178b622398500aac1a98362f1bfbbbbc82a02824.json deleted file mode 100644 index edbccae..0000000 --- a/graphify-out/cache/ast/4ede0b1018462b7d41300158178b622398500aac1a98362f1bfbbbbc82a02824.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_superpowers_specs_2026_05_21_operator_free_per_file_nas_sync_design_md", "label": "2026-05-21-operator-free-per-file-nas-sync-design.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L1"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "label": "Operator-free, per-file quiescence-driven NAS sync \u2014 design", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L1"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_context", "label": "Context", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L7"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_goals", "label": "Goals", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L23"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_non_goals", "label": "Non-goals", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L31"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_the_model", "label": "The model", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L38"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_config_changes_config_models_py", "label": "Config changes (`config/models.py`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L63"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_run_lifecycle_rollup_approach_1", "label": "Run lifecycle \u2014 rollup (Approach 1)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L86"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_per_file_sync_state_sync_state_json", "label": "Per-file sync state \u2014 `sync_state.json`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L101"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_codeblock_1", "label": "code:block1 ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L107"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_ingest_json_contract_risk_2_resolution", "label": "`ingest.json` contract (risk 2 resolution)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L124"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_keep_local_per_file", "label": "`keep-local` (per-file)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L137"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_gui_per_file_display_state", "label": "GUI per-file display state", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L146"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_failure_handling", "label": "Failure handling", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L167"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_cleanup_rollup", "label": "Cleanup \u2014 rollup", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L176"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_transport_batching_risk_1_resolution", "label": "Transport batching (risk 1 resolution)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L183"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_components_touched", "label": "Components touched", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L203"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_testing", "label": "Testing", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L228"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_migration", "label": "Migration", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L244"}, {"id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_open_questions_out_of_scope", "label": "Open questions / out of scope", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L252"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_superpowers_specs_2026_05_21_operator_free_per_file_nas_sync_design_md", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L1", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L7", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_goals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L23", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_non_goals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L31", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_the_model", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L38", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_config_changes_config_models_py", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L63", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_run_lifecycle_rollup_approach_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L86", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_per_file_sync_state_sync_state_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L101", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_per_file_sync_state_sync_state_json", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L107", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_ingest_json_contract_risk_2_resolution", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L124", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_keep_local_per_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L137", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_gui_per_file_display_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L146", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_failure_handling", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L167", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_cleanup_rollup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L176", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_transport_batching_risk_1_resolution", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L183", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_components_touched", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L203", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_testing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L228", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_migration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L244", "weight": 1.0}, {"source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_open_questions_out_of_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", "source_location": "L252", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/4ef0374174df8b6355f7257824348925f59f2d2f2a98db62e68d0c58b4ffd882.json b/graphify-out/cache/ast/4ef0374174df8b6355f7257824348925f59f2d2f2a98db62e68d0c58b4ffd882.json deleted file mode 100644 index 9b63b78..0000000 --- a/graphify-out/cache/ast/4ef0374174df8b6355f7257824348925f59f2d2f2a98db62e68d0c58b4ffd882.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "label": "events.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L1"}, {"id": "api_events_phaseevent", "label": "PhaseEvent", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L46"}, {"id": "struct", "label": "Struct", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_events_progressevent", "label": "ProgressEvent", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L63"}, {"id": "api_events_inputrequiredevent", "label": "InputRequiredEvent", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L76"}, {"id": "api_events_warningevent", "label": "WarningEvent", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L96"}, {"id": "api_events_doneevent", "label": "DoneEvent", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L113"}, {"id": "api_events_failedevent", "label": "FailedEvent", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L129"}, {"id": "api_events_snapshotevent", "label": "SnapshotEvent", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L146"}, {"id": "api_events_deltaevent", "label": "DeltaEvent", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L163"}, {"id": "api_events_encode_event", "label": "encode_event()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L189"}, {"id": "api_events_event_from_dict", "label": "event_from_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L198"}, {"id": "api_events_rationale_1", "label": "WebSocket frame envelope types. Backend Spec \u00a74.6.2. These ``msgspec.Struct`` t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L1"}, {"id": "api_events_rationale_52", "label": "Per-state phase frame. Backend Spec \u00a74.6.2. Emitted on every state transiti", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L52"}, {"id": "api_events_rationale_69", "label": "Progress frame for the long-running plugin pass. Backend Spec \u00a74.6.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L69"}, {"id": "api_events_rationale_82", "label": "Plugin escalation frame. Backend Spec \u00a74.6.2 / \u00a76.4. ``fields`` is the plug", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L82"}, {"id": "api_events_rationale_102", "label": "Non-fatal warning frame. Backend Spec \u00a74.6.2. Emitted by the controller whe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L102"}, {"id": "api_events_rationale_119", "label": "Terminal success frame. Backend Spec \u00a74.6.2. ``result`` carries the final s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L119"}, {"id": "api_events_rationale_135", "label": "Terminal failure frame. Backend Spec \u00a74.6.2. ``error`` follows the \u00a74.6.3 e", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L135"}, {"id": "api_events_rationale_152", "label": "Full audit snapshot frame for the Problems pub-sub channel. Sent immediatel", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L152"}, {"id": "api_events_rationale_169", "label": "Delta frame for the Problems pub-sub channel. Backend Spec \u00a74.6.2. Sent on", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L169"}, {"id": "api_events_rationale_190", "label": "Encode a typed WebSocket frame to JSON bytes via ``msgspec.json``. Single d", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L190"}, {"id": "api_events_rationale_199", "label": "Convert a plain dict (e.g. from the controller's event queue) into the match", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L199"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "api_events_phaseevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L46", "weight": 1.0}, {"source": "api_events_phaseevent", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "api_events_progressevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L63", "weight": 1.0}, {"source": "api_events_progressevent", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "api_events_inputrequiredevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L76", "weight": 1.0}, {"source": "api_events_inputrequiredevent", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "api_events_warningevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L96", "weight": 1.0}, {"source": "api_events_warningevent", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L96", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "api_events_doneevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L113", "weight": 1.0}, {"source": "api_events_doneevent", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L113", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "api_events_failedevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L129", "weight": 1.0}, {"source": "api_events_failedevent", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L129", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "api_events_snapshotevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L146", "weight": 1.0}, {"source": "api_events_snapshotevent", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L146", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "api_events_deltaevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L163", "weight": 1.0}, {"source": "api_events_deltaevent", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L163", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "api_events_encode_event", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "target": "api_events_event_from_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L198", "weight": 1.0}, {"source": "api_events_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_events_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L1", "weight": 1.0}, {"source": "api_events_rationale_52", "target": "api_events_phaseevent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L52", "weight": 1.0}, {"source": "api_events_rationale_69", "target": "api_events_progressevent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L69", "weight": 1.0}, {"source": "api_events_rationale_82", "target": "api_events_inputrequiredevent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L82", "weight": 1.0}, {"source": "api_events_rationale_102", "target": "api_events_warningevent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L102", "weight": 1.0}, {"source": "api_events_rationale_119", "target": "api_events_doneevent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L119", "weight": 1.0}, {"source": "api_events_rationale_135", "target": "api_events_failedevent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L135", "weight": 1.0}, {"source": "api_events_rationale_152", "target": "api_events_snapshotevent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L152", "weight": 1.0}, {"source": "api_events_rationale_169", "target": "api_events_deltaevent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L169", "weight": 1.0}, {"source": "api_events_rationale_190", "target": "api_events_encode_event", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L190", "weight": 1.0}, {"source": "api_events_rationale_199", "target": "api_events_event_from_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L199", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_events_encode_event", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L195"}, {"caller_nid": "api_events_event_from_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L211"}, {"caller_nid": "api_events_event_from_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L222"}, {"caller_nid": "api_events_event_from_dict", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L222"}, {"caller_nid": "api_events_event_from_dict", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L225"}, {"caller_nid": "api_events_event_from_dict", "callee": "convert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py", "source_location": "L226"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/4face01f58f97cf4c91402d2512e62d238273fb895e42ba813dba742d606a55a.json b/graphify-out/cache/ast/4face01f58f97cf4c91402d2512e62d238273fb895e42ba813dba742d606a55a.json deleted file mode 100644 index 349f979..0000000 --- a/graphify-out/cache/ast/4face01f58f97cf4c91402d2512e62d238273fb895e42ba813dba742d606a55a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_06_plugin_system_md", "label": "06_Plugin_System.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L1"}, {"id": "design_spec_sections_06_plugin_system_6_plugin_system", "label": "6. Plugin System", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L1"}, {"id": "design_spec_sections_06_plugin_system_6_0_where_plugins_sit_in_the_pipeline", "label": "6.0 Where Plugins Sit in the Pipeline", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L9"}, {"id": "design_spec_sections_06_plugin_system_codeblock_1", "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L11"}, {"id": "design_spec_sections_06_plugin_system_6_1_plugin_contract", "label": "6.1 Plugin Contract", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L52"}, {"id": "design_spec_sections_06_plugin_system_6_1_1_package_layout", "label": "6.1.1 Package layout", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L56"}, {"id": "design_spec_sections_06_plugin_system_codeblock_2", "label": "code:block2 (/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L58"}, {"id": "design_spec_sections_06_plugin_system_6_1_2_manifest_yml_schema", "label": "6.1.2 `manifest.yml` schema", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L70"}, {"id": "design_spec_sections_06_plugin_system_codeblock_3", "label": "code:yaml (# Required identity fields)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L74"}, {"id": "design_spec_sections_06_plugin_system_6_1_3_the_plugin_base_class", "label": "6.1.3 The `Plugin` base class", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L104"}, {"id": "design_spec_sections_06_plugin_system_codeblock_4", "label": "code:python (# exlab_wizard/plugins/__init__.py -- shipped with the app)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L106"}, {"id": "design_spec_sections_06_plugin_system_6_1_5_what_plugins_must_not_touch", "label": "6.1.5 What plugins must not touch", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L254"}, {"id": "design_spec_sections_06_plugin_system_6_1_4_the_plugincontext_object", "label": "6.1.4 The `PluginContext` object", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L266"}, {"id": "design_spec_sections_06_plugin_system_codeblock_5", "label": "code:python (@dataclass(frozen=True))", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L270"}, {"id": "design_spec_sections_06_plugin_system_6_2_plugin_registry", "label": "6.2 Plugin Registry", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L287"}, {"id": "design_spec_sections_06_plugin_system_6_2_1_discovery", "label": "6.2.1 Discovery", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L289"}, {"id": "design_spec_sections_06_plugin_system_6_2_2_resolution_per_creation_session", "label": "6.2.2 Resolution per creation session", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L308"}, {"id": "design_spec_sections_06_plugin_system_6_2_3_order_control_via_exlab_plugins", "label": "6.2.3 Order control via `_exlab_plugins`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L319"}, {"id": "design_spec_sections_06_plugin_system_codeblock_6", "label": "code:yaml (_exlab_plugins:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L323"}, {"id": "design_spec_sections_06_plugin_system_6_2_4_what_gets_recorded_in_creation_json", "label": "6.2.4 What gets recorded in `creation.json`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L334"}, {"id": "design_spec_sections_06_plugin_system_codeblock_7", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L338"}, {"id": "design_spec_sections_06_plugin_system_6_3_subprocess_isolation", "label": "6.3 Subprocess Isolation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L354"}, {"id": "design_spec_sections_06_plugin_system_6_3_1_process_model", "label": "6.3.1 Process model", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L358"}, {"id": "design_spec_sections_06_plugin_system_6_3_2_ipc_envelope", "label": "6.3.2 IPC envelope", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L370"}, {"id": "design_spec_sections_06_plugin_system_codeblock_8", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L376"}, {"id": "design_spec_sections_06_plugin_system_codeblock_9", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L387"}, {"id": "design_spec_sections_06_plugin_system_6_3_3_resource_limits", "label": "6.3.3 Resource limits", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L401"}, {"id": "design_spec_sections_06_plugin_system_6_3_4_failure_handling", "label": "6.3.4 Failure handling", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L422"}, {"id": "design_spec_sections_06_plugin_system_6_3_6_validation_worker_subprocess_mode_validate", "label": "6.3.6 Validation-worker subprocess (mode = `validate`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L439"}, {"id": "design_spec_sections_06_plugin_system_6_3_5_security_model_what_isolation_does_and_does_not_solve", "label": "6.3.5 Security model: what isolation does and does not solve", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L460"}, {"id": "design_spec_sections_06_plugin_system_6_4_plugin_input_escalation_plugininputrequired", "label": "6.4 Plugin Input Escalation (`PluginInputRequired`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L487"}, {"id": "design_spec_sections_06_plugin_system_6_4_1_suspend_resume_flow", "label": "6.4.1 Suspend / resume flow", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L494"}, {"id": "design_spec_sections_06_plugin_system_6_4_2_resume_contract_what_the_plugin_author_must_guarantee", "label": "6.4.2 Resume contract (what the plugin author must guarantee)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L504"}, {"id": "design_spec_sections_06_plugin_system_6_5_base_plugin_scaffold_hello_plugin", "label": "6.5 Base Plugin Scaffold (`hello_plugin`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L517"}, {"id": "design_spec_sections_06_plugin_system_6_5_1_directory", "label": "6.5.1 Directory", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L521"}, {"id": "design_spec_sections_06_plugin_system_codeblock_10", "label": "code:block10 (hello_plugin/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L523"}, {"id": "design_spec_sections_06_plugin_system_6_5_2_init_py", "label": "6.5.2 `__init__.py`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L531"}, {"id": "design_spec_sections_06_plugin_system_codeblock_11", "label": "code:python (\"\"\"hello_plugin -- minimal example plugin for ExLab-Wizard.)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L533"}, {"id": "design_spec_sections_06_plugin_system_6_5_3_manifest_yml", "label": "6.5.3 `manifest.yml`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L544"}, {"id": "design_spec_sections_06_plugin_system_codeblock_12", "label": "code:yaml (name: \"hello_plugin\")", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L546"}, {"id": "design_spec_sections_06_plugin_system_6_5_4_plugin_py", "label": "6.5.4 `plugin.py`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L564"}, {"id": "design_spec_sections_06_plugin_system_codeblock_13", "label": "code:python (from pathlib import Path)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L566"}, {"id": "design_spec_sections_06_plugin_system_6_5_5_readme_md", "label": "6.5.5 `README.md`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L598"}, {"id": "design_spec_sections_06_plugin_system_6_6_worked_example_xlsx_field_filler", "label": "6.6 Worked Example: `xlsx_field_filler`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L602"}, {"id": "design_spec_sections_06_plugin_system_6_6_1_what_it_does", "label": "6.6.1 What it does", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L606"}, {"id": "design_spec_sections_06_plugin_system_6_6_2_manifest_yml", "label": "6.6.2 `manifest.yml`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L610"}, {"id": "design_spec_sections_06_plugin_system_codeblock_14", "label": "code:yaml (name: \"xlsx_field_filler\")", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L612"}, {"id": "design_spec_sections_06_plugin_system_6_6_3_plugin_py", "label": "6.6.3 `plugin.py`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L635"}, {"id": "design_spec_sections_06_plugin_system_codeblock_15", "label": "code:python (from pathlib import Path)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L637"}, {"id": "design_spec_sections_06_plugin_system_6_6_4_what_this_exercises", "label": "6.6.4 What this exercises", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L809"}, {"id": "design_spec_sections_06_plugin_system_6_7_example_plugins_illustrative_catalog", "label": "6.7 Example Plugins (Illustrative Catalog)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L825"}, {"id": "design_spec_sections_06_plugin_system_6_8_plugin_authoring_checklist", "label": "6.8 Plugin Authoring Checklist", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L835"}, {"id": "design_spec_sections_06_plugin_system_6_9_lint_cli_exlab_wizard_plugins_lint", "label": "6.9 Lint CLI: `exlab-wizard plugins lint`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L849"}, {"id": "design_spec_sections_06_plugin_system_codeblock_16", "label": "code:block16 (exlab-wizard plugins lint )", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L855"}, {"id": "design_spec_sections_06_plugin_system_6_10_test_debug_cli_exlab_wizard_plugins_exec", "label": "6.10 Test / Debug CLI: `exlab-wizard plugins exec`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md", "source_location": "L899"}, {"id": "design_spec_sections_06_plugin_system_codeblock_17", "label": "code:block17 (exlab-wizard plugins exec --against :`` (spec, not bare name). Regre", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L240"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "keyring", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "keyring_backend", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "exlab_wizard_constants_keyring", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "exlab_wizard_lims_keyring_store", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "exlab_wizard_sync_nas_client", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "exlab_wizard_tray", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "exlab_wizard_tray_dependencies", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_inmemorykeyring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L44", "weight": 1.0}, {"source": "tray_test_dependencies_inmemorykeyring", "target": "tray_test_dependencies_inmemorykeyring_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L49", "weight": 1.0}, {"source": "tray_test_dependencies_inmemorykeyring", "target": "tray_test_dependencies_inmemorykeyring_get_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L52", "weight": 1.0}, {"source": "tray_test_dependencies_inmemorykeyring", "target": "tray_test_dependencies_inmemorykeyring_set_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L55", "weight": 1.0}, {"source": "tray_test_dependencies_inmemorykeyring", "target": "tray_test_dependencies_inmemorykeyring_delete_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_swap_keyring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_test_build_production_dependencies_exposes_keyring_store", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L120", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L137", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_nas_config_with_two_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L159", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L194", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L208", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L214", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "target": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L237", "weight": 1.0}, {"source": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", "target": "tray_test_dependencies_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L128", "weight": 1.0}, {"source": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", "target": "tray_test_dependencies_inmemorykeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L128", "weight": 1.0}, {"source": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", "target": "tray_test_dependencies_inmemorykeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L130", "weight": 1.0}, {"source": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", "target": "tray_test_dependencies_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L142", "weight": 1.0}, {"source": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", "target": "tray_test_dependencies_inmemorykeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L142", "weight": 1.0}, {"source": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", "target": "tray_test_dependencies_inmemorykeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L144", "weight": 1.0}, {"source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", "target": "tray_test_dependencies_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L197", "weight": 1.0}, {"source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", "target": "tray_test_dependencies_inmemorykeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L197", "weight": 1.0}, {"source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", "target": "tray_test_dependencies_inmemorykeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L200", "weight": 1.0}, {"source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", "target": "tray_test_dependencies_nas_config_with_two_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L201", "weight": 1.0}, {"source": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config", "target": "tray_test_dependencies_nas_config_with_two_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L209", "weight": 1.0}, {"source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", "target": "tray_test_dependencies_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L220", "weight": 1.0}, {"source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", "target": "tray_test_dependencies_inmemorykeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L220", "weight": 1.0}, {"source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", "target": "tray_test_dependencies_nas_config_with_two_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L222", "weight": 1.0}, {"source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "target": "tray_test_dependencies_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L260", "weight": 1.0}, {"source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "target": "tray_test_dependencies_inmemorykeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L260", "weight": 1.0}, {"source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "target": "tray_test_dependencies_nas_config_with_two_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L262", "weight": 1.0}, {"source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "target": "tray_test_dependencies_inmemorykeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L263", "weight": 1.0}, {"source": "tray_test_dependencies_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_tray_test_dependencies_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_test_dependencies_rationale_45", "target": "tray_test_dependencies_inmemorykeyring", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L45", "weight": 1.0}, {"source": "tray_test_dependencies_rationale_73", "target": "tray_test_dependencies_test_build_production_dependencies_exposes_keyring_store", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L73", "weight": 1.0}, {"source": "tray_test_dependencies_rationale_83", "target": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L83", "weight": 1.0}, {"source": "tray_test_dependencies_rationale_121", "target": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L121", "weight": 1.0}, {"source": "tray_test_dependencies_rationale_140", "target": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L140", "weight": 1.0}, {"source": "tray_test_dependencies_rationale_160", "target": "tray_test_dependencies_nas_config_with_two_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L160", "weight": 1.0}, {"source": "tray_test_dependencies_rationale_217", "target": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L217", "weight": 1.0}, {"source": "tray_test_dependencies_rationale_240", "target": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L240", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_test_dependencies_inmemorykeyring_get_password", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L53"}, {"caller_nid": "tray_test_dependencies_inmemorykeyring_delete_password", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L59"}, {"caller_nid": "tray_test_dependencies_swap_keyring", "callee": "get_keyring", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L64"}, {"caller_nid": "tray_test_dependencies_swap_keyring", "callee": "set_keyring", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L65"}, {"caller_nid": "tray_test_dependencies_swap_keyring", "callee": "set_keyring", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L69"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_exposes_keyring_store", "callee": "build_production_dependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L75"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_exposes_keyring_store", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L77"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L91"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L92"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L93"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L93"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L95"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L98"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L101"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L106"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L111"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "build_production_dependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L113"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L115"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L116"}, {"caller_nid": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L117"}, {"caller_nid": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L129"}, {"caller_nid": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L131"}, {"caller_nid": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", "callee": "_check_keyring_present", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L134"}, {"caller_nid": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L143"}, {"caller_nid": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L145"}, {"caller_nid": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", "callee": "_build_lims_client", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L149"}, {"caller_nid": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", "callee": "_password_provider", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L151"}, {"caller_nid": "tray_test_dependencies_nas_config_with_two_equipment", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L161"}, {"caller_nid": "tray_test_dependencies_nas_config_with_two_equipment", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L162"}, {"caller_nid": "tray_test_dependencies_nas_config_with_two_equipment", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L164"}, {"caller_nid": "tray_test_dependencies_nas_config_with_two_equipment", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L170"}, {"caller_nid": "tray_test_dependencies_nas_config_with_two_equipment", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L177"}, {"caller_nid": "tray_test_dependencies_nas_config_with_two_equipment", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L183"}, {"caller_nid": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L198"}, {"caller_nid": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", "callee": "keyring_nas_username", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L200"}, {"caller_nid": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", "callee": "_check_nas_passwords_present", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L203"}, {"caller_nid": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config", "callee": "_check_nas_passwords_present", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L210"}, {"caller_nid": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L210"}, {"caller_nid": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config", "callee": "_check_nas_passwords_present", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L211"}, {"caller_nid": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L211"}, {"caller_nid": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L211"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L221"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", "callee": "build_production_dependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L224"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", "callee": "_make_equipment_probe", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L230"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L231"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", "callee": "probe", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L231"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L253"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L254"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L254"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "copy", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L256"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "chmod", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L257"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L257"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L258"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L261"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "keyring_nas_username", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L263"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "build_production_dependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L265"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "_make_equipment_probe", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L269"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L270"}, {"caller_nid": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", "callee": "probe", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py", "source_location": "L270"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/51b1d63c5037198315baa6c65496fdcebc3f200d9e2cab6120bf0e8e9070a79a.json b/graphify-out/cache/ast/51b1d63c5037198315baa6c65496fdcebc3f200d9e2cab6120bf0e8e9070a79a.json deleted file mode 100644 index 6ef87e9..0000000 --- a/graphify-out/cache/ast/51b1d63c5037198315baa6c65496fdcebc3f200d9e2cab6120bf0e8e9070a79a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "label": "settings.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L1"}, {"id": "pages_settings_password_requiring_nas_equipment", "label": "_password_requiring_nas_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L60"}, {"id": "pages_settings_settings_sections_for", "label": "settings_sections_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L78"}, {"id": "pages_settings_settingsstate", "label": "SettingsState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L98"}, {"id": "pages_settings_first_incomplete_section", "label": "first_incomplete_section()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L107"}, {"id": "pages_settings_save_button_label", "label": "save_button_label()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L128"}, {"id": "pages_settings_section_has_warning", "label": "section_has_warning()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L138"}, {"id": "pages_settings_section_is_dirty", "label": "section_is_dirty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L144"}, {"id": "pages_settings_build_settings_draft", "label": "build_settings_draft()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L150"}, {"id": "pages_settings_finalize_settings_draft", "label": "finalize_settings_draft()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L161"}, {"id": "pages_settings_lims_credential_initial_state", "label": "lims_credential_initial_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L179"}, {"id": "pages_settings_render_settings_page", "label": "render_settings_page()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L192"}, {"id": "pages_settings_render_chip_editor", "label": "_render_chip_editor()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L391"}, {"id": "pages_settings_render_section_body", "label": "_render_section_body()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L476"}, {"id": "pages_settings_render_equipment_section", "label": "_render_equipment_section()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L712"}, {"id": "pages_settings_render_nas_credentials_section", "label": "_render_nas_credentials_section()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L839"}, {"id": "pages_settings_rationale_1", "label": "Settings dialog (Frontend Spec \u00a77). Two-pane modal with a left vertical-nav and", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L1"}, {"id": "pages_settings_rationale_61", "label": "Return nas-mode equipment whose transport sources a keyring password. Share", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L61"}, {"id": "pages_settings_rationale_79", "label": "Return the visible section ids for ``config``. The NAS-credentials section", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L79"}, {"id": "pages_settings_rationale_99", "label": "Mutable state for the dialog.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L99"}, {"id": "pages_settings_rationale_108", "label": "Return the first section ID in canonical order that's incomplete. The dynam", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L108"}, {"id": "pages_settings_rationale_129", "label": "Compute the *Save all* button label, including the badge count.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L129"}, {"id": "pages_settings_rationale_139", "label": "Return ``True`` when the sidebar should decorate ``section``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L139"}, {"id": "pages_settings_rationale_145", "label": "Return ``True`` when ``section`` has uncommitted edits.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L145"}, {"id": "pages_settings_rationale_151", "label": "Return the editable deep-copy draft the settings dialog mutates. ``None`` (", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L151"}, {"id": "pages_settings_rationale_162", "label": "Re-validate a mutated draft into a clean :class:`Config`. The dialog's two-", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L162"}, {"id": "pages_settings_rationale_180", "label": "Return the credential-row state seeding the LIMS password field. A password", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L180"}, {"id": "pages_settings_rationale_211", "label": "Render the settings dialog. ``config`` is the live ``config.yaml`` model (o", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L211"}, {"id": "pages_settings_rationale_401", "label": "Reusable chip / list editor bound to a draft string list (T7 / T10). Mutate", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L401"}, {"id": "pages_settings_rationale_492", "label": "Render the content for a single section, bound to ``draft``. Every scalar f", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L492"}, {"id": "pages_settings_rationale_713", "label": "Render the equipment list + a full add-equipment sub-form. Adding an entry", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L713"}, {"id": "pages_settings_rationale_847", "label": "Render one keyring-credential row + Test-connection panel per equipment. Rc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L847"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "exlab_wizard_ui_components", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_password_requiring_nas_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_settings_sections_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L78", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_settingsstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_first_incomplete_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L107", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_save_button_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_section_has_warning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L138", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_section_is_dirty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L144", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_build_settings_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L150", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_finalize_settings_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L161", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_lims_credential_initial_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L179", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_render_settings_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L192", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_render_chip_editor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L391", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_render_section_body", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L476", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "exlab_wizard_ui_equipment_form", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L709", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_render_equipment_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L712", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "target": "pages_settings_render_nas_credentials_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L839", "weight": 1.0}, {"source": "pages_settings_settings_sections_for", "target": "pages_settings_password_requiring_nas_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L87", "weight": 1.0}, {"source": "pages_settings_render_settings_page", "target": "pages_settings_settingsstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L240", "weight": 1.0}, {"source": "pages_settings_render_settings_page", "target": "pages_settings_first_incomplete_section", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L245", "weight": 1.0}, {"source": "pages_settings_render_settings_page", "target": "pages_settings_build_settings_draft", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L257", "weight": 1.0}, {"source": "pages_settings_render_settings_page", "target": "pages_settings_settings_sections_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L261", "weight": 1.0}, {"source": "pages_settings_render_settings_page", "target": "pages_settings_save_button_label", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L265", "weight": 1.0}, {"source": "pages_settings_render_settings_page", "target": "pages_settings_section_has_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L267", "weight": 1.0}, {"source": "pages_settings_render_settings_page", "target": "pages_settings_section_is_dirty", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L334", "weight": 1.0}, {"source": "pages_settings_render_settings_page", "target": "pages_settings_render_section_body", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L343", "weight": 1.0}, {"source": "pages_settings_render_section_body", "target": "pages_settings_lims_credential_initial_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L543", "weight": 1.0}, {"source": "pages_settings_render_section_body", "target": "pages_settings_render_equipment_section", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L554", "weight": 1.0}, {"source": "pages_settings_render_section_body", "target": "pages_settings_render_nas_credentials_section", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L556", "weight": 1.0}, {"source": "pages_settings_render_section_body", "target": "pages_settings_render_chip_editor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L584", "weight": 1.0}, {"source": "pages_settings_render_nas_credentials_section", "target": "pages_settings_password_requiring_nas_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L863", "weight": 1.0}, {"source": "pages_settings_render_nas_credentials_section", "target": "pages_settings_lims_credential_initial_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L890", "weight": 1.0}, {"source": "pages_settings_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_settings_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L1", "weight": 1.0}, {"source": "pages_settings_rationale_61", "target": "pages_settings_password_requiring_nas_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L61", "weight": 1.0}, {"source": "pages_settings_rationale_79", "target": "pages_settings_settings_sections_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L79", "weight": 1.0}, {"source": "pages_settings_rationale_99", "target": "pages_settings_settingsstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L99", "weight": 1.0}, {"source": "pages_settings_rationale_108", "target": "pages_settings_first_incomplete_section", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L108", "weight": 1.0}, {"source": "pages_settings_rationale_129", "target": "pages_settings_save_button_label", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L129", "weight": 1.0}, {"source": "pages_settings_rationale_139", "target": "pages_settings_section_has_warning", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L139", "weight": 1.0}, {"source": "pages_settings_rationale_145", "target": "pages_settings_section_is_dirty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L145", "weight": 1.0}, {"source": "pages_settings_rationale_151", "target": "pages_settings_build_settings_draft", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L151", "weight": 1.0}, {"source": "pages_settings_rationale_162", "target": "pages_settings_finalize_settings_draft", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L162", "weight": 1.0}, {"source": "pages_settings_rationale_180", "target": "pages_settings_lims_credential_initial_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L180", "weight": 1.0}, {"source": "pages_settings_rationale_211", "target": "pages_settings_render_settings_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L211", "weight": 1.0}, {"source": "pages_settings_rationale_401", "target": "pages_settings_render_chip_editor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L401", "weight": 1.0}, {"source": "pages_settings_rationale_492", "target": "pages_settings_render_section_body", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L492", "weight": 1.0}, {"source": "pages_settings_rationale_713", "target": "pages_settings_render_equipment_section", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L713", "weight": 1.0}, {"source": "pages_settings_rationale_847", "target": "pages_settings_render_nas_credentials_section", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L847", "weight": 1.0}], "raw_calls": [{"caller_nid": "pages_settings_password_requiring_nas_equipment", "callee": "transport_requires_keyring_password", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L74"}, {"caller_nid": "pages_settings_settings_sections_for", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L91"}, {"caller_nid": "pages_settings_settings_sections_for", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L93"}, {"caller_nid": "pages_settings_settings_sections_for", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L94"}, {"caller_nid": "pages_settings_first_incomplete_section", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L119"}, {"caller_nid": "pages_settings_first_incomplete_section", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L121"}, {"caller_nid": "pages_settings_build_settings_draft", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L158"}, {"caller_nid": "pages_settings_build_settings_draft", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L158"}, {"caller_nid": "pages_settings_finalize_settings_draft", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L176"}, {"caller_nid": "pages_settings_finalize_settings_draft", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L176"}, {"caller_nid": "pages_settings_lims_credential_initial_state", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L189"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L266"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L268"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L277"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L277"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "card", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L277"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L289"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L289"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L289"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L309"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "splitter", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L309"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L310"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L310"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L310"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L313"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L313"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L313"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L313"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L320"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "_select_section", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L322"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L325"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L325"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L335"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L335"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L337"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "icon", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L337"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L340"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L340"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L374"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L374"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L374"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L380"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L380"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "on_discard", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L382"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L384"}, {"caller_nid": "pages_settings_render_settings_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L384"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L412"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L412"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L412"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "_render_chips", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L443"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L445"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L445"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L463"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L463"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L463"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L464"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L464"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "_add", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L464"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L471"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L471"}, {"caller_nid": "pages_settings_render_chip_editor", "callee": "_reset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L471"}, {"caller_nid": "pages_settings_render_section_body", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L510"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L510"}, {"caller_nid": "pages_settings_render_section_body", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L510"}, {"caller_nid": "pages_settings_render_section_body", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L510"}, {"caller_nid": "pages_settings_render_section_body", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L515"}, {"caller_nid": "pages_settings_render_section_body", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L515"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L523"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L523"}, {"caller_nid": "pages_settings_render_section_body", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L523"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L526"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L526"}, {"caller_nid": "pages_settings_render_section_body", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L526"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L529"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L529"}, {"caller_nid": "pages_settings_render_section_body", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L529"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L533"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L533"}, {"caller_nid": "pages_settings_render_section_body", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L533"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L536"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L536"}, {"caller_nid": "pages_settings_render_section_body", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L536"}, {"caller_nid": "pages_settings_render_section_body", "callee": "credential_field", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L539"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L546"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L546"}, {"caller_nid": "pages_settings_render_section_body", "callee": "number", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L546"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L549"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L549"}, {"caller_nid": "pages_settings_render_section_body", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L549"}, {"caller_nid": "pages_settings_render_section_body", "callee": "test_connection_panel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L552"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L563"}, {"caller_nid": "pages_settings_render_section_body", "callee": "checkbox", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L563"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L566"}, {"caller_nid": "pages_settings_render_section_body", "callee": "number", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L566"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L569"}, {"caller_nid": "pages_settings_render_section_body", "callee": "number", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L569"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L572"}, {"caller_nid": "pages_settings_render_section_body", "callee": "checkbox", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L572"}, {"caller_nid": "pages_settings_render_section_body", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L580"}, {"caller_nid": "pages_settings_render_section_body", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L580"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L591"}, {"caller_nid": "pages_settings_render_section_body", "callee": "number", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L591"}, {"caller_nid": "pages_settings_render_section_body", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L595"}, {"caller_nid": "pages_settings_render_section_body", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L595"}, {"caller_nid": "pages_settings_render_section_body", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L606"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L610"}, {"caller_nid": "pages_settings_render_section_body", "callee": "radio", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L610"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L613"}, {"caller_nid": "pages_settings_render_section_body", "callee": "number", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L613"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L616"}, {"caller_nid": "pages_settings_render_section_body", "callee": "number", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L616"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L626"}, {"caller_nid": "pages_settings_render_section_body", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L626"}, {"caller_nid": "pages_settings_render_section_body", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L629"}, {"caller_nid": "pages_settings_render_section_body", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L629"}, {"caller_nid": "pages_settings_render_section_body", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L632"}, {"caller_nid": "pages_settings_render_section_body", "callee": "suggested_staging_root", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L632"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L655"}, {"caller_nid": "pages_settings_render_section_body", "callee": "checkbox", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L655"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L661"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L665"}, {"caller_nid": "pages_settings_render_section_body", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L665"}, {"caller_nid": "pages_settings_render_section_body", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L668"}, {"caller_nid": "pages_settings_render_section_body", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L668"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L675"}, {"caller_nid": "pages_settings_render_section_body", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L675"}, {"caller_nid": "pages_settings_render_section_body", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L677"}, {"caller_nid": "pages_settings_render_section_body", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L702"}, {"caller_nid": "pages_settings_render_section_body", "callee": "_confirm_quit", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L702"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L727"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L727"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L727"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "_render_rows", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L745"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L747"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L747"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L750"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L750"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L751"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L751"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L752"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L752"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L760"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "radio", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L760"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "_transport_fields", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L800"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "on_value_change", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L801"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "refresh", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L801"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L836"}, {"caller_nid": "pages_settings_render_equipment_section", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L836"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L865"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L865"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L870"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L870"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L877"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L877"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L877"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L877"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "nas_credential_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L883"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "credential_field", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L886"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "nas_password_present_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L891"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L895"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L895"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L910"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L910"}, {"caller_nid": "pages_settings_render_nas_credentials_section", "callee": "_make_test", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py", "source_location": "L910"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/52fcbdd846718b7ed27f97c801c6bf220823403bbdddfb18eed630639639f981.json b/graphify-out/cache/ast/52fcbdd846718b7ed27f97c801c6bf220823403bbdddfb18eed630639639f981.json deleted file mode 100644 index 49f2088..0000000 --- a/graphify-out/cache/ast/52fcbdd846718b7ed27f97c801c6bf220823403bbdddfb18eed630639639f981.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_transports_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/53628a99e3ed551343e3af649dc2e0492f2d3a7901dc967dcedbf4d76dfe9129.json b/graphify-out/cache/ast/53628a99e3ed551343e3af649dc2e0492f2d3a7901dc967dcedbf4d76dfe9129.json deleted file mode 100644 index 3c16556..0000000 --- a/graphify-out/cache/ast/53628a99e3ed551343e3af649dc2e0492f2d3a7901dc967dcedbf4d76dfe9129.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "label": "test_flow_27_nas_credential_settings.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L1"}, {"id": "e2e_test_flow_27_nas_credential_settings_seed_config", "label": "_seed_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L46"}, {"id": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone", "label": "_install_stub_rclone()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L95"}, {"id": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "label": "nas_prod_server()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L105"}, {"id": "e2e_test_flow_27_nas_credential_settings_setup_state", "label": "_setup_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L175"}, {"id": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "label": "test_nas_credential_gate_set_test_and_clear()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L179"}, {"id": "e2e_test_flow_27_nas_credential_settings_rationale_1", "label": "E2E flow 27: NAS-credential setup gate + Settings section (rclone-only). Boots", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L1"}, {"id": "e2e_test_flow_27_nas_credential_settings_rationale_47", "label": "Write a config.yaml with one nas-mode equipment under the tmp HOME. LIMS is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L47"}, {"id": "e2e_test_flow_27_nas_credential_settings_rationale_106", "label": "Spawn the production wizard seeded with a credential-less nas equipment. Yi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L106"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "stat", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "tests_e2e_prod_server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "tests_e2e_conftest", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "e2e_test_flow_27_nas_credential_settings_seed_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L95", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L105", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "e2e_test_flow_27_nas_credential_settings_setup_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "target": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L179", "weight": 1.0}, {"source": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "target": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L119", "weight": 1.0}, {"source": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "target": "e2e_test_flow_27_nas_credential_settings_seed_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L128", "weight": 1.0}, {"source": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "target": "e2e_test_flow_27_nas_credential_settings_setup_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L184", "weight": 1.0}, {"source": "e2e_test_flow_27_nas_credential_settings_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_27_nas_credential_settings_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_flow_27_nas_credential_settings_rationale_47", "target": "e2e_test_flow_27_nas_credential_settings_seed_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L47", "weight": 1.0}, {"source": "e2e_test_flow_27_nas_credential_settings_rationale_106", "target": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L106", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L65"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L66"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L67"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L68"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L69"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L71"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L71"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L73"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L76"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L78"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L86"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L86"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L88"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "resolve_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L89"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L90"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_seed_config", "callee": "save_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L91"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L96"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L97"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L97"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone", "callee": "copy", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L99"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L100"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone", "callee": "chmod", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L101"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L112"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L114"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L115"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L117"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "prod_app_env", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L121"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L122"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "free_port", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L130"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "Popen", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L131"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L141"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L149"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L151"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L156"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L158"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L160"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L162"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L163"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L167"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L169"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L171"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L172"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_setup_state", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L176"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_setup_state", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L176"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "new_context", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L186"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "new_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L187"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L190"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L191"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L192"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L192"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L193"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L193"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L194"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L194"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L199"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L199"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L200"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L200"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L203"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L203"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L204"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L204"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L205"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L212"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L212"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L213"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L213"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L216"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L216"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L217"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L217"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L220"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L220"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L221"}, {"caller_nid": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py", "source_location": "L225"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/53e582475d773b27ec968c07be7346f1bcad0e4093bc87d8ae91bf1b0586d2a7.json b/graphify-out/cache/ast/53e582475d773b27ec968c07be7346f1bcad0e4093bc87d8ae91bf1b0586d2a7.json deleted file mode 100644 index 7ef54e5..0000000 --- a/graphify-out/cache/ast/53e582475d773b27ec968c07be7346f1bcad0e4093bc87d8ae91bf1b0586d2a7.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "label": "notifications.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L1"}, {"id": "ui_notifications_severity", "label": "Severity", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L35"}, {"id": "strenum", "label": "StrEnum", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "ui_notifications_bannerid", "label": "BannerId", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L44"}, {"id": "ui_notifications_containerid", "label": "ContainerId", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L58"}, {"id": "ui_notifications_actionspec", "label": "ActionSpec", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L67"}, {"id": "ui_notifications_emit_toast", "label": "_emit_toast()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L106"}, {"id": "ui_notifications_notify_success", "label": "notify_success()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L165"}, {"id": "ui_notifications_notify_info", "label": "notify_info()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L179"}, {"id": "ui_notifications_notify_warning", "label": "notify_warning()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L190"}, {"id": "ui_notifications_notify_error", "label": "notify_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L204"}, {"id": "ui_notifications_notify_field_error", "label": "notify_field_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L223"}, {"id": "ui_notifications_notify_form_error", "label": "notify_form_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L233"}, {"id": "ui_notifications_clear_field_error", "label": "clear_field_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L243"}, {"id": "ui_notifications_clear_form_errors", "label": "clear_form_errors()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L249"}, {"id": "ui_notifications_get_field_error", "label": "get_field_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L255"}, {"id": "ui_notifications_get_form_error", "label": "get_form_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L261"}, {"id": "ui_notifications_show_banner", "label": "show_banner()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L272"}, {"id": "ui_notifications_clear_banner", "label": "clear_banner()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L312"}, {"id": "ui_notifications_list_active_banners", "label": "list_active_banners()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L318"}, {"id": "ui_notifications_banner_overflow_count", "label": "banner_overflow_count()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L334"}, {"id": "ui_notifications_reset_for_tests", "label": "reset_for_tests()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L341"}, {"id": "ui_notifications_rationale_1", "label": "Canonical notification helpers (Frontend Spec \u00a72.2). This module is the **only*", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L1"}, {"id": "ui_notifications_rationale_36", "label": "Banner severity (Frontend \u00a72.2.3).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L36"}, {"id": "ui_notifications_rationale_45", "label": "Closed-set banner triggers (Frontend \u00a72.2.3). Adding a new banner is a deli", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L45"}, {"id": "ui_notifications_rationale_59", "label": "Banner placement scopes (Frontend \u00a72.2.3).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L59"}, {"id": "ui_notifications_rationale_68", "label": "A single action affordance attached to a notification. At most one action p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L68"}, {"id": "ui_notifications_rationale_113", "label": "Lower-level wrapper around ``ui.notify``. Calls into NiceGUI lazily to avoi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L113"}, {"id": "ui_notifications_rationale_166", "label": "Show a success toast (Frontend \u00a72.2.2). 4 s default duration; 12 s when an", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L166"}, {"id": "ui_notifications_rationale_180", "label": "Show an info toast (Frontend \u00a72.2.2).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L180"}, {"id": "ui_notifications_rationale_191", "label": "Show a warning toast (Frontend \u00a72.2.2). 8 s default duration; 12 s when an", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L191"}, {"id": "ui_notifications_rationale_205", "label": "Show an error toast (Frontend \u00a72.2.2). 8 s default duration; 12 s when an a", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L205"}, {"id": "ui_notifications_rationale_224", "label": "Register a field-level inline error (Frontend \u00a72.2.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L224"}, {"id": "ui_notifications_rationale_234", "label": "Register a form-level inline error (Frontend \u00a72.2.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L234"}, {"id": "ui_notifications_rationale_244", "label": "Clear a previously registered field-level error.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L244"}, {"id": "ui_notifications_rationale_250", "label": "Clear all form-level errors registered against ``form_id``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L250"}, {"id": "ui_notifications_rationale_256", "label": "Return the registered field-level error for ``field_id`` or ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L256"}, {"id": "ui_notifications_rationale_262", "label": "Return the registered form-level error for ``form_id`` or ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L262"}, {"id": "ui_notifications_rationale_281", "label": "Activate a banner from the closed \u00a72.2.3 set. Raises: ValueError: w", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L281"}, {"id": "ui_notifications_rationale_313", "label": "Deactivate a banner if it was active.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L313"}, {"id": "ui_notifications_rationale_321", "label": "Return active banners, optionally filtered by container. Banners are return", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L321"}, {"id": "ui_notifications_rationale_335", "label": "How many banners exceed the stacking cap of 2 (Frontend \u00a72.2.3).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L335"}, {"id": "ui_notifications_rationale_342", "label": "Clear all module-level state. Test fixtures only.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L342"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "enum", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_severity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L35", "weight": 1.0}, {"source": "ui_notifications_severity", "target": "strenum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_bannerid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L44", "weight": 1.0}, {"source": "ui_notifications_bannerid", "target": "strenum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_containerid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L58", "weight": 1.0}, {"source": "ui_notifications_containerid", "target": "strenum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_actionspec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_emit_toast", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L106", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_notify_success", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L165", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_notify_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L179", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_notify_warning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L190", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_notify_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L204", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_notify_field_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L223", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_notify_form_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L233", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_clear_field_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L243", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_clear_form_errors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L249", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_get_field_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L255", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_get_form_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L261", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_show_banner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L272", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_clear_banner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L312", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_list_active_banners", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L318", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_banner_overflow_count", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L334", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "target": "ui_notifications_reset_for_tests", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L341", "weight": 1.0}, {"source": "ui_notifications_notify_success", "target": "ui_notifications_emit_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L171", "weight": 1.0}, {"source": "ui_notifications_notify_info", "target": "ui_notifications_emit_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L182", "weight": 1.0}, {"source": "ui_notifications_notify_warning", "target": "ui_notifications_emit_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L196", "weight": 1.0}, {"source": "ui_notifications_notify_error", "target": "ui_notifications_emit_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L210", "weight": 1.0}, {"source": "ui_notifications_banner_overflow_count", "target": "ui_notifications_list_active_banners", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L337", "weight": 1.0}, {"source": "ui_notifications_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_notifications_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_notifications_rationale_36", "target": "ui_notifications_severity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L36", "weight": 1.0}, {"source": "ui_notifications_rationale_45", "target": "ui_notifications_bannerid", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L45", "weight": 1.0}, {"source": "ui_notifications_rationale_59", "target": "ui_notifications_containerid", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L59", "weight": 1.0}, {"source": "ui_notifications_rationale_68", "target": "ui_notifications_actionspec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L68", "weight": 1.0}, {"source": "ui_notifications_rationale_113", "target": "ui_notifications_emit_toast", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L113", "weight": 1.0}, {"source": "ui_notifications_rationale_166", "target": "ui_notifications_notify_success", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L166", "weight": 1.0}, {"source": "ui_notifications_rationale_180", "target": "ui_notifications_notify_info", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L180", "weight": 1.0}, {"source": "ui_notifications_rationale_191", "target": "ui_notifications_notify_warning", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L191", "weight": 1.0}, {"source": "ui_notifications_rationale_205", "target": "ui_notifications_notify_error", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L205", "weight": 1.0}, {"source": "ui_notifications_rationale_224", "target": "ui_notifications_notify_field_error", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L224", "weight": 1.0}, {"source": "ui_notifications_rationale_234", "target": "ui_notifications_notify_form_error", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L234", "weight": 1.0}, {"source": "ui_notifications_rationale_244", "target": "ui_notifications_clear_field_error", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L244", "weight": 1.0}, {"source": "ui_notifications_rationale_250", "target": "ui_notifications_clear_form_errors", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L250", "weight": 1.0}, {"source": "ui_notifications_rationale_256", "target": "ui_notifications_get_field_error", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L256", "weight": 1.0}, {"source": "ui_notifications_rationale_262", "target": "ui_notifications_get_form_error", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L262", "weight": 1.0}, {"source": "ui_notifications_rationale_281", "target": "ui_notifications_show_banner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L281", "weight": 1.0}, {"source": "ui_notifications_rationale_313", "target": "ui_notifications_clear_banner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L313", "weight": 1.0}, {"source": "ui_notifications_rationale_321", "target": "ui_notifications_list_active_banners", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L321", "weight": 1.0}, {"source": "ui_notifications_rationale_335", "target": "ui_notifications_banner_overflow_count", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L335", "weight": 1.0}, {"source": "ui_notifications_rationale_342", "target": "ui_notifications_reset_for_tests", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L342", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_notifications_emit_toast", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L137"}, {"caller_nid": "ui_notifications_emit_toast", "callee": "notify", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L162"}, {"caller_nid": "ui_notifications_notify_field_error", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L227"}, {"caller_nid": "ui_notifications_notify_form_error", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L237"}, {"caller_nid": "ui_notifications_clear_field_error", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L246"}, {"caller_nid": "ui_notifications_clear_form_errors", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L252"}, {"caller_nid": "ui_notifications_get_field_error", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L258"}, {"caller_nid": "ui_notifications_get_form_error", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L264"}, {"caller_nid": "ui_notifications_show_banner", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L287"}, {"caller_nid": "ui_notifications_show_banner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L288"}, {"caller_nid": "ui_notifications_show_banner", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L300"}, {"caller_nid": "ui_notifications_show_banner", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L307"}, {"caller_nid": "ui_notifications_clear_banner", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L315"}, {"caller_nid": "ui_notifications_list_active_banners", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L328"}, {"caller_nid": "ui_notifications_list_active_banners", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L328"}, {"caller_nid": "ui_notifications_banner_overflow_count", "callee": "max", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L338"}, {"caller_nid": "ui_notifications_banner_overflow_count", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L338"}, {"caller_nid": "ui_notifications_reset_for_tests", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L344"}, {"caller_nid": "ui_notifications_reset_for_tests", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L345"}, {"caller_nid": "ui_notifications_reset_for_tests", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py", "source_location": "L346"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/545997dcb0472c7726df0b8bd423f66c9a25eb9ea64636fc3f61e0aeab1d26ae.json b/graphify-out/cache/ast/545997dcb0472c7726df0b8bd423f66c9a25eb9ea64636fc3f61e0aeab1d26ae.json deleted file mode 100644 index 5b33483..0000000 --- a/graphify-out/cache/ast/545997dcb0472c7726df0b8bd423f66c9a25eb9ea64636fc3f61e0aeab1d26ae.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_09_orchestrator_py", "label": "test_flow_09_orchestrator.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L1"}, {"id": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "label": "test_flow_09_orchestrator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L20"}, {"id": "e2e_test_flow_09_orchestrator_rationale_1", "label": "E2E flow 09: Orchestrator staging panel + quiescence-sync trigger. Frontend Spe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_09_orchestrator_py", "target": "tests_e2e_page_objects_staging_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_09_orchestrator_py", "target": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L20", "weight": 1.0}, {"source": "e2e_test_flow_09_orchestrator_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_09_orchestrator_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "StagingPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L21"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L23"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "inner_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "force_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L30"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "inner_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py", "source_location": "L32"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/54ed51551d05e095bf8965795ae67025113ff7c6f78d59f4644cf9bc4bf2bfcb.json b/graphify-out/cache/ast/54ed51551d05e095bf8965795ae67025113ff7c6f78d59f4644cf9bc4bf2bfcb.json deleted file mode 100644 index faef96b..0000000 --- a/graphify-out/cache/ast/54ed51551d05e095bf8965795ae67025113ff7c6f78d59f4644cf9bc4bf2bfcb.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "label": "nas_client.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1"}, {"id": "sync_nas_client_syncjobhandle", "label": "SyncJobHandle", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L98"}, {"id": "sync_nas_client_remote_name_for", "label": "_remote_name_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L117"}, {"id": "sync_nas_client_build_target_for", "label": "_build_target_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L128"}, {"id": "sync_nas_client_resolve_env_for_equipment", "label": "_resolve_env_for_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L143"}, {"id": "sync_nas_client_build_transport_driver", "label": "_build_transport_driver()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L189"}, {"id": "sync_nas_client_nassyncclient", "label": "NASSyncClient", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L257"}, {"id": "sync_nas_client_nassyncclient_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L277"}, {"id": "sync_nas_client_nassyncclient_apply_config", "label": ".apply_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L313"}, {"id": "sync_nas_client_nassyncclient_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L334"}, {"id": "sync_nas_client_nassyncclient_enqueue", "label": ".enqueue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L347"}, {"id": "sync_nas_client_nassyncclient_status", "label": ".status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L441"}, {"id": "sync_nas_client_nassyncclient_retry", "label": ".retry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L452"}, {"id": "sync_nas_client_nassyncclient_force_verify", "label": ".force_verify()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L457"}, {"id": "sync_nas_client_nassyncclient_worker_loop", "label": "._worker_loop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L502"}, {"id": "sync_nas_client_nassyncclient_next_due_job", "label": "._next_due_job()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L522"}, {"id": "sync_nas_client_nassyncclient_drive_job", "label": "._drive_job()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L533"}, {"id": "sync_nas_client_nassyncclient_build_push", "label": "._build_push()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L754"}, {"id": "sync_nas_client_nassyncclient_build_check", "label": "._build_check()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L766"}, {"id": "sync_nas_client_nassyncclient_compute_local_shas", "label": "._compute_local_shas()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L779"}, {"id": "sync_nas_client_nassyncclient_handle_push_failure", "label": "._handle_push_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L822"}, {"id": "sync_nas_client_nassyncclient_reconcile_synced_files", "label": "._reconcile_synced_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L846"}, {"id": "sync_nas_client_discover_run_files", "label": "_discover_run_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L887"}, {"id": "sync_nas_client_file_signature", "label": "_file_signature()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L912"}, {"id": "sync_nas_client_write_files_from", "label": "_write_files_from()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L921"}, {"id": "sync_nas_client_nassyncclient_maybe_cleanup", "label": "._maybe_cleanup()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L940"}, {"id": "sync_nas_client_nassyncclient_delete_local", "label": "._delete_local()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1002"}, {"id": "sync_nas_client_nassyncclient_infer_equipment_id", "label": "._infer_equipment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1023"}, {"id": "sync_nas_client_compute_nas_path", "label": "_compute_nas_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1046"}, {"id": "sync_nas_client_nassyncclient_mark_blocked", "label": "._mark_blocked()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1050"}, {"id": "sync_nas_client_nassyncclient_mark_synced", "label": "._mark_synced()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1059"}, {"id": "sync_nas_client_nassyncclient_mark_cleaned", "label": "._mark_cleaned()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1072"}, {"id": "sync_nas_client_rationale_1", "label": "NAS sync client. Backend Spec \u00a77.1, \u00a77.3. The :class:`NASSyncClient` is the pub", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1"}, {"id": "sync_nas_client_rationale_99", "label": "Lightweight handle returned by :meth:`NASSyncClient.enqueue`. ``job_id`` is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L99"}, {"id": "sync_nas_client_rationale_118", "label": "Return the inline rclone remote name used for ``equipment``. The remote nam", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L118"}, {"id": "sync_nas_client_rationale_133", "label": "Compose the rclone destination string for a run directory.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L133"}, {"id": "sync_nas_client_rationale_147", "label": "Look up the password, obscure it, build the rclone env. Returns ``(env, mas", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L147"}, {"id": "sync_nas_client_rationale_193", "label": "Return a ``(driver, push_callable, check_callable)`` triple. Both supported", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L193"}, {"id": "sync_nas_client_rationale_258", "label": "Durable, per-equipment NAS sync queue with Pre-Sync Gate. Backend Spec \u00a77.1", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L258"}, {"id": "sync_nas_client_rationale_314", "label": "Swap the cached config + equipment map in place (no relaunch). The ``eq", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L314"}, {"id": "sync_nas_client_rationale_329", "label": "Open the queue and start the worker task. Backend Spec \u00a77.1.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L329"}, {"id": "sync_nas_client_rationale_335", "label": "Stop the worker and close the queue DB. Idempotent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L335"}, {"id": "sync_nas_client_rationale_352", "label": "Pre-Sync Gate -> if hard-tier finding without override, mark ``sync_stat", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L352"}, {"id": "sync_nas_client_rationale_442", "label": "Return the queue state of the job for ``run_path``. ``\"none\"`` when no", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L442"}, {"id": "sync_nas_client_rationale_453", "label": "Re-arm a ``FAILED`` job. Backend Spec \u00a77.1.5 (Problems-tab Retry).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L453"}, {"id": "sync_nas_client_rationale_458", "label": "Re-run ``rclone check --download`` against the configured remote. Used", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L458"}, {"id": "sync_nas_client_rationale_503", "label": "Pick the next due job and drive it through the state machine.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L503"}, {"id": "sync_nas_client_rationale_523", "label": "Return the next QUEUED row whose backoff has passed (or None).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L523"}, {"id": "sync_nas_client_rationale_534", "label": "Drive ``job`` from QUEUED through one transport+verify pass. Worker sem", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L534"}, {"id": "sync_nas_client_rationale_755", "label": "Resolve the push callable for ``equipment.transport``. Tests can inject", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L755"}, {"id": "sync_nas_client_rationale_767", "label": "Resolve the ``rclone check`` callable for ``equipment.transport``. Test", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L767"}, {"id": "sync_nas_client_rationale_784", "label": "Compute the SHA-256 hex digest of each file in ``files``. Slot A of the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L784"}, {"id": "sync_nas_client_rationale_823", "label": "Translate a transport failure into a queue update.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L823"}, {"id": "sync_nas_client_rationale_852", "label": "Credit every individually-verified file in ``sync_state.json``. Per-fil", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L852"}, {"id": "sync_nas_client_rationale_888", "label": "Return every non-cache regular file under ``run_path`` as POSIX rel paths.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L888"}, {"id": "sync_nas_client_rationale_913", "label": "Return the ``(st_size, st_mtime_ns)`` signature for ``path``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L913"}, {"id": "sync_nas_client_rationale_922", "label": "Write a transport ``--files-from`` list and return its path. One run-re", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L922"}, {"id": "sync_nas_client_rationale_941", "label": "Apply the \u00a77.1.6 interlocks; if all pass, run the cleanup. Operator-fre", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L941"}, {"id": "sync_nas_client_rationale_1007", "label": "Delete ``run_path`` data files honoring ``retain_cache`` and ``keep_local``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1007"}, {"id": "sync_nas_client_rationale_1024", "label": "Return the equipment id for a run path. Prefers an explicit equipment i", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1024"}, {"id": "sync_nas_client_rationale_1047", "label": "Return the recorded NAS-side path from a creation payload.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1047"}, {"id": "sync_nas_client_rationale_1051", "label": "Mutate ``creation.json`` ``sync_status`` to ``blocked_by_validation``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1051"}, {"id": "sync_nas_client_rationale_1060", "label": "Mutate ``creation.json`` ``sync_status`` to ``synced``. Backend Spec \u00a77.1.4.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1060"}, {"id": "sync_nas_client_rationale_1073", "label": "Mutate ``creation.json`` ``sync_status`` to ``cleaned``. Backend Spec \u00a77.1.10.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1073"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "tempfile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_cache_sync_state_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_constants_keyring", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_sync_bandwidth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_sync_cleanup", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_sync_pre_sync_gate", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_sync_queue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_sync_run_delete", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_sync_transports", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_sync_transports_rclone", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_sync_verifier", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "exlab_wizard_validator_findings", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "sync_nas_client_syncjobhandle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "sync_nas_client_remote_name_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L117", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "sync_nas_client_build_target_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "sync_nas_client_resolve_env_for_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L143", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "sync_nas_client_build_transport_driver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "sync_nas_client_nassyncclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L257", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L277", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_apply_config", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L313", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L328", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L334", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_enqueue", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L347", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_status", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L441", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_retry", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L452", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_force_verify", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L457", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_worker_loop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L502", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_next_due_job", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L522", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_drive_job", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L533", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_build_push", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L754", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_build_check", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L766", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_compute_local_shas", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L779", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_handle_push_failure", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L822", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_reconcile_synced_files", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L846", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "sync_nas_client_discover_run_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L887", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "sync_nas_client_file_signature", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L912", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "sync_nas_client_write_files_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L921", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_maybe_cleanup", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L940", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_delete_local", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1002", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_infer_equipment_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1023", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "target": "sync_nas_client_compute_nas_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1046", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_mark_blocked", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1050", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_mark_synced", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1059", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient", "target": "sync_nas_client_nassyncclient_mark_cleaned", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1072", "weight": 1.0}, {"source": "sync_nas_client_resolve_env_for_equipment", "target": "sync_nas_client_remote_name_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L180", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_init", "target": "sync_nas_client_nassyncclient_worker_loop", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L331", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_enqueue", "target": "sync_nas_client_nassyncclient_mark_blocked", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L394", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_enqueue", "target": "sync_nas_client_syncjobhandle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L395", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_enqueue", "target": "sync_nas_client_nassyncclient_infer_equipment_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L402", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_enqueue", "target": "sync_nas_client_compute_nas_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L435", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_force_verify", "target": "sync_nas_client_nassyncclient_build_check", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L488", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_force_verify", "target": "sync_nas_client_write_files_from", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L489", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_worker_loop", "target": "sync_nas_client_nassyncclient_next_due_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L505", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_worker_loop", "target": "sync_nas_client_nassyncclient_drive_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L516", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_drive_job", "target": "sync_nas_client_discover_run_files", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L596", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_drive_job", "target": "sync_nas_client_nassyncclient_compute_local_shas", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L597", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_drive_job", "target": "sync_nas_client_nassyncclient_build_push", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L603", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_drive_job", "target": "sync_nas_client_write_files_from", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L607", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_drive_job", "target": "sync_nas_client_nassyncclient_handle_push_failure", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L619", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_drive_job", "target": "sync_nas_client_nassyncclient_build_check", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L634", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_drive_job", "target": "sync_nas_client_nassyncclient_mark_synced", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L649", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_drive_job", "target": "sync_nas_client_nassyncclient_maybe_cleanup", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L650", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_drive_job", "target": "sync_nas_client_nassyncclient_reconcile_synced_files", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L683", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_build_push", "target": "sync_nas_client_build_transport_driver", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L763", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_build_check", "target": "sync_nas_client_build_transport_driver", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L776", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_reconcile_synced_files", "target": "sync_nas_client_file_signature", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L874", "weight": 1.0}, {"source": "sync_nas_client_write_files_from", "target": "sync_nas_client_nassyncclient_close", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L937", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_maybe_cleanup", "target": "sync_nas_client_nassyncclient_delete_local", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L992", "weight": 1.0}, {"source": "sync_nas_client_nassyncclient_maybe_cleanup", "target": "sync_nas_client_nassyncclient_mark_cleaned", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L993", "weight": 1.0}, {"source": "sync_nas_client_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_nas_client_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_nas_client_rationale_99", "target": "sync_nas_client_syncjobhandle", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L99", "weight": 1.0}, {"source": "sync_nas_client_rationale_118", "target": "sync_nas_client_remote_name_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L118", "weight": 1.0}, {"source": "sync_nas_client_rationale_133", "target": "sync_nas_client_build_target_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L133", "weight": 1.0}, {"source": "sync_nas_client_rationale_147", "target": "sync_nas_client_resolve_env_for_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L147", "weight": 1.0}, {"source": "sync_nas_client_rationale_193", "target": "sync_nas_client_build_transport_driver", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L193", "weight": 1.0}, {"source": "sync_nas_client_rationale_258", "target": "sync_nas_client_nassyncclient", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L258", "weight": 1.0}, {"source": "sync_nas_client_rationale_314", "target": "sync_nas_client_nassyncclient_apply_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L314", "weight": 1.0}, {"source": "sync_nas_client_rationale_329", "target": "sync_nas_client_nassyncclient_init", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L329", "weight": 1.0}, {"source": "sync_nas_client_rationale_335", "target": "sync_nas_client_nassyncclient_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L335", "weight": 1.0}, {"source": "sync_nas_client_rationale_352", "target": "sync_nas_client_nassyncclient_enqueue", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L352", "weight": 1.0}, {"source": "sync_nas_client_rationale_442", "target": "sync_nas_client_nassyncclient_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L442", "weight": 1.0}, {"source": "sync_nas_client_rationale_453", "target": "sync_nas_client_nassyncclient_retry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L453", "weight": 1.0}, {"source": "sync_nas_client_rationale_458", "target": "sync_nas_client_nassyncclient_force_verify", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L458", "weight": 1.0}, {"source": "sync_nas_client_rationale_503", "target": "sync_nas_client_nassyncclient_worker_loop", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L503", "weight": 1.0}, {"source": "sync_nas_client_rationale_523", "target": "sync_nas_client_nassyncclient_next_due_job", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L523", "weight": 1.0}, {"source": "sync_nas_client_rationale_534", "target": "sync_nas_client_nassyncclient_drive_job", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L534", "weight": 1.0}, {"source": "sync_nas_client_rationale_755", "target": "sync_nas_client_nassyncclient_build_push", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L755", "weight": 1.0}, {"source": "sync_nas_client_rationale_767", "target": "sync_nas_client_nassyncclient_build_check", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L767", "weight": 1.0}, {"source": "sync_nas_client_rationale_784", "target": "sync_nas_client_nassyncclient_compute_local_shas", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L784", "weight": 1.0}, {"source": "sync_nas_client_rationale_823", "target": "sync_nas_client_nassyncclient_handle_push_failure", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L823", "weight": 1.0}, {"source": "sync_nas_client_rationale_852", "target": "sync_nas_client_nassyncclient_reconcile_synced_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L852", "weight": 1.0}, {"source": "sync_nas_client_rationale_888", "target": "sync_nas_client_nassyncclient_discover_run_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L888", "weight": 1.0}, {"source": "sync_nas_client_rationale_913", "target": "sync_nas_client_nassyncclient_file_signature", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L913", "weight": 1.0}, {"source": "sync_nas_client_rationale_922", "target": "sync_nas_client_nassyncclient_write_files_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L922", "weight": 1.0}, {"source": "sync_nas_client_rationale_941", "target": "sync_nas_client_nassyncclient_maybe_cleanup", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L941", "weight": 1.0}, {"source": "sync_nas_client_rationale_1007", "target": "sync_nas_client_nassyncclient_delete_local", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1007", "weight": 1.0}, {"source": "sync_nas_client_rationale_1024", "target": "sync_nas_client_nassyncclient_infer_equipment_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1024", "weight": 1.0}, {"source": "sync_nas_client_rationale_1047", "target": "sync_nas_client_nassyncclient_compute_nas_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1047", "weight": 1.0}, {"source": "sync_nas_client_rationale_1051", "target": "sync_nas_client_nassyncclient_mark_blocked", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1051", "weight": 1.0}, {"source": "sync_nas_client_rationale_1060", "target": "sync_nas_client_nassyncclient_mark_synced", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1060", "weight": 1.0}, {"source": "sync_nas_client_rationale_1073", "target": "sync_nas_client_nassyncclient_mark_cleaned", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1073", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_nas_client_remote_name_for", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L125"}, {"caller_nid": "sync_nas_client_build_target_for", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L134"}, {"caller_nid": "sync_nas_client_build_target_for", "callee": "rstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L135"}, {"caller_nid": "sync_nas_client_build_target_for", "callee": "rstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L137"}, {"caller_nid": "sync_nas_client_build_target_for", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L139"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L156"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L157"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L158"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L162"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "getter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L168"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "keyring_nas_username", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L168"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L172"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "TransportError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L174"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "TransportError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L177"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "obscure", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L179"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "build_rclone_env", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L181"}, {"caller_nid": "sync_nas_client_resolve_env_for_equipment", "callee": "pass_env_keys_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L186"}, {"caller_nid": "sync_nas_client_build_transport_driver", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L214"}, {"caller_nid": "sync_nas_client_build_transport_driver", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L215"}, {"caller_nid": "sync_nas_client_build_transport_driver", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L216"}, {"caller_nid": "sync_nas_client_build_transport_driver", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L217"}, {"caller_nid": "sync_nas_client_build_transport_driver", "callee": "RcloneDriver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L219"}, {"caller_nid": "sync_nas_client_nassyncclient_init", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L295"}, {"caller_nid": "sync_nas_client_nassyncclient_init", "callee": "SyncQueue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L301"}, {"caller_nid": "sync_nas_client_nassyncclient_init", "callee": "Event", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L305"}, {"caller_nid": "sync_nas_client_nassyncclient_init", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L330"}, {"caller_nid": "sync_nas_client_nassyncclient_init", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L331"}, {"caller_nid": "sync_nas_client_nassyncclient_init", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L332"}, {"caller_nid": "sync_nas_client_nassyncclient_close", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L337"}, {"caller_nid": "sync_nas_client_nassyncclient_close", "callee": "cancel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L339"}, {"caller_nid": "sync_nas_client_nassyncclient_close", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L340"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L384"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L385"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L386"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "is_eligible", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L388"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L398"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L399"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "get_by_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L403"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "requeue_with_files", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L409"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L410"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L414"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "reset_to_queued", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L418"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L419"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L423"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L429"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L432"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L438"}, {"caller_nid": "sync_nas_client_nassyncclient_enqueue", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L439"}, {"caller_nid": "sync_nas_client_nassyncclient_status", "callee": "get_by_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L447"}, {"caller_nid": "sync_nas_client_nassyncclient_retry", "callee": "reset_to_queued", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L454"}, {"caller_nid": "sync_nas_client_nassyncclient_retry", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L455"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L475"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "VerifyResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L480"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L484"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L485"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L485"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "keys", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L485"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "VerifyResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L487"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "check", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L492"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "VerifyResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L494"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L496"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "unlink", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L497"}, {"caller_nid": "sync_nas_client_nassyncclient_force_verify", "callee": "from_check_result", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L498"}, {"caller_nid": "sync_nas_client_nassyncclient_worker_loop", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L508"}, {"caller_nid": "sync_nas_client_nassyncclient_worker_loop", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L509"}, {"caller_nid": "sync_nas_client_nassyncclient_worker_loop", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L510"}, {"caller_nid": "sync_nas_client_nassyncclient_worker_loop", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L513"}, {"caller_nid": "sync_nas_client_nassyncclient_worker_loop", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L520"}, {"caller_nid": "sync_nas_client_nassyncclient_next_due_job", "callee": "list_in_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L524"}, {"caller_nid": "sync_nas_client_nassyncclient_next_due_job", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L525"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L556"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L557"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L558"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L565"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L567"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L575"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "effective_bandwidth_limit_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L584"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L585"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "push", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L609"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L615"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L615"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L623"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L643"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L647"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "check", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L656"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "VerifyResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L658"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L660"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "from_check_result", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L667"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L670"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "unlink", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L671"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L674"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "unlink", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L675"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L704"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L714"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L726"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L732"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L741"}, {"caller_nid": "sync_nas_client_nassyncclient_drive_job", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L742"}, {"caller_nid": "sync_nas_client_nassyncclient_build_push", "callee": "_push_callable_factory", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L762"}, {"caller_nid": "sync_nas_client_nassyncclient_build_check", "callee": "_check_callable_factory", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L775"}, {"caller_nid": "sync_nas_client_nassyncclient_compute_local_shas", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L817"}, {"caller_nid": "sync_nas_client_nassyncclient_handle_push_failure", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L826"}, {"caller_nid": "sync_nas_client_nassyncclient_handle_push_failure", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L834"}, {"caller_nid": "sync_nas_client_nassyncclient_handle_push_failure", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L836"}, {"caller_nid": "sync_nas_client_nassyncclient_handle_push_failure", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L844"}, {"caller_nid": "sync_nas_client_nassyncclient_reconcile_synced_files", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L869"}, {"caller_nid": "sync_nas_client_nassyncclient_reconcile_synced_files", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L872"}, {"caller_nid": "sync_nas_client_nassyncclient_reconcile_synced_files", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L877"}, {"caller_nid": "sync_nas_client_nassyncclient_reconcile_synced_files", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L878"}, {"caller_nid": "sync_nas_client_nassyncclient_reconcile_synced_files", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L883"}, {"caller_nid": "sync_nas_client_discover_run_files", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L899"}, {"caller_nid": "sync_nas_client_discover_run_files", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L899"}, {"caller_nid": "sync_nas_client_discover_run_files", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L902"}, {"caller_nid": "sync_nas_client_discover_run_files", "callee": "rglob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L902"}, {"caller_nid": "sync_nas_client_discover_run_files", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L903"}, {"caller_nid": "sync_nas_client_discover_run_files", "callee": "relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L905"}, {"caller_nid": "sync_nas_client_discover_run_files", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L908"}, {"caller_nid": "sync_nas_client_discover_run_files", "callee": "as_posix", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L908"}, {"caller_nid": "sync_nas_client_discover_run_files", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L909"}, {"caller_nid": "sync_nas_client_file_signature", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L915"}, {"caller_nid": "sync_nas_client_write_files_from", "callee": "NamedTemporaryFile", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L927"}, {"caller_nid": "sync_nas_client_write_files_from", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L935"}, {"caller_nid": "sync_nas_client_write_files_from", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L935"}, {"caller_nid": "sync_nas_client_write_files_from", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L938"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L952"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L958"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "rollup_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L959"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L961"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L968"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L970"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L971"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L972"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L973"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "_remote_stat_callable", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L975"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "utc_now", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L976"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "cleanup_interlocks_satisfied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L977"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L985"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L990"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L991"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L998"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "cache_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L998"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "mark_cleared", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L999"}, {"caller_nid": "sync_nas_client_nassyncclient_maybe_cleanup", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1000"}, {"caller_nid": "sync_nas_client_nassyncclient_delete_local", "callee": "delete_run_files", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1015"}, {"caller_nid": "sync_nas_client_nassyncclient_delete_local", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1017"}, {"caller_nid": "sync_nas_client_nassyncclient_infer_equipment_id", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1034"}, {"caller_nid": "sync_nas_client_nassyncclient_infer_equipment_id", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1035"}, {"caller_nid": "sync_nas_client_nassyncclient_infer_equipment_id", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1042"}, {"caller_nid": "sync_nas_client_nassyncclient_infer_equipment_id", "callee": "iter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1042"}, {"caller_nid": "sync_nas_client_nassyncclient_mark_blocked", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1057"}, {"caller_nid": "sync_nas_client_nassyncclient_mark_synced", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1061"}, {"caller_nid": "sync_nas_client_nassyncclient_mark_synced", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1062"}, {"caller_nid": "sync_nas_client_nassyncclient_mark_synced", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1069"}, {"caller_nid": "sync_nas_client_nassyncclient_mark_synced", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1070"}, {"caller_nid": "sync_nas_client_nassyncclient_mark_cleaned", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1079"}, {"caller_nid": "sync_nas_client_nassyncclient_mark_cleaned", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1080"}, {"caller_nid": "sync_nas_client_nassyncclient_mark_cleaned", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1087"}, {"caller_nid": "sync_nas_client_nassyncclient_mark_cleaned", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py", "source_location": "L1088"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/55fcb5b75e29cebd1c1335f93881bbf11c003df3b897e7cd64059ecc6fbcb4b5.json b/graphify-out/cache/ast/55fcb5b75e29cebd1c1335f93881bbf11c003df3b897e7cd64059ecc6fbcb4b5.json deleted file mode 100644 index b77ffbe..0000000 --- a/graphify-out/cache/ast/55fcb5b75e29cebd1c1335f93881bbf11c003df3b897e7cd64059ecc6fbcb4b5.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_page_objects_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py", "source_location": "L1"}, {"id": "page_objects_init_rationale_1", "label": "Page object package for the Phase 16 e2e suite. Each module wraps the stable ``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_init_py", "target": "tests_e2e_page_objects_main_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_init_py", "target": "tests_e2e_page_objects_problems_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_init_py", "target": "tests_e2e_page_objects_settings_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_init_py", "target": "tests_e2e_page_objects_staging_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_init_py", "target": "tests_e2e_page_objects_welcome_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_init_py", "target": "tests_e2e_page_objects_wizard_project_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_init_py", "target": "tests_e2e_page_objects_wizard_run_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py", "source_location": "L13", "weight": 1.0}, {"source": "page_objects_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_page_objects_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/565d8c93babc04f07053da63eb06f9376563b7e4f1db86cab588fe80e881a93c.json b/graphify-out/cache/ast/565d8c93babc04f07053da63eb06f9376563b7e4f1db86cab588fe80e881a93c.json deleted file mode 100644 index b316565..0000000 --- a/graphify-out/cache/ast/565d8c93babc04f07053da63eb06f9376563b7e4f1db86cab588fe80e881a93c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_refresh_coordinator_py", "label": "refresh_coordinator.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L1"}, {"id": "client_refresh_coordinator_refreshcoordinator", "label": "RefreshCoordinator", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L21"}, {"id": "client_refresh_coordinator_refreshcoordinator_record_tree_refresh", "label": ".record_tree_refresh()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L27"}, {"id": "client_refresh_coordinator_refreshcoordinator_record_folder_refresh", "label": ".record_folder_refresh()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L30"}, {"id": "client_refresh_coordinator_refreshcoordinator_should_skip_folder", "label": ".should_skip_folder()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L33"}, {"id": "client_refresh_coordinator_refreshcoordinator_should_skip_tree", "label": ".should_skip_tree()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L37"}, {"id": "client_refresh_coordinator_rationale_1", "label": "Refresh coordinator: coalesce the 30 s tree refresh with the folder feed. GUI/O", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L1"}, {"id": "client_refresh_coordinator_rationale_22", "label": "Tracks the last refresh time per source (\"tree\" | \"folder\").", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L22"}, {"id": "client_refresh_coordinator_rationale_34", "label": "True if the tree just walked and the folder feed should yield.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L34"}, {"id": "client_refresh_coordinator_rationale_38", "label": "True if the folder feed just walked and the tree should yield.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L38"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_refresh_coordinator_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_refresh_coordinator_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_refresh_coordinator_py", "target": "client_refresh_coordinator_refreshcoordinator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L21", "weight": 1.0}, {"source": "client_refresh_coordinator_refreshcoordinator", "target": "client_refresh_coordinator_refreshcoordinator_record_tree_refresh", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L27", "weight": 1.0}, {"source": "client_refresh_coordinator_refreshcoordinator", "target": "client_refresh_coordinator_refreshcoordinator_record_folder_refresh", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L30", "weight": 1.0}, {"source": "client_refresh_coordinator_refreshcoordinator", "target": "client_refresh_coordinator_refreshcoordinator_should_skip_folder", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L33", "weight": 1.0}, {"source": "client_refresh_coordinator_refreshcoordinator", "target": "client_refresh_coordinator_refreshcoordinator_should_skip_tree", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L37", "weight": 1.0}, {"source": "client_refresh_coordinator_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_refresh_coordinator_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L1", "weight": 1.0}, {"source": "client_refresh_coordinator_rationale_22", "target": "client_refresh_coordinator_refreshcoordinator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L22", "weight": 1.0}, {"source": "client_refresh_coordinator_rationale_34", "target": "client_refresh_coordinator_refreshcoordinator_should_skip_folder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L34", "weight": 1.0}, {"source": "client_refresh_coordinator_rationale_38", "target": "client_refresh_coordinator_refreshcoordinator_should_skip_tree", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L38", "weight": 1.0}], "raw_calls": [{"caller_nid": "client_refresh_coordinator_refreshcoordinator_record_tree_refresh", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L28"}, {"caller_nid": "client_refresh_coordinator_refreshcoordinator_record_folder_refresh", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L31"}, {"caller_nid": "client_refresh_coordinator_refreshcoordinator_should_skip_folder", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L35"}, {"caller_nid": "client_refresh_coordinator_refreshcoordinator_should_skip_tree", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py", "source_location": "L39"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5738343d0630b1a6f0255ea77d07fc2f8f67d5846fdf4f78bb06991ce393f156.json b/graphify-out/cache/ast/5738343d0630b1a6f0255ea77d07fc2f8f67d5846fdf4f78bb06991ce393f156.json deleted file mode 100644 index d3536e2..0000000 --- a/graphify-out/cache/ast/5738343d0630b1a6f0255ea77d07fc2f8f67d5846fdf4f78bb06991ce393f156.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "label": "generate_screenshots.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L1"}, {"id": "scripts_generate_screenshots_free_port", "label": "_free_port()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L69"}, {"id": "scripts_generate_screenshots_start_server", "label": "_start_server()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L76"}, {"id": "scripts_generate_screenshots_stop_server", "label": "_stop_server()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L138"}, {"id": "scripts_generate_screenshots_capture", "label": "_capture()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L148"}, {"id": "scripts_generate_screenshots_capture_capability", "label": "_capture_capability()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L178"}, {"id": "scripts_generate_screenshots_capability_plan", "label": "_capability_plan()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L209"}, {"id": "scripts_generate_screenshots_main", "label": "main()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L337"}, {"id": "scripts_generate_screenshots_rationale_1", "label": "Generate Playwright screenshots for the Sphinx user guide. CLI: python scr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L1"}, {"id": "scripts_generate_screenshots_rationale_70", "label": "Return a free TCP port on 127.0.0.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L70"}, {"id": "scripts_generate_screenshots_rationale_77", "label": "Spawn the uvicorn-hosted e2e test app; return (proc, base_url). Mirrors the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L77"}, {"id": "scripts_generate_screenshots_rationale_139", "label": "Best-effort termination of the uvicorn subprocess.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L139"}, {"id": "scripts_generate_screenshots_rationale_158", "label": "Navigate to ``route``, optionally wait for a selector, screenshot. Returns", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L158"}, {"id": "scripts_generate_screenshots_rationale_185", "label": "Capture every step in the capability; return (succeeded, total).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L185"}, {"id": "scripts_generate_screenshots_rationale_210", "label": "Return the (capability_id, steps) list driving the screenshot run. Routes a", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L210"}, {"id": "scripts_generate_screenshots_rationale_338", "label": "Entry point; returns a process exit code (0 on full success).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L338"}], "edges": [{"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "socket", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "contextlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "tests_e2e_conftest", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "scripts_generate_screenshots_free_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "scripts_generate_screenshots_start_server", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "scripts_generate_screenshots_stop_server", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L138", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "scripts_generate_screenshots_capture", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L148", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "scripts_generate_screenshots_capture_capability", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L178", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "scripts_generate_screenshots_capability_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L209", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "target": "scripts_generate_screenshots_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L337", "weight": 1.0}, {"source": "scripts_generate_screenshots_start_server", "target": "scripts_generate_screenshots_free_port", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L83", "weight": 1.0}, {"source": "scripts_generate_screenshots_capture_capability", "target": "scripts_generate_screenshots_capture", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L196", "weight": 1.0}, {"source": "scripts_generate_screenshots_main", "target": "scripts_generate_screenshots_start_server", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L365", "weight": 1.0}, {"source": "scripts_generate_screenshots_main", "target": "scripts_generate_screenshots_capability_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L378", "weight": 1.0}, {"source": "scripts_generate_screenshots_main", "target": "scripts_generate_screenshots_capture_capability", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L380", "weight": 1.0}, {"source": "scripts_generate_screenshots_main", "target": "scripts_generate_screenshots_stop_server", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L388", "weight": 1.0}, {"source": "scripts_generate_screenshots_rationale_1", "target": "users_alex_projects_exlabwizard_scripts_generate_screenshots_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L1", "weight": 1.0}, {"source": "scripts_generate_screenshots_rationale_70", "target": "scripts_generate_screenshots_free_port", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L70", "weight": 1.0}, {"source": "scripts_generate_screenshots_rationale_77", "target": "scripts_generate_screenshots_start_server", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L77", "weight": 1.0}, {"source": "scripts_generate_screenshots_rationale_139", "target": "scripts_generate_screenshots_stop_server", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L139", "weight": 1.0}, {"source": "scripts_generate_screenshots_rationale_158", "target": "scripts_generate_screenshots_capture", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L158", "weight": 1.0}, {"source": "scripts_generate_screenshots_rationale_185", "target": "scripts_generate_screenshots_capture_capability", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L185", "weight": 1.0}, {"source": "scripts_generate_screenshots_rationale_210", "target": "scripts_generate_screenshots_capability_plan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L210", "weight": 1.0}, {"source": "scripts_generate_screenshots_rationale_338", "target": "scripts_generate_screenshots_main", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L338", "weight": 1.0}], "raw_calls": [{"caller_nid": "scripts_generate_screenshots_free_port", "callee": "closing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L71"}, {"caller_nid": "scripts_generate_screenshots_free_port", "callee": "socket", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L71"}, {"caller_nid": "scripts_generate_screenshots_free_port", "callee": "bind", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L72"}, {"caller_nid": "scripts_generate_screenshots_free_port", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L73"}, {"caller_nid": "scripts_generate_screenshots_free_port", "callee": "getsockname", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L73"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L87"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L88"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L93"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L95"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L96"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L97"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "Popen", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L101"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L111"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L119"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L121"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L127"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L129"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L131"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L133"}, {"caller_nid": "scripts_generate_screenshots_start_server", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L134"}, {"caller_nid": "scripts_generate_screenshots_stop_server", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L140"}, {"caller_nid": "scripts_generate_screenshots_stop_server", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L142"}, {"caller_nid": "scripts_generate_screenshots_stop_server", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L144"}, {"caller_nid": "scripts_generate_screenshots_stop_server", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L145"}, {"caller_nid": "scripts_generate_screenshots_capture", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L163"}, {"caller_nid": "scripts_generate_screenshots_capture", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L165"}, {"caller_nid": "scripts_generate_screenshots_capture", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L166"}, {"caller_nid": "scripts_generate_screenshots_capture", "callee": "wait_for_selector", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L168"}, {"caller_nid": "scripts_generate_screenshots_capture", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L170"}, {"caller_nid": "scripts_generate_screenshots_capture", "callee": "screenshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L171"}, {"caller_nid": "scripts_generate_screenshots_capture", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L171"}, {"caller_nid": "scripts_generate_screenshots_capture", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L174"}, {"caller_nid": "scripts_generate_screenshots_capture_capability", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L187"}, {"caller_nid": "scripts_generate_screenshots_capture_capability", "callee": "enumerate", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L188"}, {"caller_nid": "scripts_generate_screenshots_capture_capability", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L191"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L339"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L340"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L340"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L341"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L342"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L349"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L350"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "_resolve_chromium_executable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L353"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L355"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L357"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L364"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L366"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "sync_playwright", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L370"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "launch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L374"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "new_context", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L376"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "new_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L377"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L379"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L379"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L383"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L384"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L386"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L390"}, {"caller_nid": "scripts_generate_screenshots_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py", "source_location": "L394"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5807bcb53d032daedbbe6a025c96147bdca7abd8f67d7b0259c65658bfced1c0.json b/graphify-out/cache/ast/5807bcb53d032daedbbe6a025c96147bdca7abd8f67d7b0259c65658bfced1c0.json deleted file mode 100644 index 6c88f45..0000000 --- a/graphify-out/cache/ast/5807bcb53d032daedbbe6a025c96147bdca7abd8f67d7b0259c65658bfced1c0.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_prod_app_py", "label": "_prod_app.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L1"}, {"id": "e2e_prod_app_create_prod_app_factory", "label": "create_prod_app_factory()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L23"}, {"id": "e2e_prod_app_rationale_1", "label": "uvicorn ``--factory`` entrypoint for the *production* wizard app. ``_test_app.p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L1"}, {"id": "e2e_prod_app_rationale_24", "label": "Build the production wizard app (NiceGUI mounted at ``/``).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L24"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_prod_app_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_app_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_prod_app_py", "target": "e2e_prod_app_create_prod_app_factory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L23", "weight": 1.0}, {"source": "e2e_prod_app_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_prod_app_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_prod_app_rationale_24", "target": "e2e_prod_app_create_prod_app_factory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L24", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_prod_app_create_prod_app_factory", "callee": "_build_default_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L28"}, {"caller_nid": "e2e_prod_app_create_prod_app_factory", "callee": "ensure_state_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py", "source_location": "L28"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5961f25db7aefc1631060005b6a2cdea97e81ac2d404214d983a445051536b35.json b/graphify-out/cache/ast/5961f25db7aefc1631060005b6a2cdea97e81ac2d404214d983a445051536b35.json deleted file mode 100644 index 42227a0..0000000 --- a/graphify-out/cache/ast/5961f25db7aefc1631060005b6a2cdea97e81ac2d404214d983a445051536b35.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "label": "setup.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L1"}, {"id": "api_setup_setupstatusresponse", "label": "SetupStatusResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L72"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_setup_limstestrequest", "label": "LIMSTestRequest", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L83"}, {"id": "api_setup_equipmenttestrequest", "label": "EquipmentTestRequest", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L99"}, {"id": "api_setup_proberesult", "label": "ProbeResult", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L115"}, {"id": "api_setup_autostartrequest", "label": "AutostartRequest", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L133"}, {"id": "api_setup_autostartresult", "label": "AutostartResult", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L141"}, {"id": "api_setup_compute_setup_state", "label": "compute_setup_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L155"}, {"id": "api_setup_is_creation_blocked", "label": "is_creation_blocked()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L172"}, {"id": "api_setup_setup_state_gate", "label": "setup_state_gate()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L182"}, {"id": "api_setup_build_setup_router", "label": "build_setup_router()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L221"}, {"id": "api_setup_coerce_probe_dict", "label": "_coerce_probe_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L312"}, {"id": "api_setup_resolve_equipment", "label": "_resolve_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L329"}, {"id": "api_setup_await_or_call", "label": "_await_or_call()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L348"}, {"id": "api_setup_rationale_1", "label": "Setup-state gate + ``/setup/*`` endpoints. Backend Spec \u00a74.6, \u00a74.9. Two respons", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L1"}, {"id": "api_setup_rationale_73", "label": "``GET /setup/status`` response. Backend Spec \u00a74.9.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L73"}, {"id": "api_setup_rationale_84", "label": "``POST /setup/test-lims`` request body. Either reference the currently-conf", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L84"}, {"id": "api_setup_rationale_100", "label": "``POST /setup/test-equipment`` request body. Rclone-only NAS sync migration", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L100"}, {"id": "api_setup_rationale_116", "label": "Common ``ok``/``reason`` payload for the diagnostics endpoints.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L116"}, {"id": "api_setup_rationale_134", "label": "``POST /setup/autostart`` request body. Backend Spec \u00a74.9.5 step 0.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L134"}, {"id": "api_setup_rationale_142", "label": "``POST /setup/autostart`` response.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L142"}, {"id": "api_setup_rationale_156", "label": "Evaluate the \u00a74.9.1 state for the app's current dependencies. The dependenc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L156"}, {"id": "api_setup_rationale_173", "label": "Return True when ``state`` should gate creation flows. Per \u00a74.9.4 the soft", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L173"}, {"id": "api_setup_rationale_183", "label": "FastAPI dependency that gates a route on setup state. Looks up the app's bo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L183"}, {"id": "api_setup_rationale_222", "label": "Construct the ``/setup/*`` router. Always-available endpoints.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L222"}, {"id": "api_setup_rationale_313", "label": "Build a ``ProbeResult`` from a probe's plain-dict return value. Wired throu", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L313"}, {"id": "api_setup_rationale_330", "label": "Resolve the equipment to probe by id through ``deps.config``. Rclone-only N", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L330"}, {"id": "api_setup_rationale_349", "label": "Invoke a probe that may be sync or async; await the result. The probes are", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L349"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "inspect", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "exlab_wizard_api_dependencies", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_setupstatusresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L72", "weight": 1.0}, {"source": "api_setup_setupstatusresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_limstestrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L83", "weight": 1.0}, {"source": "api_setup_limstestrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_equipmenttestrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L99", "weight": 1.0}, {"source": "api_setup_equipmenttestrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L99", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_proberesult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L115", "weight": 1.0}, {"source": "api_setup_proberesult", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L115", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_autostartrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L133", "weight": 1.0}, {"source": "api_setup_autostartrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L133", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_autostartresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L141", "weight": 1.0}, {"source": "api_setup_autostartresult", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L141", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_compute_setup_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L155", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_is_creation_blocked", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L172", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_setup_state_gate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L182", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_build_setup_router", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L221", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_coerce_probe_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L312", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_resolve_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L329", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "target": "api_setup_await_or_call", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L348", "weight": 1.0}, {"source": "api_setup_setup_state_gate", "target": "api_setup_compute_setup_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L197", "weight": 1.0}, {"source": "api_setup_setup_state_gate", "target": "api_setup_is_creation_blocked", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L198", "weight": 1.0}, {"source": "api_setup_coerce_probe_dict", "target": "api_setup_proberesult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L322", "weight": 1.0}, {"source": "api_setup_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_setup_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L1", "weight": 1.0}, {"source": "api_setup_rationale_73", "target": "api_setup_setupstatusresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L73", "weight": 1.0}, {"source": "api_setup_rationale_84", "target": "api_setup_limstestrequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L84", "weight": 1.0}, {"source": "api_setup_rationale_100", "target": "api_setup_equipmenttestrequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L100", "weight": 1.0}, {"source": "api_setup_rationale_116", "target": "api_setup_proberesult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L116", "weight": 1.0}, {"source": "api_setup_rationale_134", "target": "api_setup_autostartrequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L134", "weight": 1.0}, {"source": "api_setup_rationale_142", "target": "api_setup_autostartresult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L142", "weight": 1.0}, {"source": "api_setup_rationale_156", "target": "api_setup_compute_setup_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L156", "weight": 1.0}, {"source": "api_setup_rationale_173", "target": "api_setup_is_creation_blocked", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L173", "weight": 1.0}, {"source": "api_setup_rationale_183", "target": "api_setup_setup_state_gate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L183", "weight": 1.0}, {"source": "api_setup_rationale_222", "target": "api_setup_build_setup_router", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L222", "weight": 1.0}, {"source": "api_setup_rationale_313", "target": "api_setup_coerce_probe_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L313", "weight": 1.0}, {"source": "api_setup_rationale_330", "target": "api_setup_resolve_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L330", "weight": 1.0}, {"source": "api_setup_rationale_349", "target": "api_setup_await_or_call", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L349", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_setup_compute_setup_state", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L164"}, {"caller_nid": "api_setup_compute_setup_state", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L166"}, {"caller_nid": "api_setup_compute_setup_state", "callee": "lims_password_present", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L167"}, {"caller_nid": "api_setup_compute_setup_state", "callee": "nas_password_present", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L168"}, {"caller_nid": "api_setup_setup_state_gate", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L191"}, {"caller_nid": "api_setup_setup_state_gate", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L200"}, {"caller_nid": "api_setup_setup_state_gate", "callee": "nas_password_present", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L203"}, {"caller_nid": "api_setup_setup_state_gate", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L205"}, {"caller_nid": "api_setup_build_setup_router", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L223"}, {"caller_nid": "api_setup_build_setup_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L225"}, {"caller_nid": "api_setup_build_setup_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L242"}, {"caller_nid": "api_setup_build_setup_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L261"}, {"caller_nid": "api_setup_build_setup_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L289"}, {"caller_nid": "api_setup_coerce_probe_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L320"}, {"caller_nid": "api_setup_coerce_probe_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L321"}, {"caller_nid": "api_setup_coerce_probe_dict", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L323"}, {"caller_nid": "api_setup_coerce_probe_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L323"}, {"caller_nid": "api_setup_coerce_probe_dict", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L324"}, {"caller_nid": "api_setup_coerce_probe_dict", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L325"}, {"caller_nid": "api_setup_resolve_equipment", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L339"}, {"caller_nid": "api_setup_resolve_equipment", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L340"}, {"caller_nid": "api_setup_await_or_call", "callee": "callable_", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L355"}, {"caller_nid": "api_setup_await_or_call", "callee": "isawaitable", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py", "source_location": "L356"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5a4a745453c300072357dcd2abcd12fbe111ba81567dda475ec36e0424569846.json b/graphify-out/cache/ast/5a4a745453c300072357dcd2abcd12fbe111ba81567dda475ec36e0424569846.json deleted file mode 100644 index b5884fc..0000000 --- a/graphify-out/cache/ast/5a4a745453c300072357dcd2abcd12fbe111ba81567dda475ec36e0424569846.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "label": "creation_writer.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L1"}, {"id": "cache_creation_writer_select_active_overrides", "label": "select_active_overrides()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L69"}, {"id": "cache_creation_writer_is_future", "label": "_is_future()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L123"}, {"id": "cache_creation_writer_apply_migration_defaults", "label": "_apply_migration_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L143"}, {"id": "cache_creation_writer_creationwriter", "label": "CreationWriter", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L188"}, {"id": "cache_creation_writer_creationwriter_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L191"}, {"id": "cache_creation_writer_creationwriter_write_creation", "label": ".write_creation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L204"}, {"id": "cache_creation_writer_creationwriter_update_creation_atomic", "label": ".update_creation_atomic()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L214"}, {"id": "cache_creation_writer_creationwriter_read_creation_snapshot", "label": ".read_creation_snapshot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L232"}, {"id": "cache_creation_writer_creationwriter_write_creation_sync", "label": "._write_creation_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L243"}, {"id": "cache_creation_writer_creationwriter_update_creation_sync", "label": "._update_creation_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L248"}, {"id": "cache_creation_writer_creationwriter_read_creation_sync", "label": "._read_creation_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L267"}, {"id": "cache_creation_writer_creationwriter_decode_raw", "label": "._decode_raw()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L276"}, {"id": "cache_creation_writer_creationwriter_encode_and_replace", "label": "._encode_and_replace()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L300"}, {"id": "cache_creation_writer_payload_to_dict", "label": "_payload_to_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L316"}, {"id": "cache_creation_writer_merge_unknown_fields", "label": "_merge_unknown_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L327"}, {"id": "cache_creation_writer_rationale_1", "label": "Atomic reader/writer for ``creation.json``. Backend Spec \u00a74.4.5. All ``creation", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L1"}, {"id": "cache_creation_writer_rationale_74", "label": "Return the subset of override entries that are currently active. Implements", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L74"}, {"id": "cache_creation_writer_rationale_124", "label": "Return True if ``expires_at`` (UTC ISO-8601) is strictly after ``now``. The", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L124"}, {"id": "cache_creation_writer_rationale_144", "label": "Apply \u00a711.3 history-table defaults for fields missing on old minors. Return", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L144"}, {"id": "cache_creation_writer_rationale_189", "label": "Atomic reader/writer for ``creation.json``. Backend Spec \u00a74.4.5.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L189"}, {"id": "cache_creation_writer_rationale_192", "label": "Construct the writer. ``lock_timeout_seconds`` is the wall-clock cap fo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L192"}, {"id": "cache_creation_writer_rationale_205", "label": "Write a fresh ``creation.json``. Reserved for initial creation. Acquire", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L205"}, {"id": "cache_creation_writer_rationale_219", "label": "Read, mutate, and write ``creation.json`` under one ``LOCK_EX``. The fu", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L219"}, {"id": "cache_creation_writer_rationale_233", "label": "Read a snapshot under ``LOCK_SH`` (shared/read lock). Concurrent reader", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L233"}, {"id": "cache_creation_writer_rationale_277", "label": "Load the file as a raw ``dict`` (no Struct conversion yet). We need the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L277"}, {"id": "cache_creation_writer_rationale_301", "label": "Encode ``payload`` to bytes, write atomically via atomic_write_bytes. T", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L301"}, {"id": "cache_creation_writer_rationale_317", "label": "Recursively convert a ``CreationJson`` into a plain ``dict``. Uses :func:`m", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L317"}, {"id": "cache_creation_writer_rationale_328", "label": "Copy keys from ``raw`` that are NOT in ``new_dict`` back into it. This is h", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L328"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "filelock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "exlab_wizard_cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "cache_creation_writer_select_active_overrides", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "cache_creation_writer_is_future", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "cache_creation_writer_apply_migration_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L143", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "cache_creation_writer_creationwriter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L188", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter", "target": "cache_creation_writer_creationwriter_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L191", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter", "target": "cache_creation_writer_creationwriter_write_creation", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L204", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter", "target": "cache_creation_writer_creationwriter_update_creation_atomic", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L214", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter", "target": "cache_creation_writer_creationwriter_read_creation_snapshot", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L232", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter", "target": "cache_creation_writer_creationwriter_write_creation_sync", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L243", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter", "target": "cache_creation_writer_creationwriter_update_creation_sync", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L248", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter", "target": "cache_creation_writer_creationwriter_read_creation_sync", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L267", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter", "target": "cache_creation_writer_creationwriter_decode_raw", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L276", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter", "target": "cache_creation_writer_creationwriter_encode_and_replace", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L300", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "cache_creation_writer_payload_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L316", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "target": "cache_creation_writer_merge_unknown_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L327", "weight": 1.0}, {"source": "cache_creation_writer_select_active_overrides", "target": "cache_creation_writer_is_future", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L117", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter_write_creation_sync", "target": "cache_creation_writer_creationwriter_encode_and_replace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L246", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter_write_creation_sync", "target": "cache_creation_writer_payload_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L246", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter_update_creation_sync", "target": "cache_creation_writer_creationwriter_decode_raw", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L255", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter_update_creation_sync", "target": "cache_creation_writer_apply_migration_defaults", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L256", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter_update_creation_sync", "target": "cache_creation_writer_payload_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L260", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter_update_creation_sync", "target": "cache_creation_writer_merge_unknown_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L263", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter_update_creation_sync", "target": "cache_creation_writer_creationwriter_encode_and_replace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L264", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter_read_creation_sync", "target": "cache_creation_writer_creationwriter_decode_raw", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L270", "weight": 1.0}, {"source": "cache_creation_writer_creationwriter_read_creation_sync", "target": "cache_creation_writer_apply_migration_defaults", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L271", "weight": 1.0}, {"source": "cache_creation_writer_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_creation_writer_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L1", "weight": 1.0}, {"source": "cache_creation_writer_rationale_74", "target": "cache_creation_writer_select_active_overrides", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L74", "weight": 1.0}, {"source": "cache_creation_writer_rationale_124", "target": "cache_creation_writer_is_future", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L124", "weight": 1.0}, {"source": "cache_creation_writer_rationale_144", "target": "cache_creation_writer_apply_migration_defaults", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L144", "weight": 1.0}, {"source": "cache_creation_writer_rationale_189", "target": "cache_creation_writer_creationwriter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L189", "weight": 1.0}, {"source": "cache_creation_writer_rationale_192", "target": "cache_creation_writer_creationwriter_init", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L192", "weight": 1.0}, {"source": "cache_creation_writer_rationale_205", "target": "cache_creation_writer_creationwriter_write_creation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L205", "weight": 1.0}, {"source": "cache_creation_writer_rationale_219", "target": "cache_creation_writer_creationwriter_update_creation_atomic", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L219", "weight": 1.0}, {"source": "cache_creation_writer_rationale_233", "target": "cache_creation_writer_creationwriter_read_creation_snapshot", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L233", "weight": 1.0}, {"source": "cache_creation_writer_rationale_277", "target": "cache_creation_writer_creationwriter_decode_raw", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L277", "weight": 1.0}, {"source": "cache_creation_writer_rationale_301", "target": "cache_creation_writer_creationwriter_encode_and_replace", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L301", "weight": 1.0}, {"source": "cache_creation_writer_rationale_317", "target": "cache_creation_writer_payload_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L317", "weight": 1.0}, {"source": "cache_creation_writer_rationale_328", "target": "cache_creation_writer_merge_unknown_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L328", "weight": 1.0}], "raw_calls": [{"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L88"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L90"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L94"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L96"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L98"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L102"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L104"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L108"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L112"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L114"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L116"}, {"caller_nid": "cache_creation_writer_select_active_overrides", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L119"}, {"caller_nid": "cache_creation_writer_is_future", "callee": "parse_utc_iso_or_none", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L131"}, {"caller_nid": "cache_creation_writer_is_future", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L133"}, {"caller_nid": "cache_creation_writer_apply_migration_defaults", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L169"}, {"caller_nid": "cache_creation_writer_apply_migration_defaults", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L170"}, {"caller_nid": "cache_creation_writer_apply_migration_defaults", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L172"}, {"caller_nid": "cache_creation_writer_apply_migration_defaults", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L174"}, {"caller_nid": "cache_creation_writer_apply_migration_defaults", "callee": "uuid4", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L174"}, {"caller_nid": "cache_creation_writer_apply_migration_defaults", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L176"}, {"caller_nid": "cache_creation_writer_apply_migration_defaults", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L177"}, {"caller_nid": "cache_creation_writer_apply_migration_defaults", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L178"}, {"caller_nid": "cache_creation_writer_apply_migration_defaults", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L179"}, {"caller_nid": "cache_creation_writer_creationwriter_write_creation", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L212"}, {"caller_nid": "cache_creation_writer_creationwriter_update_creation_atomic", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L230"}, {"caller_nid": "cache_creation_writer_creationwriter_read_creation_snapshot", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L239"}, {"caller_nid": "cache_creation_writer_creationwriter_write_creation_sync", "callee": "FileLock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L244"}, {"caller_nid": "cache_creation_writer_creationwriter_write_creation_sync", "callee": "lock_path_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L244"}, {"caller_nid": "cache_creation_writer_creationwriter_update_creation_sync", "callee": "FileLock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L253"}, {"caller_nid": "cache_creation_writer_creationwriter_update_creation_sync", "callee": "lock_path_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L253"}, {"caller_nid": "cache_creation_writer_creationwriter_update_creation_sync", "callee": "convert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L258"}, {"caller_nid": "cache_creation_writer_creationwriter_update_creation_sync", "callee": "mutator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L259"}, {"caller_nid": "cache_creation_writer_creationwriter_read_creation_sync", "callee": "ReadWriteLock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L268"}, {"caller_nid": "cache_creation_writer_creationwriter_read_creation_sync", "callee": "lock_path_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L268"}, {"caller_nid": "cache_creation_writer_creationwriter_read_creation_sync", "callee": "read_lock", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L269"}, {"caller_nid": "cache_creation_writer_creationwriter_read_creation_sync", "callee": "convert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L272"}, {"caller_nid": "cache_creation_writer_creationwriter_decode_raw", "callee": "read_msgspec_json_raw", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L288"}, {"caller_nid": "cache_creation_writer_creationwriter_decode_raw", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L293"}, {"caller_nid": "cache_creation_writer_creationwriter_decode_raw", "callee": "require_schema_major", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L294"}, {"caller_nid": "cache_creation_writer_creationwriter_decode_raw", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L295"}, {"caller_nid": "cache_creation_writer_creationwriter_decode_raw", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L295"}, {"caller_nid": "cache_creation_writer_creationwriter_encode_and_replace", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L307"}, {"caller_nid": "cache_creation_writer_creationwriter_encode_and_replace", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L308"}, {"caller_nid": "cache_creation_writer_payload_to_dict", "callee": "to_builtins", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L324"}, {"caller_nid": "cache_creation_writer_merge_unknown_fields", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py", "source_location": "L339"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5a4cc121c737ac11899dba260ec8ad24d7823d74ef578a8148fd2978dd35ab08.json b/graphify-out/cache/ast/5a4cc121c737ac11899dba260ec8ad24d7823d74ef578a8148fd2978dd35ab08.json deleted file mode 100644 index 9f3e1c3..0000000 --- a/graphify-out/cache/ast/5a4cc121c737ac11899dba260ec8ad24d7823d74ef578a8148fd2978dd35ab08.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_07_plugin_input_required_py", "label": "test_flow_07_plugin_input_required.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L1"}, {"id": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "label": "test_flow_07_plugin_input_required()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L14"}, {"id": "e2e_test_flow_07_plugin_input_required_rationale_1", "label": "E2E flow 07: Plugin input-required round trip. Frontend Spec \u00a76.4.5 (plugin ste", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_07_plugin_input_required_py", "target": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L14", "weight": 1.0}, {"source": "e2e_test_flow_07_plugin_input_required_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_07_plugin_input_required_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L15"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L16"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L18"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L18"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L19"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L19"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L21"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L21"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py", "source_location": "L29"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5a626c3ace3fcb4d13f819d2decaa7eef2c43039ed0902f543e558fb6652a047.json b/graphify-out/cache/ast/5a626c3ace3fcb4d13f819d2decaa7eef2c43039ed0902f543e558fb6652a047.json deleted file mode 100644 index 983ce9b..0000000 --- a/graphify-out/cache/ast/5a626c3ace3fcb4d13f819d2decaa7eef2c43039ed0902f543e558fb6652a047.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_reconfigure_py", "label": "test_engine_reconfigure.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L1"}, {"id": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "label": "test_reconfigure_refreshes_scan_limits_and_roots()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L16"}, {"id": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots", "label": "test_reconfigure_defaults_to_empty_roots()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L37"}, {"id": "validator_test_engine_reconfigure_rationale_1", "label": "Unit tests for ``Validator.reconfigure`` (live config reload). The settings dia", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_reconfigure_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_reconfigure_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_reconfigure_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_reconfigure_py", "target": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_reconfigure_py", "target": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L37", "weight": 1.0}, {"source": "validator_test_engine_reconfigure_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_reconfigure_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L17"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L18"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "callee": "reconfigure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L24"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L25"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L26"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L27"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L32"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L33"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L34"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L38"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L39"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L40"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L41"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots", "callee": "reconfigure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L43"}, {"caller_nid": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py", "source_location": "L43"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5a84d90f53ec7cfd2abbf95a7ca3c10625c4ca790da4869e1095058169e0e0bc.json b/graphify-out/cache/ast/5a84d90f53ec7cfd2abbf95a7ca3c10625c4ca790da4869e1095058169e0e0bc.json deleted file mode 100644 index 42a0f6c..0000000 --- a/graphify-out/cache/ast/5a84d90f53ec7cfd2abbf95a7ca3c10625c4ca790da4869e1095058169e0e0bc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_exlab_wizard_frontend_spec_md", "label": "ExLab-Wizard_Frontend_Spec.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1"}, {"id": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "label": "ExLab-Wizard: Frontend Design Specification", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1"}, {"id": "design_specs_exlab_wizard_frontend_spec_table_of_contents", "label": "Table of Contents", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L9"}, {"id": "design_specs_exlab_wizard_frontend_spec_1_purpose_and_scope", "label": "1. Purpose and Scope", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L27"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_framework_choice", "label": "2. Framework Choice", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L39"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", "label": "2.1 Visual tokens and the design system", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L56"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_1_1_the_design_py_module", "label": "2.1.1 The `design.py` module", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L60"}, {"id": "design_specs_exlab_wizard_frontend_spec_codeblock_1", "label": "code:python (# exlab_wizard/ui/design.py \u2014 mirrors DESIGN.md; update both)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L66"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_1_2_what_lives_in_design_md_vs_in_this_spec", "label": "2.1.2 What lives in DESIGN.md vs in this spec", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L123"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_1_3_exlab_wizard_typography_overrides", "label": "2.1.3 ExLab-Wizard typography overrides", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L130"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_1_4_warning_tier_color_resolves_oq_3", "label": "2.1.4 Warning-tier color (resolves OQ #3)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L143"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_1_5_css_styling_reference_rule", "label": "2.1.5 CSS styling reference rule", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L160"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_1_6_design_md_absolute_constraints_binding", "label": "2.1.6 DESIGN.md absolute constraints (binding)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L173"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", "label": "2.2 Notification taxonomy", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L183"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_2_1_pattern_selection_rule", "label": "2.2.1 Pattern selection rule", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L187"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_2_2_toast_specifications", "label": "2.2.2 Toast specifications", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L205"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_2_3_banner_specifications", "label": "2.2.3 Banner specifications", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L228"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_2_4_inline_message_specifications", "label": "2.2.4 Inline message specifications", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L252"}, {"id": "design_specs_exlab_wizard_frontend_spec_2_2_5_the_notify_helper_api", "label": "2.2.5 The `notify()` helper API", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L268"}, {"id": "design_specs_exlab_wizard_frontend_spec_codeblock_2", "label": "code:python (# Action results -> toasts (\u00a72.2.2))", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L272"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_main_window", "label": "3. Main Window", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L307"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", "label": "3.1 Application Lifecycle and First-Launch State", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L311"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_1_1_setup_complete_definition", "label": "3.1.1 Setup-complete definition", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L319"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_1_2_boot_flow", "label": "3.1.2 Boot flow", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L329"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_1_3_welcome_card_first_launch_only", "label": "3.1.3 Welcome Card (first launch only)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L356"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_1_4_setup_incomplete_state_on_the_main_window", "label": "3.1.4 Setup-Incomplete state on the Main Window", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L376"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_1_5_first_launch_defaults", "label": "3.1.5 First-launch defaults", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L393"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_1_6_bundled_content_discovery", "label": "3.1.6 Bundled content discovery", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L404"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_1_7_lims_configuration_online_and_offline_workstations", "label": "3.1.7 LIMS configuration: online and offline workstations", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L412"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_2_layout", "label": "3.2 Layout", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L418"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_3_refresh_semantics", "label": "3.3 Refresh Semantics", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L433"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", "label": "3.4 Tray Icon and Window Lifecycle", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L437"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_4_1_tray_menu", "label": "3.4.1 Tray menu", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L441"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_4_2_status_submenu", "label": "3.4.2 Status submenu", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L453"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_4_3_window_lifecycle", "label": "3.4.3 Window lifecycle", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L469"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_4_4_why_this_lifecycle_matters_for_the_lab_workflow", "label": "3.4.4 Why this lifecycle matters for the lab workflow", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L486"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_4_5_os_notifications", "label": "3.4.5 OS notifications", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L494"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_4_6_quitting_the_app", "label": "3.4.6 Quitting the app", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L503"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_4_7_linux_fallback_no_system_tray", "label": "3.4.7 Linux fallback (no system tray)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L510"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", "label": "3.5 Tree details, filters, and status bar", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L521"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_5_1_lims_name_resolution", "label": "3.5.1 LIMS name resolution", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L525"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_5_2_tree_node_display_format", "label": "3.5.2 Tree node display format", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L535"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_5_3_archived_and_deleted_lims_project_handling", "label": "3.5.3 Archived and deleted LIMS-project handling", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L546"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_5_4_search_and_filter_chips", "label": "3.5.4 Search and filter chips", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L558"}, {"id": "design_specs_exlab_wizard_frontend_spec_codeblock_3", "label": "code:block3 ([ search by name, short_id, or run label ... ] [Active \u2713] )", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L562"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_5_5_status_bar_bottom_of_the_main_window", "label": "3.5.5 Status bar (bottom of the main window)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L580"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_5_6_empty_states", "label": "3.5.6 Empty states", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L594"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", "label": "3.6 Detail pane (right panel)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L604"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_6_1_title_bar", "label": "3.6.1 Title bar", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L610"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_6_2_project_detail_sections", "label": "3.6.2 Project detail sections", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L622"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_6_3_run_detail_sections", "label": "3.6.3 Run detail sections", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L633"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_6_4_validation_and_override_summary", "label": "3.6.4 Validation and override summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L646"}, {"id": "design_specs_exlab_wizard_frontend_spec_codeblock_4", "label": "code:block4 (\u26a0 Unresolved placeholder token \u00b7 Run_)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L654"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_6_5_action_affordances", "label": "3.6.5 Action affordances", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L668"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_6_6_empty_selection", "label": "3.6.6 Empty selection", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L690"}, {"id": "design_specs_exlab_wizard_frontend_spec_3_7_keyboard_shortcuts", "label": "3.7 Keyboard shortcuts", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L698"}, {"id": "design_specs_exlab_wizard_frontend_spec_4_new_project_wizard", "label": "4. New Project Wizard", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L723"}, {"id": "design_specs_exlab_wizard_frontend_spec_4_1_lims_picker_behavior", "label": "4.1 LIMS Picker Behavior", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L739"}, {"id": "design_specs_exlab_wizard_frontend_spec_5_new_run_wizard_experimental_and_test_modes", "label": "5. New Run Wizard (Experimental and Test Modes)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L750"}, {"id": "design_specs_exlab_wizard_frontend_spec_5_1_mode_binding_at_launch", "label": "5.1 Mode Binding at Launch", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L754"}, {"id": "design_specs_exlab_wizard_frontend_spec_5_2_steps", "label": "5.2 Steps", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L761"}, {"id": "design_specs_exlab_wizard_frontend_spec_5_3_visual_differentiation", "label": "5.3 Visual Differentiation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L772"}, {"id": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", "label": "6. README Authoring Step", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L780"}, {"id": "design_specs_exlab_wizard_frontend_spec_6_1_layout", "label": "6.1 Layout", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L784"}, {"id": "design_specs_exlab_wizard_frontend_spec_6_2_pre_fill_rules", "label": "6.2 Pre-fill Rules", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L796"}, {"id": "design_specs_exlab_wizard_frontend_spec_6_3_preview_behavior", "label": "6.3 Preview Behavior", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L806"}, {"id": "design_specs_exlab_wizard_frontend_spec_6_4_required_field_error_messaging", "label": "6.4 Required-Field Error Messaging", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L810"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "label": "7. Settings Dialog", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L816"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_1_modality", "label": "7.1 Modality", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L822"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_2_layout_sidebar_navigation", "label": "7.2 Layout \u2014 sidebar navigation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L828"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_3_save_and_discard_model", "label": "7.3 Save and Discard model", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L839"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_4_reusable_patterns", "label": "7.4 Reusable patterns", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L851"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_4_1_credential_field", "label": "7.4.1 Credential field", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L853"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_4_2_test_connection_feedback_panel", "label": "7.4.2 Test-connection feedback panel", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L865"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_5_paths_section", "label": "7.5 Paths section", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L877"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_6_lims_section", "label": "7.6 LIMS section", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L889"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_7_equipment_list_section", "label": "7.7 Equipment List section", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L907"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_7_1_list_table", "label": "7.7.1 List table", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L911"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_7_2_add_edit_sub_dialog", "label": "7.7.2 Add / Edit sub-dialog", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L929"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_7_3_bandwidth_schedule_editor", "label": "7.7.3 Bandwidth schedule editor", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L962"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_8_nas_cleanup_section", "label": "7.8 NAS Cleanup section", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L990"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_9_operators_section", "label": "7.9 Operators section", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1003"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_10_validator_section", "label": "7.10 Validator section", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1009"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_11_logging_section", "label": "7.11 Logging section", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1018"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_12_orchestrator_mode_section", "label": "7.12 Orchestrator Mode section", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1028"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_13_application_section", "label": "7.13 Application section", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1042"}, {"id": "design_specs_exlab_wizard_frontend_spec_7_14_setup_incomplete_state", "label": "7.14 Setup-incomplete state", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1054"}, {"id": "design_specs_exlab_wizard_frontend_spec_8_orchestrator_mode_surfaces", "label": "8. Orchestrator Mode Surfaces", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1064"}, {"id": "design_specs_exlab_wizard_frontend_spec_8_1_equipment_selector", "label": "8.1 Equipment Selector", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1068"}, {"id": "design_specs_exlab_wizard_frontend_spec_8_2_staging_panel", "label": "8.2 Staging Panel", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1072"}, {"id": "design_specs_exlab_wizard_frontend_spec_8_3_clear_verified_runs_action", "label": "8.3 Clear Verified Runs Action", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1085"}, {"id": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", "label": "9. Plugin Input Escalation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1091"}, {"id": "design_specs_exlab_wizard_frontend_spec_9_1_escalation_dialog_layout", "label": "9.1 Escalation dialog layout", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1095"}, {"id": "design_specs_exlab_wizard_frontend_spec_9_2_multiple_consecutive_escalations_from_one_session_sequential", "label": "9.2 Multiple consecutive escalations from one session (sequential)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1112"}, {"id": "design_specs_exlab_wizard_frontend_spec_9_3_mid_plugin_pass_progress_per_plugin_sub_progress", "label": "9.3 Mid-plugin-pass progress (per-plugin sub-progress)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1120"}, {"id": "design_specs_exlab_wizard_frontend_spec_codeblock_5", "label": "code:block5 (Running plugins )", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1124"}, {"id": "design_specs_exlab_wizard_frontend_spec_9_4_cancel_during_escalation_confirmation_dialog", "label": "9.4 Cancel during escalation -- confirmation dialog", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1139"}, {"id": "design_specs_exlab_wizard_frontend_spec_9_5_disconnect_and_resume_the_in_flight_operations_panel", "label": "9.5 Disconnect and resume -- the in-flight operations panel", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1154"}, {"id": "design_specs_exlab_wizard_frontend_spec_9_6_concurrent_suspended_sessions", "label": "9.6 Concurrent suspended sessions", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1181"}, {"id": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", "label": "10. Error, Progress, and Summary Presentation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1192"}, {"id": "design_specs_exlab_wizard_frontend_spec_10_1_progress", "label": "10.1 Progress", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1194"}, {"id": "design_specs_exlab_wizard_frontend_spec_10_2_errors", "label": "10.2 Errors", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1198"}, {"id": "design_specs_exlab_wizard_frontend_spec_10_3_success_summary", "label": "10.3 Success Summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1206"}, {"id": "design_specs_exlab_wizard_frontend_spec_10_4_sync_blocked_banner", "label": "10.4 Sync-Blocked Banner", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1216"}, {"id": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", "label": "10.5 Recovery flows", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1226"}, {"id": "design_specs_exlab_wizard_frontend_spec_10_5_1_nas_sync_failure_recovery", "label": "10.5.1 NAS sync failure recovery", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1230"}, {"id": "design_specs_exlab_wizard_frontend_spec_10_5_2_lims_unreachability_mid_wizard", "label": "10.5.2 LIMS unreachability mid-wizard", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1252"}, {"id": "design_specs_exlab_wizard_frontend_spec_10_5_3_crash_and_orphan_recovery", "label": "10.5.3 Crash and orphan recovery", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1270"}, {"id": "design_specs_exlab_wizard_frontend_spec_10_5_4_pre_flight_checks_before_creation", "label": "10.5.4 Pre-flight checks before creation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1287"}, {"id": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", "label": "11. Problems Tab", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1301"}, {"id": "design_specs_exlab_wizard_frontend_spec_11_1_layout", "label": "11.1 Layout", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1305"}, {"id": "design_specs_exlab_wizard_frontend_spec_11_2_severity_tier_visual_treatment", "label": "11.2 Severity Tier Visual Treatment", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1330"}, {"id": "design_specs_exlab_wizard_frontend_spec_11_3_per_row_actions", "label": "11.3 Per-Row Actions", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1336"}, {"id": "design_specs_exlab_wizard_frontend_spec_11_4_empty_state", "label": "11.4 Empty State", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1347"}, {"id": "design_specs_exlab_wizard_frontend_spec_11_4_1_new_finding_surfacing_during_the_session", "label": "11.4.1 New-finding surfacing during the session", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1355"}, {"id": "design_specs_exlab_wizard_frontend_spec_11_5_override_and_allow_sync_dialog", "label": "11.5 Override-and-Allow-Sync Dialog", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1365"}, {"id": "design_specs_exlab_wizard_frontend_spec_11_6_cross_surface_links", "label": "11.6 Cross-Surface Links", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1381"}, {"id": "design_specs_exlab_wizard_frontend_spec_12_widget_mappings", "label": "12. Widget Mappings", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1394"}, {"id": "design_specs_exlab_wizard_frontend_spec_12_1_template_variable_form_from_copier_yml_questions", "label": "12.1 Template Variable Form (from `copier.yml` questions)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1398"}, {"id": "design_specs_exlab_wizard_frontend_spec_12_2_readme_form_fields", "label": "12.2 README Form Fields", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1408"}, {"id": "design_specs_exlab_wizard_frontend_spec_12_3_required_field_indication", "label": "12.3 Required-Field Indication", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1418"}, {"id": "design_specs_exlab_wizard_frontend_spec_13_open_questions", "label": "13. Open Questions", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1426"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_exlab_wizard_frontend_spec_md", "target": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_table_of_contents", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L9", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_1_purpose_and_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L27", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_2_framework_choice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L39", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_framework_choice", "target": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L56", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", "target": "design_specs_exlab_wizard_frontend_spec_2_1_1_the_design_py_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L60", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_1_1_the_design_py_module", "target": "design_specs_exlab_wizard_frontend_spec_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L66", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", "target": "design_specs_exlab_wizard_frontend_spec_2_1_2_what_lives_in_design_md_vs_in_this_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L123", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", "target": "design_specs_exlab_wizard_frontend_spec_2_1_3_exlab_wizard_typography_overrides", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L130", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", "target": "design_specs_exlab_wizard_frontend_spec_2_1_4_warning_tier_color_resolves_oq_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L143", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", "target": "design_specs_exlab_wizard_frontend_spec_2_1_5_css_styling_reference_rule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L160", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", "target": "design_specs_exlab_wizard_frontend_spec_2_1_6_design_md_absolute_constraints_binding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L173", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_framework_choice", "target": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L183", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", "target": "design_specs_exlab_wizard_frontend_spec_2_2_1_pattern_selection_rule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L187", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", "target": "design_specs_exlab_wizard_frontend_spec_2_2_2_toast_specifications", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L205", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", "target": "design_specs_exlab_wizard_frontend_spec_2_2_3_banner_specifications", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L228", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", "target": "design_specs_exlab_wizard_frontend_spec_2_2_4_inline_message_specifications", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L252", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", "target": "design_specs_exlab_wizard_frontend_spec_2_2_5_the_notify_helper_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L268", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_2_2_5_the_notify_helper_api", "target": "design_specs_exlab_wizard_frontend_spec_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L272", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_3_main_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L307", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_main_window", "target": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L311", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", "target": "design_specs_exlab_wizard_frontend_spec_3_1_1_setup_complete_definition", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L319", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", "target": "design_specs_exlab_wizard_frontend_spec_3_1_2_boot_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L329", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", "target": "design_specs_exlab_wizard_frontend_spec_3_1_3_welcome_card_first_launch_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L356", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", "target": "design_specs_exlab_wizard_frontend_spec_3_1_4_setup_incomplete_state_on_the_main_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L376", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", "target": "design_specs_exlab_wizard_frontend_spec_3_1_5_first_launch_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L393", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", "target": "design_specs_exlab_wizard_frontend_spec_3_1_6_bundled_content_discovery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L404", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", "target": "design_specs_exlab_wizard_frontend_spec_3_1_7_lims_configuration_online_and_offline_workstations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L412", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_main_window", "target": "design_specs_exlab_wizard_frontend_spec_3_2_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L418", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_main_window", "target": "design_specs_exlab_wizard_frontend_spec_3_3_refresh_semantics", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L433", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_main_window", "target": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L437", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", "target": "design_specs_exlab_wizard_frontend_spec_3_4_1_tray_menu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L441", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", "target": "design_specs_exlab_wizard_frontend_spec_3_4_2_status_submenu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L453", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", "target": "design_specs_exlab_wizard_frontend_spec_3_4_3_window_lifecycle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L469", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", "target": "design_specs_exlab_wizard_frontend_spec_3_4_4_why_this_lifecycle_matters_for_the_lab_workflow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L486", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", "target": "design_specs_exlab_wizard_frontend_spec_3_4_5_os_notifications", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L494", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", "target": "design_specs_exlab_wizard_frontend_spec_3_4_6_quitting_the_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L503", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", "target": "design_specs_exlab_wizard_frontend_spec_3_4_7_linux_fallback_no_system_tray", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L510", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_main_window", "target": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L521", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", "target": "design_specs_exlab_wizard_frontend_spec_3_5_1_lims_name_resolution", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L525", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", "target": "design_specs_exlab_wizard_frontend_spec_3_5_2_tree_node_display_format", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L535", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", "target": "design_specs_exlab_wizard_frontend_spec_3_5_3_archived_and_deleted_lims_project_handling", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L546", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", "target": "design_specs_exlab_wizard_frontend_spec_3_5_4_search_and_filter_chips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L558", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_5_4_search_and_filter_chips", "target": "design_specs_exlab_wizard_frontend_spec_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L562", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", "target": "design_specs_exlab_wizard_frontend_spec_3_5_5_status_bar_bottom_of_the_main_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L580", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", "target": "design_specs_exlab_wizard_frontend_spec_3_5_6_empty_states", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L594", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_main_window", "target": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L604", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", "target": "design_specs_exlab_wizard_frontend_spec_3_6_1_title_bar", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L610", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", "target": "design_specs_exlab_wizard_frontend_spec_3_6_2_project_detail_sections", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L622", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", "target": "design_specs_exlab_wizard_frontend_spec_3_6_3_run_detail_sections", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L633", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", "target": "design_specs_exlab_wizard_frontend_spec_3_6_4_validation_and_override_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L646", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_6_4_validation_and_override_summary", "target": "design_specs_exlab_wizard_frontend_spec_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L654", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", "target": "design_specs_exlab_wizard_frontend_spec_3_6_5_action_affordances", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L668", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", "target": "design_specs_exlab_wizard_frontend_spec_3_6_6_empty_selection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L690", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_3_main_window", "target": "design_specs_exlab_wizard_frontend_spec_3_7_keyboard_shortcuts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L698", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_4_new_project_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L723", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_4_new_project_wizard", "target": "design_specs_exlab_wizard_frontend_spec_4_1_lims_picker_behavior", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L739", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_5_new_run_wizard_experimental_and_test_modes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L750", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_5_new_run_wizard_experimental_and_test_modes", "target": "design_specs_exlab_wizard_frontend_spec_5_1_mode_binding_at_launch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L754", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_5_new_run_wizard_experimental_and_test_modes", "target": "design_specs_exlab_wizard_frontend_spec_5_2_steps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L761", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_5_new_run_wizard_experimental_and_test_modes", "target": "design_specs_exlab_wizard_frontend_spec_5_3_visual_differentiation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L772", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L780", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", "target": "design_specs_exlab_wizard_frontend_spec_6_1_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L784", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", "target": "design_specs_exlab_wizard_frontend_spec_6_2_pre_fill_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L796", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", "target": "design_specs_exlab_wizard_frontend_spec_6_3_preview_behavior", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L806", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", "target": "design_specs_exlab_wizard_frontend_spec_6_4_required_field_error_messaging", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L810", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L816", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_1_modality", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L822", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_2_layout_sidebar_navigation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L828", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_3_save_and_discard_model", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L839", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_4_reusable_patterns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L851", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_4_reusable_patterns", "target": "design_specs_exlab_wizard_frontend_spec_7_4_1_credential_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L853", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_4_reusable_patterns", "target": "design_specs_exlab_wizard_frontend_spec_7_4_2_test_connection_feedback_panel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L865", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_5_paths_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L877", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_6_lims_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L889", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_7_equipment_list_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L907", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_7_equipment_list_section", "target": "design_specs_exlab_wizard_frontend_spec_7_7_1_list_table", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L911", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_7_equipment_list_section", "target": "design_specs_exlab_wizard_frontend_spec_7_7_2_add_edit_sub_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L929", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_7_equipment_list_section", "target": "design_specs_exlab_wizard_frontend_spec_7_7_3_bandwidth_schedule_editor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L962", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_8_nas_cleanup_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L990", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_9_operators_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1003", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_10_validator_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1009", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_11_logging_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1018", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_12_orchestrator_mode_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1028", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_13_application_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1042", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", "target": "design_specs_exlab_wizard_frontend_spec_7_14_setup_incomplete_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1054", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_8_orchestrator_mode_surfaces", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1064", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_8_orchestrator_mode_surfaces", "target": "design_specs_exlab_wizard_frontend_spec_8_1_equipment_selector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1068", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_8_orchestrator_mode_surfaces", "target": "design_specs_exlab_wizard_frontend_spec_8_2_staging_panel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1072", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_8_orchestrator_mode_surfaces", "target": "design_specs_exlab_wizard_frontend_spec_8_3_clear_verified_runs_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1085", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1091", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", "target": "design_specs_exlab_wizard_frontend_spec_9_1_escalation_dialog_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1095", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", "target": "design_specs_exlab_wizard_frontend_spec_9_2_multiple_consecutive_escalations_from_one_session_sequential", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1112", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", "target": "design_specs_exlab_wizard_frontend_spec_9_3_mid_plugin_pass_progress_per_plugin_sub_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1120", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_9_3_mid_plugin_pass_progress_per_plugin_sub_progress", "target": "design_specs_exlab_wizard_frontend_spec_codeblock_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1124", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", "target": "design_specs_exlab_wizard_frontend_spec_9_4_cancel_during_escalation_confirmation_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1139", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", "target": "design_specs_exlab_wizard_frontend_spec_9_5_disconnect_and_resume_the_in_flight_operations_panel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1154", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", "target": "design_specs_exlab_wizard_frontend_spec_9_6_concurrent_suspended_sessions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1181", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1192", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", "target": "design_specs_exlab_wizard_frontend_spec_10_1_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1194", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", "target": "design_specs_exlab_wizard_frontend_spec_10_2_errors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1198", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", "target": "design_specs_exlab_wizard_frontend_spec_10_3_success_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1206", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", "target": "design_specs_exlab_wizard_frontend_spec_10_4_sync_blocked_banner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1216", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", "target": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1226", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", "target": "design_specs_exlab_wizard_frontend_spec_10_5_1_nas_sync_failure_recovery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1230", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", "target": "design_specs_exlab_wizard_frontend_spec_10_5_2_lims_unreachability_mid_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1252", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", "target": "design_specs_exlab_wizard_frontend_spec_10_5_3_crash_and_orphan_recovery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1270", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", "target": "design_specs_exlab_wizard_frontend_spec_10_5_4_pre_flight_checks_before_creation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1287", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1301", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", "target": "design_specs_exlab_wizard_frontend_spec_11_1_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1305", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", "target": "design_specs_exlab_wizard_frontend_spec_11_2_severity_tier_visual_treatment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1330", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", "target": "design_specs_exlab_wizard_frontend_spec_11_3_per_row_actions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1336", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", "target": "design_specs_exlab_wizard_frontend_spec_11_4_empty_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1347", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", "target": "design_specs_exlab_wizard_frontend_spec_11_4_1_new_finding_surfacing_during_the_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1355", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", "target": "design_specs_exlab_wizard_frontend_spec_11_5_override_and_allow_sync_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1365", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", "target": "design_specs_exlab_wizard_frontend_spec_11_6_cross_surface_links", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1381", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_12_widget_mappings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1394", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_12_widget_mappings", "target": "design_specs_exlab_wizard_frontend_spec_12_1_template_variable_form_from_copier_yml_questions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1398", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_12_widget_mappings", "target": "design_specs_exlab_wizard_frontend_spec_12_2_readme_form_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1408", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_12_widget_mappings", "target": "design_specs_exlab_wizard_frontend_spec_12_3_required_field_indication", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1418", "weight": 1.0}, {"source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", "target": "design_specs_exlab_wizard_frontend_spec_13_open_questions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md", "source_location": "L1426", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/5ab87aadad41b8710104312585e50607593f0fef95d1ba19992bcdde73773d7d.json b/graphify-out/cache/ast/5ab87aadad41b8710104312585e50607593f0fef95d1ba19992bcdde73773d7d.json deleted file mode 100644 index 77894a9..0000000 --- a/graphify-out/cache/ast/5ab87aadad41b8710104312585e50607593f0fef95d1ba19992bcdde73773d7d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_run_delete_py", "label": "run_delete.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L1"}, {"id": "sync_run_delete_delete_run_files", "label": "delete_run_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L38"}, {"id": "sync_run_delete_prune_empty_dirs", "label": "_prune_empty_dirs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L94"}, {"id": "sync_run_delete_rationale_1", "label": "Keep-local-aware, symlink-safe deletion of a run's staging copy. Operator-free", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L1"}, {"id": "sync_run_delete_rationale_44", "label": "Delete ``run_path`` data files honoring ``retain_cache`` and ``keep_local``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L44"}, {"id": "sync_run_delete_rationale_95", "label": "Remove now-empty real directories under ``run_path`` (deepest first). The r", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L95"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_run_delete_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_run_delete_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_run_delete_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_run_delete_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_run_delete_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_run_delete_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_run_delete_py", "target": "sync_run_delete_delete_run_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_run_delete_py", "target": "sync_run_delete_prune_empty_dirs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L94", "weight": 1.0}, {"source": "sync_run_delete_delete_run_files", "target": "sync_run_delete_prune_empty_dirs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L91", "weight": 1.0}, {"source": "sync_run_delete_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_run_delete_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_run_delete_rationale_44", "target": "sync_run_delete_delete_run_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L44", "weight": 1.0}, {"source": "sync_run_delete_rationale_95", "target": "sync_run_delete_prune_empty_dirs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L95", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_run_delete_delete_run_files", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L59"}, {"caller_nid": "sync_run_delete_delete_run_files", "callee": "rmtree", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L65"}, {"caller_nid": "sync_run_delete_delete_run_files", "callee": "walk", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L73"}, {"caller_nid": "sync_run_delete_delete_run_files", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L74"}, {"caller_nid": "sync_run_delete_delete_run_files", "callee": "is_symlink", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L77"}, {"caller_nid": "sync_run_delete_delete_run_files", "callee": "relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L79"}, {"caller_nid": "sync_run_delete_delete_run_files", "callee": "as_posix", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L84"}, {"caller_nid": "sync_run_delete_delete_run_files", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L89"}, {"caller_nid": "sync_run_delete_delete_run_files", "callee": "unlink", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L90"}, {"caller_nid": "sync_run_delete_prune_empty_dirs", "callee": "walk", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L103"}, {"caller_nid": "sync_run_delete_prune_empty_dirs", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L104"}, {"caller_nid": "sync_run_delete_prune_empty_dirs", "callee": "is_symlink", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L106"}, {"caller_nid": "sync_run_delete_prune_empty_dirs", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L108"}, {"caller_nid": "sync_run_delete_prune_empty_dirs", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L111"}, {"caller_nid": "sync_run_delete_prune_empty_dirs", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L111"}, {"caller_nid": "sync_run_delete_prune_empty_dirs", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L114"}, {"caller_nid": "sync_run_delete_prune_empty_dirs", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L115"}, {"caller_nid": "sync_run_delete_prune_empty_dirs", "callee": "iterdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L115"}, {"caller_nid": "sync_run_delete_prune_empty_dirs", "callee": "rmdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py", "source_location": "L116"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5b01b70d0dd15ca94c2687cea10d01fdad35e02b3415e14e7b119165bde1f699.json b/graphify-out/cache/ast/5b01b70d0dd15ca94c2687cea10d01fdad35e02b3415e14e7b119165bde1f699.json deleted file mode 100644 index 39bee01..0000000 --- a/graphify-out/cache/ast/5b01b70d0dd15ca94c2687cea10d01fdad35e02b3415e14e7b119165bde1f699.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_08_error_handling_principles_md", "label": "08_Error_Handling_Principles.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L1"}, {"id": "design_spec_sections_08_error_handling_principles_8_error_handling_principles", "label": "8. Error Handling Principles", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L1"}, {"id": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", "label": "8.1 Path Validation Rules", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L11"}, {"id": "design_spec_sections_08_error_handling_principles_8_1_1_unresolved_placeholder_rule_hard_tier", "label": "8.1.1 Unresolved-placeholder rule (hard tier)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L15"}, {"id": "design_spec_sections_08_error_handling_principles_8_1_2_illegal_filesystem_character_rule_hard_tier", "label": "8.1.2 Illegal-filesystem-character rule (hard tier)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L39"}, {"id": "design_spec_sections_08_error_handling_principles_8_1_3_mode_prefix_mismatch_rule_hard_tier", "label": "8.1.3 Mode-prefix mismatch rule (hard tier)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L51"}, {"id": "design_spec_sections_08_error_handling_principles_8_1_4_orphan_rule_soft_tier", "label": "8.1.4 Orphan rule (soft tier)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L60"}, {"id": "design_spec_sections_08_error_handling_principles_8_1_5_missing_required_field_rule_soft_tier", "label": "8.1.5 Missing-required-field rule (soft tier)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L66"}, {"id": "design_spec_sections_08_error_handling_principles_8_1_6_tier_mapping", "label": "8.1.6 Tier mapping", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L70"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_08_error_handling_principles_md", "target": "design_spec_sections_08_error_handling_principles_8_error_handling_principles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_08_error_handling_principles_8_error_handling_principles", "target": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L11", "weight": 1.0}, {"source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", "target": "design_spec_sections_08_error_handling_principles_8_1_1_unresolved_placeholder_rule_hard_tier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L15", "weight": 1.0}, {"source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", "target": "design_spec_sections_08_error_handling_principles_8_1_2_illegal_filesystem_character_rule_hard_tier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L39", "weight": 1.0}, {"source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", "target": "design_spec_sections_08_error_handling_principles_8_1_3_mode_prefix_mismatch_rule_hard_tier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L51", "weight": 1.0}, {"source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", "target": "design_spec_sections_08_error_handling_principles_8_1_4_orphan_rule_soft_tier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L60", "weight": 1.0}, {"source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", "target": "design_spec_sections_08_error_handling_principles_8_1_5_missing_required_field_rule_soft_tier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L66", "weight": 1.0}, {"source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", "target": "design_spec_sections_08_error_handling_principles_8_1_6_tier_mapping", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md", "source_location": "L70", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/5b787fe907342d14be038006915d35d92a57b2b55fbe030dcb2994fa515e40b6.json b/graphify-out/cache/ast/5b787fe907342d14be038006915d35d92a57b2b55fbe030dcb2994fa515e40b6.json deleted file mode 100644 index 999e049..0000000 --- a/graphify-out/cache/ast/5b787fe907342d14be038006915d35d92a57b2b55fbe030dcb2994fa515e40b6.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "label": "test_time.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L1"}, {"id": "utils_test_time_test_utc_now_iso_format", "label": "test_utc_now_iso_format()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L20"}, {"id": "utils_test_time_test_dt_to_iso_naive_assumed_utc", "label": "test_dt_to_iso_naive_assumed_utc()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L25"}, {"id": "utils_test_time_test_dt_to_iso_utc_aware", "label": "test_dt_to_iso_utc_aware()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L30"}, {"id": "utils_test_time_test_dt_to_iso_non_utc_zone_converts", "label": "test_dt_to_iso_non_utc_zone_converts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L35"}, {"id": "utils_test_time_test_parse_utc_iso_z_form", "label": "test_parse_utc_iso_z_form()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L42"}, {"id": "utils_test_time_test_parse_utc_iso_offset_form", "label": "test_parse_utc_iso_offset_form()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L47"}, {"id": "utils_test_time_test_parse_utc_iso_naive_input_tagged_utc", "label": "test_parse_utc_iso_naive_input_tagged_utc()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L52"}, {"id": "utils_test_time_test_parse_utc_iso_round_trip_with_now", "label": "test_parse_utc_iso_round_trip_with_now()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L57"}, {"id": "utils_test_time_test_parse_utc_iso_raises_on_garbage", "label": "test_parse_utc_iso_raises_on_garbage()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L63"}, {"id": "utils_test_time_test_parse_utc_iso_or_none_handles_none", "label": "test_parse_utc_iso_or_none_handles_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L68"}, {"id": "utils_test_time_test_parse_utc_iso_or_none_handles_empty", "label": "test_parse_utc_iso_or_none_handles_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L72"}, {"id": "utils_test_time_test_parse_utc_iso_or_none_handles_malformed", "label": "test_parse_utc_iso_or_none_handles_malformed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L76"}, {"id": "utils_test_time_test_parse_utc_iso_or_none_returns_datetime_for_valid", "label": "test_parse_utc_iso_or_none_returns_datetime_for_valid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L80"}, {"id": "utils_test_time_rationale_1", "label": "Tests for ``exlab_wizard.utils.time``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_utc_now_iso_format", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_dt_to_iso_naive_assumed_utc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_dt_to_iso_utc_aware", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_dt_to_iso_non_utc_zone_converts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_parse_utc_iso_z_form", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_parse_utc_iso_offset_form", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_parse_utc_iso_naive_input_tagged_utc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_parse_utc_iso_round_trip_with_now", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_parse_utc_iso_raises_on_garbage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_parse_utc_iso_or_none_handles_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L68", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_parse_utc_iso_or_none_handles_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_parse_utc_iso_or_none_handles_malformed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "target": "utils_test_time_test_parse_utc_iso_or_none_returns_datetime_for_valid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L80", "weight": 1.0}, {"source": "utils_test_time_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_utils_test_time_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "utils_test_time_test_utc_now_iso_format", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L21"}, {"caller_nid": "utils_test_time_test_utc_now_iso_format", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L22"}, {"caller_nid": "utils_test_time_test_dt_to_iso_naive_assumed_utc", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L26"}, {"caller_nid": "utils_test_time_test_dt_to_iso_naive_assumed_utc", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L27"}, {"caller_nid": "utils_test_time_test_dt_to_iso_utc_aware", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L31"}, {"caller_nid": "utils_test_time_test_dt_to_iso_utc_aware", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L32"}, {"caller_nid": "utils_test_time_test_dt_to_iso_non_utc_zone_converts", "callee": "timezone", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L36"}, {"caller_nid": "utils_test_time_test_dt_to_iso_non_utc_zone_converts", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L36"}, {"caller_nid": "utils_test_time_test_dt_to_iso_non_utc_zone_converts", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L37"}, {"caller_nid": "utils_test_time_test_dt_to_iso_non_utc_zone_converts", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L39"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_z_form", "callee": "parse_utc_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L43"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_z_form", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L44"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_offset_form", "callee": "parse_utc_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L48"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_offset_form", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L49"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_naive_input_tagged_utc", "callee": "parse_utc_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L53"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_naive_input_tagged_utc", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L54"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_round_trip_with_now", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L58"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_round_trip_with_now", "callee": "parse_utc_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L59"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_round_trip_with_now", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L60"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_raises_on_garbage", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L64"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_raises_on_garbage", "callee": "parse_utc_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L65"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_or_none_handles_none", "callee": "parse_utc_iso_or_none", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L69"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_or_none_handles_empty", "callee": "parse_utc_iso_or_none", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L73"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_or_none_handles_malformed", "callee": "parse_utc_iso_or_none", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L77"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_or_none_returns_datetime_for_valid", "callee": "parse_utc_iso_or_none", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L81"}, {"caller_nid": "utils_test_time_test_parse_utc_iso_or_none_returns_datetime_for_valid", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py", "source_location": "L82"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5c1639c0d7ff61b9bbaa3f0b856a61bf5f979cec7ddb74000565ed528d7a24f9.json b/graphify-out/cache/ast/5c1639c0d7ff61b9bbaa3f0b856a61bf5f979cec7ddb74000565ed528d7a24f9.json deleted file mode 100644 index 5d69e9f..0000000 --- a/graphify-out/cache/ast/5c1639c0d7ff61b9bbaa3f0b856a61bf5f979cec7ddb74000565ed528d7a24f9.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "label": "validation_summary.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L1"}, {"id": "components_validation_summary_findingexcerpt", "label": "FindingExcerpt", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L23"}, {"id": "components_validation_summary_validationsummary", "label": "ValidationSummary", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L31"}, {"id": "components_validation_summary_header_line", "label": "header_line()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L43"}, {"id": "components_validation_summary_excerpt_line", "label": "excerpt_line()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L61"}, {"id": "components_validation_summary_overflow_line", "label": "overflow_line()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L67"}, {"id": "components_validation_summary_override_line", "label": "override_line()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L82"}, {"id": "components_validation_summary_validation_summary", "label": "validation_summary()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L93"}, {"id": "components_validation_summary_rationale_1", "label": "Validation summary block (Frontend Spec \u00a73.6.4, \u00a711.4.1). Renders the per-run v", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L1"}, {"id": "components_validation_summary_rationale_24", "label": "A single finding row used in the summary.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L24"}, {"id": "components_validation_summary_rationale_32", "label": "Inputs to the summary block.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L32"}, {"id": "components_validation_summary_rationale_44", "label": "Return ``(text, color_var)`` for the section header.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L44"}, {"id": "components_validation_summary_rationale_62", "label": "Compose one-line text for a finding excerpt (Frontend \u00a73.6.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L62"}, {"id": "components_validation_summary_rationale_68", "label": "Return the *\"+ N more in Problems\"* line, or ``None`` if not needed. Fronte", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L68"}, {"id": "components_validation_summary_rationale_83", "label": "Return the override summary line if an override is active.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L83"}, {"id": "components_validation_summary_rationale_94", "label": "Build the summary block.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L94"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "target": "components_validation_summary_findingexcerpt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "target": "components_validation_summary_validationsummary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "target": "components_validation_summary_header_line", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "target": "components_validation_summary_excerpt_line", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "target": "components_validation_summary_overflow_line", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "target": "components_validation_summary_override_line", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L82", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "target": "components_validation_summary_validation_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L93", "weight": 1.0}, {"source": "components_validation_summary_validation_summary", "target": "components_validation_summary_header_line", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L96", "weight": 1.0}, {"source": "components_validation_summary_validation_summary", "target": "components_validation_summary_excerpt_line", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L97", "weight": 1.0}, {"source": "components_validation_summary_validation_summary", "target": "components_validation_summary_overflow_line", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L98", "weight": 1.0}, {"source": "components_validation_summary_validation_summary", "target": "components_validation_summary_override_line", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L99", "weight": 1.0}, {"source": "components_validation_summary_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_validation_summary_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L1", "weight": 1.0}, {"source": "components_validation_summary_rationale_24", "target": "components_validation_summary_findingexcerpt", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L24", "weight": 1.0}, {"source": "components_validation_summary_rationale_32", "target": "components_validation_summary_validationsummary", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L32", "weight": 1.0}, {"source": "components_validation_summary_rationale_44", "target": "components_validation_summary_header_line", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L44", "weight": 1.0}, {"source": "components_validation_summary_rationale_62", "target": "components_validation_summary_excerpt_line", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L62", "weight": 1.0}, {"source": "components_validation_summary_rationale_68", "target": "components_validation_summary_overflow_line", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L68", "weight": 1.0}, {"source": "components_validation_summary_rationale_83", "target": "components_validation_summary_override_line", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L83", "weight": 1.0}, {"source": "components_validation_summary_rationale_94", "target": "components_validation_summary_validation_summary", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L94", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_validation_summary_overflow_line", "callee": "min", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L74"}, {"caller_nid": "components_validation_summary_overflow_line", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L74"}, {"caller_nid": "components_validation_summary_overflow_line", "callee": "max", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L76"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L113"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L113"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L113"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L116"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L116"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L123"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L123"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L129"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L129"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L136"}, {"caller_nid": "components_validation_summary_validation_summary", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py", "source_location": "L136"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5c17091f0b93e9e41737df9dae85a917cdbe0a41fe13f528e8e40add39fe19da.json b/graphify-out/cache/ast/5c17091f0b93e9e41737df9dae85a917cdbe0a41fe13f528e8e40add39fe19da.json deleted file mode 100644 index 2550a27..0000000 --- a/graphify-out/cache/ast/5c17091f0b93e9e41737df9dae85a917cdbe0a41fe13f528e8e40add39fe19da.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_test_tray_window_smoke_py", "label": "test_tray_window_smoke.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L1"}, {"id": "integration_test_tray_window_smoke_wait_for", "label": "_wait_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L24"}, {"id": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", "label": "test_root_serves_html_after_mount()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L40"}, {"id": "integration_test_tray_window_smoke_rationale_1", "label": "Integration smoke: pywebview-facing root path returns HTML, not JSON 404. This", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_window_smoke_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_window_smoke_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_window_smoke_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_window_smoke_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_window_smoke_py", "target": "exlab_wizard_tray_server_runner", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_window_smoke_py", "target": "integration_test_tray_window_smoke_wait_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_window_smoke_py", "target": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L40", "weight": 1.0}, {"source": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", "target": "integration_test_tray_window_smoke_wait_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L51", "weight": 1.0}, {"source": "integration_test_tray_window_smoke_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_test_tray_window_smoke_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "integration_test_tray_window_smoke_wait_for", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L25"}, {"caller_nid": "integration_test_tray_window_smoke_wait_for", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L27"}, {"caller_nid": "integration_test_tray_window_smoke_wait_for", "callee": "Client", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L29"}, {"caller_nid": "integration_test_tray_window_smoke_wait_for", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L30"}, {"caller_nid": "integration_test_tray_window_smoke_wait_for", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L35"}, {"caller_nid": "integration_test_tray_window_smoke_wait_for", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L37"}, {"caller_nid": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", "callee": "_build_default_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L44"}, {"caller_nid": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L46"}, {"caller_nid": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", "callee": "ServerRunner", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L48"}, {"caller_nid": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L49"}, {"caller_nid": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L58"}, {"caller_nid": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py", "source_location": "L63"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5ccae045d5260942c6a5279b46a312e1a65377adf66a4cbd151d06f4d005a21c.json b/graphify-out/cache/ast/5ccae045d5260942c6a5279b46a312e1a65377adf66a4cbd151d06f4d005a21c.json deleted file mode 100644 index 2ebe2e2..0000000 --- a/graphify-out/cache/ast/5ccae045d5260942c6a5279b46a312e1a65377adf66a4cbd151d06f4d005a21c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_quit_coordinator_py", "label": "quit_coordinator.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L1"}, {"id": "tray_quit_coordinator_quitcoordinator", "label": "QuitCoordinator", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L49"}, {"id": "tray_quit_coordinator_quitcoordinator_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L57"}, {"id": "tray_quit_coordinator_quitcoordinator_quit", "label": ".quit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L82"}, {"id": "tray_quit_coordinator_quitcoordinator_is_idle", "label": "._is_idle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L112"}, {"id": "tray_quit_coordinator_quitcoordinator_wait_for_idle", "label": "._wait_for_idle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L125"}, {"id": "tray_quit_coordinator_quitcoordinator_prompt_force_quit", "label": "._prompt_force_quit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L147"}, {"id": "tray_quit_coordinator_safe_count", "label": "_safe_count()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L163"}, {"id": "tray_quit_coordinator_rationale_1", "label": "Graceful tray shutdown coordinator. Backend Spec \u00a74.3.2. Steps documented in \u00a74", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L1"}, {"id": "tray_quit_coordinator_rationale_50", "label": "Drive the \u00a74.3.2 graceful-shutdown protocol. Construction-time dependencies", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L50"}, {"id": "tray_quit_coordinator_rationale_83", "label": "Run the graceful-shutdown protocol. ``sigterm=True`` reduces the wait w", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L83"}, {"id": "tray_quit_coordinator_rationale_113", "label": "Return True iff the \u00a74.3.2 predicate holds. ``SessionStore.active_sessi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L113"}, {"id": "tray_quit_coordinator_rationale_126", "label": "Poll :meth:`_is_idle` up to ``deadline_seconds`` seconds. Returns True", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L126"}, {"id": "tray_quit_coordinator_rationale_148", "label": "Invoke the operator-facing force-quit prompt. Returns ``True`` to indic", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L148"}, {"id": "tray_quit_coordinator_rationale_164", "label": "Return ``int(obj.)`` defensively. Falls through ``None``, missing att", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L164"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_quit_coordinator_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_quit_coordinator_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_quit_coordinator_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_quit_coordinator_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_quit_coordinator_py", "target": "exlab_wizard_tray_server_runner", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_quit_coordinator_py", "target": "exlab_wizard_tray_window_launcher", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_quit_coordinator_py", "target": "tray_quit_coordinator_quitcoordinator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L49", "weight": 1.0}, {"source": "tray_quit_coordinator_quitcoordinator", "target": "tray_quit_coordinator_quitcoordinator_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L57", "weight": 1.0}, {"source": "tray_quit_coordinator_quitcoordinator", "target": "tray_quit_coordinator_quitcoordinator_quit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L82", "weight": 1.0}, {"source": "tray_quit_coordinator_quitcoordinator", "target": "tray_quit_coordinator_quitcoordinator_is_idle", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L112", "weight": 1.0}, {"source": "tray_quit_coordinator_quitcoordinator", "target": "tray_quit_coordinator_quitcoordinator_wait_for_idle", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L125", "weight": 1.0}, {"source": "tray_quit_coordinator_quitcoordinator", "target": "tray_quit_coordinator_quitcoordinator_prompt_force_quit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L147", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_quit_coordinator_py", "target": "tray_quit_coordinator_safe_count", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L163", "weight": 1.0}, {"source": "tray_quit_coordinator_quitcoordinator_quit", "target": "tray_quit_coordinator_quitcoordinator_wait_for_idle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L92", "weight": 1.0}, {"source": "tray_quit_coordinator_quitcoordinator_quit", "target": "tray_quit_coordinator_quitcoordinator_prompt_force_quit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L95", "weight": 1.0}, {"source": "tray_quit_coordinator_quitcoordinator_is_idle", "target": "tray_quit_coordinator_safe_count", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L121", "weight": 1.0}, {"source": "tray_quit_coordinator_quitcoordinator_wait_for_idle", "target": "tray_quit_coordinator_quitcoordinator_is_idle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L135", "weight": 1.0}, {"source": "tray_quit_coordinator_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_quit_coordinator_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_quit_coordinator_rationale_50", "target": "tray_quit_coordinator_quitcoordinator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L50", "weight": 1.0}, {"source": "tray_quit_coordinator_rationale_83", "target": "tray_quit_coordinator_quitcoordinator_quit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L83", "weight": 1.0}, {"source": "tray_quit_coordinator_rationale_113", "target": "tray_quit_coordinator_quitcoordinator_is_idle", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L113", "weight": 1.0}, {"source": "tray_quit_coordinator_rationale_126", "target": "tray_quit_coordinator_quitcoordinator_wait_for_idle", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L126", "weight": 1.0}, {"source": "tray_quit_coordinator_rationale_148", "target": "tray_quit_coordinator_quitcoordinator_prompt_force_quit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L148", "weight": 1.0}, {"source": "tray_quit_coordinator_rationale_164", "target": "tray_quit_coordinator_safe_count", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L164", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_quit_coordinator_quitcoordinator_init", "callee": "float", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L74"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_init", "callee": "float", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L75"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_init", "callee": "float", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L76"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_quit", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L90"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_quit", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L94"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_quit", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L96"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_quit", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L100"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_quit", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L104"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_quit", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L105"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_quit", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L106"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_wait_for_idle", "callee": "time", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L139"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_wait_for_idle", "callee": "get_event_loop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L139"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_wait_for_idle", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L141"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_wait_for_idle", "callee": "time", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L144"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_wait_for_idle", "callee": "get_event_loop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L144"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_prompt_force_quit", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L157"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_prompt_force_quit", "callee": "_on_force_quit_prompt", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L157"}, {"caller_nid": "tray_quit_coordinator_quitcoordinator_prompt_force_quit", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L159"}, {"caller_nid": "tray_quit_coordinator_safe_count", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L175"}, {"caller_nid": "tray_quit_coordinator_safe_count", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L176"}, {"caller_nid": "tray_quit_coordinator_safe_count", "callee": "raw", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L178"}, {"caller_nid": "tray_quit_coordinator_safe_count", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py", "source_location": "L182"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5d3fb0db90e6882756a28435f0744bbd4e58eb725222a4177e82e2a7e6a485fa.json b/graphify-out/cache/ast/5d3fb0db90e6882756a28435f0744bbd4e58eb725222a4177e82e2a7e6a485fa.json deleted file mode 100644 index 410a9fd..0000000 --- a/graphify-out/cache/ast/5d3fb0db90e6882756a28435f0744bbd4e58eb725222a4177e82e2a7e6a485fa.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "label": "test_full_flow.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L1"}, {"id": "api_test_full_flow_ready_config", "label": "ready_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L51"}, {"id": "api_test_full_flow_app_with_real_controller", "label": "app_with_real_controller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L80"}, {"id": "api_test_full_flow_client", "label": "_client()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L110"}, {"id": "api_test_full_flow_test_full_project_creation_flow", "label": "test_full_project_creation_flow()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L116"}, {"id": "api_test_full_flow_test_health_returns_ready_when_setup_complete", "label": "test_health_returns_ready_when_setup_complete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L160"}, {"id": "api_test_full_flow_test_health_warns_when_lims_unreachable", "label": "test_health_warns_when_lims_unreachable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L170"}, {"id": "api_test_full_flow_test_setup_status_each_incomplete_state", "label": "test_setup_status_each_incomplete_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L180"}, {"id": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", "label": "test_create_session_blocked_when_setup_incomplete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L214"}, {"id": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "label": "test_lims_unreachable_does_not_block_creation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L238"}, {"id": "api_test_full_flow_test_problems_refresh_returns_audit_count", "label": "test_problems_refresh_returns_audit_count()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L290"}, {"id": "api_test_full_flow_test_get_problems_returns_findings_and_filters", "label": "test_get_problems_returns_findings_and_filters()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L313"}, {"id": "api_test_full_flow_test_put_config_validates_and_updates_state", "label": "test_put_config_validates_and_updates_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L333"}, {"id": "api_test_full_flow_test_get_tree_in_ready_state", "label": "test_get_tree_in_ready_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L353"}, {"id": "api_test_full_flow_test_websocket_streams_session_events_sync", "label": "test_websocket_streams_session_events_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L366"}, {"id": "api_test_full_flow_build_minimal_controller", "label": "_build_minimal_controller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L438"}, {"id": "api_test_full_flow_rationale_1", "label": "Full-flow integration test for the FastAPI surface. Drives one project-creation", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L1"}, {"id": "api_test_full_flow_rationale_81", "label": "Build a FastAPI app with the real controller + validator wired.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L81"}, {"id": "api_test_full_flow_rationale_117", "label": "End-to-end: POST /sessions -> session reaches DONE -> creation.json on disk.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L117"}, {"id": "api_test_full_flow_rationale_181", "label": "Each non-soft INCOMPLETE_* state surfaces the right next_action.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L181"}, {"id": "api_test_full_flow_rationale_215", "label": "POST /sessions returns 503 + setup_incomplete in non-soft INCOMPLETE_* states.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L215"}, {"id": "api_test_full_flow_rationale_239", "label": "The soft block does not gate POST /sessions per \u00a74.9.4.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L239"}, {"id": "api_test_full_flow_rationale_291", "label": "``POST /problems/refresh`` invokes Validator.audit and returns the count.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L291"}, {"id": "api_test_full_flow_rationale_367", "label": "End-to-end WebSocket stream of phase frames. Uses the synchronous TestClien", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L367"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "exlab_wizard_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "exlab_wizard_cache_equipment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "exlab_wizard_controller", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "exlab_wizard_template_copier_driver", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_ready_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_app_with_real_controller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L110", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_full_project_creation_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_health_returns_ready_when_setup_complete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L160", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_health_warns_when_lims_unreachable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L170", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_setup_status_each_incomplete_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L180", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L214", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L238", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_problems_refresh_returns_audit_count", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L290", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_get_problems_returns_findings_and_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L313", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_put_config_validates_and_updates_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L333", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_get_tree_in_ready_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L353", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_test_websocket_streams_session_events_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L366", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "target": "api_test_full_flow_build_minimal_controller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L438", "weight": 1.0}, {"source": "api_test_full_flow_test_full_project_creation_flow", "target": "api_test_full_flow_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L135", "weight": 1.0}, {"source": "api_test_full_flow_test_health_returns_ready_when_setup_complete", "target": "api_test_full_flow_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L162", "weight": 1.0}, {"source": "api_test_full_flow_test_health_warns_when_lims_unreachable", "target": "api_test_full_flow_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L173", "weight": 1.0}, {"source": "api_test_full_flow_test_setup_status_each_incomplete_state", "target": "api_test_full_flow_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L204", "weight": 1.0}, {"source": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", "target": "api_test_full_flow_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L229", "weight": 1.0}, {"source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "target": "api_test_full_flow_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L279", "weight": 1.0}, {"source": "api_test_full_flow_test_problems_refresh_returns_audit_count", "target": "api_test_full_flow_build_minimal_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L294", "weight": 1.0}, {"source": "api_test_full_flow_test_problems_refresh_returns_audit_count", "target": "api_test_full_flow_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L304", "weight": 1.0}, {"source": "api_test_full_flow_test_get_problems_returns_findings_and_filters", "target": "api_test_full_flow_build_minimal_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L318", "weight": 1.0}, {"source": "api_test_full_flow_test_get_problems_returns_findings_and_filters", "target": "api_test_full_flow_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L327", "weight": 1.0}, {"source": "api_test_full_flow_test_put_config_validates_and_updates_state", "target": "api_test_full_flow_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L344", "weight": 1.0}, {"source": "api_test_full_flow_test_get_tree_in_ready_state", "target": "api_test_full_flow_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L356", "weight": 1.0}, {"source": "api_test_full_flow_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_api_test_full_flow_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L1", "weight": 1.0}, {"source": "api_test_full_flow_rationale_81", "target": "api_test_full_flow_app_with_real_controller", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L81", "weight": 1.0}, {"source": "api_test_full_flow_rationale_117", "target": "api_test_full_flow_test_full_project_creation_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L117", "weight": 1.0}, {"source": "api_test_full_flow_rationale_181", "target": "api_test_full_flow_test_setup_status_each_incomplete_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L181", "weight": 1.0}, {"source": "api_test_full_flow_rationale_215", "target": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L215", "weight": 1.0}, {"source": "api_test_full_flow_rationale_239", "target": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L239", "weight": 1.0}, {"source": "api_test_full_flow_rationale_291", "target": "api_test_full_flow_test_problems_refresh_returns_audit_count", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L291", "weight": 1.0}, {"source": "api_test_full_flow_rationale_367", "target": "api_test_full_flow_test_websocket_streams_session_events_sync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L367", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_full_flow_ready_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L52"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L53"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L54"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L55"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L56"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L59"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L62"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L64"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "OperatorsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L72"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "READMEConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L73"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L74"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L75"}, {"caller_nid": "api_test_full_flow_ready_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L75"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L82"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L83"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L84"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L85"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "from_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L86"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "CreationController", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L87"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L90"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "NoOpReadmeGenerator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L94"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "NoOpNASSync", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L95"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L96"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L98"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "AuditChannel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L104"}, {"caller_nid": "api_test_full_flow_app_with_real_controller", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L106"}, {"caller_nid": "api_test_full_flow_client", "callee": "ASGITransport", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L111"}, {"caller_nid": "api_test_full_flow_client", "callee": "AsyncClient", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L112"}, {"caller_nid": "api_test_full_flow_test_full_project_creation_flow", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L122"}, {"caller_nid": "api_test_full_flow_test_full_project_creation_flow", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L136"}, {"caller_nid": "api_test_full_flow_test_full_project_creation_flow", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L138"}, {"caller_nid": "api_test_full_flow_test_full_project_creation_flow", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L141"}, {"caller_nid": "api_test_full_flow_test_full_project_creation_flow", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L145"}, {"caller_nid": "api_test_full_flow_test_full_project_creation_flow", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L147"}, {"caller_nid": "api_test_full_flow_test_full_project_creation_flow", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L153"}, {"caller_nid": "api_test_full_flow_test_full_project_creation_flow", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L154"}, {"caller_nid": "api_test_full_flow_test_full_project_creation_flow", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L154"}, {"caller_nid": "api_test_full_flow_test_health_returns_ready_when_setup_complete", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L163"}, {"caller_nid": "api_test_full_flow_test_health_returns_ready_when_setup_complete", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L165"}, {"caller_nid": "api_test_full_flow_test_health_warns_when_lims_unreachable", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L171"}, {"caller_nid": "api_test_full_flow_test_health_warns_when_lims_unreachable", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L172"}, {"caller_nid": "api_test_full_flow_test_health_warns_when_lims_unreachable", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L174"}, {"caller_nid": "api_test_full_flow_test_health_warns_when_lims_unreachable", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L174"}, {"caller_nid": "api_test_full_flow_test_setup_status_each_incomplete_state", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L184"}, {"caller_nid": "api_test_full_flow_test_setup_status_each_incomplete_state", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L186"}, {"caller_nid": "api_test_full_flow_test_setup_status_each_incomplete_state", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L187"}, {"caller_nid": "api_test_full_flow_test_setup_status_each_incomplete_state", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L193"}, {"caller_nid": "api_test_full_flow_test_setup_status_each_incomplete_state", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L194"}, {"caller_nid": "api_test_full_flow_test_setup_status_each_incomplete_state", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L195"}, {"caller_nid": "api_test_full_flow_test_setup_status_each_incomplete_state", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L202"}, {"caller_nid": "api_test_full_flow_test_setup_status_each_incomplete_state", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L203"}, {"caller_nid": "api_test_full_flow_test_setup_status_each_incomplete_state", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L205"}, {"caller_nid": "api_test_full_flow_test_setup_status_each_incomplete_state", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L207"}, {"caller_nid": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L216"}, {"caller_nid": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L216"}, {"caller_nid": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L217"}, {"caller_nid": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L230"}, {"caller_nid": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L232"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L240"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L241"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "from_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L242"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "CreationController", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L243"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L246"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "NoOpReadmeGenerator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L250"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "NoOpNASSync", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L251"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L252"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L254"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L262"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L266"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L280"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L283"}, {"caller_nid": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L284"}, {"caller_nid": "api_test_full_flow_test_problems_refresh_returns_audit_count", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L292"}, {"caller_nid": "api_test_full_flow_test_problems_refresh_returns_audit_count", "callee": "from_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L293"}, {"caller_nid": "api_test_full_flow_test_problems_refresh_returns_audit_count", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L295"}, {"caller_nid": "api_test_full_flow_test_problems_refresh_returns_audit_count", "callee": "AuditChannel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L301"}, {"caller_nid": "api_test_full_flow_test_problems_refresh_returns_audit_count", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L303"}, {"caller_nid": "api_test_full_flow_test_problems_refresh_returns_audit_count", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L305"}, {"caller_nid": "api_test_full_flow_test_problems_refresh_returns_audit_count", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L307"}, {"caller_nid": "api_test_full_flow_test_problems_refresh_returns_audit_count", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L309"}, {"caller_nid": "api_test_full_flow_test_get_problems_returns_findings_and_filters", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L316"}, {"caller_nid": "api_test_full_flow_test_get_problems_returns_findings_and_filters", "callee": "from_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L317"}, {"caller_nid": "api_test_full_flow_test_get_problems_returns_findings_and_filters", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L319"}, {"caller_nid": "api_test_full_flow_test_get_problems_returns_findings_and_filters", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L326"}, {"caller_nid": "api_test_full_flow_test_get_problems_returns_findings_and_filters", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L328"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L334"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L334"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L335"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L336"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L337"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L338"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L339"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L340"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L342"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L342"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "put", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L345"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L345"}, {"caller_nid": "api_test_full_flow_test_put_config_validates_and_updates_state", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L347"}, {"caller_nid": "api_test_full_flow_test_get_tree_in_ready_state", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L354"}, {"caller_nid": "api_test_full_flow_test_get_tree_in_ready_state", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L355"}, {"caller_nid": "api_test_full_flow_test_get_tree_in_ready_state", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L357"}, {"caller_nid": "api_test_full_flow_test_get_tree_in_ready_state", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L359"}, {"caller_nid": "api_test_full_flow_test_get_tree_in_ready_state", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L362"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L376"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L377"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "from_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L378"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "CreationController", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L379"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L382"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "NoOpReadmeGenerator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L386"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "NoOpNASSync", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L387"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L388"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L390"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L397"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L401"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L414"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L415"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L417"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "websocket_connect", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L421"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L422"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "receive_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L424"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L427"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L427"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L428"}, {"caller_nid": "api_test_full_flow_test_websocket_streams_session_events_sync", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L430"}, {"caller_nid": "api_test_full_flow_build_minimal_controller", "callee": "CreationController", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L439"}, {"caller_nid": "api_test_full_flow_build_minimal_controller", "callee": "from_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L441"}, {"caller_nid": "api_test_full_flow_build_minimal_controller", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L442"}, {"caller_nid": "api_test_full_flow_build_minimal_controller", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L445"}, {"caller_nid": "api_test_full_flow_build_minimal_controller", "callee": "NoOpReadmeGenerator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L446"}, {"caller_nid": "api_test_full_flow_build_minimal_controller", "callee": "NoOpNASSync", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L447"}, {"caller_nid": "api_test_full_flow_build_minimal_controller", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py", "source_location": "L448"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5d430831309bc1021f4aa35d22d1e56edf1f822467af9492e34cc277de4f227d.json b/graphify-out/cache/ast/5d430831309bc1021f4aa35d22d1e56edf1f822467af9492e34cc277de4f227d.json deleted file mode 100644 index 757c525..0000000 --- a/graphify-out/cache/ast/5d430831309bc1021f4aa35d22d1e56edf1f822467af9492e34cc277de4f227d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_remaining_work_tasks_md", "label": "REMAINING_WORK_TASKS.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L1"}, {"id": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", "label": "ExLab-Wizard \u2014 Remaining Work: Tracked Tasks", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L1"}, {"id": "docs_remaining_work_tasks_how_to_use_this_tracker", "label": "How to use this tracker", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L7"}, {"id": "docs_remaining_work_tasks_phase_1_release_blocking_correctness", "label": "Phase 1 \u2014 Release-blocking correctness", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L18"}, {"id": "docs_remaining_work_tasks_x_t1_inject_the_real_readmegenerator_reconcile_readmecontext_return_type", "label": "- [x] T1 \u2014 Inject the real `ReadmeGenerator` (+ reconcile `ReadmeContext` / return type)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L20"}, {"id": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound", "label": "Phase 2 \u2014 Session-control epic (build in order; they compound)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L47"}, {"id": "docs_remaining_work_tasks_x_t2_event_subscription_consumer_in_the_creation_flow_shared_foundation", "label": "- [x] T2 \u2014 Event-subscription consumer in the creation flow (shared foundation)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L49"}, {"id": "docs_remaining_work_tasks_x_t3_render_the_operations_modal_toolbar_footer_hooks", "label": "- [x] T3 \u2014 Render the Operations modal + toolbar/footer hooks", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L72"}, {"id": "docs_remaining_work_tasks_x_t4_wire_resume_cancel_9_4_confirm_9_6_disable_rule", "label": "- [x] T4 \u2014 Wire Resume / Cancel (+ \u00a79.4 confirm, \u00a79.6 disable rule)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L95"}, {"id": "docs_remaining_work_tasks_x_t5_plugin_input_required_escalation_dialog_new_component", "label": "- [x] T5 \u2014 Plugin `INPUT_REQUIRED` escalation dialog (new component)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L112"}, {"id": "docs_remaining_work_tasks_phase_3_visibility_usability", "label": "Phase 3 \u2014 Visibility & usability", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L136"}, {"id": "docs_remaining_work_tasks_x_t6_live_problems_audit_stream_real_counts", "label": "- [x] T6 \u2014 Live Problems/audit stream + real counts", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L138"}, {"id": "docs_remaining_work_tasks_x_t7_operators_allowlist_chip_editor", "label": "- [x] T7 \u2014 Operators allowlist chip editor", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L161"}, {"id": "docs_remaining_work_tasks_x_t8_start_at_login_checkbox_wiring", "label": "- [x] T8 \u2014 \"Start at login\" checkbox wiring", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L177"}, {"id": "docs_remaining_work_tasks_x_t9_quit_exlab_wizard_now_button_deps_quit_hook", "label": "- [x] T9 \u2014 \"Quit ExLab-Wizard now\" button (+ `deps` quit hook)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L192"}, {"id": "docs_remaining_work_tasks_x_t10_content_scan_extensions_chip_editor_reset_to_defaults", "label": "- [x] T10 \u2014 `content_scan_extensions` chip editor + reset-to-defaults", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L206"}, {"id": "docs_remaining_work_tasks_x_t11_application_section_status_labels_parity_7_13", "label": "- [x] T11 \u2014 Application-section status labels parity (\u00a77.13)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L219"}, {"id": "docs_remaining_work_tasks_phase_4_cleanups_anytime", "label": "Phase 4 \u2014 Cleanups (anytime)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L233"}, {"id": "docs_remaining_work_tasks_x_t12_resolve_the_offline_catalogue_version_policy_todo", "label": "- [x] T12 \u2014 Resolve the offline-catalogue version-policy TODO", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L235"}, {"id": "docs_remaining_work_tasks_x_t13_delete_the_stale_plugin_registry_comment", "label": "- [x] T13 \u2014 Delete the stale plugin-registry comment", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L248"}, {"id": "docs_remaining_work_tasks_shared_foundations_build_once_reused_across_tasks", "label": "Shared foundations (build once, reused across tasks)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L263"}, {"id": "docs_remaining_work_tasks_progress", "label": "Progress", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L269"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_remaining_work_tasks_md", "target": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L1", "weight": 1.0}, {"source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", "target": "docs_remaining_work_tasks_how_to_use_this_tracker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L7", "weight": 1.0}, {"source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", "target": "docs_remaining_work_tasks_phase_1_release_blocking_correctness", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L18", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_1_release_blocking_correctness", "target": "docs_remaining_work_tasks_x_t1_inject_the_real_readmegenerator_reconcile_readmecontext_return_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L20", "weight": 1.0}, {"source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", "target": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L47", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound", "target": "docs_remaining_work_tasks_x_t2_event_subscription_consumer_in_the_creation_flow_shared_foundation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L49", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound", "target": "docs_remaining_work_tasks_x_t3_render_the_operations_modal_toolbar_footer_hooks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L72", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound", "target": "docs_remaining_work_tasks_x_t4_wire_resume_cancel_9_4_confirm_9_6_disable_rule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L95", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound", "target": "docs_remaining_work_tasks_x_t5_plugin_input_required_escalation_dialog_new_component", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L112", "weight": 1.0}, {"source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", "target": "docs_remaining_work_tasks_phase_3_visibility_usability", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L136", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_3_visibility_usability", "target": "docs_remaining_work_tasks_x_t6_live_problems_audit_stream_real_counts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L138", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_3_visibility_usability", "target": "docs_remaining_work_tasks_x_t7_operators_allowlist_chip_editor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L161", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_3_visibility_usability", "target": "docs_remaining_work_tasks_x_t8_start_at_login_checkbox_wiring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L177", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_3_visibility_usability", "target": "docs_remaining_work_tasks_x_t9_quit_exlab_wizard_now_button_deps_quit_hook", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L192", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_3_visibility_usability", "target": "docs_remaining_work_tasks_x_t10_content_scan_extensions_chip_editor_reset_to_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L206", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_3_visibility_usability", "target": "docs_remaining_work_tasks_x_t11_application_section_status_labels_parity_7_13", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L219", "weight": 1.0}, {"source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", "target": "docs_remaining_work_tasks_phase_4_cleanups_anytime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L233", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_4_cleanups_anytime", "target": "docs_remaining_work_tasks_x_t12_resolve_the_offline_catalogue_version_policy_todo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L235", "weight": 1.0}, {"source": "docs_remaining_work_tasks_phase_4_cleanups_anytime", "target": "docs_remaining_work_tasks_x_t13_delete_the_stale_plugin_registry_comment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L248", "weight": 1.0}, {"source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", "target": "docs_remaining_work_tasks_shared_foundations_build_once_reused_across_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L263", "weight": 1.0}, {"source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", "target": "docs_remaining_work_tasks_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md", "source_location": "L269", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/5da15664d9fc6efea6a438779880e2034b908e0deacd40f9e6161ab69a057d10.json b/graphify-out/cache/ast/5da15664d9fc6efea6a438779880e2034b908e0deacd40f9e6161ab69a057d10.json deleted file mode 100644 index 853438a..0000000 --- a/graphify-out/cache/ast/5da15664d9fc6efea6a438779880e2034b908e0deacd40f9e6161ab69a057d10.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "label": "test_events.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L1"}, {"id": "api_test_events_test_phase_event_round_trip", "label": "test_phase_event_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L24"}, {"id": "api_test_events_test_progress_event_includes_kind", "label": "test_progress_event_includes_kind()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L34"}, {"id": "api_test_events_test_input_required_event_carries_fields", "label": "test_input_required_event_carries_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L41"}, {"id": "api_test_events_test_warning_event_serializes", "label": "test_warning_event_serializes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L52"}, {"id": "api_test_events_test_done_event_carries_result", "label": "test_done_event_carries_result()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L62"}, {"id": "api_test_events_test_failed_event_carries_error", "label": "test_failed_event_carries_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L69"}, {"id": "api_test_events_test_snapshot_event_lists_findings", "label": "test_snapshot_event_lists_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L76"}, {"id": "api_test_events_test_delta_event_serializes_three_lists", "label": "test_delta_event_serializes_three_lists()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L85"}, {"id": "api_test_events_test_event_from_dict_round_trips_each_kind", "label": "test_event_from_dict_round_trips_each_kind()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L92"}, {"id": "api_test_events_test_event_from_dict_rejects_unknown_kind", "label": "test_event_from_dict_rejects_unknown_kind()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L111"}, {"id": "api_test_events_test_event_from_dict_rejects_missing_kind", "label": "test_event_from_dict_rejects_missing_kind()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L116"}, {"id": "api_test_events_rationale_1", "label": "Unit tests for ``exlab_wizard.api.events``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "exlab_wizard_api_events", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_phase_event_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_progress_event_includes_kind", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_input_required_event_carries_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_warning_event_serializes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_done_event_carries_result", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_failed_event_carries_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_snapshot_event_lists_findings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_delta_event_serializes_three_lists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_event_from_dict_round_trips_each_kind", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_event_from_dict_rejects_unknown_kind", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "target": "api_test_events_test_event_from_dict_rejects_missing_kind", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L116", "weight": 1.0}, {"source": "api_test_events_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_events_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_events_test_phase_event_round_trip", "callee": "PhaseEvent", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L25"}, {"caller_nid": "api_test_events_test_phase_event_round_trip", "callee": "encode_event", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L26"}, {"caller_nid": "api_test_events_test_phase_event_round_trip", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L27"}, {"caller_nid": "api_test_events_test_progress_event_includes_kind", "callee": "ProgressEvent", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L35"}, {"caller_nid": "api_test_events_test_progress_event_includes_kind", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L36"}, {"caller_nid": "api_test_events_test_progress_event_includes_kind", "callee": "encode_event", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L36"}, {"caller_nid": "api_test_events_test_input_required_event_carries_fields", "callee": "InputRequiredEvent", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L42"}, {"caller_nid": "api_test_events_test_input_required_event_carries_fields", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L47"}, {"caller_nid": "api_test_events_test_input_required_event_carries_fields", "callee": "encode_event", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L47"}, {"caller_nid": "api_test_events_test_warning_event_serializes", "callee": "WarningEvent", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L53"}, {"caller_nid": "api_test_events_test_warning_event_serializes", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L54"}, {"caller_nid": "api_test_events_test_warning_event_serializes", "callee": "encode_event", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L54"}, {"caller_nid": "api_test_events_test_done_event_carries_result", "callee": "DoneEvent", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L63"}, {"caller_nid": "api_test_events_test_done_event_carries_result", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L64"}, {"caller_nid": "api_test_events_test_done_event_carries_result", "callee": "encode_event", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L64"}, {"caller_nid": "api_test_events_test_failed_event_carries_error", "callee": "FailedEvent", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L70"}, {"caller_nid": "api_test_events_test_failed_event_carries_error", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L71"}, {"caller_nid": "api_test_events_test_failed_event_carries_error", "callee": "encode_event", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L71"}, {"caller_nid": "api_test_events_test_snapshot_event_lists_findings", "callee": "SnapshotEvent", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L77"}, {"caller_nid": "api_test_events_test_snapshot_event_lists_findings", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L80"}, {"caller_nid": "api_test_events_test_snapshot_event_lists_findings", "callee": "encode_event", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L80"}, {"caller_nid": "api_test_events_test_snapshot_event_lists_findings", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L82"}, {"caller_nid": "api_test_events_test_delta_event_serializes_three_lists", "callee": "DeltaEvent", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L86"}, {"caller_nid": "api_test_events_test_delta_event_serializes_three_lists", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L87"}, {"caller_nid": "api_test_events_test_delta_event_serializes_three_lists", "callee": "encode_event", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L87"}, {"caller_nid": "api_test_events_test_event_from_dict_round_trips_each_kind", "callee": "event_from_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L104"}, {"caller_nid": "api_test_events_test_event_from_dict_round_trips_each_kind", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L107"}, {"caller_nid": "api_test_events_test_event_from_dict_round_trips_each_kind", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L107"}, {"caller_nid": "api_test_events_test_event_from_dict_rejects_unknown_kind", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L112"}, {"caller_nid": "api_test_events_test_event_from_dict_rejects_unknown_kind", "callee": "event_from_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L113"}, {"caller_nid": "api_test_events_test_event_from_dict_rejects_missing_kind", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L117"}, {"caller_nid": "api_test_events_test_event_from_dict_rejects_missing_kind", "callee": "event_from_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py", "source_location": "L118"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5da6d2f475760a896fa1c7464284f57c9acba2851dbbacb8676700d6a28732dc.json b/graphify-out/cache/ast/5da6d2f475760a896fa1c7464284f57c9acba2851dbbacb8676700d6a28732dc.json deleted file mode 100644 index 81ca021..0000000 --- a/graphify-out/cache/ast/5da6d2f475760a896fa1c7464284f57c9acba2851dbbacb8676700d6a28732dc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_page_objects_staging_page_py", "label": "staging_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L1"}, {"id": "page_objects_staging_page_stagingpage", "label": "StagingPage", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L11"}, {"id": "page_objects_staging_page_stagingpage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L14"}, {"id": "page_objects_staging_page_dock", "label": "dock()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L18"}, {"id": "page_objects_staging_page_stagingpage_row", "label": ".row()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L22"}, {"id": "page_objects_staging_page_stagingpage_force_sync", "label": ".force_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L26"}, {"id": "page_objects_staging_page_stagingpage_clear", "label": ".clear()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L30"}, {"id": "page_objects_staging_page_stagingpage_view_log", "label": ".view_log()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L34"}, {"id": "page_objects_staging_page_clear_verified", "label": "clear_verified()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L39"}, {"id": "page_objects_staging_page_rationale_1", "label": "Page object for the orchestrator staging dock. Frontend Spec \u00a73.9.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L1"}, {"id": "page_objects_staging_page_rationale_12", "label": "Locators for the staging dock + per-row actions.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L12"}, {"id": "page_objects_staging_page_rationale_19", "label": "The staging dock container.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L19"}, {"id": "page_objects_staging_page_rationale_27", "label": "The Force-sync button on the Nth row.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L27"}, {"id": "page_objects_staging_page_rationale_31", "label": "The Clear button on the Nth row.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L31"}, {"id": "page_objects_staging_page_rationale_35", "label": "The View-log button on the Nth row.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L35"}, {"id": "page_objects_staging_page_rationale_40", "label": "The toolbar Clear-verified-runs button.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L40"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_staging_page_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_staging_page_py", "target": "playwright_sync_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_staging_page_py", "target": "page_objects_staging_page_stagingpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L11", "weight": 1.0}, {"source": "page_objects_staging_page_stagingpage", "target": "page_objects_staging_page_stagingpage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_staging_page_py", "target": "page_objects_staging_page_dock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L18", "weight": 1.0}, {"source": "page_objects_staging_page_stagingpage", "target": "page_objects_staging_page_stagingpage_row", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L22", "weight": 1.0}, {"source": "page_objects_staging_page_stagingpage", "target": "page_objects_staging_page_stagingpage_force_sync", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L26", "weight": 1.0}, {"source": "page_objects_staging_page_stagingpage", "target": "page_objects_staging_page_stagingpage_clear", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L30", "weight": 1.0}, {"source": "page_objects_staging_page_stagingpage", "target": "page_objects_staging_page_stagingpage_view_log", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_staging_page_py", "target": "page_objects_staging_page_clear_verified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L39", "weight": 1.0}, {"source": "page_objects_staging_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_page_objects_staging_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L1", "weight": 1.0}, {"source": "page_objects_staging_page_rationale_12", "target": "page_objects_staging_page_stagingpage", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L12", "weight": 1.0}, {"source": "page_objects_staging_page_rationale_19", "target": "page_objects_staging_page_stagingpage_dock", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L19", "weight": 1.0}, {"source": "page_objects_staging_page_rationale_27", "target": "page_objects_staging_page_stagingpage_force_sync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L27", "weight": 1.0}, {"source": "page_objects_staging_page_rationale_31", "target": "page_objects_staging_page_stagingpage_clear", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L31", "weight": 1.0}, {"source": "page_objects_staging_page_rationale_35", "target": "page_objects_staging_page_stagingpage_view_log", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L35", "weight": 1.0}, {"source": "page_objects_staging_page_rationale_40", "target": "page_objects_staging_page_stagingpage_clear_verified", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L40", "weight": 1.0}], "raw_calls": [{"caller_nid": "page_objects_staging_page_dock", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L20"}, {"caller_nid": "page_objects_staging_page_stagingpage_row", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L24"}, {"caller_nid": "page_objects_staging_page_stagingpage_force_sync", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L28"}, {"caller_nid": "page_objects_staging_page_stagingpage_clear", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L32"}, {"caller_nid": "page_objects_staging_page_stagingpage_view_log", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L36"}, {"caller_nid": "page_objects_staging_page_clear_verified", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py", "source_location": "L41"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5de80b0faf7c8244c4ee175d2d1bc0d2472311ce487c76b481a77f86d12aa9bb.json b/graphify-out/cache/ast/5de80b0faf7c8244c4ee175d2d1bc0d2472311ce487c76b481a77f86d12aa9bb.json deleted file mode 100644 index ba36f75..0000000 --- a/graphify-out/cache/ast/5de80b0faf7c8244c4ee175d2d1bc0d2472311ce487c76b481a77f86d12aa9bb.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "label": "cache.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L1"}, {"id": "lims_cache_limscache", "label": "LIMSCache", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L102"}, {"id": "lims_cache_limscache_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L110"}, {"id": "lims_cache_limscache_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L123"}, {"id": "lims_cache_limscache_upsert_many", "label": ".upsert_many()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L129"}, {"id": "lims_cache_limscache_list_projects", "label": ".list_projects()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L156"}, {"id": "lims_cache_limscache_get_project", "label": ".get_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L171"}, {"id": "lims_cache_limscache_is_fresh", "label": ".is_fresh()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L180"}, {"id": "lims_cache_limscache_require_conn", "label": "._require_conn()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L202"}, {"id": "lims_cache_row_to_project", "label": "_row_to_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L209"}, {"id": "lims_cache_rationale_1", "label": "aiosqlite-backed cache for LIMS project rows. Backend Spec \u00a77.2.4. The cache li", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L1"}, {"id": "lims_cache_rationale_103", "label": "SQLite TTL cache for LIMS project rows. Backend Spec \u00a77.2.4. The cache is a", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L103"}, {"id": "lims_cache_rationale_116", "label": "Create the table and index if absent. Idempotent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L116"}, {"id": "lims_cache_rationale_124", "label": "Close the underlying aiosqlite connection.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L124"}, {"id": "lims_cache_rationale_130", "label": "Insert or update every row. ``last_refreshed`` is taken from each ``LIMS", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L130"}, {"id": "lims_cache_rationale_159", "label": "Return every cached project for ``endpoint``, optionally filtered by ``s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L159"}, {"id": "lims_cache_rationale_172", "label": "Return one project by uid or short_id, or None if absent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L172"}, {"id": "lims_cache_rationale_181", "label": "True iff the most recent ``last_refreshed`` is within ``ttl_hours`` of t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L181"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "target": "aiosqlite", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "target": "exlab_wizard_lims_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "target": "lims_cache_limscache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L102", "weight": 1.0}, {"source": "lims_cache_limscache", "target": "lims_cache_limscache_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L110", "weight": 1.0}, {"source": "lims_cache_limscache", "target": "lims_cache_limscache_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L115", "weight": 1.0}, {"source": "lims_cache_limscache", "target": "lims_cache_limscache_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L123", "weight": 1.0}, {"source": "lims_cache_limscache", "target": "lims_cache_limscache_upsert_many", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L129", "weight": 1.0}, {"source": "lims_cache_limscache", "target": "lims_cache_limscache_list_projects", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L156", "weight": 1.0}, {"source": "lims_cache_limscache", "target": "lims_cache_limscache_get_project", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L171", "weight": 1.0}, {"source": "lims_cache_limscache", "target": "lims_cache_limscache_is_fresh", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L180", "weight": 1.0}, {"source": "lims_cache_limscache", "target": "lims_cache_limscache_require_conn", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L202", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "target": "lims_cache_row_to_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L209", "weight": 1.0}, {"source": "lims_cache_limscache_upsert_many", "target": "lims_cache_limscache_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L137", "weight": 1.0}, {"source": "lims_cache_limscache_list_projects", "target": "lims_cache_limscache_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L162", "weight": 1.0}, {"source": "lims_cache_limscache_list_projects", "target": "lims_cache_row_to_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L165", "weight": 1.0}, {"source": "lims_cache_limscache_get_project", "target": "lims_cache_limscache_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L173", "weight": 1.0}, {"source": "lims_cache_limscache_get_project", "target": "lims_cache_row_to_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L178", "weight": 1.0}, {"source": "lims_cache_limscache_is_fresh", "target": "lims_cache_limscache_require_conn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L185", "weight": 1.0}, {"source": "lims_cache_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_cache_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L1", "weight": 1.0}, {"source": "lims_cache_rationale_103", "target": "lims_cache_limscache", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L103", "weight": 1.0}, {"source": "lims_cache_rationale_116", "target": "lims_cache_limscache_init", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L116", "weight": 1.0}, {"source": "lims_cache_rationale_124", "target": "lims_cache_limscache_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L124", "weight": 1.0}, {"source": "lims_cache_rationale_130", "target": "lims_cache_limscache_upsert_many", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L130", "weight": 1.0}, {"source": "lims_cache_rationale_159", "target": "lims_cache_limscache_list_projects", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L159", "weight": 1.0}, {"source": "lims_cache_rationale_172", "target": "lims_cache_limscache_get_project", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L172", "weight": 1.0}, {"source": "lims_cache_rationale_181", "target": "lims_cache_limscache_is_fresh", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L181", "weight": 1.0}], "raw_calls": [{"caller_nid": "lims_cache_limscache_init", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L111"}, {"caller_nid": "lims_cache_limscache_init", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L117"}, {"caller_nid": "lims_cache_limscache_init", "callee": "connect", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L118"}, {"caller_nid": "lims_cache_limscache_init", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L118"}, {"caller_nid": "lims_cache_limscache_init", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L119"}, {"caller_nid": "lims_cache_limscache_init", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L120"}, {"caller_nid": "lims_cache_limscache_init", "callee": "commit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L121"}, {"caller_nid": "lims_cache_limscache_upsert_many", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L148"}, {"caller_nid": "lims_cache_limscache_upsert_many", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L148"}, {"caller_nid": "lims_cache_limscache_upsert_many", "callee": "executemany", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L153"}, {"caller_nid": "lims_cache_limscache_upsert_many", "callee": "commit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L154"}, {"caller_nid": "lims_cache_limscache_list_projects", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L163"}, {"caller_nid": "lims_cache_limscache_list_projects", "callee": "fetchall", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L164"}, {"caller_nid": "lims_cache_limscache_list_projects", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L167"}, {"caller_nid": "lims_cache_limscache_get_project", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L174"}, {"caller_nid": "lims_cache_limscache_get_project", "callee": "fetchone", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L177"}, {"caller_nid": "lims_cache_limscache_is_fresh", "callee": "execute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L186"}, {"caller_nid": "lims_cache_limscache_is_fresh", "callee": "fetchone", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L187"}, {"caller_nid": "lims_cache_limscache_is_fresh", "callee": "parse_utc_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L191"}, {"caller_nid": "lims_cache_limscache_is_fresh", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L193"}, {"caller_nid": "lims_cache_limscache_is_fresh", "callee": "utc_now", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L195"}, {"caller_nid": "lims_cache_limscache_is_fresh", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L195"}, {"caller_nid": "lims_cache_limscache_require_conn", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L205"}, {"caller_nid": "lims_cache_row_to_project", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L221"}, {"caller_nid": "lims_cache_row_to_project", "callee": "LIMSProject", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py", "source_location": "L222"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5df0448dae72edfc46ce9f02dc3ef234893b69f03b369eff51cdf15842186e9c.json b/graphify-out/cache/ast/5df0448dae72edfc46ce9f02dc3ef234893b69f03b369eff51cdf15842186e9c.json deleted file mode 100644 index f002fff..0000000 --- a/graphify-out/cache/ast/5df0448dae72edfc46ce9f02dc3ef234893b69f03b369eff51cdf15842186e9c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "label": "sessions.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L1"}, {"id": "routers_sessions_projectsessionbody", "label": "_ProjectSessionBody", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L63"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "routers_sessions_runsessionbody", "label": "_RunSessionBody", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L83"}, {"id": "routers_sessions_sessionhandleresponse", "label": "SessionHandleResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L105"}, {"id": "routers_sessions_resumebody", "label": "_ResumeBody", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L119"}, {"id": "routers_sessions_cancelbody", "label": "_CancelBody", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L127"}, {"id": "routers_sessions_build_sessions_router", "label": "build_sessions_router()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L140"}, {"id": "routers_sessions_build_project_request", "label": "_build_project_request()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L284"}, {"id": "routers_sessions_build_run_request", "label": "_build_run_request()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L297"}, {"id": "routers_sessions_handle_to_response", "label": "_handle_to_response()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L316"}, {"id": "routers_sessions_stream_session_events", "label": "_stream_session_events()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L336"}, {"id": "routers_sessions_rationale_1", "label": "``/sessions`` router. Backend Spec \u00a74.6.1, \u00a74.6.2. Endpoints: * ``POST /sessio", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L1"}, {"id": "routers_sessions_rationale_64", "label": "Body for a project-creation session. The ``kind`` discriminator selects thi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L64"}, {"id": "routers_sessions_rationale_84", "label": "Body for a run / test-run creation session.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L84"}, {"id": "routers_sessions_rationale_106", "label": "Response shape for the create / status endpoints.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L106"}, {"id": "routers_sessions_rationale_120", "label": "``POST /sessions/{id}/resume`` body.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L120"}, {"id": "routers_sessions_rationale_128", "label": "``POST /sessions/{id}/cancel`` body.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L128"}, {"id": "routers_sessions_rationale_141", "label": "Construct the ``/sessions`` router. Routes are gated by the setup-state dep", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L141"}, {"id": "routers_sessions_rationale_317", "label": "Build the response model from a controller :class:`SessionHandle` and the live s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L317"}, {"id": "routers_sessions_rationale_341", "label": "Pump events from the controller's queue into the WebSocket. Each frame from", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L341"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "exlab_wizard_api_dependencies", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "exlab_wizard_api_events", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "exlab_wizard_api_setup", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "exlab_wizard_controller", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "routers_sessions_projectsessionbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L63", "weight": 1.0}, {"source": "routers_sessions_projectsessionbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "routers_sessions_runsessionbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L83", "weight": 1.0}, {"source": "routers_sessions_runsessionbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "routers_sessions_sessionhandleresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L105", "weight": 1.0}, {"source": "routers_sessions_sessionhandleresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L105", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "routers_sessions_resumebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L119", "weight": 1.0}, {"source": "routers_sessions_resumebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L119", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "routers_sessions_cancelbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L127", "weight": 1.0}, {"source": "routers_sessions_cancelbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L127", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "routers_sessions_build_sessions_router", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L140", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "routers_sessions_build_project_request", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L284", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "routers_sessions_build_run_request", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L297", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "routers_sessions_handle_to_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L316", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "target": "routers_sessions_stream_session_events", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L336", "weight": 1.0}, {"source": "routers_sessions_handle_to_response", "target": "routers_sessions_sessionhandleresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L325", "weight": 1.0}, {"source": "routers_sessions_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_sessions_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L1", "weight": 1.0}, {"source": "routers_sessions_rationale_64", "target": "routers_sessions_projectsessionbody", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L64", "weight": 1.0}, {"source": "routers_sessions_rationale_84", "target": "routers_sessions_runsessionbody", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L84", "weight": 1.0}, {"source": "routers_sessions_rationale_106", "target": "routers_sessions_sessionhandleresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L106", "weight": 1.0}, {"source": "routers_sessions_rationale_120", "target": "routers_sessions_resumebody", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L120", "weight": 1.0}, {"source": "routers_sessions_rationale_128", "target": "routers_sessions_cancelbody", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L128", "weight": 1.0}, {"source": "routers_sessions_rationale_141", "target": "routers_sessions_build_sessions_router", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L141", "weight": 1.0}, {"source": "routers_sessions_rationale_317", "target": "routers_sessions_handle_to_response", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L317", "weight": 1.0}, {"source": "routers_sessions_rationale_341", "target": "routers_sessions_stream_session_events", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L341", "weight": 1.0}], "raw_calls": [{"caller_nid": "routers_sessions_build_sessions_router", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L147"}, {"caller_nid": "routers_sessions_build_sessions_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L149"}, {"caller_nid": "routers_sessions_build_sessions_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L153"}, {"caller_nid": "routers_sessions_build_sessions_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L167"}, {"caller_nid": "routers_sessions_build_sessions_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L191"}, {"caller_nid": "routers_sessions_build_sessions_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L194"}, {"caller_nid": "routers_sessions_build_sessions_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L222"}, {"caller_nid": "routers_sessions_build_sessions_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L225"}, {"caller_nid": "routers_sessions_build_sessions_router", "callee": "websocket", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L254"}, {"caller_nid": "routers_sessions_build_project_request", "callee": "ProjectCreateRequest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L285"}, {"caller_nid": "routers_sessions_build_project_request", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L287"}, {"caller_nid": "routers_sessions_build_project_request", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L288"}, {"caller_nid": "routers_sessions_build_project_request", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L289"}, {"caller_nid": "routers_sessions_build_project_request", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L293"}, {"caller_nid": "routers_sessions_build_run_request", "callee": "parse_utc_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L300"}, {"caller_nid": "routers_sessions_build_run_request", "callee": "RunCreateRequest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L301"}, {"caller_nid": "routers_sessions_build_run_request", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L304"}, {"caller_nid": "routers_sessions_build_run_request", "callee": "RunKind", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L305"}, {"caller_nid": "routers_sessions_build_run_request", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L306"}, {"caller_nid": "routers_sessions_build_run_request", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L310"}, {"caller_nid": "routers_sessions_build_run_request", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L312"}, {"caller_nid": "routers_sessions_handle_to_response", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L319"}, {"caller_nid": "routers_sessions_handle_to_response", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L319"}, {"caller_nid": "routers_sessions_stream_session_events", "callee": "subscribe", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L347"}, {"caller_nid": "routers_sessions_stream_session_events", "callee": "event_from_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L349"}, {"caller_nid": "routers_sessions_stream_session_events", "callee": "send_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L355"}, {"caller_nid": "routers_sessions_stream_session_events", "callee": "encode_event", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L355"}, {"caller_nid": "routers_sessions_stream_session_events", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L356"}, {"caller_nid": "routers_sessions_stream_session_events", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L359"}, {"caller_nid": "routers_sessions_stream_session_events", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py", "source_location": "L360"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5e7a9d021360ba2e6febb9bb71bc3da6d4b511f28e04f81ba23db96ad9b115a4.json b/graphify-out/cache/ast/5e7a9d021360ba2e6febb9bb71bc3da6d4b511f28e04f81ba23db96ad9b115a4.json deleted file mode 100644 index 9416e09..0000000 --- a/graphify-out/cache/ast/5e7a9d021360ba2e6febb9bb71bc3da6d4b511f28e04f81ba23db96ad9b115a4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "label": "test_schema_versions.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L1"}, {"id": "constants_test_schema_versions_test_creation_json_version_is_pinned", "label": "test_creation_json_version_is_pinned()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L13"}, {"id": "constants_test_schema_versions_test_readme_fields_json_version_is_pinned", "label": "test_readme_fields_json_version_is_pinned()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L18"}, {"id": "constants_test_schema_versions_test_sync_state_json_version_is_pinned", "label": "test_sync_state_json_version_is_pinned()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L23"}, {"id": "constants_test_schema_versions_test_equipment_json_version_is_pinned", "label": "test_equipment_json_version_is_pinned()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L28"}, {"id": "constants_test_schema_versions_test_test_runs_json_version_is_pinned", "label": "test_test_runs_json_version_is_pinned()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L33"}, {"id": "constants_test_schema_versions_test_offline_catalogue_version_is_pinned", "label": "test_offline_catalogue_version_is_pinned()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L38"}, {"id": "constants_test_schema_versions_test_readme_front_matter_schema_version_is_pinned", "label": "test_readme_front_matter_schema_version_is_pinned()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L43"}, {"id": "constants_test_schema_versions_test_all_schema_versions_are_strings", "label": "test_all_schema_versions_are_strings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L48"}, {"id": "constants_test_schema_versions_test_schema_versions_re_exported_from_package", "label": "test_schema_versions_re_exported_from_package()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L63"}, {"id": "constants_test_schema_versions_rationale_1", "label": "Verify the literal values pinned in ``schema_versions``. Each schema-version co", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "target": "constants_test_schema_versions_test_creation_json_version_is_pinned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "target": "constants_test_schema_versions_test_readme_fields_json_version_is_pinned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "target": "constants_test_schema_versions_test_sync_state_json_version_is_pinned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "target": "constants_test_schema_versions_test_equipment_json_version_is_pinned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "target": "constants_test_schema_versions_test_test_runs_json_version_is_pinned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "target": "constants_test_schema_versions_test_offline_catalogue_version_is_pinned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "target": "constants_test_schema_versions_test_readme_front_matter_schema_version_is_pinned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "target": "constants_test_schema_versions_test_all_schema_versions_are_strings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "target": "constants_test_schema_versions_test_schema_versions_re_exported_from_package", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L63", "weight": 1.0}, {"source": "constants_test_schema_versions_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_constants_test_schema_versions_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "constants_test_schema_versions_test_all_schema_versions_are_strings", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L60"}, {"caller_nid": "constants_test_schema_versions_test_all_schema_versions_are_strings", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py", "source_location": "L60"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5ee1ecdbd7b9ef222385487441b3d1141541e90b33c0dc62e554731c7a2d619c.json b/graphify-out/cache/ast/5ee1ecdbd7b9ef222385487441b3d1141541e90b33c0dc62e554731c7a2d619c.json deleted file mode 100644 index 76a3ba4..0000000 --- a/graphify-out/cache/ast/5ee1ecdbd7b9ef222385487441b3d1141541e90b33c0dc62e554731c7a2d619c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "label": "test_settings_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L1"}, {"id": "ui_test_settings_page_test_build_draft_from_none_yields_defaults", "label": "test_build_draft_from_none_yields_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L27"}, {"id": "ui_test_settings_page_test_build_draft_copies_existing_config", "label": "test_build_draft_copies_existing_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L36"}, {"id": "ui_test_settings_page_test_draft_edits_do_not_leak_into_source", "label": "test_draft_edits_do_not_leak_into_source()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L49"}, {"id": "ui_test_settings_page_test_finalize_coerces_widget_floats_back_to_int", "label": "test_finalize_coerces_widget_floats_back_to_int()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L60"}, {"id": "ui_test_settings_page_test_finalize_round_trips_edited_scalar_fields", "label": "test_finalize_round_trips_edited_scalar_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L73"}, {"id": "ui_test_settings_page_test_finalize_allows_blank_staging_root", "label": "test_finalize_allows_blank_staging_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L90"}, {"id": "ui_test_settings_page_test_finalize_raises_on_invalid_edit", "label": "test_finalize_raises_on_invalid_edit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L104"}, {"id": "ui_test_settings_page_test_lims_credential_initial_state_not_set_when_keyring_empty", "label": "test_lims_credential_initial_state_not_set_when_keyring_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L113"}, {"id": "ui_test_settings_page_test_lims_credential_initial_state_set_when_keyring_has_password", "label": "test_lims_credential_initial_state_set_when_keyring_has_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L118"}, {"id": "ui_test_settings_page_rationale_1", "label": "Tests for the settings-page config binding helpers. ``render_settings_page`` it", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L1"}, {"id": "ui_test_settings_page_rationale_91", "label": "staging_root is opt-in: a blank value finalizes cleanly (the field is option", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L91"}, {"id": "ui_test_settings_page_rationale_119", "label": "A password already in the OS keyring opens the row in *Set*.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L119"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "exlab_wizard_api_app", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "exlab_wizard_ui_components", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "exlab_wizard_ui_pages_settings", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "ui_test_settings_page_test_build_draft_from_none_yields_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "ui_test_settings_page_test_build_draft_copies_existing_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "ui_test_settings_page_test_draft_edits_do_not_leak_into_source", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "ui_test_settings_page_test_finalize_coerces_widget_floats_back_to_int", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "ui_test_settings_page_test_finalize_round_trips_edited_scalar_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L73", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "ui_test_settings_page_test_finalize_allows_blank_staging_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "ui_test_settings_page_test_finalize_raises_on_invalid_edit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L104", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "ui_test_settings_page_test_lims_credential_initial_state_not_set_when_keyring_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L113", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "target": "ui_test_settings_page_test_lims_credential_initial_state_set_when_keyring_has_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L118", "weight": 1.0}, {"source": "ui_test_settings_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_settings_page_rationale_91", "target": "ui_test_settings_page_test_finalize_allows_blank_staging_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L91", "weight": 1.0}, {"source": "ui_test_settings_page_rationale_119", "target": "ui_test_settings_page_test_lims_credential_initial_state_set_when_keyring_has_password", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L119", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_settings_page_test_build_draft_from_none_yields_defaults", "callee": "build_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L28"}, {"caller_nid": "ui_test_settings_page_test_build_draft_from_none_yields_defaults", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L29"}, {"caller_nid": "ui_test_settings_page_test_build_draft_copies_existing_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L37"}, {"caller_nid": "ui_test_settings_page_test_build_draft_copies_existing_config", "callee": "build_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L41"}, {"caller_nid": "ui_test_settings_page_test_draft_edits_do_not_leak_into_source", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L50"}, {"caller_nid": "ui_test_settings_page_test_draft_edits_do_not_leak_into_source", "callee": "build_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L51"}, {"caller_nid": "ui_test_settings_page_test_finalize_coerces_widget_floats_back_to_int", "callee": "build_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L61"}, {"caller_nid": "ui_test_settings_page_test_finalize_coerces_widget_floats_back_to_int", "callee": "finalize_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L66"}, {"caller_nid": "ui_test_settings_page_test_finalize_coerces_widget_floats_back_to_int", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L69"}, {"caller_nid": "ui_test_settings_page_test_finalize_round_trips_edited_scalar_fields", "callee": "build_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L74"}, {"caller_nid": "ui_test_settings_page_test_finalize_round_trips_edited_scalar_fields", "callee": "finalize_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L83"}, {"caller_nid": "ui_test_settings_page_test_finalize_allows_blank_staging_root", "callee": "build_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L94"}, {"caller_nid": "ui_test_settings_page_test_finalize_allows_blank_staging_root", "callee": "finalize_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L98"}, {"caller_nid": "ui_test_settings_page_test_finalize_raises_on_invalid_edit", "callee": "build_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L105"}, {"caller_nid": "ui_test_settings_page_test_finalize_raises_on_invalid_edit", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L109"}, {"caller_nid": "ui_test_settings_page_test_finalize_raises_on_invalid_edit", "callee": "finalize_settings_draft", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L110"}, {"caller_nid": "ui_test_settings_page_test_lims_credential_initial_state_not_set_when_keyring_empty", "callee": "lims_credential_initial_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L114"}, {"caller_nid": "ui_test_settings_page_test_lims_credential_initial_state_set_when_keyring_has_password", "callee": "lims_credential_initial_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py", "source_location": "L121"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5f3ec5b4202b38ffb33448be5ed5cdd425e759a80b7129b71c4393052f8c6f9a.json b/graphify-out/cache/ast/5f3ec5b4202b38ffb33448be5ed5cdd425e759a80b7129b71c4393052f8c6f9a.json deleted file mode 100644 index ceafb74..0000000 --- a/graphify-out/cache/ast/5f3ec5b4202b38ffb33448be5ed5cdd425e759a80b7129b71c4393052f8c6f9a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "label": "conftest.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L1"}, {"id": "e2e_conftest_free_port", "label": "_free_port()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L46"}, {"id": "e2e_conftest_resolve_chromium_executable", "label": "_resolve_chromium_executable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L53"}, {"id": "e2e_conftest_server_url", "label": "server_url()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L90"}, {"id": "e2e_conftest_browser", "label": "browser()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L155"}, {"id": "e2e_conftest_page", "label": "page()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L181"}, {"id": "e2e_conftest_rationale_1", "label": "E2E test fixtures (Phase 16). Boots a real uvicorn process serving the e2e test", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L1"}, {"id": "e2e_conftest_rationale_47", "label": "Return a free TCP port on 127.0.0.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L47"}, {"id": "e2e_conftest_rationale_54", "label": "Return a chromium executable path or None. Search order: 1. ``EXLAB_E2", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L54"}, {"id": "e2e_conftest_rationale_91", "label": "Spawn a real uvicorn process serving the e2e test app and yield its URL. Th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L91"}, {"id": "e2e_conftest_rationale_156", "label": "Yield a chromium browser (headless).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L156"}, {"id": "e2e_conftest_rationale_182", "label": "Yield a fresh Playwright page for each test.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L182"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "socket", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "contextlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "playwright_sync_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "e2e_conftest_free_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "e2e_conftest_resolve_chromium_executable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "e2e_conftest_server_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "e2e_conftest_browser", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L155", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "target": "e2e_conftest_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L181", "weight": 1.0}, {"source": "e2e_conftest_server_url", "target": "e2e_conftest_free_port", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L100", "weight": 1.0}, {"source": "e2e_conftest_browser", "target": "e2e_conftest_resolve_chromium_executable", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L159", "weight": 1.0}, {"source": "e2e_conftest_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_conftest_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_conftest_rationale_47", "target": "e2e_conftest_free_port", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L47", "weight": 1.0}, {"source": "e2e_conftest_rationale_54", "target": "e2e_conftest_resolve_chromium_executable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L54", "weight": 1.0}, {"source": "e2e_conftest_rationale_91", "target": "e2e_conftest_server_url", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L91", "weight": 1.0}, {"source": "e2e_conftest_rationale_156", "target": "e2e_conftest_browser", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L156", "weight": 1.0}, {"source": "e2e_conftest_rationale_182", "target": "e2e_conftest_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L182", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_conftest_free_port", "callee": "closing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L48"}, {"caller_nid": "e2e_conftest_free_port", "callee": "socket", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L48"}, {"caller_nid": "e2e_conftest_free_port", "callee": "bind", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L49"}, {"caller_nid": "e2e_conftest_free_port", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L50"}, {"caller_nid": "e2e_conftest_free_port", "callee": "getsockname", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L50"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L65"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L66"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L66"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L70"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L72"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L72"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L73"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L73"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L74"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "home", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L74"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L77"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L79"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "glob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L79"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L81"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L82"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L84"}, {"caller_nid": "e2e_conftest_resolve_chromium_executable", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L85"}, {"caller_nid": "e2e_conftest_server_url", "callee": "mktemp", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L99"}, {"caller_nid": "e2e_conftest_server_url", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L101"}, {"caller_nid": "e2e_conftest_server_url", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L101"}, {"caller_nid": "e2e_conftest_server_url", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L105"}, {"caller_nid": "e2e_conftest_server_url", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L106"}, {"caller_nid": "e2e_conftest_server_url", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L107"}, {"caller_nid": "e2e_conftest_server_url", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L107"}, {"caller_nid": "e2e_conftest_server_url", "callee": "Popen", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L109"}, {"caller_nid": "e2e_conftest_server_url", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L119"}, {"caller_nid": "e2e_conftest_server_url", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L127"}, {"caller_nid": "e2e_conftest_server_url", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L129"}, {"caller_nid": "e2e_conftest_server_url", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L135"}, {"caller_nid": "e2e_conftest_server_url", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L137"}, {"caller_nid": "e2e_conftest_server_url", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L139"}, {"caller_nid": "e2e_conftest_server_url", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L141"}, {"caller_nid": "e2e_conftest_server_url", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L142"}, {"caller_nid": "e2e_conftest_server_url", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L146"}, {"caller_nid": "e2e_conftest_server_url", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L148"}, {"caller_nid": "e2e_conftest_server_url", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L150"}, {"caller_nid": "e2e_conftest_server_url", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L151"}, {"caller_nid": "e2e_conftest_browser", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L158"}, {"caller_nid": "e2e_conftest_browser", "callee": "sync_playwright", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L161"}, {"caller_nid": "e2e_conftest_browser", "callee": "launch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L166"}, {"caller_nid": "e2e_conftest_browser", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L168"}, {"caller_nid": "e2e_conftest_browser", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L175"}, {"caller_nid": "e2e_conftest_browser", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L177"}, {"caller_nid": "e2e_conftest_page", "callee": "new_context", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L183"}, {"caller_nid": "e2e_conftest_page", "callee": "new_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L184"}, {"caller_nid": "e2e_conftest_page", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py", "source_location": "L188"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/5f8c2adee66e5c3958644913f391e73c03c014c8362332f7939753b3cf648a3b.json b/graphify-out/cache/ast/5f8c2adee66e5c3958644913f391e73c03c014c8362332f7939753b3cf648a3b.json deleted file mode 100644 index cd9ff26..0000000 --- a/graphify-out/cache/ast/5f8c2adee66e5c3958644913f391e73c03c014c8362332f7939753b3cf648a3b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_state_machine_py", "label": "state_machine.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L1"}, {"id": "controller_state_machine_sessionstate", "label": "SessionState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L45"}, {"id": "strenum", "label": "StrEnum", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "controller_state_machine_phase", "label": "Phase", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L66"}, {"id": "controller_state_machine_state_to_phase", "label": "state_to_phase()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L102"}, {"id": "controller_state_machine_build_valid_transitions", "label": "_build_valid_transitions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L139"}, {"id": "controller_state_machine_assert_transition", "label": "assert_transition()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L159"}, {"id": "controller_state_machine_rationale_1", "label": "Creation-session state machine. Backend Spec \u00a74.7, \u00a74.7.1. Defines two enums an", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L1"}, {"id": "controller_state_machine_rationale_46", "label": "Internal creation-session state. Backend Spec \u00a74.7. Values mirror the \u00a74.7", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L46"}, {"id": "controller_state_machine_rationale_67", "label": "Externally-emitted ``phase`` event. Backend Spec \u00a74.6.2. Sent over the ``WS", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L67"}, {"id": "controller_state_machine_rationale_103", "label": "Return the :class:`Phase` event corresponding to ``state``. Backend Spec \u00a74", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L103"}, {"id": "controller_state_machine_rationale_140", "label": "Augment forward transitions with cancel/fail edges.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L140"}, {"id": "controller_state_machine_rationale_160", "label": "Raise :class:`ValueError` if ``current -> new_state`` is illegal. Defensive", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L160"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_state_machine_py", "target": "enum", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_state_machine_py", "target": "exlab_wizard_utils_state", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_state_machine_py", "target": "controller_state_machine_sessionstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L45", "weight": 1.0}, {"source": "controller_state_machine_sessionstate", "target": "strenum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_state_machine_py", "target": "controller_state_machine_phase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L66", "weight": 1.0}, {"source": "controller_state_machine_phase", "target": "strenum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L66", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_state_machine_py", "target": "controller_state_machine_state_to_phase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_state_machine_py", "target": "controller_state_machine_build_valid_transitions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L139", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_state_machine_py", "target": "controller_state_machine_assert_transition", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L159", "weight": 1.0}, {"source": "controller_state_machine_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_state_machine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L1", "weight": 1.0}, {"source": "controller_state_machine_rationale_46", "target": "controller_state_machine_sessionstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L46", "weight": 1.0}, {"source": "controller_state_machine_rationale_67", "target": "controller_state_machine_phase", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L67", "weight": 1.0}, {"source": "controller_state_machine_rationale_103", "target": "controller_state_machine_state_to_phase", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L103", "weight": 1.0}, {"source": "controller_state_machine_rationale_140", "target": "controller_state_machine_build_valid_transitions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L140", "weight": 1.0}, {"source": "controller_state_machine_rationale_160", "target": "controller_state_machine_assert_transition", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L160", "weight": 1.0}], "raw_calls": [{"caller_nid": "controller_state_machine_build_valid_transitions", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L142"}, {"caller_nid": "controller_state_machine_build_valid_transitions", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L143"}, {"caller_nid": "controller_state_machine_assert_transition", "callee": "assert_forward_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py", "source_location": "L168"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/60e2fc8536486d4ec36063a201330b024a7f13e4b5d93740459c3d4b075be60c.json b/graphify-out/cache/ast/60e2fc8536486d4ec36063a201330b024a7f13e4b5d93740459c3d4b075be60c.json deleted file mode 100644 index 78e620b..0000000 --- a/graphify-out/cache/ast/60e2fc8536486d4ec36063a201330b024a7f13e4b5d93740459c3d4b075be60c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "label": "test_schema_major_mismatch.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L1"}, {"id": "integration_test_schema_major_mismatch_cachecase", "label": "_CacheCase", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L39"}, {"id": "integration_test_schema_major_mismatch_resolve_reader", "label": "_resolve_reader()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L156"}, {"id": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", "label": "test_cross_major_read_raises_schema_major_mismatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L195"}, {"id": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", "label": "test_cross_major_read_records_higher_majors_too()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L218"}, {"id": "integration_test_schema_major_mismatch_rationale_1", "label": "Integration tests for the cross-major-read-fails contract from \u00a711.9.2. For eve", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L1"}, {"id": "integration_test_schema_major_mismatch_rationale_40", "label": "One cache-file flavour to exercise against the reader gate.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L40"}, {"id": "integration_test_schema_major_mismatch_rationale_157", "label": "Walk the candidate matrix and return the first reader method we find. Each", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L157"}, {"id": "integration_test_schema_major_mismatch_rationale_199", "label": "A v2.0 file MUST be refused by every v1.x reader (\u00a711.9.2 rule 3).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L199"}, {"id": "integration_test_schema_major_mismatch_rationale_222", "label": "A v3.7 file is also refused; the rule isn't tied to ``2.0`` specifically.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L222"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "importlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "integration_test_schema_major_mismatch_cachecase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "integration_test_schema_major_mismatch_resolve_reader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L156", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L195", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "target": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L218", "weight": 1.0}, {"source": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", "target": "integration_test_schema_major_mismatch_resolve_reader", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L200", "weight": 1.0}, {"source": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", "target": "integration_test_schema_major_mismatch_resolve_reader", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L223", "weight": 1.0}, {"source": "integration_test_schema_major_mismatch_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_test_schema_major_mismatch_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L1", "weight": 1.0}, {"source": "integration_test_schema_major_mismatch_rationale_40", "target": "integration_test_schema_major_mismatch_cachecase", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L40", "weight": 1.0}, {"source": "integration_test_schema_major_mismatch_rationale_157", "target": "integration_test_schema_major_mismatch_resolve_reader", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L157", "weight": 1.0}, {"source": "integration_test_schema_major_mismatch_rationale_199", "target": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L199", "weight": 1.0}, {"source": "integration_test_schema_major_mismatch_rationale_222", "target": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L222", "weight": 1.0}], "raw_calls": [{"caller_nid": "integration_test_schema_major_mismatch_resolve_reader", "callee": "import_module", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L170"}, {"caller_nid": "integration_test_schema_major_mismatch_resolve_reader", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L175"}, {"caller_nid": "integration_test_schema_major_mismatch_resolve_reader", "callee": "cls", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L180"}, {"caller_nid": "integration_test_schema_major_mismatch_resolve_reader", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L185"}, {"caller_nid": "integration_test_schema_major_mismatch_resolve_reader", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L186"}, {"caller_nid": "integration_test_schema_major_mismatch_resolve_reader", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L189"}, {"caller_nid": "integration_test_schema_major_mismatch_resolve_reader", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L191"}, {"caller_nid": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L202"}, {"caller_nid": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L202"}, {"caller_nid": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L204"}, {"caller_nid": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", "callee": "read", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L205"}, {"caller_nid": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L225"}, {"caller_nid": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L227"}, {"caller_nid": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L227"}, {"caller_nid": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L229"}, {"caller_nid": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", "callee": "read", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py", "source_location": "L230"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/619a92538621f7b7d8fa448b69bbf78284db44bd38812dbc548f223590946506.json b/graphify-out/cache/ast/619a92538621f7b7d8fa448b69bbf78284db44bd38812dbc548f223590946506.json deleted file mode 100644 index 1fc9998..0000000 --- a/graphify-out/cache/ast/619a92538621f7b7d8fa448b69bbf78284db44bd38812dbc548f223590946506.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_20_file_explorer_py", "label": "test_flow_20_file_explorer.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L1"}, {"id": "e2e_test_flow_20_file_explorer_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L10"}, {"id": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "label": "test_flow_20_file_explorer_renders_three_regions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L23"}, {"id": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "label": "test_flow_20_select_run_node_renders_metadata_pane()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L42"}, {"id": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "label": "test_flow_20_breadcrumb_is_present_when_node_selected()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L53"}, {"id": "e2e_test_flow_20_file_explorer_rationale_1", "label": "E2E flow 20: file-explorer navigation (Redesign \u00a74). Tree selection drives the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_20_file_explorer_py", "target": "e2e_test_flow_20_file_explorer_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_20_file_explorer_py", "target": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_20_file_explorer_py", "target": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_20_file_explorer_py", "target": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L53", "weight": 1.0}, {"source": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "target": "e2e_test_flow_20_file_explorer_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L24", "weight": 1.0}, {"source": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "target": "e2e_test_flow_20_file_explorer_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L43", "weight": 1.0}, {"source": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "target": "e2e_test_flow_20_file_explorer_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L54", "weight": 1.0}, {"source": "e2e_test_flow_20_file_explorer_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_20_file_explorer_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_20_file_explorer_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L12"}, {"caller_nid": "e2e_test_flow_20_file_explorer_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L14"}, {"caller_nid": "e2e_test_flow_20_file_explorer_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L15"}, {"caller_nid": "e2e_test_flow_20_file_explorer_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L19"}, {"caller_nid": "e2e_test_flow_20_file_explorer_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L34"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L34"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L38"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L38"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L44"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L44"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L45"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L45"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L46"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L47"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L47"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L48"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L48"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L49"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L49"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L50"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L50"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L55"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L56"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L57"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L58"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L59"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L59"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L60"}, {"caller_nid": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py", "source_location": "L62"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/634a36b718e798e9a6cd2a6ee738798a156b6be4c53f48d0d52fde67d625131e.json b/graphify-out/cache/ast/634a36b718e798e9a6cd2a6ee738798a156b6be4c53f48d0d52fde67d625131e.json deleted file mode 100644 index bff287c..0000000 --- a/graphify-out/cache/ast/634a36b718e798e9a6cd2a6ee738798a156b6be4c53f48d0d52fde67d625131e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/__init__.py", "source_location": "L1"}, {"id": "api_init_rationale_1", "label": "Unit tests for ``exlab_wizard.api``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/__init__.py", "source_location": "L1"}], "edges": [{"source": "api_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/635d0c61b43b09842520abe24225a10245134d3373267c69626c71fa1c8a6949.json b/graphify-out/cache/ast/635d0c61b43b09842520abe24225a10245134d3373267c69626c71fa1c8a6949.json deleted file mode 100644 index 4608e8e..0000000 --- a/graphify-out/cache/ast/635d0c61b43b09842520abe24225a10245134d3373267c69626c71fa1c8a6949.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_03_directory_structure_convention_md", "label": "03_Directory_Structure_Convention.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L1"}, {"id": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", "label": "3. Directory Structure Convention", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L1"}, {"id": "design_spec_sections_03_directory_structure_convention_codeblock_1", "label": "code:block1 (/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L7"}, {"id": "design_spec_sections_03_directory_structure_convention_codeblock_2", "label": "code:block2 (/data/lab/CONFOCAL_01/UCR-000-I-D_WHEELDON/Runs/Run_2026-04-)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L20"}, {"id": "design_spec_sections_03_directory_structure_convention_3_1_equipment_id_format", "label": "3.1 Equipment-ID format", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L28"}, {"id": "design_spec_sections_03_directory_structure_convention_3_2_project_folder_name", "label": "3.2 Project-folder name", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L41"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_03_directory_structure_convention_md", "target": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", "target": "design_spec_sections_03_directory_structure_convention_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L7", "weight": 1.0}, {"source": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", "target": "design_spec_sections_03_directory_structure_convention_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L20", "weight": 1.0}, {"source": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", "target": "design_spec_sections_03_directory_structure_convention_3_1_equipment_id_format", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L28", "weight": 1.0}, {"source": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", "target": "design_spec_sections_03_directory_structure_convention_3_2_project_folder_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md", "source_location": "L41", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/643a25bc2d957e0633f4a63d8fa5dcf3d49bf14708815a3628f9a289636fb5e3.json b/graphify-out/cache/ast/643a25bc2d957e0633f4a63d8fa5dcf3d49bf14708815a3628f9a289636fb5e3.json deleted file mode 100644 index 9255fb7..0000000 --- a/graphify-out/cache/ast/643a25bc2d957e0633f4a63d8fa5dcf3d49bf14708815a3628f9a289636fb5e3.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "label": "staging.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L1"}, {"id": "routers_staging_stagedrunrow", "label": "StagedRunRow", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L59"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "routers_staging_staginglistresponse", "label": "StagingListResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L75"}, {"id": "routers_staging_forcesyncresponse", "label": "ForceSyncResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L83"}, {"id": "routers_staging_clearresponse", "label": "ClearResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L93"}, {"id": "routers_staging_clearverifiedresponse", "label": "ClearVerifiedResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L103"}, {"id": "routers_staging_keeplocalrequest", "label": "KeepLocalRequest", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L111"}, {"id": "routers_staging_keeplocalresponse", "label": "KeepLocalResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L126"}, {"id": "routers_staging_build_staging_router", "label": "build_staging_router()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L141"}, {"id": "routers_staging_row_from_summary", "label": "_row_from_summary()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L315"}, {"id": "routers_staging_is_real_run", "label": "_is_real_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L329"}, {"id": "routers_staging_require_config", "label": "_require_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L352"}, {"id": "routers_staging_require_nas_sync", "label": "_require_nas_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L370"}, {"id": "routers_staging_rationale_1", "label": "``/staging`` router. Backend Spec \u00a713.7, \u00a713.8. Four endpoints back the orchest", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L1"}, {"id": "routers_staging_rationale_60", "label": "One staging-panel row. Backend Spec \u00a713.8.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L60"}, {"id": "routers_staging_rationale_76", "label": "``GET /staging`` response.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L76"}, {"id": "routers_staging_rationale_84", "label": "``POST /staging/{run_path}/force-sync`` response.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L84"}, {"id": "routers_staging_rationale_94", "label": "``POST /staging/{run_path}/clear`` response.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L94"}, {"id": "routers_staging_rationale_104", "label": "``POST /staging/clear-verified`` response (Redesign \u00a74.6).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L104"}, {"id": "routers_staging_rationale_112", "label": "``POST /staging/{run_path}/keep-local`` request body. Operator-free per-fil", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L112"}, {"id": "routers_staging_rationale_127", "label": "``POST /staging/{run_path}/keep-local`` response.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L127"}, {"id": "routers_staging_rationale_142", "label": "Construct the ``/staging`` router. Backend Spec \u00a713.7, \u00a713.8.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L142"}, {"id": "routers_staging_rationale_330", "label": "Return True when ``run_path`` is a real run inside an allowed root. A \"real", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L330"}, {"id": "routers_staging_rationale_353", "label": "Return the live :class:`Config` or raise 503 when no config is wired. Redes", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L353"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "exlab_wizard_api_dependencies", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "exlab_wizard_orchestrator_staging_clear", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "exlab_wizard_orchestrator_staging_query", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_stagedrunrow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L59", "weight": 1.0}, {"source": "routers_staging_stagedrunrow", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_staginglistresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L75", "weight": 1.0}, {"source": "routers_staging_staginglistresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_forcesyncresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L83", "weight": 1.0}, {"source": "routers_staging_forcesyncresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_clearresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L93", "weight": 1.0}, {"source": "routers_staging_clearresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_clearverifiedresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L103", "weight": 1.0}, {"source": "routers_staging_clearverifiedresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_keeplocalrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L111", "weight": 1.0}, {"source": "routers_staging_keeplocalrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_keeplocalresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L126", "weight": 1.0}, {"source": "routers_staging_keeplocalresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L126", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_build_staging_router", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L141", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_row_from_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L315", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_is_real_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L329", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_require_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L352", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "target": "routers_staging_require_nas_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L370", "weight": 1.0}, {"source": "routers_staging_row_from_summary", "target": "routers_staging_stagedrunrow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L316", "weight": 1.0}, {"source": "routers_staging_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_staging_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L1", "weight": 1.0}, {"source": "routers_staging_rationale_60", "target": "routers_staging_stagedrunrow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L60", "weight": 1.0}, {"source": "routers_staging_rationale_76", "target": "routers_staging_staginglistresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L76", "weight": 1.0}, {"source": "routers_staging_rationale_84", "target": "routers_staging_forcesyncresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L84", "weight": 1.0}, {"source": "routers_staging_rationale_94", "target": "routers_staging_clearresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L94", "weight": 1.0}, {"source": "routers_staging_rationale_104", "target": "routers_staging_clearverifiedresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L104", "weight": 1.0}, {"source": "routers_staging_rationale_112", "target": "routers_staging_keeplocalrequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L112", "weight": 1.0}, {"source": "routers_staging_rationale_127", "target": "routers_staging_keeplocalresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L127", "weight": 1.0}, {"source": "routers_staging_rationale_142", "target": "routers_staging_build_staging_router", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L142", "weight": 1.0}, {"source": "routers_staging_rationale_330", "target": "routers_staging_is_real_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L330", "weight": 1.0}, {"source": "routers_staging_rationale_353", "target": "routers_staging_require_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L353", "weight": 1.0}], "raw_calls": [{"caller_nid": "routers_staging_build_staging_router", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L143"}, {"caller_nid": "routers_staging_build_staging_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L145"}, {"caller_nid": "routers_staging_build_staging_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L156"}, {"caller_nid": "routers_staging_build_staging_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L190"}, {"caller_nid": "routers_staging_build_staging_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L247"}, {"caller_nid": "routers_staging_build_staging_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L272"}, {"caller_nid": "routers_staging_is_real_run", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L344"}, {"caller_nid": "routers_staging_is_real_run", "callee": "_path_is_under_allowed_root", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L347"}, {"caller_nid": "routers_staging_is_real_run", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L349"}, {"caller_nid": "routers_staging_is_real_run", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L349"}, {"caller_nid": "routers_staging_require_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L358"}, {"caller_nid": "routers_staging_require_config", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L360"}, {"caller_nid": "routers_staging_require_nas_sync", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L371"}, {"caller_nid": "routers_staging_require_nas_sync", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py", "source_location": "L373"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/648369a893c9277ad872d3cc2e296e62bff3c28dc06cdc07d67f0ccbb938c88c.json b/graphify-out/cache/ast/648369a893c9277ad872d3cc2e296e62bff3c28dc06cdc07d67f0ccbb938c88c.json deleted file mode 100644 index 05fada5..0000000 --- a/graphify-out/cache/ast/648369a893c9277ad872d3cc2e296e62bff3c28dc06cdc07d67f0ccbb938c88c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_filenames_py", "label": "filenames.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/filenames.py", "source_location": "L1"}, {"id": "constants_filenames_rationale_1", "label": "Canonical filenames and on-disk path fragments used throughout the app. All val", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/filenames.py", "source_location": "L1"}], "edges": [{"source": "constants_filenames_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_filenames_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/filenames.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/65af476962ff94fa88e704c60c1eb28358b423c3a8cf499aca999e9e432afe18.json b/graphify-out/cache/ast/65af476962ff94fa88e704c60c1eb28358b423c3a8cf499aca999e9e432afe18.json deleted file mode 100644 index 6288dc9..0000000 --- a/graphify-out/cache/ast/65af476962ff94fa88e704c60c1eb28358b423c3a8cf499aca999e9e432afe18.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_constants_test_enum_literal_alignment_py", "label": "test_enum_literal_alignment.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enum_literal_alignment.py", "source_location": "L1"}, {"id": "constants_test_enum_literal_alignment_test_enum_values_match_expected_literal_set", "label": "test_enum_values_match_expected_literal_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enum_literal_alignment.py", "source_location": "L67"}, {"id": "constants_test_enum_literal_alignment_rationale_1", "label": "Assert that ``StrEnum`` value sets match their sibling ``Literal`` aliases. Per", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enum_literal_alignment.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enum_literal_alignment_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enum_literal_alignment.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enum_literal_alignment_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enum_literal_alignment.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enum_literal_alignment_py", "target": "constants_test_enum_literal_alignment_test_enum_values_match_expected_literal_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enum_literal_alignment.py", "source_location": "L67", "weight": 1.0}, {"source": "constants_test_enum_literal_alignment_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_constants_test_enum_literal_alignment_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enum_literal_alignment.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/65cae53b43927d94fb2bbcbbc19f346975fdcac55aa8601ea0ef53e75a11d95e.json b/graphify-out/cache/ast/65cae53b43927d94fb2bbcbbc19f346975fdcac55aa8601ea0ef53e75a11d95e.json deleted file mode 100644 index 05c1799..0000000 --- a/graphify-out/cache/ast/65cae53b43927d94fb2bbcbbc19f346975fdcac55aa8601ea0ef53e75a11d95e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_tree_py", "label": "tree.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L1"}, {"id": "components_tree_treefilters", "label": "TreeFilters", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L71"}, {"id": "components_tree_equipmentnode", "label": "EquipmentNode", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L81"}, {"id": "components_tree_projectnode", "label": "ProjectNode", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L90"}, {"id": "components_tree_runnode", "label": "RunNode", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L97"}, {"id": "components_tree_treenode", "label": "TreeNode", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L105"}, {"id": "components_tree_matches_search", "label": "_matches_search()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L117"}, {"id": "components_tree_filter_project", "label": "filter_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L125"}, {"id": "components_tree_filter_run", "label": "filter_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L139"}, {"id": "components_tree_build_nodes", "label": "build_nodes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L148"}, {"id": "components_tree_sync_icon_url", "label": "_sync_icon_url()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L235"}, {"id": "components_tree_to_nicegui_nodes", "label": "to_nicegui_nodes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L251"}, {"id": "components_tree_ctx_emit", "label": "_ctx_emit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L297"}, {"id": "components_tree_tree_header_slot", "label": "_tree_header_slot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L312"}, {"id": "components_tree_build_tree", "label": "build_tree()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py", "source_location": "L363"}, {"id": "components_tree_rationale_1", "label": "Project / equipment tree (Frontend Spec \u00a73.5). Renders the ``//assets/``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L111"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_contains_primary_palette", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_contains_okabe_ito_palette", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_contains_semantic_aliases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_contains_typography_tokens", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_contains_spacing_scale", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_contains_radius_tokens", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L65", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_contains_shadow_tokens", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_navy_tinted_shadows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_motion_tokens", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L88", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_starts_with_root_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L94", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_root_css_includes_body_resets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L101", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "target": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L110", "weight": 1.0}, {"source": "ui_test_theme_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_theme_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_theme_rationale_82", "target": "ui_test_theme_test_root_css_navy_tinted_shadows", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L82", "weight": 1.0}, {"source": "ui_test_theme_rationale_95", "target": "ui_test_theme_test_root_css_starts_with_root_block", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L95", "weight": 1.0}, {"source": "ui_test_theme_rationale_102", "target": "ui_test_theme_test_root_css_includes_body_resets", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L102", "weight": 1.0}, {"source": "ui_test_theme_rationale_111", "target": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L111", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_theme_test_root_css_contains_primary_palette", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L14"}, {"caller_nid": "ui_test_theme_test_root_css_contains_okabe_ito_palette", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L29"}, {"caller_nid": "ui_test_theme_test_root_css_contains_semantic_aliases", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L44"}, {"caller_nid": "ui_test_theme_test_root_css_contains_typography_tokens", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L52"}, {"caller_nid": "ui_test_theme_test_root_css_contains_spacing_scale", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L60"}, {"caller_nid": "ui_test_theme_test_root_css_contains_radius_tokens", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L66"}, {"caller_nid": "ui_test_theme_test_root_css_contains_shadow_tokens", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L73"}, {"caller_nid": "ui_test_theme_test_root_css_navy_tinted_shadows", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L84"}, {"caller_nid": "ui_test_theme_test_root_css_motion_tokens", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L89"}, {"caller_nid": "ui_test_theme_test_root_css_starts_with_root_block", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L97"}, {"caller_nid": "ui_test_theme_test_root_css_starts_with_root_block", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L98"}, {"caller_nid": "ui_test_theme_test_root_css_starts_with_root_block", "callee": "lstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L98"}, {"caller_nid": "ui_test_theme_test_root_css_includes_body_resets", "callee": "build_root_css", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L104"}, {"caller_nid": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout", "callee": "resolve_assets_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L113"}, {"caller_nid": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L114"}, {"caller_nid": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L115"}, {"caller_nid": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py", "source_location": "L116"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/68e626e7cf472b8d654e4f9ed8ba114939d9d8c704e82260ad1d5e198efd3274.json b/graphify-out/cache/ast/68e626e7cf472b8d654e4f9ed8ba114939d9d8c704e82260ad1d5e198efd3274.json deleted file mode 100644 index a28b5a7..0000000 --- a/graphify-out/cache/ast/68e626e7cf472b8d654e4f9ed8ba114939d9d8c704e82260ad1d5e198efd3274.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_lims_exlab_v1_readme_md", "label": "README.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L1"}, {"id": "exlab_v1_readme_exlab_v1_lims_contract_snapshots", "label": "exlab v1 LIMS contract snapshots", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L1"}, {"id": "exlab_v1_readme_files", "label": "Files", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L9"}, {"id": "exlab_v1_readme_provenance", "label": "Provenance", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L18"}, {"id": "exlab_v1_readme_regenerating", "label": "Regenerating", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L26"}, {"id": "exlab_v1_readme_codeblock_1", "label": "code:bash (./scripts/regen_lims_snapshots.sh)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L30"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_lims_exlab_v1_readme_md", "target": "exlab_v1_readme_exlab_v1_lims_contract_snapshots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L1", "weight": 1.0}, {"source": "exlab_v1_readme_exlab_v1_lims_contract_snapshots", "target": "exlab_v1_readme_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L9", "weight": 1.0}, {"source": "exlab_v1_readme_exlab_v1_lims_contract_snapshots", "target": "exlab_v1_readme_provenance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L18", "weight": 1.0}, {"source": "exlab_v1_readme_exlab_v1_lims_contract_snapshots", "target": "exlab_v1_readme_regenerating", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L26", "weight": 1.0}, {"source": "exlab_v1_readme_regenerating", "target": "exlab_v1_readme_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md", "source_location": "L30", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/69cebae448eef188123888a4c3ffbbaee39eaf1b3ef83d8fddc8644166cc5567.json b/graphify-out/cache/ast/69cebae448eef188123888a4c3ffbbaee39eaf1b3ef83d8fddc8644166cc5567.json deleted file mode 100644 index e379391..0000000 --- a/graphify-out/cache/ast/69cebae448eef188123888a4c3ffbbaee39eaf1b3ef83d8fddc8644166cc5567.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_22_onboarding_redesign_py", "label": "test_flow_22_onboarding_redesign.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L1"}, {"id": "e2e_test_flow_22_onboarding_redesign_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L19"}, {"id": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", "label": "test_flow_22_welcome_to_add_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L32"}, {"id": "e2e_test_flow_22_onboarding_redesign_test_flow_22_main_window_has_add_equipment_in_toolbar", "label": "test_flow_22_main_window_has_add_equipment_in_toolbar()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L47"}, {"id": "e2e_test_flow_22_onboarding_redesign_rationale_1", "label": "E2E flow 22: onboarding via the new Add-Equipment wizard (Redesign decision 2).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_22_onboarding_redesign_py", "target": "tests_e2e_page_objects_welcome_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_22_onboarding_redesign_py", "target": "tests_e2e_page_objects_wizard_equipment_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_22_onboarding_redesign_py", "target": "e2e_test_flow_22_onboarding_redesign_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_22_onboarding_redesign_py", "target": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_22_onboarding_redesign_py", "target": "e2e_test_flow_22_onboarding_redesign_test_flow_22_main_window_has_add_equipment_in_toolbar", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L47", "weight": 1.0}, {"source": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", "target": "e2e_test_flow_22_onboarding_redesign_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L35", "weight": 1.0}, {"source": "e2e_test_flow_22_onboarding_redesign_test_flow_22_main_window_has_add_equipment_in_toolbar", "target": "e2e_test_flow_22_onboarding_redesign_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L48", "weight": 1.0}, {"source": "e2e_test_flow_22_onboarding_redesign_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_22_onboarding_redesign_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_22_onboarding_redesign_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L21"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L23"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L24"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L28"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", "callee": "WelcomePage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", "callee": "WizardEquipmentPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L34"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L38"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L43"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L44"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_test_flow_22_main_window_has_add_equipment_in_toolbar", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L49"}, {"caller_nid": "e2e_test_flow_22_onboarding_redesign_test_flow_22_main_window_has_add_equipment_in_toolbar", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py", "source_location": "L49"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/6a42872fdd553122adf2b899b14f036aeeb3e688e44c700610a65e8d0393b393.json b/graphify-out/cache/ast/6a42872fdd553122adf2b899b14f036aeeb3e688e44c700610a65e8d0393b393.json deleted file mode 100644 index f37f2a8..0000000 --- a/graphify-out/cache/ast/6a42872fdd553122adf2b899b14f036aeeb3e688e44c700610a65e8d0393b393.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "label": "test_pages.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L1"}, {"id": "ui_test_pages_test_welcome_card_spec_default_autostart_on", "label": "test_welcome_card_spec_default_autostart_on()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L25"}, {"id": "ui_test_pages_test_welcome_card_three_bullets", "label": "test_welcome_card_three_bullets()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L36"}, {"id": "ui_test_pages_test_main_default_chips_match_spec", "label": "test_main_default_chips_match_spec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L56"}, {"id": "ui_test_pages_test_main_chip_state_to_tree_filters_round_trip", "label": "test_main_chip_state_to_tree_filters_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L66"}, {"id": "ui_test_pages_test_main_problems_badge_simple_count_when_no_soft", "label": "test_main_problems_badge_simple_count_when_no_soft()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L76"}, {"id": "ui_test_pages_test_main_problems_badge_compound_when_soft_present", "label": "test_main_problems_badge_compound_when_soft_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L81"}, {"id": "ui_test_pages_test_main_setup_incomplete_banner_uses_warning", "label": "test_main_setup_incomplete_banner_uses_warning()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L86"}, {"id": "ui_test_pages_test_main_setup_banner_subline_tailored_for_nas_credentials", "label": "test_main_setup_banner_subline_tailored_for_nas_credentials()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L94"}, {"id": "ui_test_pages_test_wizard_project_seven_steps", "label": "test_wizard_project_seven_steps()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L109"}, {"id": "ui_test_pages_test_wizard_project_can_advance_blocks_until_lims_picked", "label": "test_wizard_project_can_advance_blocks_until_lims_picked()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L117"}, {"id": "ui_test_pages_test_wizard_project_can_advance_blocks_until_template_picked", "label": "test_wizard_project_can_advance_blocks_until_template_picked()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L126"}, {"id": "ui_test_pages_test_wizard_project_readme_requires_core_fields", "label": "test_wizard_project_readme_requires_core_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L133"}, {"id": "ui_test_pages_test_wizard_project_preview_blocks_with_validator_findings", "label": "test_wizard_project_preview_blocks_with_validator_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L140"}, {"id": "ui_test_pages_test_wizard_project_preview_blocks_with_low_disk", "label": "test_wizard_project_preview_blocks_with_low_disk()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L148"}, {"id": "ui_test_pages_test_wizard_project_preview_blocks_when_plugin_host_unhealthy", "label": "test_wizard_project_preview_blocks_when_plugin_host_unhealthy()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L160"}, {"id": "ui_test_pages_test_wizard_project_preview_passes_when_clear", "label": "test_wizard_project_preview_passes_when_clear()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L168"}, {"id": "ui_test_pages_test_wizard_run_six_steps", "label": "test_wizard_run_six_steps()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L182"}, {"id": "ui_test_pages_test_wizard_run_test_mode_title", "label": "test_wizard_run_test_mode_title()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L186"}, {"id": "ui_test_pages_test_wizard_run_experimental_mode_title", "label": "test_wizard_run_experimental_mode_title()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L191"}, {"id": "ui_test_pages_test_wizard_run_test_button_uses_warning_color", "label": "test_wizard_run_test_button_uses_warning_color()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L196"}, {"id": "ui_test_pages_test_wizard_run_experimental_button_uses_primary_color", "label": "test_wizard_run_experimental_button_uses_primary_color()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L204"}, {"id": "ui_test_pages_test_wizard_run_preview_test_path_highlights", "label": "test_wizard_run_preview_test_path_highlights()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L210"}, {"id": "ui_test_pages_test_wizard_run_preview_experimental_no_test_marker", "label": "test_wizard_run_preview_experimental_no_test_marker()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L224"}, {"id": "ui_test_pages_test_wizard_run_can_advance_blocks_until_project_and_equipment", "label": "test_wizard_run_can_advance_blocks_until_project_and_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L235"}, {"id": "ui_test_pages_test_wizard_run_readme_blocks_until_core_fields", "label": "test_wizard_run_readme_blocks_until_core_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L243"}, {"id": "ui_test_pages_test_settings_nine_sections_includes_operators", "label": "test_settings_nine_sections_includes_operators()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L255"}, {"id": "ui_test_pages_test_settings_first_incomplete_returns_canonical_first", "label": "test_settings_first_incomplete_returns_canonical_first()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L268"}, {"id": "ui_test_pages_test_settings_first_incomplete_resolves_nas_credentials", "label": "test_settings_first_incomplete_resolves_nas_credentials()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L275"}, {"id": "ui_test_pages_test_settings_save_button_label_setup_incomplete", "label": "test_settings_save_button_label_setup_incomplete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L283"}, {"id": "ui_test_pages_test_settings_save_button_label_no_changes", "label": "test_settings_save_button_label_no_changes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L288"}, {"id": "ui_test_pages_test_settings_save_button_label_with_count_badge", "label": "test_settings_save_button_label_with_count_badge()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L293"}, {"id": "ui_test_pages_test_settings_section_warning_only_for_incomplete", "label": "test_settings_section_warning_only_for_incomplete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L298"}, {"id": "ui_test_pages_sample_findings", "label": "_sample_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L309"}, {"id": "ui_test_pages_test_problems_filter_default_shows_hard_only", "label": "test_problems_filter_default_shows_hard_only()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L336"}, {"id": "ui_test_pages_test_problems_filter_show_soft_when_chip_on", "label": "test_problems_filter_show_soft_when_chip_on()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L345"}, {"id": "ui_test_pages_test_problems_filter_search_path_substring", "label": "test_problems_filter_search_path_substring()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L352"}, {"id": "ui_test_pages_test_problems_filter_scope_filters_by_equipment", "label": "test_problems_filter_scope_filters_by_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L358"}, {"id": "ui_test_pages_test_problems_override_reason_min_length", "label": "test_problems_override_reason_min_length()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L364"}, {"id": "ui_test_pages_test_problems_override_reason_max_length", "label": "test_problems_override_reason_max_length()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L372"}, {"id": "ui_test_pages_test_problems_override_reason_accepts_valid", "label": "test_problems_override_reason_accepts_valid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L381"}, {"id": "ui_test_pages_test_problems_override_reason_trims_whitespace", "label": "test_problems_override_reason_trims_whitespace()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L387"}, {"id": "ui_test_pages_test_problems_near_limit_flag", "label": "test_problems_near_limit_flag()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L394"}, {"id": "ui_test_pages_test_problems_empty_state_default", "label": "test_problems_empty_state_default()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L401"}, {"id": "ui_test_pages_test_problems_empty_state_with_hidden_soft_count", "label": "test_problems_empty_state_with_hidden_soft_count()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L406"}, {"id": "ui_test_pages_test_problems_empty_state_with_active_filter", "label": "test_problems_empty_state_with_active_filter()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L412"}, {"id": "ui_test_pages_test_problems_chip_definitions_match_spec", "label": "test_problems_chip_definitions_match_spec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L418"}, {"id": "ui_test_pages_rationale_1", "label": "Unit tests for UI pages. Pages render NiceGUI elements; these tests exercise th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L1"}, {"id": "ui_test_pages_rationale_26", "label": "Welcome card defaults autostart to on (Frontend \u00a73.1.3).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L26"}, {"id": "ui_test_pages_rationale_37", "label": "Three bullets describing what the app does. Redesign decision 2: bullets re", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L37"}, {"id": "ui_test_pages_rationale_57", "label": "Active default-on, Archived default-off, Test runs default-on.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L57"}, {"id": "ui_test_pages_rationale_67", "label": "Translation preserves the chip state.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L67"}, {"id": "ui_test_pages_rationale_87", "label": "Setup-incomplete banner uses ``--color-warning`` per Frontend \u00a73.1.4.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L87"}, {"id": "ui_test_pages_rationale_95", "label": "The NAS-credential next-action points the operator at the section.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L95"}, {"id": "ui_test_pages_rationale_110", "label": "Frontend \u00a74 mandates seven steps in a fixed order.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L110"}, {"id": "ui_test_pages_rationale_118", "label": "Step 1 requires a LIMS short_id.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L118"}, {"id": "ui_test_pages_rationale_149", "label": "Pre-flight: less than 100 MB free aborts (Frontend \u00a710.5.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L149"}, {"id": "ui_test_pages_rationale_197", "label": "Test-mode primary button uses ``warning`` color (Frontend \u00a75.3).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L197"}, {"id": "ui_test_pages_rationale_211", "label": "Test runs add a TestRuns/ folder and TestRun_ leaf prefix.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L211"}, {"id": "ui_test_pages_rationale_256", "label": "Settings has nine sections (Frontend \u00a77.2 + \u00a77.9 operators). The ``operator", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L256"}, {"id": "ui_test_pages_rationale_269", "label": "First incomplete section is the first per canonical order.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L269"}, {"id": "ui_test_pages_rationale_276", "label": "The dynamic NAS-credentials section is auto-selected when it's the gate.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L276"}, {"id": "ui_test_pages_rationale_337", "label": "Hard chip default-on; Soft default-off.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L337"}, {"id": "ui_test_pages_rationale_365", "label": "Frontend \u00a711.5: minimum 10 chars after trim.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L365"}, {"id": "ui_test_pages_rationale_373", "label": "Frontend \u00a711.5: maximum 500 chars after trim.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L373"}, {"id": "ui_test_pages_rationale_388", "label": "Whitespace is trimmed before length check.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L388"}, {"id": "ui_test_pages_rationale_395", "label": "Within 10 of the maximum -> near-limit warning.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L395"}, {"id": "ui_test_pages_rationale_419", "label": "Five problem-class chips per Backend \u00a78.1.1-\u00a78.1.5.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L419"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_welcome_card_spec_default_autostart_on", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_welcome_card_three_bullets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_main_default_chips_match_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_main_chip_state_to_tree_filters_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L66", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_main_problems_badge_simple_count_when_no_soft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_main_problems_badge_compound_when_soft_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_main_setup_incomplete_banner_uses_warning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_main_setup_banner_subline_tailored_for_nas_credentials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L94", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_project_seven_steps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L109", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_project_can_advance_blocks_until_lims_picked", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L117", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_project_can_advance_blocks_until_template_picked", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L126", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_project_readme_requires_core_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L133", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_project_preview_blocks_with_validator_findings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L140", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_project_preview_blocks_with_low_disk", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L148", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_project_preview_blocks_when_plugin_host_unhealthy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L160", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_project_preview_passes_when_clear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L168", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_run_six_steps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L182", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_run_test_mode_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L186", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_run_experimental_mode_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L191", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_run_test_button_uses_warning_color", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L196", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_run_experimental_button_uses_primary_color", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L204", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_run_preview_test_path_highlights", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L210", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_run_preview_experimental_no_test_marker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L224", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_run_can_advance_blocks_until_project_and_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L235", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_wizard_run_readme_blocks_until_core_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L243", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_settings_nine_sections_includes_operators", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L255", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_settings_first_incomplete_returns_canonical_first", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L268", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_settings_first_incomplete_resolves_nas_credentials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L275", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_settings_save_button_label_setup_incomplete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L283", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_settings_save_button_label_no_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L288", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_settings_save_button_label_with_count_badge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L293", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_settings_section_warning_only_for_incomplete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L298", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_sample_findings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L309", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_filter_default_shows_hard_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L336", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_filter_show_soft_when_chip_on", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L345", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_filter_search_path_substring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L352", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_filter_scope_filters_by_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L358", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_override_reason_min_length", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L364", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_override_reason_max_length", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L372", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_override_reason_accepts_valid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L381", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_override_reason_trims_whitespace", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L387", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_near_limit_flag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L394", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_empty_state_default", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L401", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_empty_state_with_hidden_soft_count", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L406", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_empty_state_with_active_filter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L412", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "target": "ui_test_pages_test_problems_chip_definitions_match_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L418", "weight": 1.0}, {"source": "ui_test_pages_test_problems_filter_default_shows_hard_only", "target": "ui_test_pages_sample_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L340", "weight": 1.0}, {"source": "ui_test_pages_test_problems_filter_show_soft_when_chip_on", "target": "ui_test_pages_sample_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L348", "weight": 1.0}, {"source": "ui_test_pages_test_problems_filter_search_path_substring", "target": "ui_test_pages_sample_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L354", "weight": 1.0}, {"source": "ui_test_pages_test_problems_filter_scope_filters_by_equipment", "target": "ui_test_pages_sample_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L360", "weight": 1.0}, {"source": "ui_test_pages_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_pages_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_pages_rationale_26", "target": "ui_test_pages_test_welcome_card_spec_default_autostart_on", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L26", "weight": 1.0}, {"source": "ui_test_pages_rationale_37", "target": "ui_test_pages_test_welcome_card_three_bullets", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L37", "weight": 1.0}, {"source": "ui_test_pages_rationale_57", "target": "ui_test_pages_test_main_default_chips_match_spec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L57", "weight": 1.0}, {"source": "ui_test_pages_rationale_67", "target": "ui_test_pages_test_main_chip_state_to_tree_filters_round_trip", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L67", "weight": 1.0}, {"source": "ui_test_pages_rationale_87", "target": "ui_test_pages_test_main_setup_incomplete_banner_uses_warning", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L87", "weight": 1.0}, {"source": "ui_test_pages_rationale_95", "target": "ui_test_pages_test_main_setup_banner_subline_tailored_for_nas_credentials", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L95", "weight": 1.0}, {"source": "ui_test_pages_rationale_110", "target": "ui_test_pages_test_wizard_project_seven_steps", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L110", "weight": 1.0}, {"source": "ui_test_pages_rationale_118", "target": "ui_test_pages_test_wizard_project_can_advance_blocks_until_lims_picked", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L118", "weight": 1.0}, {"source": "ui_test_pages_rationale_149", "target": "ui_test_pages_test_wizard_project_preview_blocks_with_low_disk", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L149", "weight": 1.0}, {"source": "ui_test_pages_rationale_197", "target": "ui_test_pages_test_wizard_run_test_button_uses_warning_color", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L197", "weight": 1.0}, {"source": "ui_test_pages_rationale_211", "target": "ui_test_pages_test_wizard_run_preview_test_path_highlights", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L211", "weight": 1.0}, {"source": "ui_test_pages_rationale_256", "target": "ui_test_pages_test_settings_nine_sections_includes_operators", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L256", "weight": 1.0}, {"source": "ui_test_pages_rationale_269", "target": "ui_test_pages_test_settings_first_incomplete_returns_canonical_first", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L269", "weight": 1.0}, {"source": "ui_test_pages_rationale_276", "target": "ui_test_pages_test_settings_first_incomplete_resolves_nas_credentials", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L276", "weight": 1.0}, {"source": "ui_test_pages_rationale_337", "target": "ui_test_pages_test_problems_filter_default_shows_hard_only", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L337", "weight": 1.0}, {"source": "ui_test_pages_rationale_365", "target": "ui_test_pages_test_problems_override_reason_min_length", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L365", "weight": 1.0}, {"source": "ui_test_pages_rationale_373", "target": "ui_test_pages_test_problems_override_reason_max_length", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L373", "weight": 1.0}, {"source": "ui_test_pages_rationale_388", "target": "ui_test_pages_test_problems_override_reason_trims_whitespace", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L388", "weight": 1.0}, {"source": "ui_test_pages_rationale_395", "target": "ui_test_pages_test_problems_near_limit_flag", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L395", "weight": 1.0}, {"source": "ui_test_pages_rationale_419", "target": "ui_test_pages_test_problems_chip_definitions_match_spec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L419", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_pages_test_welcome_card_spec_default_autostart_on", "callee": "welcome_card_spec", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L28"}, {"caller_nid": "ui_test_pages_test_welcome_card_three_bullets", "callee": "welcome_card_spec", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L45"}, {"caller_nid": "ui_test_pages_test_welcome_card_three_bullets", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L46"}, {"caller_nid": "ui_test_pages_test_welcome_card_three_bullets", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L47"}, {"caller_nid": "ui_test_pages_test_welcome_card_three_bullets", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L47"}, {"caller_nid": "ui_test_pages_test_welcome_card_three_bullets", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L48"}, {"caller_nid": "ui_test_pages_test_main_default_chips_match_spec", "callee": "_default_chips", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L59"}, {"caller_nid": "ui_test_pages_test_main_chip_state_to_tree_filters_round_trip", "callee": "MainPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L69"}, {"caller_nid": "ui_test_pages_test_main_chip_state_to_tree_filters_round_trip", "callee": "chip_state_to_tree_filters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L70"}, {"caller_nid": "ui_test_pages_test_main_problems_badge_simple_count_when_no_soft", "callee": "MainPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L77"}, {"caller_nid": "ui_test_pages_test_main_problems_badge_simple_count_when_no_soft", "callee": "problems_badge_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L78"}, {"caller_nid": "ui_test_pages_test_main_problems_badge_compound_when_soft_present", "callee": "MainPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L82"}, {"caller_nid": "ui_test_pages_test_main_problems_badge_compound_when_soft_present", "callee": "problems_badge_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L83"}, {"caller_nid": "ui_test_pages_test_main_setup_incomplete_banner_uses_warning", "callee": "setup_incomplete_banner_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L89"}, {"caller_nid": "ui_test_pages_test_main_setup_banner_subline_tailored_for_nas_credentials", "callee": "setup_incomplete_banner_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L97"}, {"caller_nid": "ui_test_pages_test_main_setup_banner_subline_tailored_for_nas_credentials", "callee": "setup_incomplete_banner_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L100"}, {"caller_nid": "ui_test_pages_test_wizard_project_seven_steps", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L112"}, {"caller_nid": "ui_test_pages_test_wizard_project_can_advance_blocks_until_lims_picked", "callee": "ProjectWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L120"}, {"caller_nid": "ui_test_pages_test_wizard_project_can_advance_blocks_until_lims_picked", "callee": "can_advance", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L121"}, {"caller_nid": "ui_test_pages_test_wizard_project_can_advance_blocks_until_lims_picked", "callee": "can_advance", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L123"}, {"caller_nid": "ui_test_pages_test_wizard_project_can_advance_blocks_until_template_picked", "callee": "ProjectWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L127"}, {"caller_nid": "ui_test_pages_test_wizard_project_can_advance_blocks_until_template_picked", "callee": "can_advance", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L128"}, {"caller_nid": "ui_test_pages_test_wizard_project_can_advance_blocks_until_template_picked", "callee": "can_advance", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L130"}, {"caller_nid": "ui_test_pages_test_wizard_project_readme_requires_core_fields", "callee": "ProjectWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L134"}, {"caller_nid": "ui_test_pages_test_wizard_project_readme_requires_core_fields", "callee": "can_advance", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L135"}, {"caller_nid": "ui_test_pages_test_wizard_project_readme_requires_core_fields", "callee": "can_advance", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L137"}, {"caller_nid": "ui_test_pages_test_wizard_project_preview_blocks_with_validator_findings", "callee": "ProjectWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L141"}, {"caller_nid": "ui_test_pages_test_wizard_project_preview_blocks_with_validator_findings", "callee": "preview_step_clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L145"}, {"caller_nid": "ui_test_pages_test_wizard_project_preview_blocks_with_low_disk", "callee": "ProjectWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L151"}, {"caller_nid": "ui_test_pages_test_wizard_project_preview_blocks_with_low_disk", "callee": "preview_step_clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L155"}, {"caller_nid": "ui_test_pages_test_wizard_project_preview_blocks_with_low_disk", "callee": "disk_space_pre_flight_message", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L156"}, {"caller_nid": "ui_test_pages_test_wizard_project_preview_blocks_when_plugin_host_unhealthy", "callee": "ProjectWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L161"}, {"caller_nid": "ui_test_pages_test_wizard_project_preview_blocks_when_plugin_host_unhealthy", "callee": "preview_step_clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L165"}, {"caller_nid": "ui_test_pages_test_wizard_project_preview_passes_when_clear", "callee": "ProjectWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L169"}, {"caller_nid": "ui_test_pages_test_wizard_project_preview_passes_when_clear", "callee": "preview_step_clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L174"}, {"caller_nid": "ui_test_pages_test_wizard_run_six_steps", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L183"}, {"caller_nid": "ui_test_pages_test_wizard_run_test_mode_title", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L187"}, {"caller_nid": "ui_test_pages_test_wizard_run_test_mode_title", "callee": "title_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L188"}, {"caller_nid": "ui_test_pages_test_wizard_run_experimental_mode_title", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L192"}, {"caller_nid": "ui_test_pages_test_wizard_run_experimental_mode_title", "callee": "title_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L193"}, {"caller_nid": "ui_test_pages_test_wizard_run_test_button_uses_warning_color", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L199"}, {"caller_nid": "ui_test_pages_test_wizard_run_test_button_uses_warning_color", "callee": "primary_button_color", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L200"}, {"caller_nid": "ui_test_pages_test_wizard_run_test_button_uses_warning_color", "callee": "primary_button_label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L201"}, {"caller_nid": "ui_test_pages_test_wizard_run_experimental_button_uses_primary_color", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L205"}, {"caller_nid": "ui_test_pages_test_wizard_run_experimental_button_uses_primary_color", "callee": "primary_button_color", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L206"}, {"caller_nid": "ui_test_pages_test_wizard_run_experimental_button_uses_primary_color", "callee": "primary_button_label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L207"}, {"caller_nid": "ui_test_pages_test_wizard_run_preview_test_path_highlights", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L213"}, {"caller_nid": "ui_test_pages_test_wizard_run_preview_test_path_highlights", "callee": "preview_path_segments", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L218"}, {"caller_nid": "ui_test_pages_test_wizard_run_preview_test_path_highlights", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L220"}, {"caller_nid": "ui_test_pages_test_wizard_run_preview_test_path_highlights", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L220"}, {"caller_nid": "ui_test_pages_test_wizard_run_preview_experimental_no_test_marker", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L225"}, {"caller_nid": "ui_test_pages_test_wizard_run_preview_experimental_no_test_marker", "callee": "preview_path_segments", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L230"}, {"caller_nid": "ui_test_pages_test_wizard_run_can_advance_blocks_until_project_and_equipment", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L236"}, {"caller_nid": "ui_test_pages_test_wizard_run_can_advance_blocks_until_project_and_equipment", "callee": "can_advance", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L237"}, {"caller_nid": "ui_test_pages_test_wizard_run_can_advance_blocks_until_project_and_equipment", "callee": "can_advance", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L240"}, {"caller_nid": "ui_test_pages_test_wizard_run_readme_blocks_until_core_fields", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L244"}, {"caller_nid": "ui_test_pages_test_wizard_run_readme_blocks_until_core_fields", "callee": "can_advance", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L245"}, {"caller_nid": "ui_test_pages_test_wizard_run_readme_blocks_until_core_fields", "callee": "can_advance", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L247"}, {"caller_nid": "ui_test_pages_test_settings_nine_sections_includes_operators", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L262"}, {"caller_nid": "ui_test_pages_test_settings_first_incomplete_returns_canonical_first", "callee": "first_incomplete_section", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L271"}, {"caller_nid": "ui_test_pages_test_settings_first_incomplete_resolves_nas_credentials", "callee": "first_incomplete_section", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L278"}, {"caller_nid": "ui_test_pages_test_settings_first_incomplete_resolves_nas_credentials", "callee": "first_incomplete_section", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L280"}, {"caller_nid": "ui_test_pages_test_settings_save_button_label_setup_incomplete", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L284"}, {"caller_nid": "ui_test_pages_test_settings_save_button_label_setup_incomplete", "callee": "save_button_label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L285"}, {"caller_nid": "ui_test_pages_test_settings_save_button_label_no_changes", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L289"}, {"caller_nid": "ui_test_pages_test_settings_save_button_label_no_changes", "callee": "save_button_label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L290"}, {"caller_nid": "ui_test_pages_test_settings_save_button_label_with_count_badge", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L294"}, {"caller_nid": "ui_test_pages_test_settings_save_button_label_with_count_badge", "callee": "save_button_label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L295"}, {"caller_nid": "ui_test_pages_test_settings_section_warning_only_for_incomplete", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L299"}, {"caller_nid": "ui_test_pages_test_settings_section_warning_only_for_incomplete", "callee": "section_has_warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L300"}, {"caller_nid": "ui_test_pages_test_settings_section_warning_only_for_incomplete", "callee": "section_has_warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L301"}, {"caller_nid": "ui_test_pages_sample_findings", "callee": "Finding", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L311"}, {"caller_nid": "ui_test_pages_sample_findings", "callee": "Finding", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L322"}, {"caller_nid": "ui_test_pages_test_problems_filter_default_shows_hard_only", "callee": "ProblemsPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L339"}, {"caller_nid": "ui_test_pages_test_problems_filter_default_shows_hard_only", "callee": "filter_findings", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L340"}, {"caller_nid": "ui_test_pages_test_problems_filter_default_shows_hard_only", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L341"}, {"caller_nid": "ui_test_pages_test_problems_filter_show_soft_when_chip_on", "callee": "ProblemsPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L346"}, {"caller_nid": "ui_test_pages_test_problems_filter_show_soft_when_chip_on", "callee": "toggle", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L347"}, {"caller_nid": "ui_test_pages_test_problems_filter_show_soft_when_chip_on", "callee": "filter_findings", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L348"}, {"caller_nid": "ui_test_pages_test_problems_filter_show_soft_when_chip_on", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L349"}, {"caller_nid": "ui_test_pages_test_problems_filter_search_path_substring", "callee": "ProblemsPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L353"}, {"caller_nid": "ui_test_pages_test_problems_filter_search_path_substring", "callee": "filter_findings", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L354"}, {"caller_nid": "ui_test_pages_test_problems_filter_search_path_substring", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L355"}, {"caller_nid": "ui_test_pages_test_problems_filter_search_path_substring", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L355"}, {"caller_nid": "ui_test_pages_test_problems_filter_scope_filters_by_equipment", "callee": "ProblemsPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L359"}, {"caller_nid": "ui_test_pages_test_problems_filter_scope_filters_by_equipment", "callee": "filter_findings", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L360"}, {"caller_nid": "ui_test_pages_test_problems_override_reason_min_length", "callee": "validate_override_reason", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L367"}, {"caller_nid": "ui_test_pages_test_problems_override_reason_max_length", "callee": "validate_override_reason", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L376"}, {"caller_nid": "ui_test_pages_test_problems_override_reason_accepts_valid", "callee": "validate_override_reason", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L382"}, {"caller_nid": "ui_test_pages_test_problems_override_reason_trims_whitespace", "callee": "validate_override_reason", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L390"}, {"caller_nid": "ui_test_pages_test_problems_near_limit_flag", "callee": "near_limit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L397"}, {"caller_nid": "ui_test_pages_test_problems_near_limit_flag", "callee": "near_limit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L398"}, {"caller_nid": "ui_test_pages_test_problems_empty_state_default", "callee": "ProblemsPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L402"}, {"caller_nid": "ui_test_pages_test_problems_empty_state_default", "callee": "empty_state_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L403"}, {"caller_nid": "ui_test_pages_test_problems_empty_state_with_hidden_soft_count", "callee": "ProblemsPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L407"}, {"caller_nid": "ui_test_pages_test_problems_empty_state_with_hidden_soft_count", "callee": "empty_state_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L408"}, {"caller_nid": "ui_test_pages_test_problems_empty_state_with_active_filter", "callee": "ProblemsPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L413"}, {"caller_nid": "ui_test_pages_test_problems_empty_state_with_active_filter", "callee": "empty_state_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L414"}, {"caller_nid": "ui_test_pages_test_problems_chip_definitions_match_spec", "callee": "class_chip_definitions", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py", "source_location": "L421"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/6abab2b7f2f4c1bb219ec280063ac666d91d607f43fa0ff82997a4bf5cac60f8.json b/graphify-out/cache/ast/6abab2b7f2f4c1bb219ec280063ac666d91d607f43fa0ff82997a4bf5cac60f8.json deleted file mode 100644 index 9c519c7..0000000 --- a/graphify-out/cache/ast/6abab2b7f2f4c1bb219ec280063ac666d91d607f43fa0ff82997a4bf5cac60f8.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "label": "status.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L1"}, {"id": "tray_status_statussnapshot", "label": "StatusSnapshot", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L45"}, {"id": "tray_status_snapshot_status", "label": "snapshot_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L53"}, {"id": "tray_status_format_status", "label": "format_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L76"}, {"id": "tray_status_statusticker", "label": "StatusTicker", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L91"}, {"id": "tray_status_statusticker_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L100"}, {"id": "tray_status_statusticker_start", "label": ".start()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L120"}, {"id": "tray_status_statusticker_stop", "label": ".stop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L129"}, {"id": "tray_status_statusticker_tick_once", "label": ".tick_once()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L136"}, {"id": "tray_status_statusticker_run", "label": "._run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L156"}, {"id": "tray_status_safe_int", "label": "_safe_int()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L162"}, {"id": "tray_status_rationale_1", "label": "Status-submenu rendering. Backend Spec \u00a74.3.2. The tray's status submenu shows", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L1"}, {"id": "tray_status_rationale_46", "label": "Immutable view over the \u00a74.3.2 status inputs.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L46"}, {"id": "tray_status_rationale_58", "label": "Build a :class:`StatusSnapshot` from live component references. Each compon", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L58"}, {"id": "tray_status_rationale_77", "label": "Return the menu-label string for the \u00a74.3.2 formatter.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L77"}, {"id": "tray_status_rationale_92", "label": "Polls :func:`snapshot_status` on a fixed cadence. On every tick the formatt", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L92"}, {"id": "tray_status_rationale_121", "label": "Spawn the ticker thread. Idempotent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L121"}, {"id": "tray_status_rationale_130", "label": "Signal the ticker to exit. Idempotent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L130"}, {"id": "tray_status_rationale_137", "label": "Run a single tick synchronously. Returns the new label. Tests call this", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L137"}, {"id": "tray_status_rationale_163", "label": "Best-effort numeric read; missing / None / non-int returns 0.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L163"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "target": "tray_status_statussnapshot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "target": "tray_status_snapshot_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "target": "tray_status_format_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "target": "tray_status_statusticker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L91", "weight": 1.0}, {"source": "tray_status_statusticker", "target": "tray_status_statusticker_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L100", "weight": 1.0}, {"source": "tray_status_statusticker", "target": "tray_status_statusticker_start", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L120", "weight": 1.0}, {"source": "tray_status_statusticker", "target": "tray_status_statusticker_stop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L129", "weight": 1.0}, {"source": "tray_status_statusticker", "target": "tray_status_statusticker_tick_once", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L136", "weight": 1.0}, {"source": "tray_status_statusticker", "target": "tray_status_statusticker_run", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L156", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "target": "tray_status_safe_int", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L162", "weight": 1.0}, {"source": "tray_status_snapshot_status", "target": "tray_status_safe_int", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L66", "weight": 1.0}, {"source": "tray_status_snapshot_status", "target": "tray_status_statussnapshot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L69", "weight": 1.0}, {"source": "tray_status_statusticker_tick_once", "target": "tray_status_snapshot_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L142", "weight": 1.0}, {"source": "tray_status_statusticker_tick_once", "target": "tray_status_format_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L143", "weight": 1.0}, {"source": "tray_status_statusticker_run", "target": "tray_status_statusticker_tick_once", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L158", "weight": 1.0}, {"source": "tray_status_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_status_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_status_rationale_46", "target": "tray_status_statussnapshot", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L46", "weight": 1.0}, {"source": "tray_status_rationale_58", "target": "tray_status_snapshot_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L58", "weight": 1.0}, {"source": "tray_status_rationale_77", "target": "tray_status_format_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L77", "weight": 1.0}, {"source": "tray_status_rationale_92", "target": "tray_status_statusticker", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L92", "weight": 1.0}, {"source": "tray_status_rationale_121", "target": "tray_status_statusticker_start", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L121", "weight": 1.0}, {"source": "tray_status_rationale_130", "target": "tray_status_statusticker_stop", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L130", "weight": 1.0}, {"source": "tray_status_rationale_137", "target": "tray_status_statusticker_tick_once", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L137", "weight": 1.0}, {"source": "tray_status_rationale_163", "target": "tray_status_safe_int", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L163", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_status_format_status", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L81"}, {"caller_nid": "tray_status_format_status", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L85"}, {"caller_nid": "tray_status_format_status", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L88"}, {"caller_nid": "tray_status_statusticker_init", "callee": "float", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L111"}, {"caller_nid": "tray_status_statusticker_init", "callee": "Event", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L112"}, {"caller_nid": "tray_status_statusticker_start", "callee": "is_alive", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L122"}, {"caller_nid": "tray_status_statusticker_start", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L124"}, {"caller_nid": "tray_status_statusticker_start", "callee": "Thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L125"}, {"caller_nid": "tray_status_statusticker_stop", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L131"}, {"caller_nid": "tray_status_statusticker_stop", "callee": "is_alive", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L132"}, {"caller_nid": "tray_status_statusticker_stop", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L133"}, {"caller_nid": "tray_status_statusticker_tick_once", "callee": "_on_update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L147"}, {"caller_nid": "tray_status_statusticker_tick_once", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L149"}, {"caller_nid": "tray_status_statusticker_run", "callee": "is_set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L157"}, {"caller_nid": "tray_status_statusticker_run", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L159"}, {"caller_nid": "tray_status_safe_int", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L166"}, {"caller_nid": "tray_status_safe_int", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L167"}, {"caller_nid": "tray_status_safe_int", "callee": "raw", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L169"}, {"caller_nid": "tray_status_safe_int", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py", "source_location": "L173"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/6c0329fc6368d0d1933859897c14ac100b576700308c5787bfb1ac1440ee640f.json b/graphify-out/cache/ast/6c0329fc6368d0d1933859897c14ac100b576700308c5787bfb1ac1440ee640f.json deleted file mode 100644 index 9d1bfe5..0000000 --- a/graphify-out/cache/ast/6c0329fc6368d0d1933859897c14ac100b576700308c5787bfb1ac1440ee640f.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "label": "credential_field.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L1"}, {"id": "components_credential_field_credentialstate", "label": "CredentialState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L28"}, {"id": "components_credential_field_begin_edit", "label": "begin_edit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L41"}, {"id": "components_credential_field_cancel_edit", "label": "cancel_edit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L54"}, {"id": "components_credential_field_commit_edit", "label": "commit_edit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L60"}, {"id": "components_credential_field_clear_credential", "label": "clear_credential()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L74"}, {"id": "components_credential_field_credential_props", "label": "credential_props()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L81"}, {"id": "components_credential_field_credential_field", "label": "credential_field()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L113"}, {"id": "components_credential_field_rationale_1", "label": "Credential field component (Frontend Spec \u00a77.4.1). Three resting / transient st", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L1"}, {"id": "components_credential_field_rationale_29", "label": "In-memory state for a credential row. ``resting`` records which resting sta", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L29"}, {"id": "components_credential_field_rationale_42", "label": "Return the editing state, remembering ``state`` as the resting target. Idem", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L42"}, {"id": "components_credential_field_rationale_55", "label": "Return the resting state to collapse to when an edit is cancelled.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L55"}, {"id": "components_credential_field_rationale_61", "label": "Resolve a Save click. Returns ``(new_state, should_save)``. A non-empty ``t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L61"}, {"id": "components_credential_field_rationale_75", "label": "Return the state after the operator confirms a Clear action.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L75"}, {"id": "components_credential_field_rationale_82", "label": "Compute the visible labels / button names for a state. Returns a dict with", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L82"}, {"id": "components_credential_field_rationale_121", "label": "Build a credential row (Frontend Spec \u00a77.4.1). Three states drive the row:", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L121"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "components_credential_field_credentialstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "components_credential_field_begin_edit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "components_credential_field_cancel_edit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "components_credential_field_commit_edit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "components_credential_field_clear_credential", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L74", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "components_credential_field_credential_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "target": "components_credential_field_credential_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L113", "weight": 1.0}, {"source": "components_credential_field_begin_edit", "target": "components_credential_field_credentialstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L50", "weight": 1.0}, {"source": "components_credential_field_cancel_edit", "target": "components_credential_field_credentialstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L57", "weight": 1.0}, {"source": "components_credential_field_commit_edit", "target": "components_credential_field_credentialstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L70", "weight": 1.0}, {"source": "components_credential_field_clear_credential", "target": "components_credential_field_credentialstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L78", "weight": 1.0}, {"source": "components_credential_field_credential_field", "target": "components_credential_field_credentialstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L139", "weight": 1.0}, {"source": "components_credential_field_credential_field", "target": "components_credential_field_credential_props", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L140", "weight": 1.0}, {"source": "components_credential_field_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_credential_field_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L1", "weight": 1.0}, {"source": "components_credential_field_rationale_29", "target": "components_credential_field_credentialstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L29", "weight": 1.0}, {"source": "components_credential_field_rationale_42", "target": "components_credential_field_begin_edit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L42", "weight": 1.0}, {"source": "components_credential_field_rationale_55", "target": "components_credential_field_cancel_edit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L55", "weight": 1.0}, {"source": "components_credential_field_rationale_61", "target": "components_credential_field_commit_edit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L61", "weight": 1.0}, {"source": "components_credential_field_rationale_75", "target": "components_credential_field_clear_credential", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L75", "weight": 1.0}, {"source": "components_credential_field_rationale_82", "target": "components_credential_field_credential_props", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L82", "weight": 1.0}, {"source": "components_credential_field_rationale_121", "target": "components_credential_field_credential_field", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L121", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_credential_field_credential_field", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L151"}, {"caller_nid": "components_credential_field_credential_field", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L151"}, {"caller_nid": "components_credential_field_credential_field", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L151"}, {"caller_nid": "components_credential_field_credential_field", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L153"}, {"caller_nid": "components_credential_field_credential_field", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L153"}, {"caller_nid": "components_credential_field_credential_field", "callee": "_row", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py", "source_location": "L220"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/6c8fda0fdacc0bf8a28b753e074e3577bd0b5cda888cd5d6ce12f57f720aec5a.json b/graphify-out/cache/ast/6c8fda0fdacc0bf8a28b753e074e3577bd0b5cda888cd5d6ce12f57f720aec5a.json deleted file mode 100644 index 7c6298f..0000000 --- a/graphify-out/cache/ast/6c8fda0fdacc0bf8a28b753e074e3577bd0b5cda888cd5d6ce12f57f720aec5a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_md", "label": "DESIGN.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L1"}, {"id": "exlabwizard_design_frontend_design_style_guide", "label": "Frontend Design Style Guide", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L1"}, {"id": "exlabwizard_design_absolute_constraints", "label": "Absolute Constraints", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L12"}, {"id": "exlabwizard_design_00_logo_and_branding", "label": "00 -- Logo and Branding", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L37"}, {"id": "exlabwizard_design_01_color_palette", "label": "01 -- Color Palette", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L44"}, {"id": "exlabwizard_design_primary_colors_ui_only", "label": "Primary Colors -- UI Only", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L46"}, {"id": "exlabwizard_design_data_colors_okabe_ito_visualization_only", "label": "Data Colors -- Okabe-Ito -- Visualization Only", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L59"}, {"id": "exlabwizard_design_surface_neutral_tokens", "label": "Surface & Neutral Tokens", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L90"}, {"id": "exlabwizard_design_semantic_color_assignments", "label": "Semantic Color Assignments", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L100"}, {"id": "exlabwizard_design_color_selection_decision_logic", "label": "Color Selection Decision Logic", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L109"}, {"id": "exlabwizard_design_02_typography", "label": "02 -- Typography", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L131"}, {"id": "exlabwizard_design_codeblock_1", "label": "code:css (--font-display: 'DM Serif Display', Georgia, serif;)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/DESIGN.md", "source_location": "L136"}, {"id": "exlabwizard_design_codeblock_2", "label": "code:html (/Runs/Run_*.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L548"}, {"id": "unit_test_paths_rationale_561", "label": "Redesign \u00a73.4: two runs in the same minute resolve to the same path (Copier", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L561"}, {"id": "unit_test_paths_rationale_632", "label": "A non-str project_name hits the isinstance guard.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L632"}, {"id": "unit_test_paths_rationale_645", "label": "An empty-string project_name also hits the same guard.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L645"}, {"id": "unit_test_paths_rationale_673", "label": "Spaces and ordinary punctuation are fine -- the name is used verbatim.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L673"}, {"id": "unit_test_paths_rationale_709", "label": "The \u00a73.2 contract is 'used verbatim' -- no canonicalisation.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L709"}, {"id": "unit_test_paths_rationale_733", "label": "Only one path is empty -- still INCOMPLETE_MISSING_PATHS.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L733"}, {"id": "unit_test_paths_rationale_760", "label": "Only ``label`` gates orchestrator identity; a blank label trips it.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L760"}, {"id": "unit_test_paths_rationale_773", "label": "A staging root without a label still trips -- staging never substitutes.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L773"}, {"id": "unit_test_paths_rationale_789", "label": "staging_root is opt-in: a blank value does not block READY.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L789"}, {"id": "unit_test_paths_rationale_806", "label": "The orchestrator missing-field rollup no longer mentions staging_root.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L806"}, {"id": "unit_test_paths_rationale_837", "label": "Offline catalogue path satisfies the LIMS slot without endpoint+email.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L837"}, {"id": "unit_test_paths_rationale_868", "label": "endpoint+email present but keyring lacks the password -> INCOMPLETE_NO_LIMS.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L868"}, {"id": "unit_test_paths_rationale_877", "label": "Nas-mode equipment without its keyring entry gates with the new state.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L877"}, {"id": "unit_test_paths_rationale_884", "label": "A configured LIMS does not mask the missing NAS credential.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L884"}, {"id": "unit_test_paths_rationale_896", "label": "Adding the keyring entry advances the state to the next gate.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L896"}, {"id": "unit_test_paths_rationale_906", "label": "The missing list names each equipment id whose keyring entry is absent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L906"}, {"id": "unit_test_paths_rationale_929", "label": "endpoint present but email empty -> INCOMPLETE_NO_LIMS (email is required).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L929"}, {"id": "unit_test_paths_rationale_981", "label": "Soft block: surfaces a banner, not a missing-field list.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L981"}, {"id": "unit_test_paths_rationale_1019", "label": "When config is None but state is INCOMPLETE_MISSING_PATHS, every paths field", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1019"}, {"id": "unit_test_paths_rationale_1030", "label": "When config is None but state is INCOMPLETE_NO_LIMS, the whole lims block is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1030"}, {"id": "unit_test_paths_rationale_1038", "label": "endpoint+email both filled in but no offline catalogue -> the keyring-passwo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1038"}, {"id": "unit_test_paths_rationale_1064", "label": "Defensive fallback: any value that isn't a recognized SetupState returns an", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1064"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_make_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_make_orchestrator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_ready_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_fake_home", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L105", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_config_path_macos", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_config_path_windows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L134", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_config_path_linux_with_xdg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L142", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_config_path_linux_without_xdg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L150", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_state_path_macos", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L161", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_state_path_windows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L167", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_state_path_linux_with_xdg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_state_path_linux_without_xdg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L183", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_cache_path_macos", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L194", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_cache_path_windows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L200", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_cache_path_linux_with_xdg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L208", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_cache_path_linux_without_xdg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L216", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_central_log_path_macos", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L227", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_central_log_path_windows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L233", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_central_log_path_linux_with_xdg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L241", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_os_central_log_path_linux_without_xdg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L251", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_suggested_staging_root_linux_fallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L268", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_suggested_staging_root_linux_honors_xdg_data_home", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L276", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_suggested_staging_root_macos", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L285", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_suggested_staging_root_windows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L293", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_test_mode_suffixes_os_config_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L316", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_test_mode_suffixes_os_state_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L325", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_test_mode_suffixes_os_cache_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L332", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_test_mode_suffixes_os_central_log_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L339", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_test_mode_suffixes_suggested_staging_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L348", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_test_mode_off_does_not_suffix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L359", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_ensure_dir_creates_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L378", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_ensure_dir_idempotent_when_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L386", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_ensure_state_dir_creates_state_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L395", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_ensure_central_log_dir_creates_parent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L404", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_accepts_canonical", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L418", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_accepts_other_canonical_examples", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L426", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_lowercase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L430", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_hyphen", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L435", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_leading_digit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L440", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_space", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L445", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_non_ascii", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L450", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_too_long", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L455", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_accepts_max_length", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L463", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L468", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L473", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_int", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L480", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_canonicalize_equipment_id_does_not_mutate_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L488", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_run_path_experimental", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L506", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_run_path_test", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L518", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_run_path_strftime_format", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L530", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_run_path_experimental_under_runs_subdir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L547", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L560", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_run_path_rejects_invalid_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L581", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_run_path_rejects_unsafe_project_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L592", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_project_path_basic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L603", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_project_path_rejects_invalid_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L613", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_project_path_rejects_unsafe_project_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L622", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_run_path_rejects_non_str_project_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L631", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_run_path_rejects_empty_project_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L644", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_compose_project_path_rejects_non_str_project_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L657", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_validate_project_name_accepts_human_readable_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L672", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_validate_project_name_rejects_unsafe_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L696", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_validate_project_name_rejects_overlong_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L702", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_validate_project_name_does_not_mutate_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L708", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_no_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L719", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_missing_paths", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L723", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L732", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_no_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L746", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_no_orchestrator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L759", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L772", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L788", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L805", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_no_lims", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L822", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L836", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_lims_unreachable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L856", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L863", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_keyring_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L867", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_nas_keyring_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L876", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L883", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_nas_state_resolves_once_password_added", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L895", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_for_no_nas_credential_lists_per_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L905", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_next_action_for_no_nas_credential", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L919", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L928", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_next_action_table", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L959", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_when_no_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L968", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_when_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L976", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_when_lims_unreachable_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L980", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_for_paths_lists_each_unset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L985", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_for_no_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L996", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1001", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_for_missing_paths_with_none_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1018", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_for_no_lims_with_none_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1029", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1037", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "target": "unit_test_paths_test_setup_state_missing_unrecognized_state_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1063", "weight": 1.0}, {"source": "unit_test_paths_ready_config", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L96", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_missing_paths", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L726", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_missing_paths", "target": "unit_test_paths_make_orchestrator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L727", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L740", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", "target": "unit_test_paths_make_orchestrator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L741", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_no_equipment", "target": "unit_test_paths_make_orchestrator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L754", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_no_orchestrator", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L767", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L782", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L799", "weight": 1.0}, {"source": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L815", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_no_lims", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L830", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_no_lims", "target": "unit_test_paths_make_orchestrator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L831", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L849", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", "target": "unit_test_paths_make_orchestrator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L850", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_lims_unreachable", "target": "unit_test_paths_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L857", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_ready", "target": "unit_test_paths_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L864", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_keyring_missing", "target": "unit_test_paths_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L869", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_nas_keyring_missing", "target": "unit_test_paths_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L878", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state", "target": "unit_test_paths_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L885", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_nas_state_resolves_once_password_added", "target": "unit_test_paths_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L897", "weight": 1.0}, {"source": "unit_test_paths_test_setup_state_missing_for_no_nas_credential_lists_per_equipment", "target": "unit_test_paths_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L909", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L937", "weight": 1.0}, {"source": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", "target": "unit_test_paths_make_orchestrator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L938", "weight": 1.0}, {"source": "unit_test_paths_test_setup_state_missing_when_ready", "target": "unit_test_paths_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L977", "weight": 1.0}, {"source": "unit_test_paths_test_setup_state_missing_when_lims_unreachable_returns_empty", "target": "unit_test_paths_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L982", "weight": 1.0}, {"source": "unit_test_paths_test_setup_state_missing_for_no_equipment", "target": "unit_test_paths_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L997", "weight": 1.0}, {"source": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1009", "weight": 1.0}, {"source": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", "target": "unit_test_paths_make_orchestrator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1010", "weight": 1.0}, {"source": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", "target": "unit_test_paths_make_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1051", "weight": 1.0}, {"source": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", "target": "unit_test_paths_make_orchestrator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1052", "weight": 1.0}, {"source": "unit_test_paths_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_test_paths_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1", "weight": 1.0}, {"source": "unit_test_paths_rationale_53", "target": "unit_test_paths_make_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L53", "weight": 1.0}, {"source": "unit_test_paths_rationale_71", "target": "unit_test_paths_make_orchestrator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L71", "weight": 1.0}, {"source": "unit_test_paths_rationale_81", "target": "unit_test_paths_ready_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L81", "weight": 1.0}, {"source": "unit_test_paths_rationale_106", "target": "unit_test_paths_fake_home", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L106", "weight": 1.0}, {"source": "unit_test_paths_rationale_351", "target": "unit_test_paths_test_test_mode_suffixes_suggested_staging_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L351", "weight": 1.0}, {"source": "unit_test_paths_rationale_360", "target": "unit_test_paths_test_test_mode_off_does_not_suffix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L360", "weight": 1.0}, {"source": "unit_test_paths_rationale_474", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_none", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L474", "weight": 1.0}, {"source": "unit_test_paths_rationale_481", "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_int", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L481", "weight": 1.0}, {"source": "unit_test_paths_rationale_489", "target": "unit_test_paths_test_canonicalize_equipment_id_does_not_mutate_input", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L489", "weight": 1.0}, {"source": "unit_test_paths_rationale_531", "target": "unit_test_paths_test_compose_run_path_strftime_format", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L531", "weight": 1.0}, {"source": "unit_test_paths_rationale_548", "target": "unit_test_paths_test_compose_run_path_experimental_under_runs_subdir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L548", "weight": 1.0}, {"source": "unit_test_paths_rationale_561", "target": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L561", "weight": 1.0}, {"source": "unit_test_paths_rationale_632", "target": "unit_test_paths_test_compose_run_path_rejects_non_str_project_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L632", "weight": 1.0}, {"source": "unit_test_paths_rationale_645", "target": "unit_test_paths_test_compose_run_path_rejects_empty_project_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L645", "weight": 1.0}, {"source": "unit_test_paths_rationale_673", "target": "unit_test_paths_test_validate_project_name_accepts_human_readable_names", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L673", "weight": 1.0}, {"source": "unit_test_paths_rationale_709", "target": "unit_test_paths_test_validate_project_name_does_not_mutate_input", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L709", "weight": 1.0}, {"source": "unit_test_paths_rationale_733", "target": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L733", "weight": 1.0}, {"source": "unit_test_paths_rationale_760", "target": "unit_test_paths_test_evaluate_setup_state_no_orchestrator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L760", "weight": 1.0}, {"source": "unit_test_paths_rationale_773", "target": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L773", "weight": 1.0}, {"source": "unit_test_paths_rationale_789", "target": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L789", "weight": 1.0}, {"source": "unit_test_paths_rationale_806", "target": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L806", "weight": 1.0}, {"source": "unit_test_paths_rationale_837", "target": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L837", "weight": 1.0}, {"source": "unit_test_paths_rationale_868", "target": "unit_test_paths_test_evaluate_setup_state_keyring_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L868", "weight": 1.0}, {"source": "unit_test_paths_rationale_877", "target": "unit_test_paths_test_evaluate_setup_state_nas_keyring_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L877", "weight": 1.0}, {"source": "unit_test_paths_rationale_884", "target": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L884", "weight": 1.0}, {"source": "unit_test_paths_rationale_896", "target": "unit_test_paths_test_evaluate_setup_state_nas_state_resolves_once_password_added", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L896", "weight": 1.0}, {"source": "unit_test_paths_rationale_906", "target": "unit_test_paths_test_setup_state_missing_for_no_nas_credential_lists_per_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L906", "weight": 1.0}, {"source": "unit_test_paths_rationale_929", "target": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L929", "weight": 1.0}, {"source": "unit_test_paths_rationale_981", "target": "unit_test_paths_test_setup_state_missing_when_lims_unreachable_returns_empty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L981", "weight": 1.0}, {"source": "unit_test_paths_rationale_1019", "target": "unit_test_paths_test_setup_state_missing_for_missing_paths_with_none_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1019", "weight": 1.0}, {"source": "unit_test_paths_rationale_1030", "target": "unit_test_paths_test_setup_state_missing_for_no_lims_with_none_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1030", "weight": 1.0}, {"source": "unit_test_paths_rationale_1038", "target": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1038", "weight": 1.0}, {"source": "unit_test_paths_rationale_1064", "target": "unit_test_paths_test_setup_state_missing_unrecognized_state_returns_empty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1064", "weight": 1.0}], "raw_calls": [{"caller_nid": "unit_test_paths_make_equipment", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L54"}, {"caller_nid": "unit_test_paths_make_orchestrator", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L74"}, {"caller_nid": "unit_test_paths_ready_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L89"}, {"caller_nid": "unit_test_paths_ready_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L90"}, {"caller_nid": "unit_test_paths_ready_config", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L95"}, {"caller_nid": "unit_test_paths_ready_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L97"}, {"caller_nid": "unit_test_paths_fake_home", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L108"}, {"caller_nid": "unit_test_paths_fake_home", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L109"}, {"caller_nid": "unit_test_paths_fake_home", "callee": "classmethod", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L109"}, {"caller_nid": "unit_test_paths_fake_home", "callee": "delenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L119"}, {"caller_nid": "unit_test_paths_test_os_config_path_macos", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L129"}, {"caller_nid": "unit_test_paths_test_os_config_path_macos", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L131"}, {"caller_nid": "unit_test_paths_test_os_config_path_windows", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L135"}, {"caller_nid": "unit_test_paths_test_os_config_path_windows", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L137"}, {"caller_nid": "unit_test_paths_test_os_config_path_windows", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L137"}, {"caller_nid": "unit_test_paths_test_os_config_path_windows", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L139"}, {"caller_nid": "unit_test_paths_test_os_config_path_linux_with_xdg", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L143"}, {"caller_nid": "unit_test_paths_test_os_config_path_linux_with_xdg", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L145"}, {"caller_nid": "unit_test_paths_test_os_config_path_linux_with_xdg", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L145"}, {"caller_nid": "unit_test_paths_test_os_config_path_linux_with_xdg", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L147"}, {"caller_nid": "unit_test_paths_test_os_config_path_linux_without_xdg", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L151"}, {"caller_nid": "unit_test_paths_test_os_config_path_linux_without_xdg", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L153"}, {"caller_nid": "unit_test_paths_test_os_state_path_macos", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L162"}, {"caller_nid": "unit_test_paths_test_os_state_path_macos", "callee": "os_state_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L164"}, {"caller_nid": "unit_test_paths_test_os_state_path_windows", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L168"}, {"caller_nid": "unit_test_paths_test_os_state_path_windows", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L170"}, {"caller_nid": "unit_test_paths_test_os_state_path_windows", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L170"}, {"caller_nid": "unit_test_paths_test_os_state_path_windows", "callee": "os_state_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L172"}, {"caller_nid": "unit_test_paths_test_os_state_path_linux_with_xdg", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L176"}, {"caller_nid": "unit_test_paths_test_os_state_path_linux_with_xdg", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L178"}, {"caller_nid": "unit_test_paths_test_os_state_path_linux_with_xdg", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L178"}, {"caller_nid": "unit_test_paths_test_os_state_path_linux_with_xdg", "callee": "os_state_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L180"}, {"caller_nid": "unit_test_paths_test_os_state_path_linux_without_xdg", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L184"}, {"caller_nid": "unit_test_paths_test_os_state_path_linux_without_xdg", "callee": "os_state_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L186"}, {"caller_nid": "unit_test_paths_test_os_cache_path_macos", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L195"}, {"caller_nid": "unit_test_paths_test_os_cache_path_macos", "callee": "os_cache_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L197"}, {"caller_nid": "unit_test_paths_test_os_cache_path_windows", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L201"}, {"caller_nid": "unit_test_paths_test_os_cache_path_windows", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L203"}, {"caller_nid": "unit_test_paths_test_os_cache_path_windows", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L203"}, {"caller_nid": "unit_test_paths_test_os_cache_path_windows", "callee": "os_cache_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L205"}, {"caller_nid": "unit_test_paths_test_os_cache_path_linux_with_xdg", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L209"}, {"caller_nid": "unit_test_paths_test_os_cache_path_linux_with_xdg", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L211"}, {"caller_nid": "unit_test_paths_test_os_cache_path_linux_with_xdg", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L211"}, {"caller_nid": "unit_test_paths_test_os_cache_path_linux_with_xdg", "callee": "os_cache_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L213"}, {"caller_nid": "unit_test_paths_test_os_cache_path_linux_without_xdg", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L217"}, {"caller_nid": "unit_test_paths_test_os_cache_path_linux_without_xdg", "callee": "os_cache_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L219"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_macos", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L228"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_macos", "callee": "os_central_log_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L230"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_windows", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L234"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_windows", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L236"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_windows", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L236"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_windows", "callee": "os_central_log_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L238"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_linux_with_xdg", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L244"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_linux_with_xdg", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L246"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_linux_with_xdg", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L246"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_linux_with_xdg", "callee": "os_central_log_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L248"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_linux_without_xdg", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L254"}, {"caller_nid": "unit_test_paths_test_os_central_log_path_linux_without_xdg", "callee": "os_central_log_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L256"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_linux_fallback", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L271"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_linux_fallback", "callee": "suggested_staging_root", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L273"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_linux_honors_xdg_data_home", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L279"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_linux_honors_xdg_data_home", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L281"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_linux_honors_xdg_data_home", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L281"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_linux_honors_xdg_data_home", "callee": "suggested_staging_root", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L282"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_macos", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L288"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_macos", "callee": "suggested_staging_root", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L290"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_windows", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L296"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_windows", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L298"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_windows", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L298"}, {"caller_nid": "unit_test_paths_test_suggested_staging_root_windows", "callee": "suggested_staging_root", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L300"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_config_path", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L319"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_config_path", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L320"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_config_path", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L322"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_state_path", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L326"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_state_path", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L327"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_state_path", "callee": "os_state_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L329"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_cache_path", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L333"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_cache_path", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L334"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_cache_path", "callee": "os_cache_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L336"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_central_log_path", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L342"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_central_log_path", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L343"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_os_central_log_path", "callee": "os_central_log_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L345"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_suggested_staging_root", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L353"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_suggested_staging_root", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L354"}, {"caller_nid": "unit_test_paths_test_test_mode_suffixes_suggested_staging_root", "callee": "suggested_staging_root", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L356"}, {"caller_nid": "unit_test_paths_test_test_mode_off_does_not_suffix", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L361"}, {"caller_nid": "unit_test_paths_test_test_mode_off_does_not_suffix", "callee": "delenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L362"}, {"caller_nid": "unit_test_paths_test_test_mode_off_does_not_suffix", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L363"}, {"caller_nid": "unit_test_paths_test_test_mode_off_does_not_suffix", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L366"}, {"caller_nid": "unit_test_paths_test_test_mode_off_does_not_suffix", "callee": "os_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L368"}, {"caller_nid": "unit_test_paths_test_ensure_dir_creates_missing", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L380"}, {"caller_nid": "unit_test_paths_test_ensure_dir_creates_missing", "callee": "ensure_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L381"}, {"caller_nid": "unit_test_paths_test_ensure_dir_creates_missing", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L383"}, {"caller_nid": "unit_test_paths_test_ensure_dir_idempotent_when_exists", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L388"}, {"caller_nid": "unit_test_paths_test_ensure_dir_idempotent_when_exists", "callee": "ensure_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L390"}, {"caller_nid": "unit_test_paths_test_ensure_dir_idempotent_when_exists", "callee": "ensure_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L391"}, {"caller_nid": "unit_test_paths_test_ensure_dir_idempotent_when_exists", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L392"}, {"caller_nid": "unit_test_paths_test_ensure_state_dir_creates_state_dir", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L398"}, {"caller_nid": "unit_test_paths_test_ensure_state_dir_creates_state_dir", "callee": "ensure_state_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L399"}, {"caller_nid": "unit_test_paths_test_ensure_state_dir_creates_state_dir", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L400"}, {"caller_nid": "unit_test_paths_test_ensure_state_dir_creates_state_dir", "callee": "os_state_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L401"}, {"caller_nid": "unit_test_paths_test_ensure_central_log_dir_creates_parent", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L407"}, {"caller_nid": "unit_test_paths_test_ensure_central_log_dir_creates_parent", "callee": "ensure_central_log_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L408"}, {"caller_nid": "unit_test_paths_test_ensure_central_log_dir_creates_parent", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L409"}, {"caller_nid": "unit_test_paths_test_ensure_central_log_dir_creates_parent", "callee": "os_central_log_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L410"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_accepts_canonical", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L419"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_accepts_other_canonical_examples", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L427"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_lowercase", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L431"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_lowercase", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L432"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_hyphen", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L436"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_hyphen", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L437"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_leading_digit", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L441"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_leading_digit", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L442"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_space", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L446"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_space", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L447"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_non_ascii", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L451"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_non_ascii", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L452"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_too_long", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L457"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_too_long", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L458"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_too_long", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L459"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_too_long", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L460"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_too_long", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L460"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_accepts_max_length", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L465"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_empty", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L469"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_empty", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L470"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_none", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L475"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_none", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L476"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_none", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L477"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_int", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L482"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_int", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L483"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_int", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L484"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_rejects_int", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L485"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_does_not_mutate_input", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L490"}, {"caller_nid": "unit_test_paths_test_canonicalize_equipment_id_does_not_mutate_input", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L491"}, {"caller_nid": "unit_test_paths_test_compose_run_path_experimental", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L507"}, {"caller_nid": "unit_test_paths_test_compose_run_path_test", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L519"}, {"caller_nid": "unit_test_paths_test_compose_run_path_strftime_format", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L535"}, {"caller_nid": "unit_test_paths_test_compose_run_path_strftime_format", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L536"}, {"caller_nid": "unit_test_paths_test_compose_run_path_strftime_format", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L537"}, {"caller_nid": "unit_test_paths_test_compose_run_path_experimental_under_runs_subdir", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L549"}, {"caller_nid": "unit_test_paths_test_compose_run_path_experimental_under_runs_subdir", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L550"}, {"caller_nid": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L563"}, {"caller_nid": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L564"}, {"caller_nid": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L568"}, {"caller_nid": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L570"}, {"caller_nid": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L571"}, {"caller_nid": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L575"}, {"caller_nid": "unit_test_paths_test_compose_run_path_rejects_invalid_equipment_id", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L582"}, {"caller_nid": "unit_test_paths_test_compose_run_path_rejects_invalid_equipment_id", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L583"}, {"caller_nid": "unit_test_paths_test_compose_run_path_rejects_unsafe_project_name", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L593"}, {"caller_nid": "unit_test_paths_test_compose_run_path_rejects_unsafe_project_name", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L594"}, {"caller_nid": "unit_test_paths_test_compose_project_path_basic", "callee": "compose_project_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L604"}, {"caller_nid": "unit_test_paths_test_compose_project_path_rejects_invalid_equipment_id", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L614"}, {"caller_nid": "unit_test_paths_test_compose_project_path_rejects_invalid_equipment_id", "callee": "compose_project_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L615"}, {"caller_nid": "unit_test_paths_test_compose_project_path_rejects_unsafe_project_name", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L623"}, {"caller_nid": "unit_test_paths_test_compose_project_path_rejects_unsafe_project_name", "callee": "compose_project_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L624"}, {"caller_nid": "unit_test_paths_test_compose_run_path_rejects_non_str_project_name", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L633"}, {"caller_nid": "unit_test_paths_test_compose_run_path_rejects_non_str_project_name", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L634"}, {"caller_nid": "unit_test_paths_test_compose_run_path_rejects_non_str_project_name", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L641"}, {"caller_nid": "unit_test_paths_test_compose_run_path_rejects_empty_project_name", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L646"}, {"caller_nid": "unit_test_paths_test_compose_run_path_rejects_empty_project_name", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L647"}, {"caller_nid": "unit_test_paths_test_compose_run_path_rejects_empty_project_name", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L654"}, {"caller_nid": "unit_test_paths_test_compose_project_path_rejects_non_str_project_name", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L658"}, {"caller_nid": "unit_test_paths_test_compose_project_path_rejects_non_str_project_name", "callee": "compose_project_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L659"}, {"caller_nid": "unit_test_paths_test_compose_project_path_rejects_non_str_project_name", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L664"}, {"caller_nid": "unit_test_paths_test_validate_project_name_accepts_human_readable_names", "callee": "validate_project_name", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L675"}, {"caller_nid": "unit_test_paths_test_validate_project_name_accepts_human_readable_names", "callee": "project_name_violations", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L676"}, {"caller_nid": "unit_test_paths_test_validate_project_name_rejects_unsafe_names", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L697"}, {"caller_nid": "unit_test_paths_test_validate_project_name_rejects_unsafe_names", "callee": "validate_project_name", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L698"}, {"caller_nid": "unit_test_paths_test_validate_project_name_rejects_unsafe_names", "callee": "project_name_violations", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L699"}, {"caller_nid": "unit_test_paths_test_validate_project_name_rejects_overlong_name", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L703"}, {"caller_nid": "unit_test_paths_test_validate_project_name_rejects_overlong_name", "callee": "validate_project_name", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L704"}, {"caller_nid": "unit_test_paths_test_validate_project_name_rejects_overlong_name", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L705"}, {"caller_nid": "unit_test_paths_test_validate_project_name_does_not_mutate_input", "callee": "validate_project_name", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L711"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_config", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L720"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_missing_paths", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L724"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_missing_paths", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L725"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_missing_paths", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L729"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L734"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L735"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L743"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_equipment", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L747"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_equipment", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L748"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_equipment", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L756"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_orchestrator", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L761"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_orchestrator", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L762"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_orchestrator", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L769"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L776"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L777"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L783"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L785"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L792"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L793"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L798"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L800"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L802"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L809"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L810"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L816"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L818"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_lims", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L823"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_lims", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L824"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_lims", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L829"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_no_lims", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L833"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L838"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L839"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L844"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L853"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_lims_unreachable", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L859"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_ready", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L864"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_keyring_missing", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L871"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_nas_keyring_missing", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L879"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L886"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_nas_state_resolves_once_password_added", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L898"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_nas_credential_lists_per_equipment", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L910"}, {"caller_nid": "unit_test_paths_test_setup_state_next_action_for_no_nas_credential", "callee": "setup_state_next_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L923"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L930"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L931"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L936"}, {"caller_nid": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", "callee": "evaluate_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L940"}, {"caller_nid": "unit_test_paths_test_setup_state_next_action_table", "callee": "setup_state_next_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L960"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_when_no_config", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L969"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_when_no_config", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L973"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_when_no_config", "callee": "keys", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L973"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_when_ready", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L977"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_when_lims_unreachable_returns_empty", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L982"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_paths_lists_each_unset", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L986"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_paths_lists_each_unset", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L987"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_paths_lists_each_unset", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L989"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_equipment", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L997"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_equipment", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L998"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1002"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1003"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1008"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1012"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_missing_paths_with_none_config", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1022"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_lims_with_none_config", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1033"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1040"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1041"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1046"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1054"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_unrecognized_state_returns_empty", "callee": "setup_state_missing", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1077"}, {"caller_nid": "unit_test_paths_test_setup_state_missing_unrecognized_state_returns_empty", "callee": "_BogusState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py", "source_location": "L1077"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/6f09a917ae5ded44abaed20c23e19231d08e35256a8bba69415f0b1e9210c485.json b/graphify-out/cache/ast/6f09a917ae5ded44abaed20c23e19231d08e35256a8bba69415f0b1e9210c485.json deleted file mode 100644 index 55de142..0000000 --- a/graphify-out/cache/ast/6f09a917ae5ded44abaed20c23e19231d08e35256a8bba69415f0b1e9210c485.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/__init__.py", "source_location": "L1"}, {"id": "api_init_rationale_1", "label": "HTTP API package. Backend Spec \u00a74. Public re-exports so callers (the launcher,", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_init_py", "target": "exlab_wizard_api_app", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/__init__.py", "source_location": "L7", "weight": 1.0}, {"source": "api_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/6f9b0988ae58214f2d6372a6b23554b6c6988c4de7a204ad43f80b8d51f44a26.json b/graphify-out/cache/ast/6f9b0988ae58214f2d6372a6b23554b6c6988c4de7a204ad43f80b8d51f44a26.json deleted file mode 100644 index d9fcbec..0000000 --- a/graphify-out/cache/ast/6f9b0988ae58214f2d6372a6b23554b6c6988c4de7a204ad43f80b8d51f44a26.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "label": "pywebview_app.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L1"}, {"id": "window_pywebview_app_build_window_url", "label": "build_window_url()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L42"}, {"id": "window_pywebview_app_is_debug_enabled", "label": "is_debug_enabled()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L51"}, {"id": "window_pywebview_app_run_window", "label": "run_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L59"}, {"id": "window_pywebview_app_import_webview", "label": "_import_webview()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L93"}, {"id": "window_pywebview_app_rationale_1", "label": "pywebview-driven native window. Backend Spec \u00a715.3.2. Opens a single pywebview", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L1"}, {"id": "window_pywebview_app_rationale_43", "label": "Return the URL the window points at. Always loopback (Backend \u00a74.1: \"binds", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L43"}, {"id": "window_pywebview_app_rationale_52", "label": "True when ``EXLAB_DEBUG`` is set to a truthy string. Backend \u00a715.3.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L52"}, {"id": "window_pywebview_app_rationale_65", "label": "Open a single pywebview window pointed at the handshake's port. ``create_wi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L65"}, {"id": "window_pywebview_app_rationale_94", "label": "Lazily import pywebview to keep the module import cheap.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L94"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "target": "exlab_wizard_window_main", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "target": "window_pywebview_app_build_window_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "target": "window_pywebview_app_is_debug_enabled", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "target": "window_pywebview_app_run_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "target": "window_pywebview_app_import_webview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L93", "weight": 1.0}, {"source": "window_pywebview_app_run_window", "target": "window_pywebview_app_build_window_url", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L71", "weight": 1.0}, {"source": "window_pywebview_app_run_window", "target": "window_pywebview_app_is_debug_enabled", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L72", "weight": 1.0}, {"source": "window_pywebview_app_run_window", "target": "window_pywebview_app_import_webview", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L76", "weight": 1.0}, {"source": "window_pywebview_app_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_window_pywebview_app_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L1", "weight": 1.0}, {"source": "window_pywebview_app_rationale_43", "target": "window_pywebview_app_build_window_url", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L43", "weight": 1.0}, {"source": "window_pywebview_app_rationale_52", "target": "window_pywebview_app_is_debug_enabled", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L52", "weight": 1.0}, {"source": "window_pywebview_app_rationale_65", "target": "window_pywebview_app_run_window", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L65", "weight": 1.0}, {"source": "window_pywebview_app_rationale_94", "target": "window_pywebview_app_import_webview", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L94", "weight": 1.0}], "raw_calls": [{"caller_nid": "window_pywebview_app_build_window_url", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L48"}, {"caller_nid": "window_pywebview_app_is_debug_enabled", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L53"}, {"caller_nid": "window_pywebview_app_is_debug_enabled", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L56"}, {"caller_nid": "window_pywebview_app_is_debug_enabled", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L56"}, {"caller_nid": "window_pywebview_app_run_window", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L73"}, {"caller_nid": "window_pywebview_app_run_window", "callee": "create_window", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L82"}, {"caller_nid": "window_pywebview_app_run_window", "callee": "start", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py", "source_location": "L89"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/6fdcae056da1f051037a05e4ab6fbe26836c0950cd0c680b2e6da60deb044898.json b/graphify-out/cache/ast/6fdcae056da1f051037a05e4ab6fbe26836c0950cd0c680b2e6da60deb044898.json deleted file mode 100644 index d109346..0000000 --- a/graphify-out/cache/ast/6fdcae056da1f051037a05e4ab6fbe26836c0950cd0c680b2e6da60deb044898.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "label": "test_session_store.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L1"}, {"id": "controller_test_session_store_test_open_returns_fresh_pending_session", "label": "test_open_returns_fresh_pending_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L36"}, {"id": "controller_test_session_store_test_open_assigns_uuid4_session_id", "label": "test_open_assigns_uuid4_session_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L46"}, {"id": "controller_test_session_store_test_open_two_sessions_get_distinct_ids", "label": "test_open_two_sessions_get_distinct_ids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L54"}, {"id": "controller_test_session_store_test_open_sets_created_at_and_last_heartbeat_to_now", "label": "test_open_sets_created_at_and_last_heartbeat_to_now()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L61"}, {"id": "controller_test_session_store_test_get_returns_none_for_unknown_session_id", "label": "test_get_returns_none_for_unknown_session_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L75"}, {"id": "controller_test_session_store_test_get_returns_session_after_open", "label": "test_get_returns_session_after_open()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L80"}, {"id": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", "label": "test_iter_sorted_returns_pairs_oldest_created_first()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L87"}, {"id": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "label": "test_gc_publishes_terminal_frame_to_live_subscriber()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L98"}, {"id": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name", "label": "test_project_identifier_prefers_short_id_then_falls_back_to_project_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L120"}, {"id": "controller_test_session_store_test_transition_updates_state_and_phase_together", "label": "test_transition_updates_state_and_phase_together()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L136"}, {"id": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input", "label": "test_transition_to_input_required_sets_next_action_awaiting_input()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L144"}, {"id": "controller_test_session_store_test_transition_back_to_plugin_pass_clears_next_action", "label": "test_transition_back_to_plugin_pass_clears_next_action()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L154"}, {"id": "controller_test_session_store_test_transition_rejects_unknown_session_id", "label": "test_transition_rejects_unknown_session_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L169"}, {"id": "controller_test_session_store_test_transition_rejects_illegal_state_transition", "label": "test_transition_rejects_illegal_state_transition()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L175"}, {"id": "controller_test_session_store_test_attach_event_queue_wires_queue_to_session", "label": "test_attach_event_queue_wires_queue_to_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L187"}, {"id": "controller_test_session_store_test_attach_event_queue_rejects_unknown_session_id", "label": "test_attach_event_queue_rejects_unknown_session_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L195"}, {"id": "controller_test_session_store_test_heartbeat_updates_last_heartbeat", "label": "test_heartbeat_updates_last_heartbeat()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L207"}, {"id": "controller_test_session_store_test_heartbeat_is_noop_for_unknown_session", "label": "test_heartbeat_is_noop_for_unknown_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L217"}, {"id": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "label": "test_abandoned_older_than_returns_only_input_required_sessions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L228"}, {"id": "controller_test_session_store_test_abandoned_older_than_skips_recent_input_required_sessions", "label": "test_abandoned_older_than_skips_recent_input_required_sessions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L250"}, {"id": "controller_test_session_store_test_abandoned_older_than_returns_empty_when_no_sessions_exist", "label": "test_abandoned_older_than_returns_empty_when_no_sessions_exist()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L265"}, {"id": "controller_test_session_store_test_close_stores_outcome_for_done_session", "label": "test_close_stores_outcome_for_done_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L275"}, {"id": "controller_test_session_store_test_close_stores_outcome_in_error_for_failed_session", "label": "test_close_stores_outcome_in_error_for_failed_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L294"}, {"id": "controller_test_session_store_test_close_is_noop_for_unknown_session", "label": "test_close_is_noop_for_unknown_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L304"}, {"id": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "label": "test_gc_loop_closes_abandoned_input_required_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L315"}, {"id": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", "label": "test_gc_loop_periodically_runs_and_can_be_cancelled()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L339"}, {"id": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", "label": "test_gc_loop_skips_non_input_required_sessions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L350"}, {"id": "controller_test_session_store_test_session_is_terminal_for_terminal_states", "label": "test_session_is_terminal_for_terminal_states()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L366"}, {"id": "controller_test_session_store_test_session_is_terminal_false_for_non_terminal_states", "label": "test_session_is_terminal_false_for_non_terminal_states()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L382"}, {"id": "controller_test_session_store_rationale_1", "label": "Tests for ``exlab_wizard.controller.session_store``. The session store is the i", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L1"}, {"id": "controller_test_session_store_rationale_99", "label": "An abandoned-session GC pass must wake a live ``subscribe()`` consumer. The", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L99"}, {"id": "controller_test_session_store_rationale_316", "label": "The GC pass moves abandoned ``INPUT_REQUIRED`` sessions to ``ABORTED``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L316"}, {"id": "controller_test_session_store_rationale_340", "label": "The ``gc_loop`` runs forever until cancelled.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L340"}, {"id": "controller_test_session_store_rationale_351", "label": "Even with a stale heartbeat, only INPUT_REQUIRED sessions are GC'd.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L351"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "exlab_wizard_controller_session_store", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "exlab_wizard_controller_state_machine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_open_returns_fresh_pending_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_open_assigns_uuid4_session_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_open_two_sessions_get_distinct_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_open_sets_created_at_and_last_heartbeat_to_now", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_get_returns_none_for_unknown_session_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_get_returns_session_after_open", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L120", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_transition_updates_state_and_phase_together", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L136", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L144", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_transition_back_to_plugin_pass_clears_next_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L154", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_transition_rejects_unknown_session_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L169", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_transition_rejects_illegal_state_transition", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_attach_event_queue_wires_queue_to_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L187", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_attach_event_queue_rejects_unknown_session_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L195", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_heartbeat_updates_last_heartbeat", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L207", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_heartbeat_is_noop_for_unknown_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L217", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L228", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_abandoned_older_than_skips_recent_input_required_sessions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L250", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_abandoned_older_than_returns_empty_when_no_sessions_exist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L265", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_close_stores_outcome_for_done_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L275", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_close_stores_outcome_in_error_for_failed_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L294", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_close_is_noop_for_unknown_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L304", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L315", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L339", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L350", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_session_is_terminal_for_terminal_states", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L366", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "target": "controller_test_session_store_test_session_is_terminal_false_for_non_terminal_states", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L382", "weight": 1.0}, {"source": "controller_test_session_store_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_controller_test_session_store_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L1", "weight": 1.0}, {"source": "controller_test_session_store_rationale_99", "target": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L99", "weight": 1.0}, {"source": "controller_test_session_store_rationale_316", "target": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L316", "weight": 1.0}, {"source": "controller_test_session_store_rationale_340", "target": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L340", "weight": 1.0}, {"source": "controller_test_session_store_rationale_351", "target": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L351", "weight": 1.0}], "raw_calls": [{"caller_nid": "controller_test_session_store_test_open_returns_fresh_pending_session", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L37"}, {"caller_nid": "controller_test_session_store_test_open_returns_fresh_pending_session", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L38"}, {"caller_nid": "controller_test_session_store_test_open_assigns_uuid4_session_id", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L47"}, {"caller_nid": "controller_test_session_store_test_open_assigns_uuid4_session_id", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L48"}, {"caller_nid": "controller_test_session_store_test_open_assigns_uuid4_session_id", "callee": "UUID", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L50"}, {"caller_nid": "controller_test_session_store_test_open_two_sessions_get_distinct_ids", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L55"}, {"caller_nid": "controller_test_session_store_test_open_two_sessions_get_distinct_ids", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L56"}, {"caller_nid": "controller_test_session_store_test_open_two_sessions_get_distinct_ids", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L57"}, {"caller_nid": "controller_test_session_store_test_open_sets_created_at_and_last_heartbeat_to_now", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L62"}, {"caller_nid": "controller_test_session_store_test_open_sets_created_at_and_last_heartbeat_to_now", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L63"}, {"caller_nid": "controller_test_session_store_test_open_sets_created_at_and_last_heartbeat_to_now", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L64"}, {"caller_nid": "controller_test_session_store_test_open_sets_created_at_and_last_heartbeat_to_now", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L65"}, {"caller_nid": "controller_test_session_store_test_get_returns_none_for_unknown_session_id", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L76"}, {"caller_nid": "controller_test_session_store_test_get_returns_none_for_unknown_session_id", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L77"}, {"caller_nid": "controller_test_session_store_test_get_returns_session_after_open", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L81"}, {"caller_nid": "controller_test_session_store_test_get_returns_session_after_open", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L82"}, {"caller_nid": "controller_test_session_store_test_get_returns_session_after_open", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L83"}, {"caller_nid": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L88"}, {"caller_nid": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L89"}, {"caller_nid": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L90"}, {"caller_nid": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L92"}, {"caller_nid": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L92"}, {"caller_nid": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L93"}, {"caller_nid": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L93"}, {"caller_nid": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", "callee": "iter_sorted", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L94"}, {"caller_nid": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L105"}, {"caller_nid": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L106"}, {"caller_nid": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L107"}, {"caller_nid": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L109"}, {"caller_nid": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L110"}, {"caller_nid": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "callee": "_gc_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L113"}, {"caller_nid": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L113"}, {"caller_nid": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", "callee": "get_nowait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L115"}, {"caller_nid": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L123"}, {"caller_nid": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name", "callee": "project_identifier", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L124"}, {"caller_nid": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L125"}, {"caller_nid": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name", "callee": "project_identifier", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L126"}, {"caller_nid": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L127"}, {"caller_nid": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name", "callee": "project_identifier", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L128"}, {"caller_nid": "controller_test_session_store_test_transition_updates_state_and_phase_together", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L137"}, {"caller_nid": "controller_test_session_store_test_transition_updates_state_and_phase_together", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L138"}, {"caller_nid": "controller_test_session_store_test_transition_updates_state_and_phase_together", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L139"}, {"caller_nid": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L145"}, {"caller_nid": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L146"}, {"caller_nid": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L147"}, {"caller_nid": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L148"}, {"caller_nid": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L149"}, {"caller_nid": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L150"}, {"caller_nid": "controller_test_session_store_test_transition_back_to_plugin_pass_clears_next_action", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L155"}, {"caller_nid": "controller_test_session_store_test_transition_back_to_plugin_pass_clears_next_action", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L156"}, {"caller_nid": "controller_test_session_store_test_transition_back_to_plugin_pass_clears_next_action", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L163"}, {"caller_nid": "controller_test_session_store_test_transition_back_to_plugin_pass_clears_next_action", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L165"}, {"caller_nid": "controller_test_session_store_test_transition_rejects_unknown_session_id", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L170"}, {"caller_nid": "controller_test_session_store_test_transition_rejects_unknown_session_id", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L171"}, {"caller_nid": "controller_test_session_store_test_transition_rejects_unknown_session_id", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L172"}, {"caller_nid": "controller_test_session_store_test_transition_rejects_illegal_state_transition", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L176"}, {"caller_nid": "controller_test_session_store_test_transition_rejects_illegal_state_transition", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L177"}, {"caller_nid": "controller_test_session_store_test_transition_rejects_illegal_state_transition", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L178"}, {"caller_nid": "controller_test_session_store_test_transition_rejects_illegal_state_transition", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L179"}, {"caller_nid": "controller_test_session_store_test_attach_event_queue_wires_queue_to_session", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L188"}, {"caller_nid": "controller_test_session_store_test_attach_event_queue_wires_queue_to_session", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L189"}, {"caller_nid": "controller_test_session_store_test_attach_event_queue_wires_queue_to_session", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L190"}, {"caller_nid": "controller_test_session_store_test_attach_event_queue_wires_queue_to_session", "callee": "attach_event_queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L191"}, {"caller_nid": "controller_test_session_store_test_attach_event_queue_rejects_unknown_session_id", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L196"}, {"caller_nid": "controller_test_session_store_test_attach_event_queue_rejects_unknown_session_id", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L197"}, {"caller_nid": "controller_test_session_store_test_attach_event_queue_rejects_unknown_session_id", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L198"}, {"caller_nid": "controller_test_session_store_test_attach_event_queue_rejects_unknown_session_id", "callee": "attach_event_queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L199"}, {"caller_nid": "controller_test_session_store_test_heartbeat_updates_last_heartbeat", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L208"}, {"caller_nid": "controller_test_session_store_test_heartbeat_updates_last_heartbeat", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L209"}, {"caller_nid": "controller_test_session_store_test_heartbeat_updates_last_heartbeat", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L212"}, {"caller_nid": "controller_test_session_store_test_heartbeat_updates_last_heartbeat", "callee": "heartbeat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L213"}, {"caller_nid": "controller_test_session_store_test_heartbeat_is_noop_for_unknown_session", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L218"}, {"caller_nid": "controller_test_session_store_test_heartbeat_is_noop_for_unknown_session", "callee": "heartbeat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L220"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L229"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L230"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L237"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L239"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L239"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L241"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L242"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L243"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L243"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "abandoned_older_than", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L245"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L245"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_skips_recent_input_required_sessions", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L251"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_skips_recent_input_required_sessions", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L252"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_skips_recent_input_required_sessions", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L259"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_skips_recent_input_required_sessions", "callee": "abandoned_older_than", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L261"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_skips_recent_input_required_sessions", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L261"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_empty_when_no_sessions_exist", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L266"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_empty_when_no_sessions_exist", "callee": "abandoned_older_than", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L267"}, {"caller_nid": "controller_test_session_store_test_abandoned_older_than_returns_empty_when_no_sessions_exist", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L267"}, {"caller_nid": "controller_test_session_store_test_close_stores_outcome_for_done_session", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L276"}, {"caller_nid": "controller_test_session_store_test_close_stores_outcome_for_done_session", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L277"}, {"caller_nid": "controller_test_session_store_test_close_stores_outcome_for_done_session", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L287"}, {"caller_nid": "controller_test_session_store_test_close_stores_outcome_for_done_session", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L289"}, {"caller_nid": "controller_test_session_store_test_close_stores_outcome_in_error_for_failed_session", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L295"}, {"caller_nid": "controller_test_session_store_test_close_stores_outcome_in_error_for_failed_session", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L296"}, {"caller_nid": "controller_test_session_store_test_close_stores_outcome_in_error_for_failed_session", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L297"}, {"caller_nid": "controller_test_session_store_test_close_stores_outcome_in_error_for_failed_session", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L299"}, {"caller_nid": "controller_test_session_store_test_close_is_noop_for_unknown_session", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L305"}, {"caller_nid": "controller_test_session_store_test_close_is_noop_for_unknown_session", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L307"}, {"caller_nid": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L317"}, {"caller_nid": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L318"}, {"caller_nid": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L325"}, {"caller_nid": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L327"}, {"caller_nid": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L327"}, {"caller_nid": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "callee": "_gc_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L332"}, {"caller_nid": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L332"}, {"caller_nid": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L336"}, {"caller_nid": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L341"}, {"caller_nid": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L343"}, {"caller_nid": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", "callee": "gc_loop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L343"}, {"caller_nid": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L344"}, {"caller_nid": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", "callee": "cancel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L345"}, {"caller_nid": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L346"}, {"caller_nid": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L352"}, {"caller_nid": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L353"}, {"caller_nid": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L354"}, {"caller_nid": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L355"}, {"caller_nid": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L355"}, {"caller_nid": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", "callee": "_gc_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L357"}, {"caller_nid": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L357"}, {"caller_nid": "controller_test_session_store_test_session_is_terminal_for_terminal_states", "callee": "Session", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L367"}, {"caller_nid": "controller_test_session_store_test_session_is_terminal_for_terminal_states", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L372"}, {"caller_nid": "controller_test_session_store_test_session_is_terminal_for_terminal_states", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L373"}, {"caller_nid": "controller_test_session_store_test_session_is_terminal_for_terminal_states", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L375"}, {"caller_nid": "controller_test_session_store_test_session_is_terminal_for_terminal_states", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L377"}, {"caller_nid": "controller_test_session_store_test_session_is_terminal_for_terminal_states", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L379"}, {"caller_nid": "controller_test_session_store_test_session_is_terminal_false_for_non_terminal_states", "callee": "Session", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L383"}, {"caller_nid": "controller_test_session_store_test_session_is_terminal_false_for_non_terminal_states", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L388"}, {"caller_nid": "controller_test_session_store_test_session_is_terminal_false_for_non_terminal_states", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L389"}, {"caller_nid": "controller_test_session_store_test_session_is_terminal_false_for_non_terminal_states", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py", "source_location": "L391"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/70931140f2b45a3b91939994f5fe938f96fc24fa3f30b4192df058358840d833.json b/graphify-out/cache/ast/70931140f2b45a3b91939994f5fe938f96fc24fa3f30b4192df058358840d833.json deleted file mode 100644 index 978503f..0000000 --- a/graphify-out/cache/ast/70931140f2b45a3b91939994f5fe938f96fc24fa3f30b4192df058358840d833.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_orchestrator_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/70c86a4ae9c459d2656c318eac9fdbef3aa042ddc90ccc8a384ccd1dbf44e252.json b/graphify-out/cache/ast/70c86a4ae9c459d2656c318eac9fdbef3aa042ddc90ccc8a384ccd1dbf44e252.json deleted file mode 100644 index 455d902..0000000 --- a/graphify-out/cache/ast/70c86a4ae9c459d2656c318eac9fdbef3aa042ddc90ccc8a384ccd1dbf44e252.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/__init__.py", "source_location": "L1"}, {"id": "sync_init_rationale_1", "label": "Unit tests for the NAS sync subsystem (Phase 10).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/__init__.py", "source_location": "L1"}], "edges": [{"source": "sync_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_sync_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/72b77e3dcb48399698327b442a99b76420448d2bce188bc1ace49914aa0066b8.json b/graphify-out/cache/ast/72b77e3dcb48399698327b442a99b76420448d2bce188bc1ace49914aa0066b8.json deleted file mode 100644 index 553b4c5..0000000 --- a/graphify-out/cache/ast/72b77e3dcb48399698327b442a99b76420448d2bce188bc1ace49914aa0066b8.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_input_required_plugin_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/__init__.py", "source_location": "L1"}, {"id": "input_required_plugin_init_rationale_1", "label": "input_required_plugin -- exercises the PluginInputRequired suspend/resume handsh", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_input_required_plugin_init_py", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_input_required_plugin_plugin_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "input_required_plugin_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_input_required_plugin_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/73801204ea6a86ef34eedbb20c3969681890ad904864e5c5e291ac28e2bb1c1b.json b/graphify-out/cache/ast/73801204ea6a86ef34eedbb20c3969681890ad904864e5c5e291ac28e2bb1c1b.json deleted file mode 100644 index 7ab1c3a..0000000 --- a/graphify-out/cache/ast/73801204ea6a86ef34eedbb20c3969681890ad904864e5c5e291ac28e2bb1c1b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "label": "travelling_badge.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L1"}, {"id": "components_travelling_badge_badgeprops", "label": "BadgeProps", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L26"}, {"id": "components_travelling_badge_findinglocation", "label": "FindingLocation", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L34"}, {"id": "components_travelling_badge_travelling_badges", "label": "travelling_badges()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L46"}, {"id": "components_travelling_badge_shallowest_collapsed_ancestor", "label": "_shallowest_collapsed_ancestor()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L81"}, {"id": "components_travelling_badge_rationale_1", "label": "Travelling problem-badge pure function. GUI/Orchestrator Redesign \u00a74.5. Given t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L1"}, {"id": "components_travelling_badge_rationale_27", "label": "Render properties for a single tree node's badge.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L27"}, {"id": "components_travelling_badge_rationale_35", "label": "A validator finding pinned to a tree-node path. ``path`` is the slash-joine", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L35"}, {"id": "components_travelling_badge_rationale_50", "label": "Compute ``{node_id: BadgeProps}`` for every node that gets a badge. ``fold_", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L50"}, {"id": "components_travelling_badge_rationale_85", "label": "Walk root \u2192 leaf along ``path``; return the first collapsed ancestor. If ev", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L85"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "target": "exlab_wizard_constants_enums", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "target": "components_travelling_badge_badgeprops", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "target": "components_travelling_badge_findinglocation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "target": "components_travelling_badge_travelling_badges", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "target": "components_travelling_badge_shallowest_collapsed_ancestor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L81", "weight": 1.0}, {"source": "components_travelling_badge_travelling_badges", "target": "components_travelling_badge_shallowest_collapsed_ancestor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L62", "weight": 1.0}, {"source": "components_travelling_badge_travelling_badges", "target": "components_travelling_badge_badgeprops", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L75", "weight": 1.0}, {"source": "components_travelling_badge_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_travelling_badge_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L1", "weight": 1.0}, {"source": "components_travelling_badge_rationale_27", "target": "components_travelling_badge_badgeprops", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L27", "weight": 1.0}, {"source": "components_travelling_badge_rationale_35", "target": "components_travelling_badge_findinglocation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L35", "weight": 1.0}, {"source": "components_travelling_badge_rationale_50", "target": "components_travelling_badge_travelling_badges", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L50", "weight": 1.0}, {"source": "components_travelling_badge_rationale_85", "target": "components_travelling_badge_shallowest_collapsed_ancestor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L85", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_travelling_badge_travelling_badges", "callee": "defaultdict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L58"}, {"caller_nid": "components_travelling_badge_travelling_badges", "callee": "defaultdict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L59"}, {"caller_nid": "components_travelling_badge_travelling_badges", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L69"}, {"caller_nid": "components_travelling_badge_travelling_badges", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L69"}, {"caller_nid": "components_travelling_badge_travelling_badges", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L70"}, {"caller_nid": "components_travelling_badge_travelling_badges", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L71"}, {"caller_nid": "components_travelling_badge_shallowest_collapsed_ancestor", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L90"}, {"caller_nid": "components_travelling_badge_shallowest_collapsed_ancestor", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py", "source_location": "L98"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/742926469b57a2ebbb87e682b05801c0a79cc54a945311c49f82fe2b240859f7.json b/graphify-out/cache/ast/742926469b57a2ebbb87e682b05801c0a79cc54a945311c49f82fe2b240859f7.json deleted file mode 100644 index d9824cb..0000000 --- a/graphify-out/cache/ast/742926469b57a2ebbb87e682b05801c0a79cc54a945311c49f82fe2b240859f7.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "label": "test_wizard_project_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L1"}, {"id": "ui_test_wizard_project_page_test_can_advance_equipment_step_requires_selection", "label": "test_can_advance_equipment_step_requires_selection()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L30"}, {"id": "ui_test_wizard_project_page_test_can_advance_variables_step_always_true", "label": "test_can_advance_variables_step_always_true()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L37"}, {"id": "ui_test_wizard_project_page_test_can_advance_confirm_step_always_true", "label": "test_can_advance_confirm_step_always_true()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L45"}, {"id": "ui_test_wizard_project_page_test_can_advance_default_step_is_lims_project", "label": "test_can_advance_default_step_is_lims_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L49"}, {"id": "ui_test_wizard_project_page_test_can_advance_readme_blocks_on_partial_core_fields", "label": "test_can_advance_readme_blocks_on_partial_core_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L58"}, {"id": "ui_test_wizard_project_page_test_disk_space_message_none_when_unknown", "label": "test_disk_space_message_none_when_unknown()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L71"}, {"id": "ui_test_wizard_project_page_test_disk_space_message_none_when_ample", "label": "test_disk_space_message_none_when_ample()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L76"}, {"id": "ui_test_wizard_project_page_test_disk_space_message_present_just_below_threshold", "label": "test_disk_space_message_present_just_below_threshold()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L81"}, {"id": "ui_test_wizard_project_page_test_state_lims_project_name_defaults_empty_and_is_settable", "label": "test_state_lims_project_name_defaults_empty_and_is_settable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L92"}, {"id": "ui_test_wizard_project_page_test_render_project_wizard_with_choices_does_not_raise", "label": "test_render_project_wizard_with_choices_does_not_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L104"}, {"id": "ui_test_wizard_project_page_test_render_project_wizard_with_empty_choices_does_not_raise", "label": "test_render_project_wizard_with_empty_choices_does_not_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L114"}, {"id": "ui_test_wizard_project_page_test_render_project_wizard_defaults_state_when_omitted", "label": "test_render_project_wizard_defaults_state_when_omitted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L123"}, {"id": "ui_test_wizard_project_page_test_wizard_project_step_titles_cover_every_step", "label": "test_wizard_project_step_titles_cover_every_step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L128"}, {"id": "ui_test_wizard_project_page_rationale_1", "label": "Tests for the New Project Wizard helpers (gaps not covered by test_pages). ``te", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "exlab_wizard_api_app", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "exlab_wizard_ui_pages_wizard_project", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_can_advance_equipment_step_requires_selection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_can_advance_variables_step_always_true", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_can_advance_confirm_step_always_true", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_can_advance_default_step_is_lims_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_can_advance_readme_blocks_on_partial_core_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_disk_space_message_none_when_unknown", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L71", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_disk_space_message_none_when_ample", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_disk_space_message_present_just_below_threshold", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_state_lims_project_name_defaults_empty_and_is_settable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_render_project_wizard_with_choices_does_not_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L104", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_render_project_wizard_with_empty_choices_does_not_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L114", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_render_project_wizard_defaults_state_when_omitted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "target": "ui_test_wizard_project_page_test_wizard_project_step_titles_cover_every_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L128", "weight": 1.0}, {"source": "ui_test_wizard_project_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_project_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_wizard_project_page_test_can_advance_equipment_step_requires_selection", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L31"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_equipment_step_requires_selection", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L32"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_equipment_step_requires_selection", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L34"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_variables_step_always_true", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L39"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_variables_step_always_true", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L40"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_variables_step_always_true", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L42"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_confirm_step_always_true", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L46"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_confirm_step_always_true", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L46"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_default_step_is_lims_project", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L51"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_default_step_is_lims_project", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L53"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_default_step_is_lims_project", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L55"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_readme_blocks_on_partial_core_fields", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L59"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_readme_blocks_on_partial_core_fields", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L61"}, {"caller_nid": "ui_test_wizard_project_page_test_can_advance_readme_blocks_on_partial_core_fields", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L63"}, {"caller_nid": "ui_test_wizard_project_page_test_disk_space_message_none_when_unknown", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L72"}, {"caller_nid": "ui_test_wizard_project_page_test_disk_space_message_none_when_unknown", "callee": "disk_space_pre_flight_message", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L73"}, {"caller_nid": "ui_test_wizard_project_page_test_disk_space_message_none_when_ample", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L77"}, {"caller_nid": "ui_test_wizard_project_page_test_disk_space_message_none_when_ample", "callee": "disk_space_pre_flight_message", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L78"}, {"caller_nid": "ui_test_wizard_project_page_test_disk_space_message_present_just_below_threshold", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L82"}, {"caller_nid": "ui_test_wizard_project_page_test_disk_space_message_present_just_below_threshold", "callee": "disk_space_pre_flight_message", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L83"}, {"caller_nid": "ui_test_wizard_project_page_test_state_lims_project_name_defaults_empty_and_is_settable", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L93"}, {"caller_nid": "ui_test_wizard_project_page_test_render_project_wizard_with_choices_does_not_raise", "callee": "render_project_wizard", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L105"}, {"caller_nid": "ui_test_wizard_project_page_test_render_project_wizard_with_choices_does_not_raise", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L106"}, {"caller_nid": "ui_test_wizard_project_page_test_render_project_wizard_with_empty_choices_does_not_raise", "callee": "render_project_wizard", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L115"}, {"caller_nid": "ui_test_wizard_project_page_test_render_project_wizard_with_empty_choices_does_not_raise", "callee": "ProjectWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L116"}, {"caller_nid": "ui_test_wizard_project_page_test_render_project_wizard_defaults_state_when_omitted", "callee": "render_project_wizard", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L124"}, {"caller_nid": "ui_test_wizard_project_page_test_wizard_project_step_titles_cover_every_step", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L129"}, {"caller_nid": "ui_test_wizard_project_page_test_wizard_project_step_titles_cover_every_step", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py", "source_location": "L129"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/74e1bd4da27288719d774d70d5053253578b9f754dd8fa35f8cf73ada39b9941.json b/graphify-out/cache/ast/74e1bd4da27288719d774d70d5053253578b9f754dd8fa35f8cf73ada39b9941.json deleted file mode 100644 index 78acbb1..0000000 --- a/graphify-out/cache/ast/74e1bd4da27288719d774d70d5053253578b9f754dd8fa35f8cf73ada39b9941.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_01_onboarding_py", "label": "test_flow_01_onboarding.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L1"}, {"id": "e2e_test_flow_01_onboarding_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L18"}, {"id": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "label": "test_flow_01_onboarding()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L37"}, {"id": "e2e_test_flow_01_onboarding_rationale_1", "label": "E2E flow 01: First-launch onboarding. Frontend Spec \u00a76.1 (welcome card + autost", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L1"}, {"id": "e2e_test_flow_01_onboarding_rationale_19", "label": "Navigate to a NiceGUI page, tolerating a transient ERR_ABORTED. NiceGUI's c", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L19"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_01_onboarding_py", "target": "tests_e2e_page_objects_main_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_01_onboarding_py", "target": "tests_e2e_page_objects_welcome_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_01_onboarding_py", "target": "e2e_test_flow_01_onboarding_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_01_onboarding_py", "target": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L37", "weight": 1.0}, {"source": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "target": "e2e_test_flow_01_onboarding_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L42", "weight": 1.0}, {"source": "e2e_test_flow_01_onboarding_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_01_onboarding_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_flow_01_onboarding_rationale_19", "target": "e2e_test_flow_01_onboarding_goto", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L19", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_01_onboarding_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_01_onboarding_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L28"}, {"caller_nid": "e2e_test_flow_01_onboarding_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_01_onboarding_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_01_onboarding_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L34"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "WelcomePage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L38"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "MainPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L43"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "is_visible", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L44"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L47"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L48"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L54"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L54"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L59"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L59"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L60"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L60"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L61"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L61"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L64"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L64"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L65"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L65"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L68"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L68"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L69"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L73"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L75"}, {"caller_nid": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py", "source_location": "L75"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/750ee9f6635b3b279db64e825a3d5007d3eaf9c27d05a2200acf5046d18a792b.json b/graphify-out/cache/ast/750ee9f6635b3b279db64e825a3d5007d3eaf9c27d05a2200acf5046d18a792b.json deleted file mode 100644 index 150bfef..0000000 --- a/graphify-out/cache/ast/750ee9f6635b3b279db64e825a3d5007d3eaf9c27d05a2200acf5046d18a792b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_io_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/__init__.py", "source_location": "L1"}, {"id": "io_init_rationale_1", "label": "Filesystem I/O helpers shared across the codebase. Backend Spec \u00a74.4 (file IO d", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_init_py", "target": "exlab_wizard_io_atomic_write", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/__init__.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_init_py", "target": "exlab_wizard_io_json_files", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/__init__.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_init_py", "target": "exlab_wizard_io_yaml_files", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/__init__.py", "source_location": "L17", "weight": 1.0}, {"source": "io_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_io_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/75642a5e1180cc9fc4df35bdd2546d6a463ee9ef76328a806347e3b2ed9bb406.json b/graphify-out/cache/ast/75642a5e1180cc9fc4df35bdd2546d6a463ee9ef76328a806347e3b2ed9bb406.json deleted file mode 100644 index f005e74..0000000 --- a/graphify-out/cache/ast/75642a5e1180cc9fc4df35bdd2546d6a463ee9ef76328a806347e3b2ed9bb406.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_main_py", "label": "__main__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__main__.py", "source_location": "L1"}, {"id": "exlab_wizard_main_main", "label": "main()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__main__.py", "source_location": "L6"}, {"id": "exlab_wizard_main_rationale_1", "label": "CLI alias entry point. Backend Spec \u00a74.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__main__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_main_py", "target": "exlab_wizard_main_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__main__.py", "source_location": "L6", "weight": 1.0}, {"source": "exlab_wizard_main_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_main_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__main__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "exlab_wizard_main_main", "callee": "print", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__main__.py", "source_location": "L7"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/758082d33eb65da6f51e8ce806c03198296962827802f05328e94c1f57cb0a1c.json b/graphify-out/cache/ast/758082d33eb65da6f51e8ce806c03198296962827802f05328e94c1f57cb0a1c.json deleted file mode 100644 index 887d70d..0000000 --- a/graphify-out/cache/ast/758082d33eb65da6f51e8ce806c03198296962827802f05328e94c1f57cb0a1c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "label": "keyboard.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L1"}, {"id": "ui_keyboard_shortcut", "label": "Shortcut", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L24"}, {"id": "strenum", "label": "StrEnum", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "ui_keyboard_keycombo", "label": "KeyCombo", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L39"}, {"id": "ui_keyboard_keycombo_matches", "label": ".matches()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L48"}, {"id": "ui_keyboard_shortcutbinding", "label": "ShortcutBinding", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L61"}, {"id": "ui_keyboard_shortcutregistry", "label": "ShortcutRegistry", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L130"}, {"id": "ui_keyboard_shortcutregistry_register", "label": ".register()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L140"}, {"id": "ui_keyboard_shortcutregistry_dispatch", "label": ".dispatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L154"}, {"id": "ui_keyboard_list_bindings", "label": "list_bindings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L175"}, {"id": "ui_keyboard_get_binding", "label": "get_binding()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L181"}, {"id": "ui_keyboard_is_macos", "label": "is_macos()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L194"}, {"id": "ui_keyboard_combo_for_current_os", "label": "combo_for_current_os()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L200"}, {"id": "ui_keyboard_resolve", "label": "resolve()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L207"}, {"id": "ui_keyboard_bind_global_shortcuts", "label": "bind_global_shortcuts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L224"}, {"id": "ui_keyboard_rationale_1", "label": "Keyboard-shortcut registry (Frontend Spec \u00a73.7). The bindings are intentionally", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L1"}, {"id": "ui_keyboard_rationale_25", "label": "Identifiers for the app-level shortcut set (Frontend \u00a73.7).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L25"}, {"id": "ui_keyboard_rationale_40", "label": "A modifier-and-key combination.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L40"}, {"id": "ui_keyboard_rationale_49", "label": "Return True if a NiceGUI ``KeyEventArguments`` matches this combo.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L49"}, {"id": "ui_keyboard_rationale_62", "label": "One row in the \u00a73.7 shortcut table.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L62"}, {"id": "ui_keyboard_rationale_131", "label": "A populated registry of shortcut handlers. Pages instantiate one registry,", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L131"}, {"id": "ui_keyboard_rationale_141", "label": "Attach a handler. Only one handler per shortcut. Raises: Va", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L141"}, {"id": "ui_keyboard_rationale_155", "label": "Invoke the handler for ``shortcut`` if registered. Returns ``True`` if", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L155"}, {"id": "ui_keyboard_rationale_176", "label": "Return the canonical bindings table (Frontend \u00a73.7).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L176"}, {"id": "ui_keyboard_rationale_182", "label": "Return the :class:`ShortcutBinding` for the given shortcut id. Raises:", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L182"}, {"id": "ui_keyboard_rationale_195", "label": "Return ``True`` when running on macOS (used for combo selection).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L195"}, {"id": "ui_keyboard_rationale_201", "label": "Resolve the :class:`KeyCombo` for the current OS.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L201"}, {"id": "ui_keyboard_rationale_215", "label": "Find the shortcut id matching the given key event, if any.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L215"}, {"id": "ui_keyboard_rationale_225", "label": "Install a NiceGUI keyboard listener for the registry. NiceGUI is imported l", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L225"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "enum", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "ui_keyboard_shortcut", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L24", "weight": 1.0}, {"source": "ui_keyboard_shortcut", "target": "strenum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "ui_keyboard_keycombo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L39", "weight": 1.0}, {"source": "ui_keyboard_keycombo", "target": "ui_keyboard_keycombo_matches", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "ui_keyboard_shortcutbinding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "ui_keyboard_shortcutregistry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L130", "weight": 1.0}, {"source": "ui_keyboard_shortcutregistry", "target": "ui_keyboard_shortcutregistry_register", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L140", "weight": 1.0}, {"source": "ui_keyboard_shortcutregistry", "target": "ui_keyboard_shortcutregistry_dispatch", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L154", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "ui_keyboard_list_bindings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "ui_keyboard_get_binding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L181", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "ui_keyboard_is_macos", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L194", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "ui_keyboard_combo_for_current_os", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L200", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "ui_keyboard_resolve", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L207", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "target": "ui_keyboard_bind_global_shortcuts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L224", "weight": 1.0}, {"source": "ui_keyboard_combo_for_current_os", "target": "ui_keyboard_get_binding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L203", "weight": 1.0}, {"source": "ui_keyboard_combo_for_current_os", "target": "ui_keyboard_is_macos", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L204", "weight": 1.0}, {"source": "ui_keyboard_resolve", "target": "ui_keyboard_is_macos", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L218", "weight": 1.0}, {"source": "ui_keyboard_resolve", "target": "ui_keyboard_keycombo_matches", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L219", "weight": 1.0}, {"source": "ui_keyboard_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_keyboard_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_keyboard_rationale_25", "target": "ui_keyboard_shortcut", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L25", "weight": 1.0}, {"source": "ui_keyboard_rationale_40", "target": "ui_keyboard_keycombo", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L40", "weight": 1.0}, {"source": "ui_keyboard_rationale_49", "target": "ui_keyboard_keycombo_matches", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L49", "weight": 1.0}, {"source": "ui_keyboard_rationale_62", "target": "ui_keyboard_shortcutbinding", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L62", "weight": 1.0}, {"source": "ui_keyboard_rationale_131", "target": "ui_keyboard_shortcutregistry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L131", "weight": 1.0}, {"source": "ui_keyboard_rationale_141", "target": "ui_keyboard_shortcutregistry_register", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L141", "weight": 1.0}, {"source": "ui_keyboard_rationale_155", "target": "ui_keyboard_shortcutregistry_dispatch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L155", "weight": 1.0}, {"source": "ui_keyboard_rationale_176", "target": "ui_keyboard_list_bindings", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L176", "weight": 1.0}, {"source": "ui_keyboard_rationale_182", "target": "ui_keyboard_get_binding", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L182", "weight": 1.0}, {"source": "ui_keyboard_rationale_195", "target": "ui_keyboard_is_macos", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L195", "weight": 1.0}, {"source": "ui_keyboard_rationale_201", "target": "ui_keyboard_combo_for_current_os", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L201", "weight": 1.0}, {"source": "ui_keyboard_rationale_215", "target": "ui_keyboard_resolve", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L215", "weight": 1.0}, {"source": "ui_keyboard_rationale_225", "target": "ui_keyboard_bind_global_shortcuts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L225", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_keyboard_keycombo_matches", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L52"}, {"caller_nid": "ui_keyboard_keycombo_matches", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L52"}, {"caller_nid": "ui_keyboard_shortcutregistry_register", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L148"}, {"caller_nid": "ui_keyboard_shortcutregistry_dispatch", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L161"}, {"caller_nid": "ui_keyboard_shortcutregistry_dispatch", "callee": "handler", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L165"}, {"caller_nid": "ui_keyboard_shortcutregistry_dispatch", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L167"}, {"caller_nid": "ui_keyboard_get_binding", "callee": "KeyError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L191"}, {"caller_nid": "ui_keyboard_bind_global_shortcuts", "callee": "keyboard", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L249"}, {"caller_nid": "ui_keyboard_bind_global_shortcuts", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L250"}, {"caller_nid": "ui_keyboard_bind_global_shortcuts", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py", "source_location": "L254"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/761d1736072352f80b120270be1557c8a181e4cc87ed9f7a0ff0427003863055.json b/graphify-out/cache/ast/761d1736072352f80b120270be1557c8a181e4cc87ed9f7a0ff0427003863055.json deleted file mode 100644 index d7925ee..0000000 --- a/graphify-out/cache/ast/761d1736072352f80b120270be1557c8a181e4cc87ed9f7a0ff0427003863055.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_window_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/__init__.py", "source_location": "L1"}, {"id": "window_init_rationale_1", "label": "Window application package. Backend Spec \u00a74.3.2. Public API: * :func:`run_wind", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_init_py", "target": "exlab_wizard_window_main", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/__init__.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_init_py", "target": "exlab_wizard_window_pywebview_app", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/__init__.py", "source_location": "L21", "weight": 1.0}, {"source": "window_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_window_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/7638f45a6bf705a20884d1c131bb81f5fd7fb1f51d66c5a465c7438bee2596c4.json b/graphify-out/cache/ast/7638f45a6bf705a20884d1c131bb81f5fd7fb1f51d66c5a465c7438bee2596c4.json deleted file mode 100644 index 5cdc78b..0000000 --- a/graphify-out/cache/ast/7638f45a6bf705a20884d1c131bb81f5fd7fb1f51d66c5a465c7438bee2596c4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_config_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/__init__.py", "source_location": "L1"}, {"id": "config_init_rationale_1", "label": "Unit tests for ``exlab_wizard.config``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/__init__.py", "source_location": "L1"}], "edges": [{"source": "config_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_config_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/77728d6be35b093516310ee1258b8cf1f8b12bfa81a0f8a7c910b5161031f00e.json b/graphify-out/cache/ast/77728d6be35b093516310ee1258b8cf1f8b12bfa81a0f8a7c910b5161031f00e.json deleted file mode 100644 index e8cd12c..0000000 --- a/graphify-out/cache/ast/77728d6be35b093516310ee1258b8cf1f8b12bfa81a0f8a7c910b5161031f00e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_dependencies_py", "label": "_dependencies.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L1"}, {"id": "api_dependencies_lims_password_present", "label": "lims_password_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L31"}, {"id": "api_dependencies_nas_password_present", "label": "nas_password_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L51"}, {"id": "api_dependencies_require_deps", "label": "require_deps()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L75"}, {"id": "api_dependencies_require_controller", "label": "require_controller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L95"}, {"id": "api_dependencies_rationale_1", "label": "Shared FastAPI dependency helpers for the wizard's HTTP routers. The lifespan h", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L1"}, {"id": "api_dependencies_rationale_32", "label": "Return whether a LIMS password is stored -- the repo-wide reader. Every sur", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L32"}, {"id": "api_dependencies_rationale_52", "label": "Return whether the NAS keyring password is set for ``equipment_id``. Rclone", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L52"}, {"id": "api_dependencies_rationale_76", "label": "Return ``app.state.dependencies`` or raise a structured 503. A missing depe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L76"}, {"id": "api_dependencies_rationale_96", "label": "Return ``deps.controller`` or raise a structured 503. Used by the routes th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L96"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_dependencies_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_dependencies_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_dependencies_py", "target": "api_dependencies_lims_password_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_dependencies_py", "target": "api_dependencies_nas_password_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_dependencies_py", "target": "api_dependencies_require_deps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_dependencies_py", "target": "api_dependencies_require_controller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L95", "weight": 1.0}, {"source": "api_dependencies_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_dependencies_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L1", "weight": 1.0}, {"source": "api_dependencies_rationale_32", "target": "api_dependencies_lims_password_present", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L32", "weight": 1.0}, {"source": "api_dependencies_rationale_52", "target": "api_dependencies_nas_password_present", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L52", "weight": 1.0}, {"source": "api_dependencies_rationale_76", "target": "api_dependencies_require_deps", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L76", "weight": 1.0}, {"source": "api_dependencies_rationale_96", "target": "api_dependencies_require_controller", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L96", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_dependencies_lims_password_present", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L48"}, {"caller_nid": "api_dependencies_lims_password_present", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L48"}, {"caller_nid": "api_dependencies_nas_password_present", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L69"}, {"caller_nid": "api_dependencies_require_deps", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L83"}, {"caller_nid": "api_dependencies_require_deps", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L85"}, {"caller_nid": "api_dependencies_require_controller", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L102"}, {"caller_nid": "api_dependencies_require_controller", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L103"}, {"caller_nid": "api_dependencies_require_controller", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py", "source_location": "L105"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/77a09a38c0ce58e3f2b24a03a84b81922130a5a4f0703d5c15e12f3cd6ad4289.json b/graphify-out/cache/ast/77a09a38c0ce58e3f2b24a03a84b81922130a5a4f0703d5c15e12f3cd6ad4289.json deleted file mode 100644 index d89b676..0000000 --- a/graphify-out/cache/ast/77a09a38c0ce58e3f2b24a03a84b81922130a5a4f0703d5c15e12f3cd6ad4289.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "label": "registry.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L1"}, {"id": "plugins_registry_pluginmanifest", "label": "PluginManifest", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L62"}, {"id": "plugins_registry_pluginrecord", "label": "PluginRecord", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L83"}, {"id": "plugins_registry_pluginplan", "label": "PluginPlan", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L103"}, {"id": "plugins_registry_registryreport", "label": "RegistryReport", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L115"}, {"id": "plugins_registry_pluginregistry", "label": "PluginRegistry", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L128"}, {"id": "plugins_registry_pluginregistry_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L140"}, {"id": "plugins_registry_pluginregistry_reload", "label": ".reload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L157"}, {"id": "plugins_registry_pluginregistry_absorb", "label": "._absorb()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L181"}, {"id": "plugins_registry_pluginregistry_iter_root", "label": "._iter_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L210"}, {"id": "plugins_registry_pluginregistry_load_plugin", "label": "._load_plugin()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L230"}, {"id": "plugins_registry_pluginregistry_get", "label": ".get()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L354"}, {"id": "plugins_registry_pluginregistry_list_all", "label": ".list_all()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L358"}, {"id": "plugins_registry_pluginregistry_candidates_for", "label": ".candidates_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L362"}, {"id": "plugins_registry_as_str_list", "label": "_as_str_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L386"}, {"id": "plugins_registry_suffix_or_full", "label": "_suffix_or_full()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L393"}, {"id": "plugins_registry_rationale_1", "label": "Plugin registry -- manifest-driven discovery + dispatch resolution. Backend Spe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L1"}, {"id": "plugins_registry_rationale_63", "label": "Parsed ``manifest.yml`` contents. Backend Spec \u00a76.1.2. Mirrors the schema d", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L63"}, {"id": "plugins_registry_rationale_84", "label": "One plugin in the registry. Carries the parsed manifest, the source-on-disk", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L84"}, {"id": "plugins_registry_rationale_104", "label": "One plugin paired with the files in the rendered tree it matches. Built by", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L104"}, {"id": "plugins_registry_rationale_116", "label": "Outcome of a :meth:`PluginRegistry.reload` pass. ``loaded`` is the list of", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L116"}, {"id": "plugins_registry_rationale_129", "label": "Manifest-driven plugin registry. Constructed at host startup with the two c", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L129"}, {"id": "plugins_registry_rationale_158", "label": "Re-scan both plugin roots and rebuild the in-memory record table. Bundl", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L158"}, {"id": "plugins_registry_rationale_187", "label": "Merge one parsed plugin (or one rejection) into the report.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L187"}, {"id": "plugins_registry_rationale_215", "label": "Walk one plugin root and yield ``(record_or_None, reason_or_None)`` pairs.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L215"}, {"id": "plugins_registry_rationale_235", "label": "Parse one plugin directory. Returns ``(record, None)`` or ``(None, (name, reason", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L235"}, {"id": "plugins_registry_rationale_355", "label": "Return the record registered under ``name``, or ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L355"}, {"id": "plugins_registry_rationale_359", "label": "Return all registered records, sorted by name for stable output.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L359"}, {"id": "plugins_registry_rationale_363", "label": "Resolve plugins that match the given files by extension. For each regis", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L363"}, {"id": "plugins_registry_rationale_387", "label": "Coerce a YAML node into a ``list[str]``; non-list / non-string entries are dropp", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L387"}, {"id": "plugins_registry_rationale_394", "label": "Return the final suffix (``.xlsx``) for matching against ``supported_extensions`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L394"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "yaml", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "plugins_registry_pluginmanifest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "plugins_registry_pluginrecord", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "plugins_registry_pluginplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "plugins_registry_registryreport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L115", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "plugins_registry_pluginregistry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L128", "weight": 1.0}, {"source": "plugins_registry_pluginregistry", "target": "plugins_registry_pluginregistry_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L140", "weight": 1.0}, {"source": "plugins_registry_pluginregistry", "target": "plugins_registry_pluginregistry_reload", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L157", "weight": 1.0}, {"source": "plugins_registry_pluginregistry", "target": "plugins_registry_pluginregistry_absorb", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L181", "weight": 1.0}, {"source": "plugins_registry_pluginregistry", "target": "plugins_registry_pluginregistry_iter_root", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L210", "weight": 1.0}, {"source": "plugins_registry_pluginregistry", "target": "plugins_registry_pluginregistry_load_plugin", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L230", "weight": 1.0}, {"source": "plugins_registry_pluginregistry", "target": "plugins_registry_pluginregistry_get", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L354", "weight": 1.0}, {"source": "plugins_registry_pluginregistry", "target": "plugins_registry_pluginregistry_list_all", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L358", "weight": 1.0}, {"source": "plugins_registry_pluginregistry", "target": "plugins_registry_pluginregistry_candidates_for", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L362", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "plugins_registry_as_str_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L386", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "target": "plugins_registry_suffix_or_full", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L393", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_reload", "target": "plugins_registry_registryreport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L169", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_reload", "target": "plugins_registry_pluginregistry_iter_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L173", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_reload", "target": "plugins_registry_pluginregistry_absorb", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L174", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_absorb", "target": "plugins_registry_pluginregistry_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L193", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_iter_root", "target": "plugins_registry_pluginregistry_load_plugin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L226", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_load_plugin", "target": "plugins_registry_pluginregistry_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L280", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_load_plugin", "target": "plugins_registry_pluginmanifest", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L326", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_load_plugin", "target": "plugins_registry_as_str_list", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L333", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_load_plugin", "target": "plugins_registry_pluginrecord", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L342", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_candidates_for", "target": "plugins_registry_pluginregistry_list_all", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L373", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_candidates_for", "target": "plugins_registry_suffix_or_full", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L375", "weight": 1.0}, {"source": "plugins_registry_pluginregistry_candidates_for", "target": "plugins_registry_pluginplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L377", "weight": 1.0}, {"source": "plugins_registry_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_registry_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L1", "weight": 1.0}, {"source": "plugins_registry_rationale_63", "target": "plugins_registry_pluginmanifest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L63", "weight": 1.0}, {"source": "plugins_registry_rationale_84", "target": "plugins_registry_pluginrecord", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L84", "weight": 1.0}, {"source": "plugins_registry_rationale_104", "target": "plugins_registry_pluginplan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L104", "weight": 1.0}, {"source": "plugins_registry_rationale_116", "target": "plugins_registry_registryreport", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L116", "weight": 1.0}, {"source": "plugins_registry_rationale_129", "target": "plugins_registry_pluginregistry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L129", "weight": 1.0}, {"source": "plugins_registry_rationale_158", "target": "plugins_registry_pluginregistry_reload", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L158", "weight": 1.0}, {"source": "plugins_registry_rationale_187", "target": "plugins_registry_pluginregistry_absorb", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L187", "weight": 1.0}, {"source": "plugins_registry_rationale_215", "target": "plugins_registry_pluginregistry_iter_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L215", "weight": 1.0}, {"source": "plugins_registry_rationale_235", "target": "plugins_registry_pluginregistry_load_plugin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L235", "weight": 1.0}, {"source": "plugins_registry_rationale_355", "target": "plugins_registry_pluginregistry_get", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L355", "weight": 1.0}, {"source": "plugins_registry_rationale_359", "target": "plugins_registry_pluginregistry_list_all", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L359", "weight": 1.0}, {"source": "plugins_registry_rationale_363", "target": "plugins_registry_pluginregistry_candidates_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L363", "weight": 1.0}, {"source": "plugins_registry_rationale_387", "target": "plugins_registry_as_str_list", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L387", "weight": 1.0}, {"source": "plugins_registry_rationale_394", "target": "plugins_registry_suffix_or_full", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L394", "weight": 1.0}], "raw_calls": [{"caller_nid": "plugins_registry_pluginregistry_absorb", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L190"}, {"caller_nid": "plugins_registry_pluginregistry_absorb", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L199"}, {"caller_nid": "plugins_registry_pluginregistry_absorb", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L208"}, {"caller_nid": "plugins_registry_pluginregistry_iter_root", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L220"}, {"caller_nid": "plugins_registry_pluginregistry_iter_root", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L223"}, {"caller_nid": "plugins_registry_pluginregistry_iter_root", "callee": "iterdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L223"}, {"caller_nid": "plugins_registry_pluginregistry_iter_root", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L224"}, {"caller_nid": "plugins_registry_pluginregistry_iter_root", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L227"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L241"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L242"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "load_yaml_manifest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L246"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L248"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L253"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L256"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L257"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L257"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L258"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L261"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L263"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L267"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L272"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L272"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L273"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L275"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L278"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L281"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L282"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L285"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L286"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L287"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L290"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L305"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L317"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L329"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L330"}, {"caller_nid": "plugins_registry_pluginregistry_load_plugin", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L331"}, {"caller_nid": "plugins_registry_pluginregistry_list_all", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L360"}, {"caller_nid": "plugins_registry_pluginregistry_candidates_for", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L374"}, {"caller_nid": "plugins_registry_pluginregistry_candidates_for", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L375"}, {"caller_nid": "plugins_registry_pluginregistry_candidates_for", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L377"}, {"caller_nid": "plugins_registry_as_str_list", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L388"}, {"caller_nid": "plugins_registry_as_str_list", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L390"}, {"caller_nid": "plugins_registry_as_str_list", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py", "source_location": "L390"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/788ecd1f6cfe28db26be907079c31e936768a020c2e36ff3e2f4270427c52a8c.json b/graphify-out/cache/ast/788ecd1f6cfe28db26be907079c31e936768a020c2e36ff3e2f4270427c52a8c.json deleted file mode 100644 index bcbc023..0000000 --- a/graphify-out/cache/ast/788ecd1f6cfe28db26be907079c31e936768a020c2e36ff3e2f4270427c52a8c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "label": "test_tray_lifecycle.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L1"}, {"id": "integration_test_tray_lifecycle_wait_for_health", "label": "_wait_for_health()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L31"}, {"id": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "label": "test_tray_lifecycle_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L48"}, {"id": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", "label": "test_tray_lifecycle_window_handshake_reads_server_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L85"}, {"id": "integration_test_tray_lifecycle_rationale_1", "label": "Integration test: tray <-> window lifecycle round-trip. Backend Spec \u00a74.3.2. Th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L1"}, {"id": "integration_test_tray_lifecycle_rationale_32", "label": "Poll ``/api/v1/health`` until the server is accepting requests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L32"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "exlab_wizard_api_app", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "exlab_wizard_tray_quit_coordinator", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "exlab_wizard_tray_server_runner", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "exlab_wizard_window_main", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "integration_test_tray_lifecycle_wait_for_health", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "target": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L85", "weight": 1.0}, {"source": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "target": "integration_test_tray_lifecycle_wait_for_health", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L53", "weight": 1.0}, {"source": "integration_test_tray_lifecycle_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_test_tray_lifecycle_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L1", "weight": 1.0}, {"source": "integration_test_tray_lifecycle_rationale_32", "target": "integration_test_tray_lifecycle_wait_for_health", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L32", "weight": 1.0}], "raw_calls": [{"caller_nid": "integration_test_tray_lifecycle_wait_for_health", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L33"}, {"caller_nid": "integration_test_tray_lifecycle_wait_for_health", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L35"}, {"caller_nid": "integration_test_tray_lifecycle_wait_for_health", "callee": "Client", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L37"}, {"caller_nid": "integration_test_tray_lifecycle_wait_for_health", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L38"}, {"caller_nid": "integration_test_tray_lifecycle_wait_for_health", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L43"}, {"caller_nid": "integration_test_tray_lifecycle_wait_for_health", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L45"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L49"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "callee": "ServerRunner", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L50"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L51"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "callee": "read_server_handshake", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L56"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "callee": "getpid", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L62"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "callee": "QuitCoordinator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L66"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L75"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L75"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L78"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L82"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L86"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", "callee": "ServerRunner", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L87"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L88"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", "callee": "read_server_handshake", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L92"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L96"}, {"caller_nid": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py", "source_location": "L98"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/792c4ad0ad6ddb792b15e9be60f5b4c91b026fecb4fd7f28c20854f5424bfc90.json b/graphify-out/cache/ast/792c4ad0ad6ddb792b15e9be60f5b4c91b026fecb4fd7f28c20854f5424bfc90.json deleted file mode 100644 index a06d95a..0000000 --- a/graphify-out/cache/ast/792c4ad0ad6ddb792b15e9be60f5b4c91b026fecb4fd7f28c20854f5424bfc90.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "label": "wizard_run_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L1"}, {"id": "page_objects_wizard_run_page_wizardrunpage", "label": "WizardRunPage", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L11"}, {"id": "page_objects_wizard_run_page_wizardrunpage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L14"}, {"id": "page_objects_wizard_run_page_stepper", "label": "stepper()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L18"}, {"id": "page_objects_wizard_run_page_title", "label": "title()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L23"}, {"id": "page_objects_wizard_run_page_mode_badge_experimental", "label": "mode_badge_experimental()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L28"}, {"id": "page_objects_wizard_run_page_mode_badge_test", "label": "mode_badge_test()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L33"}, {"id": "page_objects_wizard_run_page_wizardrunpage_step", "label": ".step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L37"}, {"id": "page_objects_wizard_run_page_back", "label": "back()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L42"}, {"id": "page_objects_wizard_run_page_cancel", "label": "cancel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L50"}, {"id": "page_objects_wizard_run_page_next", "label": "next()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L55"}, {"id": "page_objects_wizard_run_page_submit", "label": "submit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L60"}, {"id": "page_objects_wizard_run_page_success_card", "label": "success_card()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L65"}, {"id": "page_objects_wizard_run_page_rationale_1", "label": "Page object for the New Run Wizard. Frontend Spec \u00a76.4.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L1"}, {"id": "page_objects_wizard_run_page_rationale_12", "label": "Locators for the run wizard (experimental + test mode).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L12"}, {"id": "page_objects_wizard_run_page_rationale_19", "label": "The vertical stepper that holds the six steps.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L19"}, {"id": "page_objects_wizard_run_page_rationale_24", "label": "The wizard's title label (changes per run kind).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L24"}, {"id": "page_objects_wizard_run_page_rationale_29", "label": "The mode badge for experimental runs.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L29"}, {"id": "page_objects_wizard_run_page_rationale_34", "label": "The mode badge for test runs.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L34"}, {"id": "page_objects_wizard_run_page_rationale_38", "label": "Locator for a specific step container.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L38"}, {"id": "page_objects_wizard_run_page_rationale_43", "label": "The back button on the active stepper navigation. Absent on the first s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L43"}, {"id": "page_objects_wizard_run_page_rationale_51", "label": "The cancel button; present on every step, returns to /main.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L51"}, {"id": "page_objects_wizard_run_page_rationale_56", "label": "The primary advance button on the active stepper navigation.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L56"}, {"id": "page_objects_wizard_run_page_rationale_61", "label": "The Create button on the confirm step.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L61"}, {"id": "page_objects_wizard_run_page_rationale_66", "label": "The success indicator rendered after submit.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L66"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "playwright_sync_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "page_objects_wizard_run_page_wizardrunpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L11", "weight": 1.0}, {"source": "page_objects_wizard_run_page_wizardrunpage", "target": "page_objects_wizard_run_page_wizardrunpage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "page_objects_wizard_run_page_stepper", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "page_objects_wizard_run_page_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "page_objects_wizard_run_page_mode_badge_experimental", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "page_objects_wizard_run_page_mode_badge_test", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L33", "weight": 1.0}, {"source": "page_objects_wizard_run_page_wizardrunpage", "target": "page_objects_wizard_run_page_wizardrunpage_step", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "page_objects_wizard_run_page_back", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "page_objects_wizard_run_page_cancel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "page_objects_wizard_run_page_next", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "page_objects_wizard_run_page_submit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "target": "page_objects_wizard_run_page_success_card", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L65", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_run_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L1", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_12", "target": "page_objects_wizard_run_page_wizardrunpage", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L12", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_19", "target": "page_objects_wizard_run_page_wizardrunpage_stepper", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L19", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_24", "target": "page_objects_wizard_run_page_wizardrunpage_title", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L24", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_29", "target": "page_objects_wizard_run_page_wizardrunpage_mode_badge_experimental", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L29", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_34", "target": "page_objects_wizard_run_page_wizardrunpage_mode_badge_test", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L34", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_38", "target": "page_objects_wizard_run_page_wizardrunpage_step", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L38", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_43", "target": "page_objects_wizard_run_page_wizardrunpage_back", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L43", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_51", "target": "page_objects_wizard_run_page_wizardrunpage_cancel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L51", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_56", "target": "page_objects_wizard_run_page_wizardrunpage_next", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L56", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_61", "target": "page_objects_wizard_run_page_wizardrunpage_submit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L61", "weight": 1.0}, {"source": "page_objects_wizard_run_page_rationale_66", "target": "page_objects_wizard_run_page_wizardrunpage_success_card", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L66", "weight": 1.0}], "raw_calls": [{"caller_nid": "page_objects_wizard_run_page_stepper", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L20"}, {"caller_nid": "page_objects_wizard_run_page_title", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L25"}, {"caller_nid": "page_objects_wizard_run_page_mode_badge_experimental", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L30"}, {"caller_nid": "page_objects_wizard_run_page_mode_badge_test", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L35"}, {"caller_nid": "page_objects_wizard_run_page_wizardrunpage_step", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L39"}, {"caller_nid": "page_objects_wizard_run_page_back", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L47"}, {"caller_nid": "page_objects_wizard_run_page_cancel", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L52"}, {"caller_nid": "page_objects_wizard_run_page_next", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L57"}, {"caller_nid": "page_objects_wizard_run_page_submit", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L62"}, {"caller_nid": "page_objects_wizard_run_page_success_card", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py", "source_location": "L67"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/792f7e3fb077525f66bc30b79ee5f5b4848048348ffbd5030fe6f1beeb8e0573.json b/graphify-out/cache/ast/792f7e3fb077525f66bc30b79ee5f5b4848048348ffbd5030fe6f1beeb8e0573.json deleted file mode 100644 index 596f892..0000000 --- a/graphify-out/cache/ast/792f7e3fb077525f66bc30b79ee5f5b4848048348ffbd5030fe6f1beeb8e0573.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_hello_plugin_plugin_py", "label": "plugin.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L1"}, {"id": "hello_plugin_plugin_helloplugin", "label": "HelloPlugin", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L20"}, {"id": "plugin", "label": "Plugin", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "hello_plugin_plugin_helloplugin_can_handle", "label": ".can_handle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L28"}, {"id": "hello_plugin_plugin_helloplugin_transform", "label": ".transform()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L32"}, {"id": "hello_plugin_plugin_rationale_1", "label": "hello_plugin -- minimal real plugin used by the host integration suite. Backend", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L1"}, {"id": "hello_plugin_plugin_rationale_21", "label": "Append ``hello\\\\n`` to every ``.txt`` file the host hands us.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L21"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_hello_plugin_plugin_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_hello_plugin_plugin_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_hello_plugin_plugin_py", "target": "exlab_wizard_plugins", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_hello_plugin_plugin_py", "target": "hello_plugin_plugin_helloplugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L20", "weight": 1.0}, {"source": "hello_plugin_plugin_helloplugin", "target": "plugin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L20", "weight": 1.0}, {"source": "hello_plugin_plugin_helloplugin", "target": "hello_plugin_plugin_helloplugin_can_handle", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L28", "weight": 1.0}, {"source": "hello_plugin_plugin_helloplugin", "target": "hello_plugin_plugin_helloplugin_transform", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L32", "weight": 1.0}, {"source": "hello_plugin_plugin_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_hello_plugin_plugin_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L1", "weight": 1.0}, {"source": "hello_plugin_plugin_rationale_21", "target": "hello_plugin_plugin_helloplugin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L21", "weight": 1.0}], "raw_calls": [{"caller_nid": "hello_plugin_plugin_helloplugin_transform", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L33"}, {"caller_nid": "hello_plugin_plugin_helloplugin_transform", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L35"}, {"caller_nid": "hello_plugin_plugin_helloplugin_transform", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L36"}, {"caller_nid": "hello_plugin_plugin_helloplugin_transform", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L38"}, {"caller_nid": "hello_plugin_plugin_helloplugin_transform", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py", "source_location": "L39"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/7ac3d111d8b615afdad242ac6b4486ecc67b846a7c2a6c66df7e6cd9c3629fba.json b/graphify-out/cache/ast/7ac3d111d8b615afdad242ac6b4486ecc67b846a7c2a6c66df7e6cd9c3629fba.json deleted file mode 100644 index cc2184e..0000000 --- a/graphify-out/cache/ast/7ac3d111d8b615afdad242ac6b4486ecc67b846a7c2a6c66df7e6cd9c3629fba.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "label": "test_sync_state_writer.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L1"}, {"id": "cache_test_sync_state_writer_state_path", "label": "_state_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L25"}, {"id": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state", "label": "test_read_when_absent_returns_empty_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L34"}, {"id": "cache_test_sync_state_writer_test_upsert_file_creates_a_record", "label": "test_upsert_file_creates_a_record()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L52"}, {"id": "cache_test_sync_state_writer_test_upsert_file_updates_existing_record", "label": "test_upsert_file_updates_existing_record()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L72"}, {"id": "cache_test_sync_state_writer_test_upsert_file_preserves_keep_local", "label": "test_upsert_file_preserves_keep_local()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L90"}, {"id": "cache_test_sync_state_writer_test_set_keep_local_creates_record_if_absent", "label": "test_set_keep_local_creates_record_if_absent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L112"}, {"id": "cache_test_sync_state_writer_test_set_keep_local_toggles_and_preserves_sync_fields", "label": "test_set_keep_local_toggles_and_preserves_sync_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L123"}, {"id": "cache_test_sync_state_writer_test_mark_cleared_sets_cleared_at", "label": "test_mark_cleared_sets_cleared_at()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L148"}, {"id": "cache_test_sync_state_writer_test_mark_cleared_on_absent_file_creates_state", "label": "test_mark_cleared_on_absent_file_creates_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L163"}, {"id": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "label": "test_mutators_create_missing_exlab_wizard_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L172"}, {"id": "cache_test_sync_state_writer_test_rollup_state_syncing_when_empty", "label": "test_rollup_state_syncing_when_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L203"}, {"id": "cache_test_sync_state_writer_test_rollup_state_syncing_when_some_unverified", "label": "test_rollup_state_syncing_when_some_unverified()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L208"}, {"id": "cache_test_sync_state_writer_test_rollup_state_synced_when_all_verified", "label": "test_rollup_state_synced_when_all_verified()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L219"}, {"id": "cache_test_sync_state_writer_test_rollup_state_cleared_takes_precedence_over_unverified", "label": "test_rollup_state_cleared_takes_precedence_over_unverified()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L230"}, {"id": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec", "label": "test_sync_state_json_round_trips_through_msgspec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L244"}, {"id": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", "label": "test_read_raises_on_schema_major_mismatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L272"}, {"id": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", "label": "test_concurrent_upserts_on_distinct_files_both_survive()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L302"}, {"id": "cache_test_sync_state_writer_rationale_1", "label": "Unit tests for ``exlab_wizard.cache.sync_state_writer``. Covers the operator-fr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L1"}, {"id": "cache_test_sync_state_writer_rationale_173", "label": "Each blocking mutator mkdir's the run's ``.exlab-wizard/`` cache dir. S2 ro", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L173"}, {"id": "cache_test_sync_state_writer_rationale_273", "label": "A file at a different schema major than the writer is rejected. The writer", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L273"}, {"id": "cache_test_sync_state_writer_rationale_303", "label": "Two concurrent ``upsert_file`` calls on the same run, distinct paths. The `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L303"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "exlab_wizard_cache_sync_state_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_state_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_upsert_file_creates_a_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_upsert_file_updates_existing_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_upsert_file_preserves_keep_local", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_set_keep_local_creates_record_if_absent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_set_keep_local_toggles_and_preserves_sync_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_mark_cleared_sets_cleared_at", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L148", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_mark_cleared_on_absent_file_creates_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L163", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L172", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_rollup_state_syncing_when_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L203", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_rollup_state_syncing_when_some_unverified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L208", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_rollup_state_synced_when_all_verified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L219", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_rollup_state_cleared_takes_precedence_over_unverified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L230", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L244", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L272", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "target": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L302", "weight": 1.0}, {"source": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state", "target": "cache_test_sync_state_writer_state_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L44", "weight": 1.0}, {"source": "cache_test_sync_state_writer_test_upsert_file_creates_a_record", "target": "cache_test_sync_state_writer_state_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L62", "weight": 1.0}, {"source": "cache_test_sync_state_writer_test_mark_cleared_on_absent_file_creates_state", "target": "cache_test_sync_state_writer_state_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L169", "weight": 1.0}, {"source": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "target": "cache_test_sync_state_writer_state_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L192", "weight": 1.0}, {"source": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", "target": "cache_test_sync_state_writer_state_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L278", "weight": 1.0}, {"source": "cache_test_sync_state_writer_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_cache_test_sync_state_writer_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L1", "weight": 1.0}, {"source": "cache_test_sync_state_writer_rationale_173", "target": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L173", "weight": 1.0}, {"source": "cache_test_sync_state_writer_rationale_273", "target": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L273", "weight": 1.0}, {"source": "cache_test_sync_state_writer_rationale_303", "target": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L303", "weight": 1.0}], "raw_calls": [{"caller_nid": "cache_test_sync_state_writer_state_path", "callee": "cache_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L26"}, {"caller_nid": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L35"}, {"caller_nid": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L37"}, {"caller_nid": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L39"}, {"caller_nid": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L44"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_creates_a_record", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L53"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_creates_a_record", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L55"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_creates_a_record", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L62"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_creates_a_record", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L68"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_updates_existing_record", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L73"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_updates_existing_record", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L74"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_updates_existing_record", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L76"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_updates_existing_record", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L87"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_preserves_keep_local", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L91"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_preserves_keep_local", "callee": "set_keep_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L92"}, {"caller_nid": "cache_test_sync_state_writer_test_upsert_file_preserves_keep_local", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L94"}, {"caller_nid": "cache_test_sync_state_writer_test_set_keep_local_creates_record_if_absent", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L113"}, {"caller_nid": "cache_test_sync_state_writer_test_set_keep_local_creates_record_if_absent", "callee": "set_keep_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L115"}, {"caller_nid": "cache_test_sync_state_writer_test_set_keep_local_toggles_and_preserves_sync_fields", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L124"}, {"caller_nid": "cache_test_sync_state_writer_test_set_keep_local_toggles_and_preserves_sync_fields", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L125"}, {"caller_nid": "cache_test_sync_state_writer_test_set_keep_local_toggles_and_preserves_sync_fields", "callee": "set_keep_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L132"}, {"caller_nid": "cache_test_sync_state_writer_test_set_keep_local_toggles_and_preserves_sync_fields", "callee": "set_keep_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L138"}, {"caller_nid": "cache_test_sync_state_writer_test_mark_cleared_sets_cleared_at", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L149"}, {"caller_nid": "cache_test_sync_state_writer_test_mark_cleared_sets_cleared_at", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L150"}, {"caller_nid": "cache_test_sync_state_writer_test_mark_cleared_sets_cleared_at", "callee": "mark_cleared", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L152"}, {"caller_nid": "cache_test_sync_state_writer_test_mark_cleared_sets_cleared_at", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L155"}, {"caller_nid": "cache_test_sync_state_writer_test_mark_cleared_sets_cleared_at", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L159"}, {"caller_nid": "cache_test_sync_state_writer_test_mark_cleared_on_absent_file_creates_state", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L164"}, {"caller_nid": "cache_test_sync_state_writer_test_mark_cleared_on_absent_file_creates_state", "callee": "mark_cleared", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L166"}, {"caller_nid": "cache_test_sync_state_writer_test_mark_cleared_on_absent_file_creates_state", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L169"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L179"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L182"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L184"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L186"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L188"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "set_keep_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L189"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "mark_cleared", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L190"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L192"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L193"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L194"}, {"caller_nid": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", "callee": "read_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L195"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_syncing_when_empty", "callee": "SyncStateJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L204"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_syncing_when_empty", "callee": "rollup_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L205"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_syncing_when_some_unverified", "callee": "SyncStateJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L209"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_syncing_when_some_unverified", "callee": "FileSyncRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L212"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_syncing_when_some_unverified", "callee": "FileSyncRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L213"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_syncing_when_some_unverified", "callee": "rollup_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L216"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_synced_when_all_verified", "callee": "SyncStateJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L220"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_synced_when_all_verified", "callee": "FileSyncRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L223"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_synced_when_all_verified", "callee": "FileSyncRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L224"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_synced_when_all_verified", "callee": "rollup_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L227"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_cleared_takes_precedence_over_unverified", "callee": "SyncStateJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L231"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_cleared_takes_precedence_over_unverified", "callee": "FileSyncRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L234"}, {"caller_nid": "cache_test_sync_state_writer_test_rollup_state_cleared_takes_precedence_over_unverified", "callee": "rollup_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L236"}, {"caller_nid": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec", "callee": "SyncStateJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L245"}, {"caller_nid": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec", "callee": "FileSyncRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L249"}, {"caller_nid": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec", "callee": "FileSyncRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L254"}, {"caller_nid": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L258"}, {"caller_nid": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L259"}, {"caller_nid": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L279"}, {"caller_nid": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L280"}, {"caller_nid": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L281"}, {"caller_nid": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L290"}, {"caller_nid": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L291"}, {"caller_nid": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L292"}, {"caller_nid": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L308"}, {"caller_nid": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", "callee": "gather", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L310"}, {"caller_nid": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L311"}, {"caller_nid": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L317"}, {"caller_nid": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L325"}, {"caller_nid": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py", "source_location": "L326"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/7b64a4bbb82b344924a1968a04dd4ee9d5723f5900386bba00f4f66a0c30f7a5.json b/graphify-out/cache/ast/7b64a4bbb82b344924a1968a04dd4ee9d5723f5900386bba00f4f66a0c30f7a5.json deleted file mode 100644 index 8ad0cf0..0000000 --- a/graphify-out/cache/ast/7b64a4bbb82b344924a1968a04dd4ee9d5723f5900386bba00f4f66a0c30f7a5.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_04_test_run_py", "label": "test_flow_04_test_run.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L1"}, {"id": "e2e_test_flow_04_test_run_test_flow_04_test_run", "label": "test_flow_04_test_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L17"}, {"id": "e2e_test_flow_04_test_run_rationale_1", "label": "E2E flow 04: Test-run wizard end-to-end. Frontend Spec \u00a76.4 (run wizard, test m", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_04_test_run_py", "target": "tests_e2e_page_objects_wizard_run_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_04_test_run_py", "target": "e2e_test_flow_04_test_run_test_flow_04_test_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L17", "weight": 1.0}, {"source": "e2e_test_flow_04_test_run_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_04_test_run_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "WizardRunPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L18"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L19"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L30"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "step", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L30"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L42"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L43"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L53"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L53"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L56"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L56"}, {"caller_nid": "e2e_test_flow_04_test_run_test_flow_04_test_run", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py", "source_location": "L59"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/7c55f27d8c1b2f28d52e5343b6cb0e8107602a224da9adfe53391279ceb91190.json b/graphify-out/cache/ast/7c55f27d8c1b2f28d52e5343b6cb0e8107602a224da9adfe53391279ceb91190.json deleted file mode 100644 index e1a4274..0000000 --- a/graphify-out/cache/ast/7c55f27d8c1b2f28d52e5343b6cb0e8107602a224da9adfe53391279ceb91190.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "label": "test_autostart.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L1"}, {"id": "tray_test_autostart_test_macos_register_writes_plist", "label": "test_macos_register_writes_plist()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L24"}, {"id": "tray_test_autostart_test_macos_unregister_removes_plist", "label": "test_macos_unregister_removes_plist()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L40"}, {"id": "tray_test_autostart_test_macos_register_is_idempotent", "label": "test_macos_register_is_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L51"}, {"id": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", "label": "test_linux_register_writes_systemd_and_desktop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L63"}, {"id": "tray_test_autostart_test_linux_unregister_removes_both_files", "label": "test_linux_unregister_removes_both_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L80"}, {"id": "tray_test_autostart_test_linux_is_registered_when_only_desktop_present", "label": "test_linux_is_registered_when_only_desktop_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L87"}, {"id": "tray_test_autostart_fakekey", "label": "_FakeKey", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L100"}, {"id": "tray_test_autostart_fakekey_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L101"}, {"id": "tray_test_autostart_fakekey_enter", "label": ".__enter__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L105"}, {"id": "tray_test_autostart_fakekey_exit", "label": ".__exit__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L108"}, {"id": "tray_test_autostart_fakewinreg", "label": "_FakeWinreg", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L112"}, {"id": "tray_test_autostart_fakewinreg_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L118"}, {"id": "tray_test_autostart_fakewinreg_openkey", "label": ".OpenKey()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L122"}, {"id": "tray_test_autostart_fakewinreg_setvalueex", "label": ".SetValueEx()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L133"}, {"id": "tray_test_autostart_fakewinreg_queryvalueex", "label": ".QueryValueEx()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L145"}, {"id": "tray_test_autostart_fakewinreg_deletevalue", "label": ".DeleteValue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L150"}, {"id": "tray_test_autostart_fake_winreg", "label": "fake_winreg()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L155"}, {"id": "tray_test_autostart_test_windows_register_sets_run_value", "label": "test_windows_register_sets_run_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L161"}, {"id": "tray_test_autostart_test_windows_unregister_deletes_run_value", "label": "test_windows_unregister_deletes_run_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L173"}, {"id": "tray_test_autostart_test_windows_unregister_when_value_missing_is_safe", "label": "test_windows_unregister_when_value_missing_is_safe()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L185"}, {"id": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query", "label": "test_windows_open_key_handles_filenotfound_on_query()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L193"}, {"id": "tray_test_autostart_test_silently_unlink_tolerates_missing", "label": "test_silently_unlink_tolerates_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L211"}, {"id": "tray_test_autostart_test_env_var_root_overrides_constructor", "label": "test_env_var_root_overrides_constructor()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L223"}, {"id": "tray_test_autostart_test_executable_path_property", "label": "test_executable_path_property()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L238"}, {"id": "tray_test_autostart_test_default_executable_falls_back_to_sys_executable", "label": "test_default_executable_falls_back_to_sys_executable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L244"}, {"id": "tray_test_autostart_test_detect_platform_returns_known_value", "label": "test_detect_platform_returns_known_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L250"}, {"id": "tray_test_autostart_test_detect_platform_dispatch", "label": "test_detect_platform_dispatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L255"}, {"id": "tray_test_autostart_rationale_1", "label": "Tests for :mod:`exlab_wizard.tray.autostart`. Backend Spec \u00a715.7.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L1"}, {"id": "tray_test_autostart_rationale_196", "label": "When ``OpenKey`` raises FileNotFoundError, ``is_registered`` returns False.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L196"}, {"id": "tray_test_autostart_rationale_212", "label": "Internal helper tolerates a missing path without raising.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L212"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "exlab_wizard_tray_autostart", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_macos_register_writes_plist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_macos_unregister_removes_plist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_macos_register_is_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_linux_unregister_removes_both_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_linux_is_registered_when_only_desktop_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_fakekey", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L100", "weight": 1.0}, {"source": "tray_test_autostart_fakekey", "target": "tray_test_autostart_fakekey_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L101", "weight": 1.0}, {"source": "tray_test_autostart_fakekey", "target": "tray_test_autostart_fakekey_enter", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L105", "weight": 1.0}, {"source": "tray_test_autostart_fakekey", "target": "tray_test_autostart_fakekey_exit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_fakewinreg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L112", "weight": 1.0}, {"source": "tray_test_autostart_fakewinreg", "target": "tray_test_autostart_fakewinreg_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L118", "weight": 1.0}, {"source": "tray_test_autostart_fakewinreg", "target": "tray_test_autostart_fakewinreg_openkey", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L122", "weight": 1.0}, {"source": "tray_test_autostart_fakewinreg", "target": "tray_test_autostart_fakewinreg_setvalueex", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L133", "weight": 1.0}, {"source": "tray_test_autostart_fakewinreg", "target": "tray_test_autostart_fakewinreg_queryvalueex", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L145", "weight": 1.0}, {"source": "tray_test_autostart_fakewinreg", "target": "tray_test_autostart_fakewinreg_deletevalue", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L150", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_fake_winreg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L155", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_windows_register_sets_run_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L161", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_windows_unregister_deletes_run_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L173", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_windows_unregister_when_value_missing_is_safe", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L185", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L193", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_silently_unlink_tolerates_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L211", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_env_var_root_overrides_constructor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L223", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_executable_path_property", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L238", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_default_executable_falls_back_to_sys_executable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L244", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_detect_platform_returns_known_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L250", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "target": "tray_test_autostart_test_detect_platform_dispatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L255", "weight": 1.0}, {"source": "tray_test_autostart_fakewinreg_openkey", "target": "tray_test_autostart_fakekey", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L131", "weight": 1.0}, {"source": "tray_test_autostart_fake_winreg", "target": "tray_test_autostart_fakewinreg", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L156", "weight": 1.0}, {"source": "tray_test_autostart_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_tray_test_autostart_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_test_autostart_rationale_196", "target": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L196", "weight": 1.0}, {"source": "tray_test_autostart_rationale_212", "target": "tray_test_autostart_test_silently_unlink_tolerates_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L212", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_test_autostart_test_macos_register_writes_plist", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L25"}, {"caller_nid": "tray_test_autostart_test_macos_register_writes_plist", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L30"}, {"caller_nid": "tray_test_autostart_test_macos_register_writes_plist", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L31"}, {"caller_nid": "tray_test_autostart_test_macos_register_writes_plist", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L33"}, {"caller_nid": "tray_test_autostart_test_macos_register_writes_plist", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L34"}, {"caller_nid": "tray_test_autostart_test_macos_register_writes_plist", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L37"}, {"caller_nid": "tray_test_autostart_test_macos_unregister_removes_plist", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L41"}, {"caller_nid": "tray_test_autostart_test_macos_unregister_removes_plist", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L46"}, {"caller_nid": "tray_test_autostart_test_macos_unregister_removes_plist", "callee": "unregister", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L47"}, {"caller_nid": "tray_test_autostart_test_macos_unregister_removes_plist", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L48"}, {"caller_nid": "tray_test_autostart_test_macos_register_is_idempotent", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L52"}, {"caller_nid": "tray_test_autostart_test_macos_register_is_idempotent", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L53"}, {"caller_nid": "tray_test_autostart_test_macos_register_is_idempotent", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L54"}, {"caller_nid": "tray_test_autostart_test_macos_register_is_idempotent", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L55"}, {"caller_nid": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L64"}, {"caller_nid": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L69"}, {"caller_nid": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L70"}, {"caller_nid": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L73"}, {"caller_nid": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L74"}, {"caller_nid": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L75"}, {"caller_nid": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L76"}, {"caller_nid": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L77"}, {"caller_nid": "tray_test_autostart_test_linux_unregister_removes_both_files", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L81"}, {"caller_nid": "tray_test_autostart_test_linux_unregister_removes_both_files", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L82"}, {"caller_nid": "tray_test_autostart_test_linux_unregister_removes_both_files", "callee": "unregister", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L83"}, {"caller_nid": "tray_test_autostart_test_linux_unregister_removes_both_files", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L84"}, {"caller_nid": "tray_test_autostart_test_linux_is_registered_when_only_desktop_present", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L88"}, {"caller_nid": "tray_test_autostart_test_linux_is_registered_when_only_desktop_present", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L90"}, {"caller_nid": "tray_test_autostart_test_linux_is_registered_when_only_desktop_present", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L91"}, {"caller_nid": "tray_test_autostart_test_linux_is_registered_when_only_desktop_present", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L92"}, {"caller_nid": "tray_test_autostart_fakewinreg_openkey", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L130"}, {"caller_nid": "tray_test_autostart_fakewinreg_queryvalueex", "callee": "FileNotFoundError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L147"}, {"caller_nid": "tray_test_autostart_fakewinreg_deletevalue", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L151"}, {"caller_nid": "tray_test_autostart_fake_winreg", "callee": "setitem", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L157"}, {"caller_nid": "tray_test_autostart_test_windows_register_sets_run_value", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L162"}, {"caller_nid": "tray_test_autostart_test_windows_register_sets_run_value", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L167"}, {"caller_nid": "tray_test_autostart_test_windows_register_sets_run_value", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L168"}, {"caller_nid": "tray_test_autostart_test_windows_register_sets_run_value", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L170"}, {"caller_nid": "tray_test_autostart_test_windows_unregister_deletes_run_value", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L174"}, {"caller_nid": "tray_test_autostart_test_windows_unregister_deletes_run_value", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L179"}, {"caller_nid": "tray_test_autostart_test_windows_unregister_deletes_run_value", "callee": "unregister", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L180"}, {"caller_nid": "tray_test_autostart_test_windows_unregister_deletes_run_value", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L182"}, {"caller_nid": "tray_test_autostart_test_windows_unregister_when_value_missing_is_safe", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L189"}, {"caller_nid": "tray_test_autostart_test_windows_unregister_when_value_missing_is_safe", "callee": "unregister", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L190"}, {"caller_nid": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query", "callee": "setitem", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L204"}, {"caller_nid": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query", "callee": "_ErrorWinreg", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L204"}, {"caller_nid": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L205"}, {"caller_nid": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query", "callee": "is_registered", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L206"}, {"caller_nid": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query", "callee": "unregister", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L208"}, {"caller_nid": "tray_test_autostart_test_silently_unlink_tolerates_missing", "callee": "_silently_unlink", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L215"}, {"caller_nid": "tray_test_autostart_test_env_var_root_overrides_constructor", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L227"}, {"caller_nid": "tray_test_autostart_test_env_var_root_overrides_constructor", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L228"}, {"caller_nid": "tray_test_autostart_test_env_var_root_overrides_constructor", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L228"}, {"caller_nid": "tray_test_autostart_test_env_var_root_overrides_constructor", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L229"}, {"caller_nid": "tray_test_autostart_test_env_var_root_overrides_constructor", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L234"}, {"caller_nid": "tray_test_autostart_test_env_var_root_overrides_constructor", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L235"}, {"caller_nid": "tray_test_autostart_test_executable_path_property", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L239"}, {"caller_nid": "tray_test_autostart_test_default_executable_falls_back_to_sys_executable", "callee": "AutostartManager", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L245"}, {"caller_nid": "tray_test_autostart_test_detect_platform_returns_known_value", "callee": "_detect_platform", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L251"}, {"caller_nid": "tray_test_autostart_test_detect_platform_dispatch", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L256"}, {"caller_nid": "tray_test_autostart_test_detect_platform_dispatch", "callee": "_detect_platform", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L257"}, {"caller_nid": "tray_test_autostart_test_detect_platform_dispatch", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L258"}, {"caller_nid": "tray_test_autostart_test_detect_platform_dispatch", "callee": "_detect_platform", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L259"}, {"caller_nid": "tray_test_autostart_test_detect_platform_dispatch", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L260"}, {"caller_nid": "tray_test_autostart_test_detect_platform_dispatch", "callee": "_detect_platform", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py", "source_location": "L261"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/7d6e9a3d55d2ab805524ecc66728c76b8c7d3241423ee0833755b75e130b898a.json b/graphify-out/cache/ast/7d6e9a3d55d2ab805524ecc66728c76b8c7d3241423ee0833755b75e130b898a.json deleted file mode 100644 index 202cf11..0000000 --- a/graphify-out/cache/ast/7d6e9a3d55d2ab805524ecc66728c76b8c7d3241423ee0833755b75e130b898a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "label": "test_generator.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L1"}, {"id": "readme_test_generator_system_fields", "label": "_system_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L57"}, {"id": "readme_test_generator_ctx", "label": "_ctx()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L73"}, {"id": "readme_test_generator_generator", "label": "generator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L99"}, {"id": "readme_test_generator_test_generate_writes_both_files", "label": "test_generate_writes_both_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L109"}, {"id": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "label": "test_readme_starts_with_yaml_front_matter()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L118"}, {"id": "readme_test_generator_test_readme_body_includes_label_and_objective", "label": "test_readme_body_includes_label_and_objective()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L135"}, {"id": "readme_test_generator_test_readme_fields_json_round_trips", "label": "test_readme_fields_json_round_trips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L148"}, {"id": "readme_test_generator_test_empty_core_field_rejected", "label": "test_empty_core_field_rejected()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L192"}, {"id": "readme_test_generator_test_label_over_max_length_rejected", "label": "test_label_over_max_length_rejected()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L201"}, {"id": "readme_test_generator_test_objective_over_max_length_rejected", "label": "test_objective_over_max_length_rejected()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L208"}, {"id": "readme_test_generator_test_required_template_field_missing_raises", "label": "test_required_template_field_missing_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L222"}, {"id": "readme_test_generator_test_required_config_field_missing_raises", "label": "test_required_config_field_missing_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L231"}, {"id": "readme_test_generator_test_duplicate_field_id_across_layers_raises", "label": "test_duplicate_field_id_across_layers_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L247"}, {"id": "readme_test_generator_test_custom_field_label_collides_with_template_id", "label": "test_custom_field_label_collides_with_template_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L263"}, {"id": "readme_test_generator_test_core_field_redeclared_in_template_raises", "label": "test_core_field_redeclared_in_template_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L281"}, {"id": "readme_test_generator_test_core_field_redeclared_in_config_raises", "label": "test_core_field_redeclared_in_config_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L290"}, {"id": "readme_test_generator_test_project_level_system_run_is_none", "label": "test_project_level_system_run_is_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L304"}, {"id": "readme_test_generator_test_run_level_experimental_run_name", "label": "test_run_level_experimental_run_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L313"}, {"id": "readme_test_generator_test_run_level_test_run_name", "label": "test_run_level_test_run_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L322"}, {"id": "readme_test_generator_test_string_type_accepts_string_rejects_int", "label": "test_string_type_accepts_string_rejects_int()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L336"}, {"id": "readme_test_generator_test_text_type_accepts_multiline_rejects_list", "label": "test_text_type_accepts_multiline_rejects_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L354"}, {"id": "readme_test_generator_test_choice_type_accepts_listed_rejects_other", "label": "test_choice_type_accepts_listed_rejects_other()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L370"}, {"id": "readme_test_generator_test_choice_without_options_raises", "label": "test_choice_without_options_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L386"}, {"id": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", "label": "test_date_type_accepts_iso8601_rejects_garbage()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L396"}, {"id": "readme_test_generator_test_date_type_rejects_non_string", "label": "test_date_type_rejects_non_string()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L419"}, {"id": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", "label": "test_boolean_type_accepts_bool_rejects_string()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L429"}, {"id": "readme_test_generator_test_unknown_field_type_raises", "label": "test_unknown_field_type_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L449"}, {"id": "readme_test_generator_test_choice_type_rejects_non_string_value", "label": "test_choice_type_rejects_non_string_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L459"}, {"id": "readme_test_generator_test_generate_is_idempotent_byte_identical", "label": "test_generate_is_idempotent_byte_identical()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L476"}, {"id": "readme_test_generator_test_generated_at_uses_z_suffix", "label": "test_generated_at_uses_z_suffix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L512"}, {"id": "readme_test_generator_test_cache_dir_created_on_demand", "label": "test_cache_dir_created_on_demand()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L520"}, {"id": "readme_test_generator_test_value_without_declaration_skips_typecheck", "label": "test_value_without_declaration_skips_typecheck()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L529"}, {"id": "readme_test_generator_test_optional_empty_field_is_skipped", "label": "test_optional_empty_field_is_skipped()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L546"}, {"id": "readme_test_generator_test_required_field_present_with_none_raises", "label": "test_required_field_present_with_none_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L556"}, {"id": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", "label": "test_generated_at_uses_z_for_naive_datetime()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L569"}, {"id": "readme_test_generator_rationale_1", "label": "Tests for :class:`exlab_wizard.readme.generator.ReadmeGenerator`. Pins the cont", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L1"}, {"id": "readme_test_generator_rationale_479", "label": "Calling generate twice with the same context produces identical bytes.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L479"}, {"id": "readme_test_generator_rationale_532", "label": "A value whose id has no declaration is permitted (controller-side merge).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L532"}, {"id": "readme_test_generator_rationale_547", "label": "An optional field with an empty value passes; type check is skipped.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L547"}, {"id": "readme_test_generator_rationale_559", "label": "``None`` is treated as absent for required fields.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L559"}, {"id": "readme_test_generator_rationale_572", "label": "Naive datetimes are treated as already-UTC (no timezone gymnastics).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L572"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "yaml", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "exlab_wizard_readme", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_system_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_ctx", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L73", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_generator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L99", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_generate_writes_both_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L109", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L118", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_readme_body_includes_label_and_objective", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_readme_fields_json_round_trips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L148", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_empty_core_field_rejected", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L192", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_label_over_max_length_rejected", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L201", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_objective_over_max_length_rejected", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L208", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_required_template_field_missing_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L222", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_required_config_field_missing_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L231", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_duplicate_field_id_across_layers_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L247", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_custom_field_label_collides_with_template_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L263", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_core_field_redeclared_in_template_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L281", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_core_field_redeclared_in_config_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L290", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_project_level_system_run_is_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L304", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_run_level_experimental_run_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L313", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_run_level_test_run_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L322", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_string_type_accepts_string_rejects_int", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L336", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_text_type_accepts_multiline_rejects_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L354", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_choice_type_accepts_listed_rejects_other", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L370", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_choice_without_options_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L386", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L396", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_date_type_rejects_non_string", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L419", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L429", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_unknown_field_type_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L449", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_choice_type_rejects_non_string_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L459", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_generate_is_idempotent_byte_identical", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L476", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_generated_at_uses_z_suffix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L512", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_cache_dir_created_on_demand", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L520", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_value_without_declaration_skips_typecheck", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L529", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_optional_empty_field_is_skipped", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L546", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_required_field_present_with_none_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L556", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "target": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L569", "weight": 1.0}, {"source": "readme_test_generator_ctx", "target": "readme_test_generator_system_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L92", "weight": 1.0}, {"source": "readme_test_generator_test_generate_writes_both_files", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L110", "weight": 1.0}, {"source": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L121", "weight": 1.0}, {"source": "readme_test_generator_test_readme_body_includes_label_and_objective", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L140", "weight": 1.0}, {"source": "readme_test_generator_test_readme_fields_json_round_trips", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L151", "weight": 1.0}, {"source": "readme_test_generator_test_empty_core_field_rejected", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L197", "weight": 1.0}, {"source": "readme_test_generator_test_label_over_max_length_rejected", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L204", "weight": 1.0}, {"source": "readme_test_generator_test_objective_over_max_length_rejected", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L213", "weight": 1.0}, {"source": "readme_test_generator_test_required_template_field_missing_raises", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L227", "weight": 1.0}, {"source": "readme_test_generator_test_required_config_field_missing_raises", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L237", "weight": 1.0}, {"source": "readme_test_generator_test_duplicate_field_id_across_layers_raises", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L255", "weight": 1.0}, {"source": "readme_test_generator_test_custom_field_label_collides_with_template_id", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L271", "weight": 1.0}, {"source": "readme_test_generator_test_core_field_redeclared_in_template_raises", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L286", "weight": 1.0}, {"source": "readme_test_generator_test_core_field_redeclared_in_config_raises", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L295", "weight": 1.0}, {"source": "readme_test_generator_test_project_level_system_run_is_none", "target": "readme_test_generator_system_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L305", "weight": 1.0}, {"source": "readme_test_generator_test_project_level_system_run_is_none", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L306", "weight": 1.0}, {"source": "readme_test_generator_test_run_level_experimental_run_name", "target": "readme_test_generator_system_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L314", "weight": 1.0}, {"source": "readme_test_generator_test_run_level_experimental_run_name", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L315", "weight": 1.0}, {"source": "readme_test_generator_test_run_level_test_run_name", "target": "readme_test_generator_system_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L323", "weight": 1.0}, {"source": "readme_test_generator_test_run_level_test_run_name", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L324", "weight": 1.0}, {"source": "readme_test_generator_test_string_type_accepts_string_rejects_int", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L343", "weight": 1.0}, {"source": "readme_test_generator_test_text_type_accepts_multiline_rejects_list", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L360", "weight": 1.0}, {"source": "readme_test_generator_test_choice_type_accepts_listed_rejects_other", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L376", "weight": 1.0}, {"source": "readme_test_generator_test_choice_without_options_raises", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L391", "weight": 1.0}, {"source": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L402", "weight": 1.0}, {"source": "readme_test_generator_test_date_type_rejects_non_string", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L424", "weight": 1.0}, {"source": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L435", "weight": 1.0}, {"source": "readme_test_generator_test_unknown_field_type_raises", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L454", "weight": 1.0}, {"source": "readme_test_generator_test_choice_type_rejects_non_string_value", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L466", "weight": 1.0}, {"source": "readme_test_generator_test_generate_is_idempotent_byte_identical", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L480", "weight": 1.0}, {"source": "readme_test_generator_test_generated_at_uses_z_suffix", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L513", "weight": 1.0}, {"source": "readme_test_generator_test_cache_dir_created_on_demand", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L523", "weight": 1.0}, {"source": "readme_test_generator_test_value_without_declaration_skips_typecheck", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L538", "weight": 1.0}, {"source": "readme_test_generator_test_optional_empty_field_is_skipped", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L551", "weight": 1.0}, {"source": "readme_test_generator_test_required_field_present_with_none_raises", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L564", "weight": 1.0}, {"source": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", "target": "readme_test_generator_ctx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L582", "weight": 1.0}, {"source": "readme_test_generator_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_readme_test_generator_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L1", "weight": 1.0}, {"source": "readme_test_generator_rationale_479", "target": "readme_test_generator_test_generate_is_idempotent_byte_identical", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L479", "weight": 1.0}, {"source": "readme_test_generator_rationale_532", "target": "readme_test_generator_test_value_without_declaration_skips_typecheck", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L532", "weight": 1.0}, {"source": "readme_test_generator_rationale_547", "target": "readme_test_generator_test_optional_empty_field_is_skipped", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L547", "weight": 1.0}, {"source": "readme_test_generator_rationale_559", "target": "readme_test_generator_test_required_field_present_with_none_raises", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L559", "weight": 1.0}, {"source": "readme_test_generator_rationale_572", "target": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L572", "weight": 1.0}], "raw_calls": [{"caller_nid": "readme_test_generator_system_fields", "callee": "SystemFields", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L62"}, {"caller_nid": "readme_test_generator_system_fields", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L63"}, {"caller_nid": "readme_test_generator_ctx", "callee": "ReadmeContext", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L86"}, {"caller_nid": "readme_test_generator_ctx", "callee": "CoreFields", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L88"}, {"caller_nid": "readme_test_generator_generator", "callee": "ReadmeGenerator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L100"}, {"caller_nid": "readme_test_generator_test_generate_writes_both_files", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L110"}, {"caller_nid": "readme_test_generator_test_generate_writes_both_files", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L113"}, {"caller_nid": "readme_test_generator_test_generate_writes_both_files", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L114"}, {"caller_nid": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L121"}, {"caller_nid": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L122"}, {"caller_nid": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L123"}, {"caller_nid": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "callee": "partition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L126"}, {"caller_nid": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L127"}, {"caller_nid": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L128"}, {"caller_nid": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L131"}, {"caller_nid": "readme_test_generator_test_readme_starts_with_yaml_front_matter", "callee": "lstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L131"}, {"caller_nid": "readme_test_generator_test_readme_body_includes_label_and_objective", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L138"}, {"caller_nid": "readme_test_generator_test_readme_body_includes_label_and_objective", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L142"}, {"caller_nid": "readme_test_generator_test_readme_body_includes_label_and_objective", "callee": "partition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L143"}, {"caller_nid": "readme_test_generator_test_readme_body_includes_label_and_objective", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L144"}, {"caller_nid": "readme_test_generator_test_readme_fields_json_round_trips", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L149"}, {"caller_nid": "readme_test_generator_test_readme_fields_json_round_trips", "callee": "CustomField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L154"}, {"caller_nid": "readme_test_generator_test_readme_fields_json_round_trips", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L156"}, {"caller_nid": "readme_test_generator_test_readme_fields_json_round_trips", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L164"}, {"caller_nid": "readme_test_generator_test_readme_fields_json_round_trips", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L173"}, {"caller_nid": "readme_test_generator_test_readme_fields_json_round_trips", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L173"}, {"caller_nid": "readme_test_generator_test_empty_core_field_rejected", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L196"}, {"caller_nid": "readme_test_generator_test_empty_core_field_rejected", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L197"}, {"caller_nid": "readme_test_generator_test_label_over_max_length_rejected", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L203"}, {"caller_nid": "readme_test_generator_test_label_over_max_length_rejected", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L204"}, {"caller_nid": "readme_test_generator_test_objective_over_max_length_rejected", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L212"}, {"caller_nid": "readme_test_generator_test_objective_over_max_length_rejected", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L213"}, {"caller_nid": "readme_test_generator_test_required_template_field_missing_raises", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L225"}, {"caller_nid": "readme_test_generator_test_required_template_field_missing_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L226"}, {"caller_nid": "readme_test_generator_test_required_template_field_missing_raises", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L227"}, {"caller_nid": "readme_test_generator_test_required_config_field_missing_raises", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L234"}, {"caller_nid": "readme_test_generator_test_required_config_field_missing_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L235"}, {"caller_nid": "readme_test_generator_test_required_config_field_missing_raises", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L236"}, {"caller_nid": "readme_test_generator_test_duplicate_field_id_across_layers_raises", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L250"}, {"caller_nid": "readme_test_generator_test_duplicate_field_id_across_layers_raises", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L251"}, {"caller_nid": "readme_test_generator_test_duplicate_field_id_across_layers_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L252"}, {"caller_nid": "readme_test_generator_test_duplicate_field_id_across_layers_raises", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L253"}, {"caller_nid": "readme_test_generator_test_custom_field_label_collides_with_template_id", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L266"}, {"caller_nid": "readme_test_generator_test_custom_field_label_collides_with_template_id", "callee": "CustomField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L267"}, {"caller_nid": "readme_test_generator_test_custom_field_label_collides_with_template_id", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L268"}, {"caller_nid": "readme_test_generator_test_custom_field_label_collides_with_template_id", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L269"}, {"caller_nid": "readme_test_generator_test_core_field_redeclared_in_template_raises", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L284"}, {"caller_nid": "readme_test_generator_test_core_field_redeclared_in_template_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L285"}, {"caller_nid": "readme_test_generator_test_core_field_redeclared_in_template_raises", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L286"}, {"caller_nid": "readme_test_generator_test_core_field_redeclared_in_config_raises", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L293"}, {"caller_nid": "readme_test_generator_test_core_field_redeclared_in_config_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L294"}, {"caller_nid": "readme_test_generator_test_core_field_redeclared_in_config_raises", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L295"}, {"caller_nid": "readme_test_generator_test_project_level_system_run_is_none", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L306"}, {"caller_nid": "readme_test_generator_test_project_level_system_run_is_none", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L307"}, {"caller_nid": "readme_test_generator_test_project_level_system_run_is_none", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L307"}, {"caller_nid": "readme_test_generator_test_run_level_experimental_run_name", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L315"}, {"caller_nid": "readme_test_generator_test_run_level_experimental_run_name", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L316"}, {"caller_nid": "readme_test_generator_test_run_level_experimental_run_name", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L316"}, {"caller_nid": "readme_test_generator_test_run_level_test_run_name", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L324"}, {"caller_nid": "readme_test_generator_test_run_level_test_run_name", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L325"}, {"caller_nid": "readme_test_generator_test_run_level_test_run_name", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L325"}, {"caller_nid": "readme_test_generator_test_string_type_accepts_string_rejects_int", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L339"}, {"caller_nid": "readme_test_generator_test_string_type_accepts_string_rejects_int", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L341"}, {"caller_nid": "readme_test_generator_test_string_type_accepts_string_rejects_int", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L346"}, {"caller_nid": "readme_test_generator_test_string_type_accepts_string_rejects_int", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L347"}, {"caller_nid": "readme_test_generator_test_text_type_accepts_multiline_rejects_list", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L357"}, {"caller_nid": "readme_test_generator_test_text_type_accepts_multiline_rejects_list", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L358"}, {"caller_nid": "readme_test_generator_test_text_type_accepts_multiline_rejects_list", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L362"}, {"caller_nid": "readme_test_generator_test_text_type_accepts_multiline_rejects_list", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L363"}, {"caller_nid": "readme_test_generator_test_choice_type_accepts_listed_rejects_other", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L373"}, {"caller_nid": "readme_test_generator_test_choice_type_accepts_listed_rejects_other", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L374"}, {"caller_nid": "readme_test_generator_test_choice_type_accepts_listed_rejects_other", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L378"}, {"caller_nid": "readme_test_generator_test_choice_type_accepts_listed_rejects_other", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L379"}, {"caller_nid": "readme_test_generator_test_choice_without_options_raises", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L387"}, {"caller_nid": "readme_test_generator_test_choice_without_options_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L388"}, {"caller_nid": "readme_test_generator_test_choice_without_options_raises", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L389"}, {"caller_nid": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L399"}, {"caller_nid": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L400"}, {"caller_nid": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L404"}, {"caller_nid": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L411"}, {"caller_nid": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L412"}, {"caller_nid": "readme_test_generator_test_date_type_rejects_non_string", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L420"}, {"caller_nid": "readme_test_generator_test_date_type_rejects_non_string", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L421"}, {"caller_nid": "readme_test_generator_test_date_type_rejects_non_string", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L422"}, {"caller_nid": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L432"}, {"caller_nid": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L433"}, {"caller_nid": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L437"}, {"caller_nid": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L441"}, {"caller_nid": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L442"}, {"caller_nid": "readme_test_generator_test_unknown_field_type_raises", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L450"}, {"caller_nid": "readme_test_generator_test_unknown_field_type_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L451"}, {"caller_nid": "readme_test_generator_test_unknown_field_type_raises", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L452"}, {"caller_nid": "readme_test_generator_test_choice_type_rejects_non_string_value", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L462"}, {"caller_nid": "readme_test_generator_test_choice_type_rejects_non_string_value", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L463"}, {"caller_nid": "readme_test_generator_test_choice_type_rejects_non_string_value", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L464"}, {"caller_nid": "readme_test_generator_test_generate_is_idempotent_byte_identical", "callee": "CustomField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L483"}, {"caller_nid": "readme_test_generator_test_generate_is_idempotent_byte_identical", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L485"}, {"caller_nid": "readme_test_generator_test_generate_is_idempotent_byte_identical", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L493"}, {"caller_nid": "readme_test_generator_test_generate_is_idempotent_byte_identical", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L496"}, {"caller_nid": "readme_test_generator_test_generate_is_idempotent_byte_identical", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L497"}, {"caller_nid": "readme_test_generator_test_generate_is_idempotent_byte_identical", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L498"}, {"caller_nid": "readme_test_generator_test_generate_is_idempotent_byte_identical", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L501"}, {"caller_nid": "readme_test_generator_test_generate_is_idempotent_byte_identical", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L502"}, {"caller_nid": "readme_test_generator_test_generate_is_idempotent_byte_identical", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L503"}, {"caller_nid": "readme_test_generator_test_generated_at_uses_z_suffix", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L513"}, {"caller_nid": "readme_test_generator_test_generated_at_uses_z_suffix", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L514"}, {"caller_nid": "readme_test_generator_test_generated_at_uses_z_suffix", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L514"}, {"caller_nid": "readme_test_generator_test_generated_at_uses_z_suffix", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L515"}, {"caller_nid": "readme_test_generator_test_generated_at_uses_z_suffix", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L516"}, {"caller_nid": "readme_test_generator_test_cache_dir_created_on_demand", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L522"}, {"caller_nid": "readme_test_generator_test_cache_dir_created_on_demand", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L523"}, {"caller_nid": "readme_test_generator_test_cache_dir_created_on_demand", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L524"}, {"caller_nid": "readme_test_generator_test_value_without_declaration_skips_typecheck", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L535"}, {"caller_nid": "readme_test_generator_test_value_without_declaration_skips_typecheck", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L536"}, {"caller_nid": "readme_test_generator_test_optional_empty_field_is_skipped", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L548"}, {"caller_nid": "readme_test_generator_test_optional_empty_field_is_skipped", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L549"}, {"caller_nid": "readme_test_generator_test_required_field_present_with_none_raises", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L560"}, {"caller_nid": "readme_test_generator_test_required_field_present_with_none_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L561"}, {"caller_nid": "readme_test_generator_test_required_field_present_with_none_raises", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L562"}, {"caller_nid": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", "callee": "SystemFields", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L573"}, {"caller_nid": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L574"}, {"caller_nid": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", "callee": "generate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L582"}, {"caller_nid": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L583"}, {"caller_nid": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py", "source_location": "L583"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/7d9570b0db714fd13dee04bd62f4a3a8da2d8e227397ac48598999ef1e0cf868.json b/graphify-out/cache/ast/7d9570b0db714fd13dee04bd62f4a3a8da2d8e227397ac48598999ef1e0cf868.json deleted file mode 100644 index 194522a..0000000 --- a/graphify-out/cache/ast/7d9570b0db714fd13dee04bd62f4a3a8da2d8e227397ac48598999ef1e0cf868.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "label": "test_cache.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L1"}, {"id": "lims_test_cache_project", "label": "_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L19"}, {"id": "lims_test_cache_test_init_creates_table_idempotent", "label": "test_init_creates_table_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L39"}, {"id": "lims_test_cache_test_upsert_many_then_list", "label": "test_upsert_many_then_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L47"}, {"id": "lims_test_cache_test_upsert_many_empty_is_noop", "label": "test_upsert_many_empty_is_noop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L59"}, {"id": "lims_test_cache_test_upsert_updates_existing_row", "label": "test_upsert_updates_existing_row()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L70"}, {"id": "lims_test_cache_test_get_project_by_uid_or_short_id", "label": "test_get_project_by_uid_or_short_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L95"}, {"id": "lims_test_cache_test_get_project_missing_returns_none", "label": "test_get_project_missing_returns_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L108"}, {"id": "lims_test_cache_test_list_projects_status_filter", "label": "test_list_projects_status_filter()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L118"}, {"id": "lims_test_cache_test_is_fresh_true_when_within_ttl", "label": "test_is_fresh_true_when_within_ttl()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L135"}, {"id": "lims_test_cache_test_is_fresh_false_when_stale", "label": "test_is_fresh_false_when_stale()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L145"}, {"id": "lims_test_cache_test_is_fresh_false_when_empty", "label": "test_is_fresh_false_when_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L156"}, {"id": "lims_test_cache_test_is_fresh_handles_zulu_suffix", "label": "test_is_fresh_handles_zulu_suffix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L165"}, {"id": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", "label": "test_is_fresh_ignores_invalid_timestamp()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L179"}, {"id": "lims_test_cache_test_endpoint_isolates_rows", "label": "test_endpoint_isolates_rows()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L192"}, {"id": "lims_test_cache_test_require_conn_before_init_raises", "label": "test_require_conn_before_init_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L206"}, {"id": "lims_test_cache_test_close_is_idempotent", "label": "test_close_is_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L212"}, {"id": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "label": "test_is_fresh_handles_naive_timestamp()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L220"}, {"id": "lims_test_cache_rationale_1", "label": "Tests for :class:`exlab_wizard.lims.cache.LIMSCache`. The cache is the \u00a77.2.4 S", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L1"}, {"id": "lims_test_cache_rationale_221", "label": "A naive ISO timestamp (no offset) is treated as UTC by the cache.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L221"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "exlab_wizard_lims_cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "exlab_wizard_lims_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_init_creates_table_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_upsert_many_then_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_upsert_many_empty_is_noop", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_upsert_updates_existing_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_get_project_by_uid_or_short_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L95", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_get_project_missing_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_list_projects_status_filter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L118", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_is_fresh_true_when_within_ttl", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_is_fresh_false_when_stale", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L145", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_is_fresh_false_when_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L156", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_is_fresh_handles_zulu_suffix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L165", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L179", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_endpoint_isolates_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L192", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_require_conn_before_init_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L206", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_close_is_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L212", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "target": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L220", "weight": 1.0}, {"source": "lims_test_cache_test_upsert_many_then_list", "target": "lims_test_cache_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L51", "weight": 1.0}, {"source": "lims_test_cache_test_upsert_updates_existing_row", "target": "lims_test_cache_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L74", "weight": 1.0}, {"source": "lims_test_cache_test_get_project_by_uid_or_short_id", "target": "lims_test_cache_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L99", "weight": 1.0}, {"source": "lims_test_cache_test_list_projects_status_filter", "target": "lims_test_cache_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L125", "weight": 1.0}, {"source": "lims_test_cache_test_is_fresh_true_when_within_ttl", "target": "lims_test_cache_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L139", "weight": 1.0}, {"source": "lims_test_cache_test_is_fresh_false_when_stale", "target": "lims_test_cache_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L150", "weight": 1.0}, {"source": "lims_test_cache_test_is_fresh_handles_zulu_suffix", "target": "lims_test_cache_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L172", "weight": 1.0}, {"source": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", "target": "lims_test_cache_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L185", "weight": 1.0}, {"source": "lims_test_cache_test_endpoint_isolates_rows", "target": "lims_test_cache_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L196", "weight": 1.0}, {"source": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "target": "lims_test_cache_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L227", "weight": 1.0}, {"source": "lims_test_cache_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_lims_test_cache_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L1", "weight": 1.0}, {"source": "lims_test_cache_rationale_221", "target": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L221", "weight": 1.0}], "raw_calls": [{"caller_nid": "lims_test_cache_project", "callee": "LIMSProject", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L26"}, {"caller_nid": "lims_test_cache_project", "callee": "isoformat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L35"}, {"caller_nid": "lims_test_cache_project", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L35"}, {"caller_nid": "lims_test_cache_test_init_creates_table_idempotent", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L40"}, {"caller_nid": "lims_test_cache_test_init_creates_table_idempotent", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L41"}, {"caller_nid": "lims_test_cache_test_init_creates_table_idempotent", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L43"}, {"caller_nid": "lims_test_cache_test_init_creates_table_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L44"}, {"caller_nid": "lims_test_cache_test_upsert_many_then_list", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L48"}, {"caller_nid": "lims_test_cache_test_upsert_many_then_list", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L49"}, {"caller_nid": "lims_test_cache_test_upsert_many_then_list", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L52"}, {"caller_nid": "lims_test_cache_test_upsert_many_then_list", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L53"}, {"caller_nid": "lims_test_cache_test_upsert_many_then_list", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L54"}, {"caller_nid": "lims_test_cache_test_upsert_many_then_list", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L56"}, {"caller_nid": "lims_test_cache_test_upsert_many_empty_is_noop", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L60"}, {"caller_nid": "lims_test_cache_test_upsert_many_empty_is_noop", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L61"}, {"caller_nid": "lims_test_cache_test_upsert_many_empty_is_noop", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L63"}, {"caller_nid": "lims_test_cache_test_upsert_many_empty_is_noop", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L64"}, {"caller_nid": "lims_test_cache_test_upsert_many_empty_is_noop", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L67"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L71"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L72"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L74"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "isoformat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L76"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L76"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L76"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "LIMSProject", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L77"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L86"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L87"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L88"}, {"caller_nid": "lims_test_cache_test_upsert_updates_existing_row", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L92"}, {"caller_nid": "lims_test_cache_test_get_project_by_uid_or_short_id", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L96"}, {"caller_nid": "lims_test_cache_test_get_project_by_uid_or_short_id", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L97"}, {"caller_nid": "lims_test_cache_test_get_project_by_uid_or_short_id", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L99"}, {"caller_nid": "lims_test_cache_test_get_project_by_uid_or_short_id", "callee": "get_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L100"}, {"caller_nid": "lims_test_cache_test_get_project_by_uid_or_short_id", "callee": "get_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L101"}, {"caller_nid": "lims_test_cache_test_get_project_by_uid_or_short_id", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L105"}, {"caller_nid": "lims_test_cache_test_get_project_missing_returns_none", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L109"}, {"caller_nid": "lims_test_cache_test_get_project_missing_returns_none", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L110"}, {"caller_nid": "lims_test_cache_test_get_project_missing_returns_none", "callee": "get_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L112"}, {"caller_nid": "lims_test_cache_test_get_project_missing_returns_none", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L115"}, {"caller_nid": "lims_test_cache_test_list_projects_status_filter", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L119"}, {"caller_nid": "lims_test_cache_test_list_projects_status_filter", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L120"}, {"caller_nid": "lims_test_cache_test_list_projects_status_filter", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L122"}, {"caller_nid": "lims_test_cache_test_list_projects_status_filter", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L129"}, {"caller_nid": "lims_test_cache_test_list_projects_status_filter", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L132"}, {"caller_nid": "lims_test_cache_test_is_fresh_true_when_within_ttl", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L136"}, {"caller_nid": "lims_test_cache_test_is_fresh_true_when_within_ttl", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L137"}, {"caller_nid": "lims_test_cache_test_is_fresh_true_when_within_ttl", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L139"}, {"caller_nid": "lims_test_cache_test_is_fresh_true_when_within_ttl", "callee": "is_fresh", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L140"}, {"caller_nid": "lims_test_cache_test_is_fresh_true_when_within_ttl", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L142"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_stale", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L146"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_stale", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L147"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_stale", "callee": "isoformat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L149"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_stale", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L149"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_stale", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L149"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_stale", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L150"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_stale", "callee": "is_fresh", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L151"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_stale", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L153"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_empty", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L157"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_empty", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L158"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_empty", "callee": "is_fresh", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L160"}, {"caller_nid": "lims_test_cache_test_is_fresh_false_when_empty", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L162"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_zulu_suffix", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L166"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_zulu_suffix", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L167"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_zulu_suffix", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L170"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_zulu_suffix", "callee": "is_fresh", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L174"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_zulu_suffix", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L176"}, {"caller_nid": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L180"}, {"caller_nid": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L181"}, {"caller_nid": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L183"}, {"caller_nid": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", "callee": "is_fresh", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L187"}, {"caller_nid": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L189"}, {"caller_nid": "lims_test_cache_test_endpoint_isolates_rows", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L193"}, {"caller_nid": "lims_test_cache_test_endpoint_isolates_rows", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L194"}, {"caller_nid": "lims_test_cache_test_endpoint_isolates_rows", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L196"}, {"caller_nid": "lims_test_cache_test_endpoint_isolates_rows", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L197"}, {"caller_nid": "lims_test_cache_test_endpoint_isolates_rows", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L198"}, {"caller_nid": "lims_test_cache_test_endpoint_isolates_rows", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L199"}, {"caller_nid": "lims_test_cache_test_endpoint_isolates_rows", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L203"}, {"caller_nid": "lims_test_cache_test_require_conn_before_init_raises", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L207"}, {"caller_nid": "lims_test_cache_test_require_conn_before_init_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L208"}, {"caller_nid": "lims_test_cache_test_require_conn_before_init_raises", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L209"}, {"caller_nid": "lims_test_cache_test_close_is_idempotent", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L213"}, {"caller_nid": "lims_test_cache_test_close_is_idempotent", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L214"}, {"caller_nid": "lims_test_cache_test_close_is_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L215"}, {"caller_nid": "lims_test_cache_test_close_is_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L217"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "callee": "LIMSCache", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L222"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L223"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "callee": "isoformat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L226"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "callee": "replace", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L226"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L226"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "callee": "upsert_many", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L227"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "callee": "is_fresh", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L228"}, {"caller_nid": "lims_test_cache_test_is_fresh_handles_naive_timestamp", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py", "source_location": "L230"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/7da70f281459f4f3b02b36e031ac442ca36a786480a939579a7bcaa77eba6649.json b/graphify-out/cache/ast/7da70f281459f4f3b02b36e031ac442ca36a786480a939579a7bcaa77eba6649.json deleted file mode 100644 index 9597eeb..0000000 --- a/graphify-out/cache/ast/7da70f281459f4f3b02b36e031ac442ca36a786480a939579a7bcaa77eba6649.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_window_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/__init__.py", "source_location": "L1"}, {"id": "window_init_rationale_1", "label": "Unit tests for ``exlab_wizard.window``. Backend Spec \u00a74.3.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/__init__.py", "source_location": "L1"}], "edges": [{"source": "window_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_window_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/7fd7b016b0b2facb4dbb29e99ec8869c3ea6793531dc4608daa69c17d423b7dc.json b/graphify-out/cache/ast/7fd7b016b0b2facb4dbb29e99ec8869c3ea6793531dc4608daa69c17d423b7dc.json deleted file mode 100644 index 10ee1e8..0000000 --- a/graphify-out/cache/ast/7fd7b016b0b2facb4dbb29e99ec8869c3ea6793531dc4608daa69c17d423b7dc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "label": "test_enums.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L1"}, {"id": "constants_test_enums_test_run_kind_values", "label": "test_run_kind_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L15"}, {"id": "constants_test_enums_test_run_kind_is_str", "label": "test_run_kind_is_str()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L23"}, {"id": "constants_test_enums_test_sync_status_values", "label": "test_sync_status_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L30"}, {"id": "constants_test_enums_test_tier_values", "label": "test_tier_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L47"}, {"id": "constants_test_enums_test_problem_class_values", "label": "test_problem_class_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L55"}, {"id": "constants_test_enums_test_finding_kind_values", "label": "test_finding_kind_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L80"}, {"id": "constants_test_enums_test_template_type_values", "label": "test_template_type_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L93"}, {"id": "constants_test_enums_test_run_scope_values", "label": "test_run_scope_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L102"}, {"id": "constants_test_enums_test_lims_project_status_values_pascal_case", "label": "test_lims_project_status_values_pascal_case()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L111"}, {"id": "constants_test_enums_test_lims_project_source_values", "label": "test_lims_project_source_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L126"}, {"id": "constants_test_enums_test_ingest_state_enum_is_removed", "label": "test_ingest_state_enum_is_removed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L139"}, {"id": "constants_test_enums_test_run_sync_state_values", "label": "test_run_sync_state_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L145"}, {"id": "constants_test_enums_test_setup_state_values", "label": "test_setup_state_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L151"}, {"id": "constants_test_enums_test_transport_type_values", "label": "test_transport_type_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L173"}, {"id": "constants_test_enums_test_completeness_signal_enum_removed", "label": "test_completeness_signal_enum_removed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L181"}, {"id": "constants_test_enums_test_staging_cleanup_mode_values", "label": "test_staging_cleanup_mode_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L186"}, {"id": "constants_test_enums_test_plugin_status_values", "label": "test_plugin_status_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L194"}, {"id": "constants_test_enums_test_creation_level_values", "label": "test_creation_level_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L211"}, {"id": "constants_test_enums_test_orchestrator_transport_type_values", "label": "test_orchestrator_transport_type_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L219"}, {"id": "constants_test_enums_test_field_type_values", "label": "test_field_type_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L227"}, {"id": "constants_test_enums_test_bandwidth_day_values", "label": "test_bandwidth_day_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L238"}, {"id": "constants_test_enums_test_session_kind_values", "label": "test_session_kind_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L246"}, {"id": "constants_test_enums_test_next_action_values", "label": "test_next_action_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L254"}, {"id": "constants_test_enums_test_audit_scope_kind_values", "label": "test_audit_scope_kind_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L262"}, {"id": "constants_test_enums_test_directory_level_values", "label": "test_directory_level_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L271"}, {"id": "constants_test_enums_test_platform_values", "label": "test_platform_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L279"}, {"id": "constants_test_enums_test_setup_next_action_values", "label": "test_setup_next_action_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L287"}, {"id": "constants_test_enums_test_sync_handle_state_values", "label": "test_sync_handle_state_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L295"}, {"id": "constants_test_enums_test_plugin_source_root_values", "label": "test_plugin_source_root_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L303"}, {"id": "constants_test_enums_test_tree_project_status_values", "label": "test_tree_project_status_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L311"}, {"id": "constants_test_enums_test_enums_re_exported_from_package", "label": "test_enums_re_exported_from_package()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L319"}, {"id": "constants_test_enums_rationale_1", "label": "Verify the ``StrEnum`` value strings match the design spec verbatim. These enum", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "enum", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_run_kind_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_run_kind_is_str", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_sync_status_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_tier_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_problem_class_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_finding_kind_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_template_type_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_run_scope_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_lims_project_status_values_pascal_case", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_lims_project_source_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L126", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_ingest_state_enum_is_removed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L139", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_run_sync_state_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L145", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_setup_state_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L151", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_transport_type_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L173", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_completeness_signal_enum_removed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L181", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_staging_cleanup_mode_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L186", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_plugin_status_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L194", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_creation_level_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L211", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_orchestrator_transport_type_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L219", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_field_type_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L227", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_bandwidth_day_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L238", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_session_kind_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L246", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_next_action_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L254", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_audit_scope_kind_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L262", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_directory_level_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L271", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_platform_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L279", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_setup_next_action_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L287", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_sync_handle_state_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L295", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_plugin_source_root_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L303", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_tree_project_status_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L311", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "target": "constants_test_enums_test_enums_re_exported_from_package", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L319", "weight": 1.0}, {"source": "constants_test_enums_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_constants_test_enums_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "constants_test_enums_test_run_kind_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L17"}, {"caller_nid": "constants_test_enums_test_sync_status_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L32"}, {"caller_nid": "constants_test_enums_test_tier_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L49"}, {"caller_nid": "constants_test_enums_test_problem_class_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L57"}, {"caller_nid": "constants_test_enums_test_finding_kind_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L82"}, {"caller_nid": "constants_test_enums_test_template_type_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L95"}, {"caller_nid": "constants_test_enums_test_run_scope_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L104"}, {"caller_nid": "constants_test_enums_test_lims_project_status_values_pascal_case", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L113"}, {"caller_nid": "constants_test_enums_test_lims_project_source_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L128"}, {"caller_nid": "constants_test_enums_test_ingest_state_enum_is_removed", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L142"}, {"caller_nid": "constants_test_enums_test_run_sync_state_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L147"}, {"caller_nid": "constants_test_enums_test_setup_state_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L153"}, {"caller_nid": "constants_test_enums_test_transport_type_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L175"}, {"caller_nid": "constants_test_enums_test_completeness_signal_enum_removed", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L183"}, {"caller_nid": "constants_test_enums_test_staging_cleanup_mode_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L188"}, {"caller_nid": "constants_test_enums_test_plugin_status_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L196"}, {"caller_nid": "constants_test_enums_test_creation_level_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L214"}, {"caller_nid": "constants_test_enums_test_orchestrator_transport_type_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L222"}, {"caller_nid": "constants_test_enums_test_field_type_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L230"}, {"caller_nid": "constants_test_enums_test_bandwidth_day_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L241"}, {"caller_nid": "constants_test_enums_test_session_kind_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L249"}, {"caller_nid": "constants_test_enums_test_next_action_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L257"}, {"caller_nid": "constants_test_enums_test_audit_scope_kind_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L265"}, {"caller_nid": "constants_test_enums_test_directory_level_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L274"}, {"caller_nid": "constants_test_enums_test_platform_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L281"}, {"caller_nid": "constants_test_enums_test_setup_next_action_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L290"}, {"caller_nid": "constants_test_enums_test_sync_handle_state_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L298"}, {"caller_nid": "constants_test_enums_test_plugin_source_root_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L306"}, {"caller_nid": "constants_test_enums_test_tree_project_status_values", "callee": "issubclass", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py", "source_location": "L313"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/82a1b6b52f0bd2e5197998f6c95bd8c48bc07f0c3e8801452346d2fd6fc91619.json b/graphify-out/cache/ast/82a1b6b52f0bd2e5197998f6c95bd8c48bc07f0c3e8801452346d2fd6fc91619.json deleted file mode 100644 index ecdd327..0000000 --- a/graphify-out/cache/ast/82a1b6b52f0bd2e5197998f6c95bd8c48bc07f0c3e8801452346d2fd6fc91619.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "label": "test_scan.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L1"}, {"id": "orchestrator_test_scan_test_iter_subdirs_returns_empty_for_missing_path", "label": "test_iter_subdirs_returns_empty_for_missing_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L23"}, {"id": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", "label": "test_iter_subdirs_skips_cache_dir_and_dotfiles()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L27"}, {"id": "orchestrator_test_scan_test_iter_subdirs_does_not_follow_symlinks", "label": "test_iter_subdirs_does_not_follow_symlinks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L38"}, {"id": "orchestrator_test_scan_test_walk_run_leaves_returns_empty_when_root_missing", "label": "test_walk_run_leaves_returns_empty_when_root_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L54"}, {"id": "orchestrator_test_scan_test_walk_run_leaves_finds_experimental_and_test_runs", "label": "test_walk_run_leaves_finds_experimental_and_test_runs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L58"}, {"id": "orchestrator_test_scan_test_walk_run_leaves_handles_empty_tree", "label": "test_walk_run_leaves_handles_empty_tree()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L69"}, {"id": "orchestrator_test_scan_test_count_files_and_bytes_excludes_cache_dir_by_default", "label": "test_count_files_and_bytes_excludes_cache_dir_by_default()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L79"}, {"id": "orchestrator_test_scan_test_count_files_and_bytes_includes_cache_dir_when_requested", "label": "test_count_files_and_bytes_includes_cache_dir_when_requested()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L88"}, {"id": "orchestrator_test_scan_test_count_files_and_bytes_returns_zero_for_missing_path", "label": "test_count_files_and_bytes_returns_zero_for_missing_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L97"}, {"id": "orchestrator_test_scan_test_count_files_and_bytes_descends_into_subdirectories", "label": "test_count_files_and_bytes_descends_into_subdirectories()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L103"}, {"id": "orchestrator_test_scan_rationale_1", "label": "Unit tests for ``exlab_wizard.orchestrator._scan``. The shared filesystem helpe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L1"}, {"id": "orchestrator_test_scan_rationale_70", "label": "An empty staging_root has no run leaves -- not an error.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L70"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "exlab_wizard_orchestrator_scan", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "orchestrator_test_scan_test_iter_subdirs_returns_empty_for_missing_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "orchestrator_test_scan_test_iter_subdirs_does_not_follow_symlinks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "orchestrator_test_scan_test_walk_run_leaves_returns_empty_when_root_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "orchestrator_test_scan_test_walk_run_leaves_finds_experimental_and_test_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "orchestrator_test_scan_test_walk_run_leaves_handles_empty_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "orchestrator_test_scan_test_count_files_and_bytes_excludes_cache_dir_by_default", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L79", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "orchestrator_test_scan_test_count_files_and_bytes_includes_cache_dir_when_requested", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L88", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "orchestrator_test_scan_test_count_files_and_bytes_returns_zero_for_missing_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L97", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "target": "orchestrator_test_scan_test_count_files_and_bytes_descends_into_subdirectories", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L103", "weight": 1.0}, {"source": "orchestrator_test_scan_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_scan_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L1", "weight": 1.0}, {"source": "orchestrator_test_scan_rationale_70", "target": "orchestrator_test_scan_test_walk_run_leaves_handles_empty_tree", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L70", "weight": 1.0}], "raw_calls": [{"caller_nid": "orchestrator_test_scan_test_iter_subdirs_returns_empty_for_missing_path", "callee": "iter_subdirs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L24"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L28"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L29"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L30"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L31"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L32"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L34"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", "callee": "iter_subdirs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L34"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_does_not_follow_symlinks", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L40"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_does_not_follow_symlinks", "callee": "symlink_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L42"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_does_not_follow_symlinks", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L43"}, {"caller_nid": "orchestrator_test_scan_test_iter_subdirs_does_not_follow_symlinks", "callee": "iter_subdirs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L43"}, {"caller_nid": "orchestrator_test_scan_test_walk_run_leaves_returns_empty_when_root_missing", "callee": "walk_run_leaves", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L55"}, {"caller_nid": "orchestrator_test_scan_test_walk_run_leaves_finds_experimental_and_test_runs", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L59"}, {"caller_nid": "orchestrator_test_scan_test_walk_run_leaves_finds_experimental_and_test_runs", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L60"}, {"caller_nid": "orchestrator_test_scan_test_walk_run_leaves_finds_experimental_and_test_runs", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L64"}, {"caller_nid": "orchestrator_test_scan_test_walk_run_leaves_finds_experimental_and_test_runs", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L65"}, {"caller_nid": "orchestrator_test_scan_test_walk_run_leaves_finds_experimental_and_test_runs", "callee": "walk_run_leaves", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L65"}, {"caller_nid": "orchestrator_test_scan_test_walk_run_leaves_handles_empty_tree", "callee": "walk_run_leaves", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L71"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_excludes_cache_dir_by_default", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L80"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_excludes_cache_dir_by_default", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L81"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_excludes_cache_dir_by_default", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L82"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_excludes_cache_dir_by_default", "callee": "count_files_and_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L83"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_includes_cache_dir_when_requested", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L89"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_includes_cache_dir_when_requested", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L90"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_includes_cache_dir_when_requested", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L91"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_includes_cache_dir_when_requested", "callee": "count_files_and_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L92"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_returns_zero_for_missing_path", "callee": "count_files_and_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L98"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_descends_into_subdirectories", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L104"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_descends_into_subdirectories", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L105"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_descends_into_subdirectories", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L106"}, {"caller_nid": "orchestrator_test_scan_test_count_files_and_bytes_descends_into_subdirectories", "callee": "count_files_and_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py", "source_location": "L107"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/82e46c93844dfa7a939ed91041323b3396fcd7a8d82f8a47086f97d315e29ad9.json b/graphify-out/cache/ast/82e46c93844dfa7a939ed91041323b3396fcd7a8d82f8a47086f97d315e29ad9.json deleted file mode 100644 index 94cbbfc..0000000 --- a/graphify-out/cache/ast/82e46c93844dfa7a939ed91041323b3396fcd7a8d82f8a47086f97d315e29ad9.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "label": "creation.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1"}, {"id": "controller_creation_projectcreaterequest", "label": "ProjectCreateRequest", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L141"}, {"id": "controller_creation_runcreaterequest", "label": "RunCreateRequest", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L160"}, {"id": "controller_creation_sessionhandle", "label": "SessionHandle", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L185"}, {"id": "controller_creation_readmegeneratorprotocol", "label": "ReadmeGeneratorProtocol", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L199"}, {"id": "protocol", "label": "Protocol", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "controller_creation_readmegeneratorprotocol_generate", "label": ".generate()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L207"}, {"id": "controller_creation_noopreadmegenerator", "label": "NoOpReadmeGenerator", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L210"}, {"id": "controller_creation_noopreadmegenerator_generate", "label": ".generate()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L219"}, {"id": "controller_creation_nassyncprotocol", "label": "NASSyncProtocol", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L226"}, {"id": "controller_creation_nassyncprotocol_enqueue", "label": ".enqueue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L229"}, {"id": "controller_creation_noopnassync", "label": "NoOpNASSync", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L232"}, {"id": "controller_creation_noopnassync_enqueue", "label": ".enqueue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L235"}, {"id": "controller_creation_creationcontroller", "label": "CreationController", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L244"}, {"id": "controller_creation_creationcontroller_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L252"}, {"id": "controller_creation_session_store", "label": "session_store()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L290"}, {"id": "controller_creation_creationcontroller_apply_config", "label": ".apply_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L294"}, {"id": "controller_creation_creationcontroller_create_project", "label": ".create_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L311"}, {"id": "controller_creation_creationcontroller_create_run", "label": ".create_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L324"}, {"id": "controller_creation_creationcontroller_resume", "label": ".resume()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L329"}, {"id": "controller_creation_creationcontroller_cancel", "label": ".cancel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L353"}, {"id": "controller_creation_creationcontroller_status", "label": ".status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L396"}, {"id": "controller_creation_creationcontroller_subscribe", "label": ".subscribe()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L403"}, {"id": "controller_creation_creationcontroller_launch", "label": "._launch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L427"}, {"id": "controller_creation_creationcontroller_validate_inputs", "label": "._validate_inputs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L465"}, {"id": "controller_creation_creationcontroller_run_pipeline", "label": "._run_pipeline()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L607"}, {"id": "controller_creation_creationcontroller_pipeline_states", "label": "._pipeline_states()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L627"}, {"id": "controller_creation_creationcontroller_resolve_template", "label": "._resolve_template()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L728"}, {"id": "controller_creation_short_id_for", "label": "_short_id_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L733"}, {"id": "controller_creation_project_name_for", "label": "_project_name_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L749"}, {"id": "controller_creation_creationcontroller_resolve_run_lims_block", "label": "._resolve_run_lims_block()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L762"}, {"id": "controller_creation_run_kind_value_for", "label": "_run_kind_value_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L782"}, {"id": "controller_creation_creationcontroller_compose_destination_path", "label": "._compose_destination_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L793"}, {"id": "controller_creation_creationcontroller_render", "label": "._render()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L810"}, {"id": "controller_creation_creationcontroller_plugin_pass", "label": "._plugin_pass()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L837"}, {"id": "controller_creation_creationcontroller_build_readme_context", "label": "._build_readme_context()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L898"}, {"id": "controller_creation_creationcontroller_write_cache", "label": "._write_cache()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L963"}, {"id": "controller_creation_creationcontroller_write_equipment_json", "label": "._write_equipment_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1078"}, {"id": "controller_creation_creationcontroller_post_validate", "label": "._post_validate()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1114"}, {"id": "controller_creation_creationcontroller_transition", "label": "._transition()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1162"}, {"id": "controller_creation_creationcontroller_publish", "label": "._publish()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1183"}, {"id": "controller_creation_creationcontroller_fail", "label": "._fail()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1188"}, {"id": "controller_creation_creationcontroller_cleanup", "label": "._cleanup()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1198"}, {"id": "controller_creation_creationcontroller_handle", "label": "._handle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1217"}, {"id": "controller_creation_format_error", "label": "_format_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1226"}, {"id": "controller_creation_creationcontroller_append_log", "label": "._append_log()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1231"}, {"id": "controller_creation_required_field_ids", "label": "_required_field_ids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1256"}, {"id": "controller_creation_readme_decls_from_template", "label": "_readme_decls_from_template()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1269"}, {"id": "controller_creation_readme_decls_from_config", "label": "_readme_decls_from_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1301"}, {"id": "controller_creation_os_username", "label": "_os_username()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1326"}, {"id": "controller_creation_has_hard_finding", "label": "_has_hard_finding()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1339"}, {"id": "controller_creation_attach_resolved", "label": "_attach_resolved()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1343"}, {"id": "controller_creation_rationale_1", "label": "Creation controller. Backend Spec \u00a74.4.1, \u00a74.7, \u00a74.8. Composes the validator, t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1"}, {"id": "controller_creation_rationale_142", "label": "Inputs for :meth:`CreationController.create_project`. Backend Spec \u00a74.6.1 /", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L142"}, {"id": "controller_creation_rationale_161", "label": "Inputs for :meth:`CreationController.create_run`. Backend Spec \u00a74.6.1 / UI-", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L161"}, {"id": "controller_creation_rationale_186", "label": "Snapshot of session state. Backend Spec \u00a74.4.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L186"}, {"id": "controller_creation_rationale_200", "label": "The README generator surface the controller depends on. Backend \u00a710. Mirror", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L200"}, {"id": "controller_creation_rationale_211", "label": "Lightweight README generator for tests / headless fixtures. Writes a tiny `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L211"}, {"id": "controller_creation_rationale_227", "label": "The NAS sync surface the controller depends on. Phase 10.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L227"}, {"id": "controller_creation_rationale_233", "label": "No-op stand-in for :class:`NASSyncClient` until Phase 10 lands.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L233"}, {"id": "controller_creation_rationale_245", "label": "Drives the \u00a74.7 state machine end-to-end. Composes the validator (Phase 4),", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L245"}, {"id": "controller_creation_rationale_291", "label": "Expose the in-memory session store for the API surface.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L291"}, {"id": "controller_creation_rationale_295", "label": "Swap the controller's config (and optionally plugin host) in place. Eve", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L295"}, {"id": "controller_creation_rationale_312", "label": "Open a project-creation session and start the pipeline. The session is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L312"}, {"id": "controller_creation_rationale_325", "label": "Open a run-creation session and start the pipeline.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L325"}, {"id": "controller_creation_rationale_330", "label": "Supply ``extra_inputs`` after a ``PluginInputRequired`` prompt. Pushes", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L330"}, {"id": "controller_creation_rationale_354", "label": "Abort an in-flight session. Pushes a ``None`` onto the resume queue (so", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L354"}, {"id": "controller_creation_rationale_397", "label": "Return a snapshot :class:`SessionHandle` for ``session_id``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L397"}, {"id": "controller_creation_rationale_404", "label": "Yield WebSocket-event dicts for the named session. Wraps the session's", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L404"}, {"id": "controller_creation_rationale_428", "label": "Validate the request, then spawn the pipeline as a background task. The", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L428"}, {"id": "controller_creation_rationale_466", "label": "Run the \u00a72 mandatory-core-field gate. Raises :class:`ValidationError` o", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L466"}, {"id": "controller_creation_rationale_608", "label": "Drive the session from RENDERING to DONE / FAILED / ABORTED.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L608"}, {"id": "controller_creation_rationale_628", "label": "Run the RENDERING \u2192 DONE pipeline once.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L628"}, {"id": "controller_creation_rationale_734", "label": "Return the LIMS project ``short_id`` for the request. For a project req", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L734"}, {"id": "controller_creation_rationale_750", "label": "Return the human-readable LIMS project name for the request. This is th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L750"}, {"id": "controller_creation_rationale_763", "label": "Read the parent project's ``lims_project`` block for a run. A run inher", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L763"}, {"id": "controller_creation_rationale_783", "label": "Return the ``run_kind`` value to record on ``creation.json``. Project-l", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L783"}, {"id": "controller_creation_rationale_816", "label": "Render the resolved template into ``dst``. Copier receives the request'", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L816"}, {"id": "controller_creation_rationale_905", "label": "Compose the \u00a710 four-layer :class:`ReadmeContext` for ``req``. Maps the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L905"}, {"id": "controller_creation_rationale_973", "label": "Write README + creation.json into the destination tree.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L973"}, {"id": "controller_creation_rationale_1083", "label": "Write the per-equipment ``equipment.json`` registry record. Backend Spe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1083"}, {"id": "controller_creation_rationale_1120", "label": "Run :meth:`Validator.validate_creation` against the rendered tree. Catc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1120"}, {"id": "controller_creation_rationale_1199", "label": "Remove or leave the partial directory per the spec.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1199"}, {"id": "controller_creation_rationale_1232", "label": "Best-effort append to the equipment-level log. Backend Spec \u00a711.5. Comp", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1232"}, {"id": "controller_creation_rationale_1257", "label": "Return the ``id`` of every entry in ``extra_fields`` with ``required: true``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1257"}, {"id": "controller_creation_rationale_1270", "label": "Map a template's ``_exlab_readme.fields`` dicts to typed declarations. Entr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1270"}, {"id": "controller_creation_rationale_1302", "label": "Map ``config.readme.defaults`` entries to typed declarations. Core field id", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1302"}, {"id": "controller_creation_rationale_1327", "label": "Return the creating OS user for the README ``system.created_by``. Distinct", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1327"}, {"id": "controller_creation_rationale_1346", "label": "Stash the resolved template on the request so the pipeline can re-use it. T", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1346"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "getpass", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "socket", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_cache_equipment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_cache_log_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_controller_session_store", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L79", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_controller_state_machine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_plugins_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L99", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_plugins_host", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L100", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_plugins_logger", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L101", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_readme", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_template_copier_driver", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L109", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L115", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "exlab_wizard_validator_findings", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L117", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_projectcreaterequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L141", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_runcreaterequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L160", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_sessionhandle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L185", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_readmegeneratorprotocol", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L199", "weight": 1.0}, {"source": "controller_creation_readmegeneratorprotocol", "target": "protocol", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L199", "weight": 1.0}, {"source": "controller_creation_readmegeneratorprotocol", "target": "controller_creation_readmegeneratorprotocol_generate", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L207", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_noopreadmegenerator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L210", "weight": 1.0}, {"source": "controller_creation_noopreadmegenerator", "target": "controller_creation_noopreadmegenerator_generate", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L219", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_nassyncprotocol", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L226", "weight": 1.0}, {"source": "controller_creation_nassyncprotocol", "target": "protocol", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L226", "weight": 1.0}, {"source": "controller_creation_nassyncprotocol", "target": "controller_creation_nassyncprotocol_enqueue", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L229", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_noopnassync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L232", "weight": 1.0}, {"source": "controller_creation_noopnassync", "target": "controller_creation_noopnassync_enqueue", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L235", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_creationcontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L244", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L252", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_session_store", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L290", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_apply_config", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L294", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_create_project", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L311", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_create_run", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L324", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_resume", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L329", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_cancel", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L353", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_status", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L396", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_subscribe", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L403", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_launch", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L427", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_validate_inputs", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L465", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_run_pipeline", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L607", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_pipeline_states", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L627", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_resolve_template", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L728", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_short_id_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L733", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_project_name_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L749", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_resolve_run_lims_block", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L762", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_run_kind_value_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L782", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_compose_destination_path", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L793", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_render", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L810", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_plugin_pass", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L837", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_build_readme_context", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L898", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_write_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L963", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_write_equipment_json", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1078", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_post_validate", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1114", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_transition", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1162", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_publish", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1183", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_fail", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1188", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_cleanup", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1198", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_handle", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1217", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_format_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1226", "weight": 1.0}, {"source": "controller_creation_creationcontroller", "target": "controller_creation_creationcontroller_append_log", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1231", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_required_field_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1256", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_readme_decls_from_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1269", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_readme_decls_from_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1301", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_os_username", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1326", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_has_hard_finding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1339", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "target": "controller_creation_attach_resolved", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1343", "weight": 1.0}, {"source": "controller_creation_creationcontroller_init", "target": "controller_creation_noopreadmegenerator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L274", "weight": 1.0}, {"source": "controller_creation_creationcontroller_init", "target": "controller_creation_noopnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L276", "weight": 1.0}, {"source": "controller_creation_creationcontroller_create_project", "target": "controller_creation_creationcontroller_launch", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L322", "weight": 1.0}, {"source": "controller_creation_creationcontroller_create_run", "target": "controller_creation_creationcontroller_launch", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L327", "weight": 1.0}, {"source": "controller_creation_creationcontroller_resume", "target": "controller_creation_creationcontroller_handle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L351", "weight": 1.0}, {"source": "controller_creation_creationcontroller_cancel", "target": "controller_creation_creationcontroller_cleanup", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L394", "weight": 1.0}, {"source": "controller_creation_creationcontroller_status", "target": "controller_creation_creationcontroller_handle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L401", "weight": 1.0}, {"source": "controller_creation_creationcontroller_launch", "target": "controller_creation_creationcontroller_transition", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L444", "weight": 1.0}, {"source": "controller_creation_creationcontroller_launch", "target": "controller_creation_creationcontroller_validate_inputs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L446", "weight": 1.0}, {"source": "controller_creation_creationcontroller_launch", "target": "controller_creation_creationcontroller_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L448", "weight": 1.0}, {"source": "controller_creation_creationcontroller_launch", "target": "controller_creation_format_error", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L448", "weight": 1.0}, {"source": "controller_creation_creationcontroller_launch", "target": "controller_creation_creationcontroller_handle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L449", "weight": 1.0}, {"source": "controller_creation_creationcontroller_launch", "target": "controller_creation_creationcontroller_run_pipeline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L457", "weight": 1.0}, {"source": "controller_creation_creationcontroller_validate_inputs", "target": "controller_creation_project_name_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L501", "weight": 1.0}, {"source": "controller_creation_creationcontroller_validate_inputs", "target": "controller_creation_creationcontroller_resolve_template", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L575", "weight": 1.0}, {"source": "controller_creation_creationcontroller_validate_inputs", "target": "controller_creation_attach_resolved", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L576", "weight": 1.0}, {"source": "controller_creation_creationcontroller_validate_inputs", "target": "controller_creation_required_field_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L580", "weight": 1.0}, {"source": "controller_creation_creationcontroller_run_pipeline", "target": "controller_creation_creationcontroller_pipeline_states", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L610", "weight": 1.0}, {"source": "controller_creation_creationcontroller_run_pipeline", "target": "controller_creation_creationcontroller_cleanup", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L620", "weight": 1.0}, {"source": "controller_creation_creationcontroller_run_pipeline", "target": "controller_creation_creationcontroller_publish", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L621", "weight": 1.0}, {"source": "controller_creation_creationcontroller_run_pipeline", "target": "controller_creation_format_error", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L624", "weight": 1.0}, {"source": "controller_creation_creationcontroller_run_pipeline", "target": "controller_creation_creationcontroller_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L625", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_creationcontroller_compose_destination_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L631", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_creationcontroller_resolve_run_lims_block", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L653", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_creationcontroller_render", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L656", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_creationcontroller_transition", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L659", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_creationcontroller_plugin_pass", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L660", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_creationcontroller_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L664", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_creationcontroller_write_cache", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L672", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_creationcontroller_post_validate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L683", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_has_hard_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L684", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_noopnassync_enqueue", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L690", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_creationcontroller_publish", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L701", "weight": 1.0}, {"source": "controller_creation_creationcontroller_pipeline_states", "target": "controller_creation_creationcontroller_append_log", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L722", "weight": 1.0}, {"source": "controller_creation_creationcontroller_compose_destination_path", "target": "controller_creation_project_name_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L799", "weight": 1.0}, {"source": "controller_creation_creationcontroller_render", "target": "controller_creation_project_name_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L831", "weight": 1.0}, {"source": "controller_creation_creationcontroller_render", "target": "controller_creation_short_id_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L832", "weight": 1.0}, {"source": "controller_creation_creationcontroller_plugin_pass", "target": "controller_creation_short_id_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L853", "weight": 1.0}, {"source": "controller_creation_creationcontroller_build_readme_context", "target": "controller_creation_readme_decls_from_template", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L914", "weight": 1.0}, {"source": "controller_creation_creationcontroller_build_readme_context", "target": "controller_creation_readme_decls_from_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L915", "weight": 1.0}, {"source": "controller_creation_creationcontroller_build_readme_context", "target": "controller_creation_os_username", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L942", "weight": 1.0}, {"source": "controller_creation_creationcontroller_build_readme_context", "target": "controller_creation_short_id_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L948", "weight": 1.0}, {"source": "controller_creation_creationcontroller_build_readme_context", "target": "controller_creation_run_kind_value_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L950", "weight": 1.0}, {"source": "controller_creation_creationcontroller_write_cache", "target": "controller_creation_creationcontroller_build_readme_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L975", "weight": 1.0}, {"source": "controller_creation_creationcontroller_write_cache", "target": "controller_creation_noopreadmegenerator_generate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L976", "weight": 1.0}, {"source": "controller_creation_creationcontroller_write_cache", "target": "controller_creation_project_name_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1002", "weight": 1.0}, {"source": "controller_creation_creationcontroller_write_cache", "target": "controller_creation_run_kind_value_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1007", "weight": 1.0}, {"source": "controller_creation_creationcontroller_write_cache", "target": "controller_creation_creationcontroller_write_equipment_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1074", "weight": 1.0}, {"source": "controller_creation_creationcontroller_post_validate", "target": "controller_creation_run_kind_value_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1154", "weight": 1.0}, {"source": "controller_creation_creationcontroller_transition", "target": "controller_creation_creationcontroller_publish", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1174", "weight": 1.0}, {"source": "controller_creation_creationcontroller_fail", "target": "controller_creation_creationcontroller_publish", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1192", "weight": 1.0}, {"source": "controller_creation_creationcontroller_fail", "target": "controller_creation_creationcontroller_cleanup", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1196", "weight": 1.0}, {"source": "controller_creation_creationcontroller_cleanup", "target": "controller_creation_creationcontroller_compose_destination_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1206", "weight": 1.0}, {"source": "controller_creation_creationcontroller_handle", "target": "controller_creation_sessionhandle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1218", "weight": 1.0}, {"source": "controller_creation_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_creation_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1", "weight": 1.0}, {"source": "controller_creation_rationale_142", "target": "controller_creation_projectcreaterequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L142", "weight": 1.0}, {"source": "controller_creation_rationale_161", "target": "controller_creation_runcreaterequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L161", "weight": 1.0}, {"source": "controller_creation_rationale_186", "target": "controller_creation_sessionhandle", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L186", "weight": 1.0}, {"source": "controller_creation_rationale_200", "target": "controller_creation_readmegeneratorprotocol", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L200", "weight": 1.0}, {"source": "controller_creation_rationale_211", "target": "controller_creation_noopreadmegenerator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L211", "weight": 1.0}, {"source": "controller_creation_rationale_227", "target": "controller_creation_nassyncprotocol", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L227", "weight": 1.0}, {"source": "controller_creation_rationale_233", "target": "controller_creation_noopnassync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L233", "weight": 1.0}, {"source": "controller_creation_rationale_245", "target": "controller_creation_creationcontroller", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L245", "weight": 1.0}, {"source": "controller_creation_rationale_291", "target": "controller_creation_creationcontroller_session_store", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L291", "weight": 1.0}, {"source": "controller_creation_rationale_295", "target": "controller_creation_creationcontroller_apply_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L295", "weight": 1.0}, {"source": "controller_creation_rationale_312", "target": "controller_creation_creationcontroller_create_project", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L312", "weight": 1.0}, {"source": "controller_creation_rationale_325", "target": "controller_creation_creationcontroller_create_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L325", "weight": 1.0}, {"source": "controller_creation_rationale_330", "target": "controller_creation_creationcontroller_resume", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L330", "weight": 1.0}, {"source": "controller_creation_rationale_354", "target": "controller_creation_creationcontroller_cancel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L354", "weight": 1.0}, {"source": "controller_creation_rationale_397", "target": "controller_creation_creationcontroller_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L397", "weight": 1.0}, {"source": "controller_creation_rationale_404", "target": "controller_creation_creationcontroller_subscribe", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L404", "weight": 1.0}, {"source": "controller_creation_rationale_428", "target": "controller_creation_creationcontroller_launch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L428", "weight": 1.0}, {"source": "controller_creation_rationale_466", "target": "controller_creation_creationcontroller_validate_inputs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L466", "weight": 1.0}, {"source": "controller_creation_rationale_608", "target": "controller_creation_creationcontroller_run_pipeline", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L608", "weight": 1.0}, {"source": "controller_creation_rationale_628", "target": "controller_creation_creationcontroller_pipeline_states", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L628", "weight": 1.0}, {"source": "controller_creation_rationale_734", "target": "controller_creation_creationcontroller_short_id_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L734", "weight": 1.0}, {"source": "controller_creation_rationale_750", "target": "controller_creation_creationcontroller_project_name_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L750", "weight": 1.0}, {"source": "controller_creation_rationale_763", "target": "controller_creation_creationcontroller_resolve_run_lims_block", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L763", "weight": 1.0}, {"source": "controller_creation_rationale_783", "target": "controller_creation_creationcontroller_run_kind_value_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L783", "weight": 1.0}, {"source": "controller_creation_rationale_816", "target": "controller_creation_creationcontroller_render", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L816", "weight": 1.0}, {"source": "controller_creation_rationale_905", "target": "controller_creation_creationcontroller_build_readme_context", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L905", "weight": 1.0}, {"source": "controller_creation_rationale_973", "target": "controller_creation_creationcontroller_write_cache", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L973", "weight": 1.0}, {"source": "controller_creation_rationale_1083", "target": "controller_creation_creationcontroller_write_equipment_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1083", "weight": 1.0}, {"source": "controller_creation_rationale_1120", "target": "controller_creation_creationcontroller_post_validate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1120", "weight": 1.0}, {"source": "controller_creation_rationale_1199", "target": "controller_creation_creationcontroller_cleanup", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1199", "weight": 1.0}, {"source": "controller_creation_rationale_1232", "target": "controller_creation_creationcontroller_append_log", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1232", "weight": 1.0}, {"source": "controller_creation_rationale_1257", "target": "controller_creation_required_field_ids", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1257", "weight": 1.0}, {"source": "controller_creation_rationale_1270", "target": "controller_creation_readme_decls_from_template", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1270", "weight": 1.0}, {"source": "controller_creation_rationale_1302", "target": "controller_creation_readme_decls_from_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1302", "weight": 1.0}, {"source": "controller_creation_rationale_1327", "target": "controller_creation_os_username", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1327", "weight": 1.0}, {"source": "controller_creation_rationale_1346", "target": "controller_creation_attach_resolved", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1346", "weight": 1.0}], "raw_calls": [{"caller_nid": "controller_creation_noopreadmegenerator_generate", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L222"}, {"caller_nid": "controller_creation_noopreadmegenerator_generate", "callee": "readme_fields_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L223"}, {"caller_nid": "controller_creation_creationcontroller_init", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L278"}, {"caller_nid": "controller_creation_creationcontroller_create_project", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L321"}, {"caller_nid": "controller_creation_creationcontroller_create_run", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L326"}, {"caller_nid": "controller_creation_creationcontroller_resume", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L336"}, {"caller_nid": "controller_creation_creationcontroller_resume", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L338"}, {"caller_nid": "controller_creation_creationcontroller_resume", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L340"}, {"caller_nid": "controller_creation_creationcontroller_resume", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L344"}, {"caller_nid": "controller_creation_creationcontroller_resume", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L346"}, {"caller_nid": "controller_creation_creationcontroller_resume", "callee": "put", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L347"}, {"caller_nid": "controller_creation_creationcontroller_resume", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L347"}, {"caller_nid": "controller_creation_creationcontroller_resume", "callee": "heartbeat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L350"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L362"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L365"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L368"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L370"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "put_nowait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L371"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L379"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L380"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L382"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L387"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L388"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L389"}, {"caller_nid": "controller_creation_creationcontroller_cancel", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L390"}, {"caller_nid": "controller_creation_creationcontroller_status", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L398"}, {"caller_nid": "controller_creation_creationcontroller_status", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L400"}, {"caller_nid": "controller_creation_creationcontroller_subscribe", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L409"}, {"caller_nid": "controller_creation_creationcontroller_subscribe", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L411"}, {"caller_nid": "controller_creation_creationcontroller_subscribe", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L413"}, {"caller_nid": "controller_creation_creationcontroller_subscribe", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L416"}, {"caller_nid": "controller_creation_creationcontroller_subscribe", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L418"}, {"caller_nid": "controller_creation_creationcontroller_subscribe", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L419"}, {"caller_nid": "controller_creation_creationcontroller_subscribe", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L419"}, {"caller_nid": "controller_creation_creationcontroller_launch", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L438"}, {"caller_nid": "controller_creation_creationcontroller_launch", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L441"}, {"caller_nid": "controller_creation_creationcontroller_launch", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L451"}, {"caller_nid": "controller_creation_creationcontroller_launch", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L457"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "ValidationError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L476"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L486"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "ValidationError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L488"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L491"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "validate_project_name", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L503"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "ValidationError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L505"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L508"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L514"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "ValidationError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L516"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L523"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "ValidationError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L524"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L527"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L533"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "ValidationError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L535"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L542"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "ValidationError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L544"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L549"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L553"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "ValidationError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L555"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L562"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "ValidationError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L563"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L566"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L581"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L592"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L592"}, {"caller_nid": "controller_creation_creationcontroller_validate_inputs", "callee": "ValidationError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L595"}, {"caller_nid": "controller_creation_creationcontroller_run_pipeline", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L616"}, {"caller_nid": "controller_creation_creationcontroller_run_pipeline", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L616"}, {"caller_nid": "controller_creation_creationcontroller_run_pipeline", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L617"}, {"caller_nid": "controller_creation_creationcontroller_run_pipeline", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L618"}, {"caller_nid": "controller_creation_creationcontroller_run_pipeline", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L619"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L637"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L637"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L646"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L652"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "__setattr__", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L653"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L689"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L693"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L699"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L713"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L716"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L718"}, {"caller_nid": "controller_creation_creationcontroller_pipeline_states", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L721"}, {"caller_nid": "controller_creation_creationcontroller_resolve_template", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L729"}, {"caller_nid": "controller_creation_creationcontroller_resolve_template", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L730"}, {"caller_nid": "controller_creation_short_id_for", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L743"}, {"caller_nid": "controller_creation_short_id_for", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L744"}, {"caller_nid": "controller_creation_short_id_for", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L746"}, {"caller_nid": "controller_creation_short_id_for", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L746"}, {"caller_nid": "controller_creation_project_name_for", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L757"}, {"caller_nid": "controller_creation_project_name_for", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L760"}, {"caller_nid": "controller_creation_project_name_for", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L760"}, {"caller_nid": "controller_creation_project_name_for", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L760"}, {"caller_nid": "controller_creation_creationcontroller_resolve_run_lims_block", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L771"}, {"caller_nid": "controller_creation_creationcontroller_resolve_run_lims_block", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L773"}, {"caller_nid": "controller_creation_creationcontroller_resolve_run_lims_block", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L774"}, {"caller_nid": "controller_creation_creationcontroller_resolve_run_lims_block", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L777"}, {"caller_nid": "controller_creation_run_kind_value_for", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L789"}, {"caller_nid": "controller_creation_creationcontroller_compose_destination_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L794"}, {"caller_nid": "controller_creation_creationcontroller_compose_destination_path", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L795"}, {"caller_nid": "controller_creation_creationcontroller_compose_destination_path", "callee": "compose_project_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L796"}, {"caller_nid": "controller_creation_creationcontroller_compose_destination_path", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L801"}, {"caller_nid": "controller_creation_creationcontroller_compose_destination_path", "callee": "compose_run_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L802"}, {"caller_nid": "controller_creation_creationcontroller_render", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L827"}, {"caller_nid": "controller_creation_creationcontroller_render", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L828"}, {"caller_nid": "controller_creation_creationcontroller_render", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L829"}, {"caller_nid": "controller_creation_creationcontroller_render", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L830"}, {"caller_nid": "controller_creation_creationcontroller_render", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L831"}, {"caller_nid": "controller_creation_creationcontroller_render", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L832"}, {"caller_nid": "controller_creation_creationcontroller_render", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L833"}, {"caller_nid": "controller_creation_creationcontroller_render", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L834"}, {"caller_nid": "controller_creation_creationcontroller_render", "callee": "render", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L835"}, {"caller_nid": "controller_creation_creationcontroller_plugin_pass", "callee": "PluginPassResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L846"}, {"caller_nid": "controller_creation_creationcontroller_plugin_pass", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L852"}, {"caller_nid": "controller_creation_creationcontroller_plugin_pass", "callee": "PluginContext", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L854"}, {"caller_nid": "controller_creation_creationcontroller_plugin_pass", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L855"}, {"caller_nid": "controller_creation_creationcontroller_plugin_pass", "callee": "HostPluginLogger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L864"}, {"caller_nid": "controller_creation_creationcontroller_plugin_pass", "callee": "run_pass", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L891"}, {"caller_nid": "controller_creation_creationcontroller_plugin_pass", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L893"}, {"caller_nid": "controller_creation_creationcontroller_plugin_pass", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L894"}, {"caller_nid": "controller_creation_creationcontroller_build_readme_context", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L922"}, {"caller_nid": "controller_creation_creationcontroller_build_readme_context", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L931"}, {"caller_nid": "controller_creation_creationcontroller_build_readme_context", "callee": "CustomField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L932"}, {"caller_nid": "controller_creation_creationcontroller_build_readme_context", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L932"}, {"caller_nid": "controller_creation_creationcontroller_build_readme_context", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L935"}, {"caller_nid": "controller_creation_creationcontroller_build_readme_context", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L936"}, {"caller_nid": "controller_creation_creationcontroller_build_readme_context", "callee": "SystemFields", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L940"}, {"caller_nid": "controller_creation_creationcontroller_build_readme_context", "callee": "utc_now", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L941"}, {"caller_nid": "controller_creation_creationcontroller_build_readme_context", "callee": "ReadmeContext", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L952"}, {"caller_nid": "controller_creation_creationcontroller_build_readme_context", "callee": "CoreFields", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L954"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L977"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L980"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get_cache_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L980"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L981"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L989"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L990"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L991"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L998"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L999"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1000"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1000"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1001"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1001"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "LIMSProjectSource", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1003"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1003"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1004"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1009"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "PluginApplied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1019"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1022"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1022"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1023"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "PluginIsolation", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1024"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1025"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1025"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1025"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1026"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1026"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1026"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1027"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1027"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1027"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1039"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "OrchestratorBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1040"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "gethostname", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1042"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1047"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1049"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "RunKind", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1052"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1054"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1057"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1060"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1061"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1062"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1063"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1063"}, {"caller_nid": "controller_creation_creationcontroller_write_cache", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1069"}, {"caller_nid": "controller_creation_creationcontroller_write_equipment_json", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1095"}, {"caller_nid": "controller_creation_creationcontroller_write_equipment_json", "callee": "equipment_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1097"}, {"caller_nid": "controller_creation_creationcontroller_write_equipment_json", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1102"}, {"caller_nid": "controller_creation_creationcontroller_write_equipment_json", "callee": "EquipmentJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1103"}, {"caller_nid": "controller_creation_creationcontroller_write_equipment_json", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1107"}, {"caller_nid": "controller_creation_creationcontroller_write_equipment_json", "callee": "write_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1112"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "rglob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1130"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1131"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1133"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1136"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1138"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1139"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1140"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1141"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "CreationValidationInput", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1149"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1150"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1151"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1152"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1153"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1154"}, {"caller_nid": "controller_creation_creationcontroller_post_validate", "callee": "validate_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1156"}, {"caller_nid": "controller_creation_creationcontroller_transition", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1163"}, {"caller_nid": "controller_creation_creationcontroller_transition", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1164"}, {"caller_nid": "controller_creation_creationcontroller_transition", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1179"}, {"caller_nid": "controller_creation_creationcontroller_publish", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1185"}, {"caller_nid": "controller_creation_creationcontroller_publish", "callee": "put", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1186"}, {"caller_nid": "controller_creation_creationcontroller_fail", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1189"}, {"caller_nid": "controller_creation_creationcontroller_fail", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1190"}, {"caller_nid": "controller_creation_creationcontroller_fail", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1191"}, {"caller_nid": "controller_creation_creationcontroller_cleanup", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1209"}, {"caller_nid": "controller_creation_creationcontroller_cleanup", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1210"}, {"caller_nid": "controller_creation_creationcontroller_cleanup", "callee": "rmtree", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1211"}, {"caller_nid": "controller_creation_format_error", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1227"}, {"caller_nid": "controller_creation_format_error", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1227"}, {"caller_nid": "controller_creation_format_error", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1228"}, {"caller_nid": "controller_creation_format_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1229"}, {"caller_nid": "controller_creation_creationcontroller_append_log", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1239"}, {"caller_nid": "controller_creation_creationcontroller_append_log", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1240"}, {"caller_nid": "controller_creation_creationcontroller_append_log", "callee": "format_log_line", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1242"}, {"caller_nid": "controller_creation_creationcontroller_append_log", "callee": "utc_now", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1243"}, {"caller_nid": "controller_creation_creationcontroller_append_log", "callee": "append_log_line", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1248"}, {"caller_nid": "controller_creation_required_field_ids", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1260"}, {"caller_nid": "controller_creation_required_field_ids", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1262"}, {"caller_nid": "controller_creation_required_field_ids", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1263"}, {"caller_nid": "controller_creation_required_field_ids", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1264"}, {"caller_nid": "controller_creation_required_field_ids", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1265"}, {"caller_nid": "controller_creation_required_field_ids", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1266"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1280"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1282"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1283"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1285"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1286"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1287"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1288"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1290"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1290"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "FieldType", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1291"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1291"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1291"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1292"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1292"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1293"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1294"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1294"}, {"caller_nid": "controller_creation_readme_decls_from_template", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1295"}, {"caller_nid": "controller_creation_readme_decls_from_config", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1312"}, {"caller_nid": "controller_creation_readme_decls_from_config", "callee": "TemplateFieldDecl", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1313"}, {"caller_nid": "controller_creation_readme_decls_from_config", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1319"}, {"caller_nid": "controller_creation_os_username", "callee": "getuser", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1334"}, {"caller_nid": "controller_creation_os_username", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1336"}, {"caller_nid": "controller_creation_os_username", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1336"}, {"caller_nid": "controller_creation_has_hard_finding", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1340"}, {"caller_nid": "controller_creation_attach_resolved", "callee": "__setattr__", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py", "source_location": "L1352"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/837c366929693bfea4a895699e3ab6f412226d478c59536f27cd79d3d3717edd.json b/graphify-out/cache/ast/837c366929693bfea4a895699e3ab6f412226d478c59536f27cd79d3d3717edd.json deleted file mode 100644 index 7dd91a9..0000000 --- a/graphify-out/cache/ast/837c366929693bfea4a895699e3ab6f412226d478c59536f27cd79d3d3717edd.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_breadcrumb_py", "label": "test_breadcrumb.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L1"}, {"id": "ui_test_breadcrumb_test_segments_from_none_returns_empty", "label": "test_segments_from_none_returns_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L11"}, {"id": "ui_test_breadcrumb_test_segments_from_empty_returns_empty", "label": "test_segments_from_empty_returns_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L15"}, {"id": "ui_test_breadcrumb_test_segments_for_run_node", "label": "test_segments_for_run_node()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L19"}, {"id": "ui_test_breadcrumb_test_segments_strip_empty_components", "label": "test_segments_strip_empty_components()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L32"}, {"id": "ui_test_breadcrumb_rationale_1", "label": "Unit tests for ``ui/components/breadcrumb``. Redesign \u00a74.7 / decision 7A.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L1"}, {"id": "ui_test_breadcrumb_rationale_33", "label": "A double-slash or trailing slash doesn't produce empty segments.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L33"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_breadcrumb_py", "target": "exlab_wizard_ui_components_breadcrumb", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_breadcrumb_py", "target": "ui_test_breadcrumb_test_segments_from_none_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_breadcrumb_py", "target": "ui_test_breadcrumb_test_segments_from_empty_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_breadcrumb_py", "target": "ui_test_breadcrumb_test_segments_for_run_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_breadcrumb_py", "target": "ui_test_breadcrumb_test_segments_strip_empty_components", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L32", "weight": 1.0}, {"source": "ui_test_breadcrumb_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_breadcrumb_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_breadcrumb_rationale_33", "target": "ui_test_breadcrumb_test_segments_strip_empty_components", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L33", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_breadcrumb_test_segments_from_none_returns_empty", "callee": "segments_from_node_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L12"}, {"caller_nid": "ui_test_breadcrumb_test_segments_from_empty_returns_empty", "callee": "segments_from_node_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L16"}, {"caller_nid": "ui_test_breadcrumb_test_segments_for_run_node", "callee": "segments_from_node_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L20"}, {"caller_nid": "ui_test_breadcrumb_test_segments_for_run_node", "callee": "BreadcrumbSegment", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L22"}, {"caller_nid": "ui_test_breadcrumb_test_segments_for_run_node", "callee": "BreadcrumbSegment", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L23"}, {"caller_nid": "ui_test_breadcrumb_test_segments_for_run_node", "callee": "BreadcrumbSegment", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L24"}, {"caller_nid": "ui_test_breadcrumb_test_segments_for_run_node", "callee": "BreadcrumbSegment", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L25"}, {"caller_nid": "ui_test_breadcrumb_test_segments_strip_empty_components", "callee": "segments_from_node_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L34"}, {"caller_nid": "ui_test_breadcrumb_test_segments_strip_empty_components", "callee": "BreadcrumbSegment", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L36"}, {"caller_nid": "ui_test_breadcrumb_test_segments_strip_empty_components", "callee": "BreadcrumbSegment", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py", "source_location": "L37"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/839b8f98fe64612dd351bde24046600b90c4f0f218a10101138b94360760ae92.json b/graphify-out/cache/ast/839b8f98fe64612dd351bde24046600b90c4f0f218a10101138b94360760ae92.json deleted file mode 100644 index d0df156..0000000 --- a/graphify-out/cache/ast/839b8f98fe64612dd351bde24046600b90c4f0f218a10101138b94360760ae92.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_config_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/__init__.py", "source_location": "L1"}, {"id": "config_init_rationale_1", "label": "Config package. Backend Spec \u00a79.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/__init__.py", "source_location": "L1"}], "edges": [{"source": "config_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_config_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/845ebbc4f388167353d07928ecf421c706baebc2d643688169e08cde895820e5.json b/graphify-out/cache/ast/845ebbc4f388167353d07928ecf421c706baebc2d643688169e08cde895820e5.json deleted file mode 100644 index 4116c8f..0000000 --- a/graphify-out/cache/ast/845ebbc4f388167353d07928ecf421c706baebc2d643688169e08cde895820e5.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_schema_py", "label": "sync_state_schema.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L1"}, {"id": "cache_sync_state_schema_filesyncrecord", "label": "FileSyncRecord", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L19"}, {"id": "struct", "label": "Struct", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "cache_sync_state_schema_syncstatejson", "label": "SyncStateJson", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L55"}, {"id": "cache_sync_state_schema_rationale_1", "label": "``msgspec.Struct`` types for the per-run ``sync_state.json`` cache. Operator-fr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L1"}, {"id": "cache_sync_state_schema_rationale_24", "label": "Per-file sync record stored under ``sync_state.json``'s ``files`` map. One", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L24"}, {"id": "cache_sync_state_schema_rationale_60", "label": "``sync_state.json`` per-run sync-state record at schema version 1.0. Writte", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L60"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_schema_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_schema_py", "target": "cache_sync_state_schema_filesyncrecord", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L19", "weight": 1.0}, {"source": "cache_sync_state_schema_filesyncrecord", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_schema_py", "target": "cache_sync_state_schema_syncstatejson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L55", "weight": 1.0}, {"source": "cache_sync_state_schema_syncstatejson", "target": "struct", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L55", "weight": 1.0}, {"source": "cache_sync_state_schema_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_schema_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L1", "weight": 1.0}, {"source": "cache_sync_state_schema_rationale_24", "target": "cache_sync_state_schema_filesyncrecord", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L24", "weight": 1.0}, {"source": "cache_sync_state_schema_rationale_60", "target": "cache_sync_state_schema_syncstatejson", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py", "source_location": "L60", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/8463b4f5c1a59bbe7a0fff74e98571617cfe2c30f2e3ed5a0a5024f3c69d7a14.json b/graphify-out/cache/ast/8463b4f5c1a59bbe7a0fff74e98571617cfe2c30f2e3ed5a0a5024f3c69d7a14.json deleted file mode 100644 index 0336443..0000000 --- a/graphify-out/cache/ast/8463b4f5c1a59bbe7a0fff74e98571617cfe2c30f2e3ed5a0a5024f3c69d7a14.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_input_required_plugin_plugin_py", "label": "plugin.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L1"}, {"id": "input_required_plugin_plugin_inputrequiredplugin", "label": "InputRequiredPlugin", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L20"}, {"id": "plugin", "label": "Plugin", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "input_required_plugin_plugin_inputrequiredplugin_can_handle", "label": ".can_handle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L28"}, {"id": "input_required_plugin_plugin_inputrequiredplugin_transform", "label": ".transform()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L31"}, {"id": "input_required_plugin_plugin_rationale_1", "label": "input_required_plugin -- exercises Backend Spec \u00a76.4 suspend/resume. On the fir", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L1"}, {"id": "input_required_plugin_plugin_rationale_21", "label": "Demand a user-supplied ``color`` value before completing.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L21"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_input_required_plugin_plugin_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_input_required_plugin_plugin_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_input_required_plugin_plugin_py", "target": "exlab_wizard_plugins", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_input_required_plugin_plugin_py", "target": "input_required_plugin_plugin_inputrequiredplugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L20", "weight": 1.0}, {"source": "input_required_plugin_plugin_inputrequiredplugin", "target": "plugin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L20", "weight": 1.0}, {"source": "input_required_plugin_plugin_inputrequiredplugin", "target": "input_required_plugin_plugin_inputrequiredplugin_can_handle", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L28", "weight": 1.0}, {"source": "input_required_plugin_plugin_inputrequiredplugin", "target": "input_required_plugin_plugin_inputrequiredplugin_transform", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L31", "weight": 1.0}, {"source": "input_required_plugin_plugin_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_input_required_plugin_plugin_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L1", "weight": 1.0}, {"source": "input_required_plugin_plugin_rationale_21", "target": "input_required_plugin_plugin_inputrequiredplugin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L21", "weight": 1.0}], "raw_calls": [{"caller_nid": "input_required_plugin_plugin_inputrequiredplugin_transform", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L35"}, {"caller_nid": "input_required_plugin_plugin_inputrequiredplugin_transform", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L36"}, {"caller_nid": "input_required_plugin_plugin_inputrequiredplugin_transform", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L36"}, {"caller_nid": "input_required_plugin_plugin_inputrequiredplugin_transform", "callee": "PluginInputRequired", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L38"}, {"caller_nid": "input_required_plugin_plugin_inputrequiredplugin_transform", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L50"}, {"caller_nid": "input_required_plugin_plugin_inputrequiredplugin_transform", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", "source_location": "L51"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/85542c94ea86d655ad0927b81c4e15ded2120f7d9d6a61e8d26b869cb014aa64.json b/graphify-out/cache/ast/85542c94ea86d655ad0927b81c4e15ded2120f7d9d6a61e8d26b869cb014aa64.json deleted file mode 100644 index 6f7d15e..0000000 --- a/graphify-out/cache/ast/85542c94ea86d655ad0927b81c4e15ded2120f7d9d6a61e8d26b869cb014aa64.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_controller_test_creation_apply_config_py", "label": "test_creation_apply_config.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L1"}, {"id": "controller_test_creation_apply_config_controller", "label": "_controller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L16"}, {"id": "controller_test_creation_apply_config_test_apply_config_swaps_config", "label": "test_apply_config_swaps_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L29"}, {"id": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", "label": "test_apply_config_reinjects_plugin_host_only_when_given()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L39"}, {"id": "controller_test_creation_apply_config_rationale_1", "label": "Unit tests for ``CreationController.apply_config`` (live config reload). The co", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_creation_apply_config_py", "target": "types", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_creation_apply_config_py", "target": "exlab_wizard_controller_creation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_creation_apply_config_py", "target": "controller_test_creation_apply_config_controller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_creation_apply_config_py", "target": "controller_test_creation_apply_config_test_apply_config_swaps_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_controller_test_creation_apply_config_py", "target": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L39", "weight": 1.0}, {"source": "controller_test_creation_apply_config_test_apply_config_swaps_config", "target": "controller_test_creation_apply_config_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L31", "weight": 1.0}, {"source": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", "target": "controller_test_creation_apply_config_controller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L40", "weight": 1.0}, {"source": "controller_test_creation_apply_config_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_controller_test_creation_apply_config_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "controller_test_creation_apply_config_controller", "callee": "CreationController", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L19"}, {"caller_nid": "controller_test_creation_apply_config_controller", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L21"}, {"caller_nid": "controller_test_creation_apply_config_controller", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L22"}, {"caller_nid": "controller_test_creation_apply_config_controller", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L23"}, {"caller_nid": "controller_test_creation_apply_config_controller", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L24"}, {"caller_nid": "controller_test_creation_apply_config_controller", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L25"}, {"caller_nid": "controller_test_creation_apply_config_test_apply_config_swaps_config", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L30"}, {"caller_nid": "controller_test_creation_apply_config_test_apply_config_swaps_config", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L34"}, {"caller_nid": "controller_test_creation_apply_config_test_apply_config_swaps_config", "callee": "apply_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L35"}, {"caller_nid": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L40"}, {"caller_nid": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", "callee": "apply_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L44"}, {"caller_nid": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L44"}, {"caller_nid": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L48"}, {"caller_nid": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", "callee": "apply_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L49"}, {"caller_nid": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py", "source_location": "L49"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/867ce4d57dfc282bdad7e3717dd7315be38de4f76189f7d8d147d2c0b03b40fc.json b/graphify-out/cache/ast/867ce4d57dfc282bdad7e3717dd7315be38de4f76189f7d8d147d2c0b03b40fc.json deleted file mode 100644 index 8bbf75d..0000000 --- a/graphify-out/cache/ast/867ce4d57dfc282bdad7e3717dd7315be38de4f76189f7d8d147d2c0b03b40fc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "label": "operations.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L1"}, {"id": "routers_operations_operationentry", "label": "OperationEntry", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L36"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "routers_operations_operationsresponse", "label": "OperationsResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L51"}, {"id": "routers_operations_build_operations_router", "label": "build_operations_router()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L59"}, {"id": "routers_operations_session_to_entry", "label": "_session_to_entry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L89"}, {"id": "routers_operations_rationale_1", "label": "``/operations`` router. Backend Spec \u00a74.6.1, Frontend \u00a79.5. Lists all in-flight", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L1"}, {"id": "routers_operations_rationale_37", "label": "One row in the Operations panel. Backend Spec \u00a74.6.1, Frontend \u00a79.5.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L37"}, {"id": "routers_operations_rationale_52", "label": "``GET /operations`` response.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L52"}, {"id": "routers_operations_rationale_60", "label": "Construct the ``/operations`` router.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L60"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "exlab_wizard_api_dependencies", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "exlab_wizard_api_setup", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "exlab_wizard_controller_session_store", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "exlab_wizard_controller_state_machine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "routers_operations_operationentry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L36", "weight": 1.0}, {"source": "routers_operations_operationentry", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "routers_operations_operationsresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L51", "weight": 1.0}, {"source": "routers_operations_operationsresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "routers_operations_build_operations_router", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "target": "routers_operations_session_to_entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L89", "weight": 1.0}, {"source": "routers_operations_session_to_entry", "target": "routers_operations_operationentry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L96", "weight": 1.0}, {"source": "routers_operations_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_operations_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L1", "weight": 1.0}, {"source": "routers_operations_rationale_37", "target": "routers_operations_operationentry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L37", "weight": 1.0}, {"source": "routers_operations_rationale_52", "target": "routers_operations_operationsresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L52", "weight": 1.0}, {"source": "routers_operations_rationale_60", "target": "routers_operations_build_operations_router", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L60", "weight": 1.0}], "raw_calls": [{"caller_nid": "routers_operations_build_operations_router", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L61"}, {"caller_nid": "routers_operations_build_operations_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L63"}, {"caller_nid": "routers_operations_build_operations_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L66"}, {"caller_nid": "routers_operations_session_to_entry", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L94"}, {"caller_nid": "routers_operations_session_to_entry", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L95"}, {"caller_nid": "routers_operations_session_to_entry", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L99"}, {"caller_nid": "routers_operations_session_to_entry", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L100"}, {"caller_nid": "routers_operations_session_to_entry", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L101"}, {"caller_nid": "routers_operations_session_to_entry", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L102"}, {"caller_nid": "routers_operations_session_to_entry", "callee": "project_identifier", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L103"}, {"caller_nid": "routers_operations_session_to_entry", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py", "source_location": "L104"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/86834b3b02df09c51cf7eb20477b30128081b34aa5159f64c679bfc10033a1dc.json b/graphify-out/cache/ast/86834b3b02df09c51cf7eb20477b30128081b34aa5159f64c679bfc10033a1dc.json deleted file mode 100644 index bbfbbfd..0000000 --- a/graphify-out/cache/ast/86834b3b02df09c51cf7eb20477b30128081b34aa5159f64c679bfc10033a1dc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "label": "test_models.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1"}, {"id": "config_test_models_sftp_transport_dict", "label": "_sftp_transport_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L48"}, {"id": "config_test_models_smb_transport_dict", "label": "_smb_transport_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L59"}, {"id": "config_test_models_equipment_dict", "label": "_equipment_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L69"}, {"id": "config_test_models_full_config_dict", "label": "_full_config_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L84"}, {"id": "config_test_models_test_paths_config_defaults_are_empty_strings", "label": "test_paths_config_defaults_are_empty_strings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L208"}, {"id": "config_test_models_test_paths_config_rejects_unknown_keys", "label": "test_paths_config_rejects_unknown_keys()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L215"}, {"id": "config_test_models_test_lims_config_defaults", "label": "test_lims_config_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L225"}, {"id": "config_test_models_test_lims_config_rejects_negative_cache_ttl_hours", "label": "test_lims_config_rejects_negative_cache_ttl_hours()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L233"}, {"id": "config_test_models_test_lims_config_zero_cache_ttl_is_allowed", "label": "test_lims_config_zero_cache_ttl_is_allowed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L238"}, {"id": "config_test_models_test_readme_default_field_minimal_string_field", "label": "test_readme_default_field_minimal_string_field()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L249"}, {"id": "config_test_models_test_readme_default_field_id_must_match_template_question_id_pattern", "label": "test_readme_default_field_id_must_match_template_question_id_pattern()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L256"}, {"id": "config_test_models_test_readme_default_field_id_rejects_leading_digit", "label": "test_readme_default_field_id_rejects_leading_digit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L261"}, {"id": "config_test_models_test_readme_default_field_label_must_be_non_empty", "label": "test_readme_default_field_label_must_be_non_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L266"}, {"id": "config_test_models_test_readme_default_field_rejects_unknown_type", "label": "test_readme_default_field_rejects_unknown_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L271"}, {"id": "config_test_models_test_readme_choice_field_requires_options", "label": "test_readme_choice_field_requires_options()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L276"}, {"id": "config_test_models_test_readme_choice_field_rejects_empty_options_list", "label": "test_readme_choice_field_rejects_empty_options_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L282"}, {"id": "config_test_models_test_readme_choice_field_accepts_non_empty_options", "label": "test_readme_choice_field_accepts_non_empty_options()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L287"}, {"id": "config_test_models_test_readme_non_choice_field_does_not_require_options", "label": "test_readme_non_choice_field_does_not_require_options()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L292"}, {"id": "config_test_models_test_readme_config_default_is_empty_list", "label": "test_readme_config_default_is_empty_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L304"}, {"id": "config_test_models_test_bandwidth_window_happy_path", "label": "test_bandwidth_window_happy_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L314"}, {"id": "config_test_models_test_bandwidth_window_rejects_empty_days_list", "label": "test_bandwidth_window_rejects_empty_days_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L321"}, {"id": "config_test_models_test_bandwidth_window_rejects_invalid_day", "label": "test_bandwidth_window_rejects_invalid_day()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L326"}, {"id": "config_test_models_test_bandwidth_window_from_must_be_before_to", "label": "test_bandwidth_window_from_must_be_before_to()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L331"}, {"id": "config_test_models_test_bandwidth_window_equal_from_and_to_is_invalid", "label": "test_bandwidth_window_equal_from_and_to_is_invalid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L336"}, {"id": "config_test_models_test_bandwidth_window_rejects_non_hhmm_time", "label": "test_bandwidth_window_rejects_non_hhmm_time()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L342"}, {"id": "config_test_models_test_bandwidth_window_rejects_invalid_hour", "label": "test_bandwidth_window_rejects_invalid_hour()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L347"}, {"id": "config_test_models_test_bandwidth_window_rejects_invalid_minute", "label": "test_bandwidth_window_rejects_invalid_minute()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L352"}, {"id": "config_test_models_test_bandwidth_config_defaults", "label": "test_bandwidth_config_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L362"}, {"id": "config_test_models_test_bandwidth_config_rejects_zero_upload_mbps", "label": "test_bandwidth_config_rejects_zero_upload_mbps()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L368"}, {"id": "config_test_models_test_bandwidth_config_rejects_negative_upload_mbps", "label": "test_bandwidth_config_rejects_negative_upload_mbps()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L373"}, {"id": "config_test_models_test_bandwidth_config_accepts_positive_upload_mbps", "label": "test_bandwidth_config_accepts_positive_upload_mbps()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L378"}, {"id": "config_test_models_test_sftp_transport_minimal", "label": "test_sftp_transport_minimal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L388"}, {"id": "config_test_models_test_sftp_transport_rejects_missing_host", "label": "test_sftp_transport_rejects_missing_host()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L395"}, {"id": "config_test_models_test_sftp_transport_rejects_empty_user", "label": "test_sftp_transport_rejects_empty_user()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L402"}, {"id": "config_test_models_test_sftp_transport_rejects_empty_remote_path", "label": "test_sftp_transport_rejects_empty_remote_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L409"}, {"id": "config_test_models_test_sftp_transport_rejects_out_of_range_port", "label": "test_sftp_transport_rejects_out_of_range_port()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L416"}, {"id": "config_test_models_test_sftp_transport_rejects_wrong_type_tag", "label": "test_sftp_transport_rejects_wrong_type_tag()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L423"}, {"id": "config_test_models_test_smb_transport_minimal", "label": "test_smb_transport_minimal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L435"}, {"id": "config_test_models_test_smb_transport_accepts_optional_domain_and_subpath", "label": "test_smb_transport_accepts_optional_domain_and_subpath()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L443"}, {"id": "config_test_models_test_smb_transport_rejects_missing_share", "label": "test_smb_transport_rejects_missing_share()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L452"}, {"id": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", "label": "test_requires_keyring_password_true_for_sftp_and_smb()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L464"}, {"id": "config_test_models_test_requires_keyring_password_false_for_none", "label": "test_requires_keyring_password_false_for_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L471"}, {"id": "config_test_models_test_equipment_transport_discriminates_on_type_sftp", "label": "test_equipment_transport_discriminates_on_type_sftp()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L480"}, {"id": "config_test_models_test_equipment_transport_discriminates_on_type_smb", "label": "test_equipment_transport_discriminates_on_type_smb()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L485"}, {"id": "config_test_models_test_equipment_transport_rejects_unknown_type", "label": "test_equipment_transport_rejects_unknown_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L495"}, {"id": "config_test_models_test_orchestrator_staging_transport_smb_mount", "label": "test_orchestrator_staging_transport_smb_mount()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L507"}, {"id": "config_test_models_test_orchestrator_staging_transport_file_transfer", "label": "test_orchestrator_staging_transport_file_transfer()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L514"}, {"id": "config_test_models_test_orchestrator_staging_transport_rejects_unknown_type", "label": "test_orchestrator_staging_transport_rejects_unknown_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L521"}, {"id": "config_test_models_test_equipment_id_regex_accepts_canonical_form", "label": "test_equipment_id_regex_accepts_canonical_form()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L535"}, {"id": "config_test_models_test_equipment_id_rejects_lowercase", "label": "test_equipment_id_rejects_lowercase()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L540"}, {"id": "config_test_models_test_equipment_id_rejects_hyphen", "label": "test_equipment_id_rejects_hyphen()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L545"}, {"id": "config_test_models_test_equipment_id_rejects_leading_digit", "label": "test_equipment_id_rejects_leading_digit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L550"}, {"id": "config_test_models_test_equipment_id_rejects_too_long", "label": "test_equipment_id_rejects_too_long()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L555"}, {"id": "config_test_models_test_equipment_id_accepts_max_length", "label": "test_equipment_id_accepts_max_length()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L561"}, {"id": "config_test_models_test_equipment_config_rejects_removed_completeness_fields", "label": "test_equipment_config_rejects_removed_completeness_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L567"}, {"id": "config_test_models_test_equipment_label_must_be_non_empty", "label": "test_equipment_label_must_be_non_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L578"}, {"id": "config_test_models_test_equipment_local_root_must_be_non_empty", "label": "test_equipment_local_root_must_be_non_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L585"}, {"id": "config_test_models_test_equipment_nas_root_must_be_non_empty", "label": "test_equipment_nas_root_must_be_non_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L592"}, {"id": "config_test_models_test_equipment_orchestrator_staging_transport_optional", "label": "test_equipment_orchestrator_staging_transport_optional()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L599"}, {"id": "config_test_models_orch_staging_transport_dict", "label": "_orch_staging_transport_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L609"}, {"id": "config_test_models_test_sync_mode_defaults_to_nas_when_absent", "label": "test_sync_mode_defaults_to_nas_when_absent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L617"}, {"id": "config_test_models_test_sync_mode_nas_requires_transport_block", "label": "test_sync_mode_nas_requires_transport_block()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L622"}, {"id": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport", "label": "test_sync_mode_nas_forbids_orchestrator_staging_transport()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L631"}, {"id": "config_test_models_test_sync_mode_stage_requires_orchestrator_staging_transport", "label": "test_sync_mode_stage_requires_orchestrator_staging_transport()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L640"}, {"id": "config_test_models_test_sync_mode_stage_forbids_transport_block", "label": "test_sync_mode_stage_forbids_transport_block()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L649"}, {"id": "config_test_models_test_sync_mode_stage_with_only_orchestrator_transport_is_valid", "label": "test_sync_mode_stage_with_only_orchestrator_transport_is_valid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L659"}, {"id": "config_test_models_test_sync_mode_serializes_to_string", "label": "test_sync_mode_serializes_to_string()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L670"}, {"id": "config_test_models_test_sync_mode_rejects_unknown_value", "label": "test_sync_mode_rejects_unknown_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L678"}, {"id": "config_test_models_test_sync_mode_stage_round_trip_via_dict", "label": "test_sync_mode_stage_round_trip_via_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L685"}, {"id": "config_test_models_test_nas_cleanup_defaults", "label": "test_nas_cleanup_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L704"}, {"id": "config_test_models_test_nas_cleanup_min_verify_passes_at_least_one", "label": "test_nas_cleanup_min_verify_passes_at_least_one()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L712"}, {"id": "config_test_models_test_nas_cleanup_min_age_hours_non_negative", "label": "test_nas_cleanup_min_age_hours_non_negative()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L717"}, {"id": "config_test_models_test_logging_level_normalized_to_uppercase", "label": "test_logging_level_normalized_to_uppercase()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L727"}, {"id": "config_test_models_test_logging_level_rejects_unknown", "label": "test_logging_level_rejects_unknown()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L732"}, {"id": "config_test_models_test_logging_level_accepts_all_canonical_values", "label": "test_logging_level_accepts_all_canonical_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L737"}, {"id": "config_test_models_test_logging_level_strips_whitespace_and_normalizes", "label": "test_logging_level_strips_whitespace_and_normalizes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L743"}, {"id": "config_test_models_test_logging_level_rejects_non_string", "label": "test_logging_level_rejects_non_string()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L748"}, {"id": "config_test_models_test_logging_level_rejects_non_string_directly", "label": "test_logging_level_rejects_non_string_directly()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L758"}, {"id": "config_test_models_test_logging_central_log_max_mb_at_least_one", "label": "test_logging_central_log_max_mb_at_least_one()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L766"}, {"id": "config_test_models_test_logging_central_log_keep_at_least_one", "label": "test_logging_central_log_keep_at_least_one()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L771"}, {"id": "config_test_models_test_operators_config_defaults_to_empty_allowlist", "label": "test_operators_config_defaults_to_empty_allowlist()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L781"}, {"id": "config_test_models_test_operators_config_accepts_arbitrary_strings", "label": "test_operators_config_accepts_arbitrary_strings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L786"}, {"id": "config_test_models_test_validator_config_defaults", "label": "test_validator_config_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L796"}, {"id": "config_test_models_test_validator_content_scan_max_mib_at_least_one", "label": "test_validator_content_scan_max_mib_at_least_one()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L803"}, {"id": "config_test_models_test_validator_extensions_must_start_with_dot", "label": "test_validator_extensions_must_start_with_dot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L808"}, {"id": "config_test_models_test_validator_extensions_rejects_dotless_among_others", "label": "test_validator_extensions_rejects_dotless_among_others()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L813"}, {"id": "config_test_models_test_plugins_config_default_allow_network_false", "label": "test_plugins_config_default_allow_network_false()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L823"}, {"id": "config_test_models_test_sync_config_defaults", "label": "test_sync_config_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L833"}, {"id": "config_test_models_test_sync_config_retry_attempts_non_negative", "label": "test_sync_config_retry_attempts_non_negative()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L842"}, {"id": "config_test_models_test_sync_config_quiescence_minutes_at_least_one", "label": "test_sync_config_quiescence_minutes_at_least_one()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L847"}, {"id": "config_test_models_test_sync_config_poll_interval_seconds_at_least_one", "label": "test_sync_config_poll_interval_seconds_at_least_one()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L852"}, {"id": "config_test_models_test_sync_config_accepts_custom_quiescence_settings", "label": "test_sync_config_accepts_custom_quiescence_settings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L857"}, {"id": "config_test_models_test_sync_config_ignore_globs_default_is_independent_per_instance", "label": "test_sync_config_ignore_globs_default_is_independent_per_instance()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L868"}, {"id": "config_test_models_test_orchestrator_staging_cleanup_defaults", "label": "test_orchestrator_staging_cleanup_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L881"}, {"id": "config_test_models_test_orchestrator_staging_cleanup_scheduled_requires_positive_hours", "label": "test_orchestrator_staging_cleanup_scheduled_requires_positive_hours()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L887"}, {"id": "config_test_models_test_orchestrator_staging_cleanup_rejects_unknown_mode", "label": "test_orchestrator_staging_cleanup_rejects_unknown_mode()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L893"}, {"id": "config_test_models_test_orchestrator_config_defaults", "label": "test_orchestrator_config_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L903"}, {"id": "config_test_models_test_config_fully_default_is_valid", "label": "test_config_fully_default_is_valid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L918"}, {"id": "config_test_models_test_unique_equipment_ids_required", "label": "test_unique_equipment_ids_required()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L928"}, {"id": "config_test_models_test_distinct_equipment_ids_accepted", "label": "test_distinct_equipment_ids_accepted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L940"}, {"id": "config_test_models_test_orchestrator_legacy_enabled_field_rejected", "label": "test_orchestrator_legacy_enabled_field_rejected()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L954"}, {"id": "config_test_models_test_orchestrator_label_and_staging_root_load_independently", "label": "test_orchestrator_label_and_staging_root_load_independently()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L970"}, {"id": "config_test_models_test_orchestrator_with_both_fields_is_valid", "label": "test_orchestrator_with_both_fields_is_valid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L985"}, {"id": "config_test_models_test_config_rejects_unknown_top_level_key", "label": "test_config_rejects_unknown_top_level_key()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L999"}, {"id": "config_test_models_test_full_config_round_trip_via_dict", "label": "test_full_config_round_trip_via_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1009"}, {"id": "config_test_models_test_round_trip_preserves_bandwidth_alias_for_from", "label": "test_round_trip_preserves_bandwidth_alias_for_from()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1030"}, {"id": "config_test_models_test_config_with_equipment_appended_seeds_from_none", "label": "test_config_with_equipment_appended_seeds_from_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1044"}, {"id": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", "label": "test_config_with_equipment_appended_preserves_existing_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1052"}, {"id": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", "label": "test_config_with_equipment_appended_rejects_duplicate_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1069"}, {"id": "config_test_models_rationale_1", "label": "Unit tests for ``exlab_wizard.config.models``. Pydantic models that mirror ``co", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1"}, {"id": "config_test_models_rationale_49", "label": "Minimal valid rclone_sftp transport block.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L49"}, {"id": "config_test_models_rationale_60", "label": "Minimal valid rclone_smb transport block.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L60"}, {"id": "config_test_models_rationale_74", "label": "Build a valid EquipmentConfig dict with sensible defaults.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L74"}, {"id": "config_test_models_rationale_85", "label": "Full Config dict mirroring the \u00a79 example. Used by round-trip tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L85"}, {"id": "config_test_models_rationale_568", "label": "The operator-free quiescence redesign drops the per-equipment completeness-s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L568"}, {"id": "config_test_models_rationale_686", "label": "Build a stage-mode EquipmentConfig from a dict, dump it, compare.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L686"}, {"id": "config_test_models_rationale_904", "label": "Redesign \u00a73.1: the ``enabled`` toggle is removed; ``label`` and ``staging_ro", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L904"}, {"id": "config_test_models_rationale_955", "label": "Redesign \u00a73.1: the ``enabled`` toggle is removed; old configs that carry it", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L955"}, {"id": "config_test_models_rationale_971", "label": "They can be empty at load time (the setup-incomplete gate trips, not the Pyd", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L971"}, {"id": "config_test_models_rationale_1010", "label": "Build a Config from a \u00a79-shaped dict, dump it, and compare. ``model_dump()`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1010"}, {"id": "config_test_models_rationale_1045", "label": "A ``None`` config (fresh install) yields a default Config + the device.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1045"}, {"id": "config_test_models_rationale_1053", "label": "Appending keeps prior equipment and other config sections, unmutated.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1053"}, {"id": "config_test_models_rationale_1070", "label": "A device whose id already exists raises ConfigError, not a silent merge.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1070"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_sftp_transport_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_smb_transport_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_equipment_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_full_config_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L84", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_paths_config_defaults_are_empty_strings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L208", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_paths_config_rejects_unknown_keys", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L215", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_lims_config_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L225", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_lims_config_rejects_negative_cache_ttl_hours", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L233", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_lims_config_zero_cache_ttl_is_allowed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L238", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_readme_default_field_minimal_string_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L249", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_readme_default_field_id_must_match_template_question_id_pattern", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L256", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_readme_default_field_id_rejects_leading_digit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L261", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_readme_default_field_label_must_be_non_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L266", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_readme_default_field_rejects_unknown_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L271", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_readme_choice_field_requires_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L276", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_readme_choice_field_rejects_empty_options_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L282", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_readme_choice_field_accepts_non_empty_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L287", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_readme_non_choice_field_does_not_require_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L292", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_readme_config_default_is_empty_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L304", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_window_happy_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L314", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_window_rejects_empty_days_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L321", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_window_rejects_invalid_day", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L326", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_window_from_must_be_before_to", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L331", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_window_equal_from_and_to_is_invalid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L336", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_window_rejects_non_hhmm_time", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L342", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_window_rejects_invalid_hour", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L347", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_window_rejects_invalid_minute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L352", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_config_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L362", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_config_rejects_zero_upload_mbps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L368", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_config_rejects_negative_upload_mbps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L373", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_bandwidth_config_accepts_positive_upload_mbps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L378", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sftp_transport_minimal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L388", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sftp_transport_rejects_missing_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L395", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sftp_transport_rejects_empty_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L402", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sftp_transport_rejects_empty_remote_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L409", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sftp_transport_rejects_out_of_range_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L416", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sftp_transport_rejects_wrong_type_tag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L423", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_smb_transport_minimal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L435", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_smb_transport_accepts_optional_domain_and_subpath", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L443", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_smb_transport_rejects_missing_share", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L452", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L464", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_requires_keyring_password_false_for_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L471", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_transport_discriminates_on_type_sftp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L480", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_transport_discriminates_on_type_smb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L485", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_transport_rejects_unknown_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L495", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_orchestrator_staging_transport_smb_mount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L507", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_orchestrator_staging_transport_file_transfer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L514", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_orchestrator_staging_transport_rejects_unknown_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L521", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_id_regex_accepts_canonical_form", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L535", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_id_rejects_lowercase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L540", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_id_rejects_hyphen", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L545", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_id_rejects_leading_digit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L550", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_id_rejects_too_long", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L555", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_id_accepts_max_length", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L561", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_config_rejects_removed_completeness_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L567", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_label_must_be_non_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L578", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_local_root_must_be_non_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L585", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_nas_root_must_be_non_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L592", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_equipment_orchestrator_staging_transport_optional", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L599", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_orch_staging_transport_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L609", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_mode_defaults_to_nas_when_absent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L617", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_mode_nas_requires_transport_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L622", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L631", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_mode_stage_requires_orchestrator_staging_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L640", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_mode_stage_forbids_transport_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L649", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_mode_stage_with_only_orchestrator_transport_is_valid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L659", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_mode_serializes_to_string", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L670", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_mode_rejects_unknown_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L678", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_mode_stage_round_trip_via_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L685", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_nas_cleanup_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L704", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_nas_cleanup_min_verify_passes_at_least_one", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L712", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_nas_cleanup_min_age_hours_non_negative", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L717", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_logging_level_normalized_to_uppercase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L727", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_logging_level_rejects_unknown", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L732", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_logging_level_accepts_all_canonical_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L737", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_logging_level_strips_whitespace_and_normalizes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L743", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_logging_level_rejects_non_string", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L748", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_logging_level_rejects_non_string_directly", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L758", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_logging_central_log_max_mb_at_least_one", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L766", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_logging_central_log_keep_at_least_one", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L771", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_operators_config_defaults_to_empty_allowlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L781", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_operators_config_accepts_arbitrary_strings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L786", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_validator_config_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L796", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_validator_content_scan_max_mib_at_least_one", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L803", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_validator_extensions_must_start_with_dot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L808", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_validator_extensions_rejects_dotless_among_others", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L813", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_plugins_config_default_allow_network_false", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L823", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_config_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L833", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_config_retry_attempts_non_negative", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L842", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_config_quiescence_minutes_at_least_one", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L847", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_config_poll_interval_seconds_at_least_one", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L852", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_config_accepts_custom_quiescence_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L857", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_sync_config_ignore_globs_default_is_independent_per_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L868", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_orchestrator_staging_cleanup_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L881", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_orchestrator_staging_cleanup_scheduled_requires_positive_hours", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L887", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_orchestrator_staging_cleanup_rejects_unknown_mode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L893", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_orchestrator_config_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L903", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_config_fully_default_is_valid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L918", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_unique_equipment_ids_required", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L928", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_distinct_equipment_ids_accepted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L940", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_orchestrator_legacy_enabled_field_rejected", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L954", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_orchestrator_label_and_staging_root_load_independently", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L970", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_orchestrator_with_both_fields_is_valid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L985", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_config_rejects_unknown_top_level_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L999", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_full_config_round_trip_via_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1009", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_round_trip_preserves_bandwidth_alias_for_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1030", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_config_with_equipment_appended_seeds_from_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1044", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1052", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "target": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1069", "weight": 1.0}, {"source": "config_test_models_equipment_dict", "target": "config_test_models_sftp_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L80", "weight": 1.0}, {"source": "config_test_models_test_sftp_transport_minimal", "target": "config_test_models_sftp_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L389", "weight": 1.0}, {"source": "config_test_models_test_sftp_transport_rejects_missing_host", "target": "config_test_models_sftp_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L396", "weight": 1.0}, {"source": "config_test_models_test_sftp_transport_rejects_empty_user", "target": "config_test_models_sftp_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L403", "weight": 1.0}, {"source": "config_test_models_test_sftp_transport_rejects_empty_remote_path", "target": "config_test_models_sftp_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L410", "weight": 1.0}, {"source": "config_test_models_test_sftp_transport_rejects_out_of_range_port", "target": "config_test_models_sftp_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L417", "weight": 1.0}, {"source": "config_test_models_test_sftp_transport_rejects_wrong_type_tag", "target": "config_test_models_sftp_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L424", "weight": 1.0}, {"source": "config_test_models_test_smb_transport_minimal", "target": "config_test_models_smb_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L436", "weight": 1.0}, {"source": "config_test_models_test_smb_transport_accepts_optional_domain_and_subpath", "target": "config_test_models_smb_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L444", "weight": 1.0}, {"source": "config_test_models_test_smb_transport_rejects_missing_share", "target": "config_test_models_smb_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L453", "weight": 1.0}, {"source": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", "target": "config_test_models_sftp_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L465", "weight": 1.0}, {"source": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", "target": "config_test_models_smb_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L466", "weight": 1.0}, {"source": "config_test_models_test_equipment_transport_discriminates_on_type_sftp", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L481", "weight": 1.0}, {"source": "config_test_models_test_equipment_transport_discriminates_on_type_smb", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L487", "weight": 1.0}, {"source": "config_test_models_test_equipment_transport_discriminates_on_type_smb", "target": "config_test_models_smb_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L489", "weight": 1.0}, {"source": "config_test_models_test_equipment_transport_rejects_unknown_type", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L496", "weight": 1.0}, {"source": "config_test_models_test_equipment_id_regex_accepts_canonical_form", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L536", "weight": 1.0}, {"source": "config_test_models_test_equipment_id_rejects_lowercase", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L542", "weight": 1.0}, {"source": "config_test_models_test_equipment_id_rejects_hyphen", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L547", "weight": 1.0}, {"source": "config_test_models_test_equipment_id_rejects_leading_digit", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L552", "weight": 1.0}, {"source": "config_test_models_test_equipment_id_rejects_too_long", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L558", "weight": 1.0}, {"source": "config_test_models_test_equipment_id_accepts_max_length", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L563", "weight": 1.0}, {"source": "config_test_models_test_equipment_config_rejects_removed_completeness_fields", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L571", "weight": 1.0}, {"source": "config_test_models_test_equipment_label_must_be_non_empty", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L579", "weight": 1.0}, {"source": "config_test_models_test_equipment_local_root_must_be_non_empty", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L586", "weight": 1.0}, {"source": "config_test_models_test_equipment_nas_root_must_be_non_empty", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L593", "weight": 1.0}, {"source": "config_test_models_test_equipment_orchestrator_staging_transport_optional", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L600", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_defaults_to_nas_when_absent", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L618", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_nas_requires_transport_block", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L623", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L632", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport", "target": "config_test_models_orch_staging_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L634", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_stage_requires_orchestrator_staging_transport", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L641", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_stage_forbids_transport_block", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L650", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_stage_forbids_transport_block", "target": "config_test_models_orch_staging_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L652", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_stage_with_only_orchestrator_transport_is_valid", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L660", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_stage_with_only_orchestrator_transport_is_valid", "target": "config_test_models_orch_staging_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L663", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_serializes_to_string", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L671", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_rejects_unknown_value", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L679", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_stage_round_trip_via_dict", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L687", "weight": 1.0}, {"source": "config_test_models_test_sync_mode_stage_round_trip_via_dict", "target": "config_test_models_orch_staging_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L690", "weight": 1.0}, {"source": "config_test_models_test_unique_equipment_ids_required", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L931", "weight": 1.0}, {"source": "config_test_models_test_distinct_equipment_ids_accepted", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L943", "weight": 1.0}, {"source": "config_test_models_test_distinct_equipment_ids_accepted", "target": "config_test_models_smb_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L946", "weight": 1.0}, {"source": "config_test_models_test_full_config_round_trip_via_dict", "target": "config_test_models_full_config_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1018", "weight": 1.0}, {"source": "config_test_models_test_round_trip_preserves_bandwidth_alias_for_from", "target": "config_test_models_full_config_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1031", "weight": 1.0}, {"source": "config_test_models_test_config_with_equipment_appended_seeds_from_none", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1046", "weight": 1.0}, {"source": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1054", "weight": 1.0}, {"source": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", "target": "config_test_models_smb_transport_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1059", "weight": 1.0}, {"source": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", "target": "config_test_models_equipment_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1071", "weight": 1.0}, {"source": "config_test_models_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_config_test_models_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1", "weight": 1.0}, {"source": "config_test_models_rationale_49", "target": "config_test_models_sftp_transport_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L49", "weight": 1.0}, {"source": "config_test_models_rationale_60", "target": "config_test_models_smb_transport_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L60", "weight": 1.0}, {"source": "config_test_models_rationale_74", "target": "config_test_models_equipment_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L74", "weight": 1.0}, {"source": "config_test_models_rationale_85", "target": "config_test_models_full_config_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L85", "weight": 1.0}, {"source": "config_test_models_rationale_568", "target": "config_test_models_test_equipment_config_rejects_removed_completeness_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L568", "weight": 1.0}, {"source": "config_test_models_rationale_686", "target": "config_test_models_test_sync_mode_stage_round_trip_via_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L686", "weight": 1.0}, {"source": "config_test_models_rationale_904", "target": "config_test_models_test_orchestrator_config_defaults", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L904", "weight": 1.0}, {"source": "config_test_models_rationale_955", "target": "config_test_models_test_orchestrator_legacy_enabled_field_rejected", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L955", "weight": 1.0}, {"source": "config_test_models_rationale_971", "target": "config_test_models_test_orchestrator_label_and_staging_root_load_independently", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L971", "weight": 1.0}, {"source": "config_test_models_rationale_1010", "target": "config_test_models_test_full_config_round_trip_via_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1010", "weight": 1.0}, {"source": "config_test_models_rationale_1045", "target": "config_test_models_test_config_with_equipment_appended_seeds_from_none", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1045", "weight": 1.0}, {"source": "config_test_models_rationale_1053", "target": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1053", "weight": 1.0}, {"source": "config_test_models_rationale_1070", "target": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1070", "weight": 1.0}], "raw_calls": [{"caller_nid": "config_test_models_test_paths_config_defaults_are_empty_strings", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L209"}, {"caller_nid": "config_test_models_test_paths_config_rejects_unknown_keys", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L216"}, {"caller_nid": "config_test_models_test_paths_config_rejects_unknown_keys", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L217"}, {"caller_nid": "config_test_models_test_lims_config_defaults", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L226"}, {"caller_nid": "config_test_models_test_lims_config_rejects_negative_cache_ttl_hours", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L234"}, {"caller_nid": "config_test_models_test_lims_config_rejects_negative_cache_ttl_hours", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L235"}, {"caller_nid": "config_test_models_test_lims_config_zero_cache_ttl_is_allowed", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L240"}, {"caller_nid": "config_test_models_test_readme_default_field_minimal_string_field", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L250"}, {"caller_nid": "config_test_models_test_readme_default_field_id_must_match_template_question_id_pattern", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L257"}, {"caller_nid": "config_test_models_test_readme_default_field_id_must_match_template_question_id_pattern", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L258"}, {"caller_nid": "config_test_models_test_readme_default_field_id_rejects_leading_digit", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L262"}, {"caller_nid": "config_test_models_test_readme_default_field_id_rejects_leading_digit", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L263"}, {"caller_nid": "config_test_models_test_readme_default_field_label_must_be_non_empty", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L267"}, {"caller_nid": "config_test_models_test_readme_default_field_label_must_be_non_empty", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L268"}, {"caller_nid": "config_test_models_test_readme_default_field_rejects_unknown_type", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L272"}, {"caller_nid": "config_test_models_test_readme_default_field_rejects_unknown_type", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L273"}, {"caller_nid": "config_test_models_test_readme_choice_field_requires_options", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L277"}, {"caller_nid": "config_test_models_test_readme_choice_field_requires_options", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L278"}, {"caller_nid": "config_test_models_test_readme_choice_field_requires_options", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L279"}, {"caller_nid": "config_test_models_test_readme_choice_field_requires_options", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L279"}, {"caller_nid": "config_test_models_test_readme_choice_field_rejects_empty_options_list", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L283"}, {"caller_nid": "config_test_models_test_readme_choice_field_rejects_empty_options_list", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L284"}, {"caller_nid": "config_test_models_test_readme_choice_field_accepts_non_empty_options", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L288"}, {"caller_nid": "config_test_models_test_readme_non_choice_field_does_not_require_options", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L294"}, {"caller_nid": "config_test_models_test_readme_non_choice_field_does_not_require_options", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L295"}, {"caller_nid": "config_test_models_test_readme_non_choice_field_does_not_require_options", "callee": "READMEDefaultField", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L296"}, {"caller_nid": "config_test_models_test_readme_config_default_is_empty_list", "callee": "READMEConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L305"}, {"caller_nid": "config_test_models_test_bandwidth_window_happy_path", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L315"}, {"caller_nid": "config_test_models_test_bandwidth_window_rejects_empty_days_list", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L322"}, {"caller_nid": "config_test_models_test_bandwidth_window_rejects_empty_days_list", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L323"}, {"caller_nid": "config_test_models_test_bandwidth_window_rejects_invalid_day", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L327"}, {"caller_nid": "config_test_models_test_bandwidth_window_rejects_invalid_day", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L328"}, {"caller_nid": "config_test_models_test_bandwidth_window_from_must_be_before_to", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L332"}, {"caller_nid": "config_test_models_test_bandwidth_window_from_must_be_before_to", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L333"}, {"caller_nid": "config_test_models_test_bandwidth_window_equal_from_and_to_is_invalid", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L338"}, {"caller_nid": "config_test_models_test_bandwidth_window_equal_from_and_to_is_invalid", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L339"}, {"caller_nid": "config_test_models_test_bandwidth_window_rejects_non_hhmm_time", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L343"}, {"caller_nid": "config_test_models_test_bandwidth_window_rejects_non_hhmm_time", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L344"}, {"caller_nid": "config_test_models_test_bandwidth_window_rejects_invalid_hour", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L348"}, {"caller_nid": "config_test_models_test_bandwidth_window_rejects_invalid_hour", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L349"}, {"caller_nid": "config_test_models_test_bandwidth_window_rejects_invalid_minute", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L353"}, {"caller_nid": "config_test_models_test_bandwidth_window_rejects_invalid_minute", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L354"}, {"caller_nid": "config_test_models_test_bandwidth_config_defaults", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L363"}, {"caller_nid": "config_test_models_test_bandwidth_config_rejects_zero_upload_mbps", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L369"}, {"caller_nid": "config_test_models_test_bandwidth_config_rejects_zero_upload_mbps", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L370"}, {"caller_nid": "config_test_models_test_bandwidth_config_rejects_negative_upload_mbps", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L374"}, {"caller_nid": "config_test_models_test_bandwidth_config_rejects_negative_upload_mbps", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L375"}, {"caller_nid": "config_test_models_test_bandwidth_config_accepts_positive_upload_mbps", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L379"}, {"caller_nid": "config_test_models_test_sftp_transport_minimal", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L389"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_missing_host", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L396"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_missing_host", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L397"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_missing_host", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L398"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_missing_host", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L399"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_empty_user", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L403"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_empty_user", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L405"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_empty_user", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L406"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_empty_remote_path", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L410"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_empty_remote_path", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L412"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_empty_remote_path", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L413"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_out_of_range_port", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L417"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_out_of_range_port", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L419"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_out_of_range_port", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L420"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_wrong_type_tag", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L424"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_wrong_type_tag", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L426"}, {"caller_nid": "config_test_models_test_sftp_transport_rejects_wrong_type_tag", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L427"}, {"caller_nid": "config_test_models_test_smb_transport_minimal", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L436"}, {"caller_nid": "config_test_models_test_smb_transport_accepts_optional_domain_and_subpath", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L444"}, {"caller_nid": "config_test_models_test_smb_transport_accepts_optional_domain_and_subpath", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L447"}, {"caller_nid": "config_test_models_test_smb_transport_rejects_missing_share", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L453"}, {"caller_nid": "config_test_models_test_smb_transport_rejects_missing_share", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L454"}, {"caller_nid": "config_test_models_test_smb_transport_rejects_missing_share", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L455"}, {"caller_nid": "config_test_models_test_smb_transport_rejects_missing_share", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L456"}, {"caller_nid": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L465"}, {"caller_nid": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L466"}, {"caller_nid": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", "callee": "transport_requires_keyring_password", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L467"}, {"caller_nid": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", "callee": "transport_requires_keyring_password", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L468"}, {"caller_nid": "config_test_models_test_requires_keyring_password_false_for_none", "callee": "transport_requires_keyring_password", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L472"}, {"caller_nid": "config_test_models_test_equipment_transport_discriminates_on_type_sftp", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L481"}, {"caller_nid": "config_test_models_test_equipment_transport_discriminates_on_type_sftp", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L482"}, {"caller_nid": "config_test_models_test_equipment_transport_discriminates_on_type_smb", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L486"}, {"caller_nid": "config_test_models_test_equipment_transport_discriminates_on_type_smb", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L492"}, {"caller_nid": "config_test_models_test_equipment_transport_rejects_unknown_type", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L498"}, {"caller_nid": "config_test_models_test_equipment_transport_rejects_unknown_type", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L499"}, {"caller_nid": "config_test_models_test_orchestrator_staging_transport_smb_mount", "callee": "OrchestratorStagingTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L508"}, {"caller_nid": "config_test_models_test_orchestrator_staging_transport_file_transfer", "callee": "OrchestratorStagingTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L515"}, {"caller_nid": "config_test_models_test_orchestrator_staging_transport_rejects_unknown_type", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L522"}, {"caller_nid": "config_test_models_test_orchestrator_staging_transport_rejects_unknown_type", "callee": "OrchestratorStagingTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L523"}, {"caller_nid": "config_test_models_test_equipment_id_regex_accepts_canonical_form", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L536"}, {"caller_nid": "config_test_models_test_equipment_id_rejects_lowercase", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L541"}, {"caller_nid": "config_test_models_test_equipment_id_rejects_lowercase", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L542"}, {"caller_nid": "config_test_models_test_equipment_id_rejects_hyphen", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L546"}, {"caller_nid": "config_test_models_test_equipment_id_rejects_hyphen", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L547"}, {"caller_nid": "config_test_models_test_equipment_id_rejects_leading_digit", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L551"}, {"caller_nid": "config_test_models_test_equipment_id_rejects_leading_digit", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L552"}, {"caller_nid": "config_test_models_test_equipment_id_rejects_too_long", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L557"}, {"caller_nid": "config_test_models_test_equipment_id_rejects_too_long", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L558"}, {"caller_nid": "config_test_models_test_equipment_id_accepts_max_length", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L563"}, {"caller_nid": "config_test_models_test_equipment_config_rejects_removed_completeness_fields", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L573"}, {"caller_nid": "config_test_models_test_equipment_config_rejects_removed_completeness_fields", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L574"}, {"caller_nid": "config_test_models_test_equipment_config_rejects_removed_completeness_fields", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L575"}, {"caller_nid": "config_test_models_test_equipment_label_must_be_non_empty", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L581"}, {"caller_nid": "config_test_models_test_equipment_label_must_be_non_empty", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L582"}, {"caller_nid": "config_test_models_test_equipment_local_root_must_be_non_empty", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L588"}, {"caller_nid": "config_test_models_test_equipment_local_root_must_be_non_empty", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L589"}, {"caller_nid": "config_test_models_test_equipment_nas_root_must_be_non_empty", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L595"}, {"caller_nid": "config_test_models_test_equipment_nas_root_must_be_non_empty", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L596"}, {"caller_nid": "config_test_models_test_equipment_orchestrator_staging_transport_optional", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L600"}, {"caller_nid": "config_test_models_test_sync_mode_defaults_to_nas_when_absent", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L618"}, {"caller_nid": "config_test_models_test_sync_mode_nas_requires_transport_block", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L626"}, {"caller_nid": "config_test_models_test_sync_mode_nas_requires_transport_block", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L627"}, {"caller_nid": "config_test_models_test_sync_mode_nas_requires_transport_block", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L628"}, {"caller_nid": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L635"}, {"caller_nid": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L636"}, {"caller_nid": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L637"}, {"caller_nid": "config_test_models_test_sync_mode_stage_requires_orchestrator_staging_transport", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L644"}, {"caller_nid": "config_test_models_test_sync_mode_stage_requires_orchestrator_staging_transport", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L645"}, {"caller_nid": "config_test_models_test_sync_mode_stage_requires_orchestrator_staging_transport", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L646"}, {"caller_nid": "config_test_models_test_sync_mode_stage_forbids_transport_block", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L654"}, {"caller_nid": "config_test_models_test_sync_mode_stage_forbids_transport_block", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L655"}, {"caller_nid": "config_test_models_test_sync_mode_stage_forbids_transport_block", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L656"}, {"caller_nid": "config_test_models_test_sync_mode_stage_with_only_orchestrator_transport_is_valid", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L664"}, {"caller_nid": "config_test_models_test_sync_mode_serializes_to_string", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L673"}, {"caller_nid": "config_test_models_test_sync_mode_serializes_to_string", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L674"}, {"caller_nid": "config_test_models_test_sync_mode_rejects_unknown_value", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L681"}, {"caller_nid": "config_test_models_test_sync_mode_rejects_unknown_value", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L682"}, {"caller_nid": "config_test_models_test_sync_mode_stage_round_trip_via_dict", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L691"}, {"caller_nid": "config_test_models_test_sync_mode_stage_round_trip_via_dict", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L692"}, {"caller_nid": "config_test_models_test_nas_cleanup_defaults", "callee": "NASCleanupConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L705"}, {"caller_nid": "config_test_models_test_nas_cleanup_min_verify_passes_at_least_one", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L713"}, {"caller_nid": "config_test_models_test_nas_cleanup_min_verify_passes_at_least_one", "callee": "NASCleanupConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L714"}, {"caller_nid": "config_test_models_test_nas_cleanup_min_age_hours_non_negative", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L718"}, {"caller_nid": "config_test_models_test_nas_cleanup_min_age_hours_non_negative", "callee": "NASCleanupConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L719"}, {"caller_nid": "config_test_models_test_logging_level_normalized_to_uppercase", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L728"}, {"caller_nid": "config_test_models_test_logging_level_rejects_unknown", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L733"}, {"caller_nid": "config_test_models_test_logging_level_rejects_unknown", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L734"}, {"caller_nid": "config_test_models_test_logging_level_accepts_all_canonical_values", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L739"}, {"caller_nid": "config_test_models_test_logging_level_strips_whitespace_and_normalizes", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L744"}, {"caller_nid": "config_test_models_test_logging_level_rejects_non_string", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L752"}, {"caller_nid": "config_test_models_test_logging_level_rejects_non_string", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L753"}, {"caller_nid": "config_test_models_test_logging_level_rejects_non_string", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L754"}, {"caller_nid": "config_test_models_test_logging_level_rejects_non_string", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L755"}, {"caller_nid": "config_test_models_test_logging_level_rejects_non_string_directly", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L761"}, {"caller_nid": "config_test_models_test_logging_level_rejects_non_string_directly", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L762"}, {"caller_nid": "config_test_models_test_logging_level_rejects_non_string_directly", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L763"}, {"caller_nid": "config_test_models_test_logging_central_log_max_mb_at_least_one", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L767"}, {"caller_nid": "config_test_models_test_logging_central_log_max_mb_at_least_one", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L768"}, {"caller_nid": "config_test_models_test_logging_central_log_keep_at_least_one", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L772"}, {"caller_nid": "config_test_models_test_logging_central_log_keep_at_least_one", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L773"}, {"caller_nid": "config_test_models_test_operators_config_defaults_to_empty_allowlist", "callee": "OperatorsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L782"}, {"caller_nid": "config_test_models_test_operators_config_accepts_arbitrary_strings", "callee": "OperatorsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L787"}, {"caller_nid": "config_test_models_test_validator_config_defaults", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L797"}, {"caller_nid": "config_test_models_test_validator_content_scan_max_mib_at_least_one", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L804"}, {"caller_nid": "config_test_models_test_validator_content_scan_max_mib_at_least_one", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L805"}, {"caller_nid": "config_test_models_test_validator_extensions_must_start_with_dot", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L809"}, {"caller_nid": "config_test_models_test_validator_extensions_must_start_with_dot", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L810"}, {"caller_nid": "config_test_models_test_validator_extensions_rejects_dotless_among_others", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L814"}, {"caller_nid": "config_test_models_test_validator_extensions_rejects_dotless_among_others", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L815"}, {"caller_nid": "config_test_models_test_plugins_config_default_allow_network_false", "callee": "PluginsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L824"}, {"caller_nid": "config_test_models_test_sync_config_defaults", "callee": "SyncConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L834"}, {"caller_nid": "config_test_models_test_sync_config_retry_attempts_non_negative", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L843"}, {"caller_nid": "config_test_models_test_sync_config_retry_attempts_non_negative", "callee": "SyncConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L844"}, {"caller_nid": "config_test_models_test_sync_config_quiescence_minutes_at_least_one", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L848"}, {"caller_nid": "config_test_models_test_sync_config_quiescence_minutes_at_least_one", "callee": "SyncConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L849"}, {"caller_nid": "config_test_models_test_sync_config_poll_interval_seconds_at_least_one", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L853"}, {"caller_nid": "config_test_models_test_sync_config_poll_interval_seconds_at_least_one", "callee": "SyncConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L854"}, {"caller_nid": "config_test_models_test_sync_config_accepts_custom_quiescence_settings", "callee": "SyncConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L858"}, {"caller_nid": "config_test_models_test_sync_config_ignore_globs_default_is_independent_per_instance", "callee": "SyncConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L870"}, {"caller_nid": "config_test_models_test_sync_config_ignore_globs_default_is_independent_per_instance", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L871"}, {"caller_nid": "config_test_models_test_sync_config_ignore_globs_default_is_independent_per_instance", "callee": "SyncConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L872"}, {"caller_nid": "config_test_models_test_orchestrator_staging_cleanup_defaults", "callee": "OrchestratorStagingCleanup", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L882"}, {"caller_nid": "config_test_models_test_orchestrator_staging_cleanup_scheduled_requires_positive_hours", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L889"}, {"caller_nid": "config_test_models_test_orchestrator_staging_cleanup_scheduled_requires_positive_hours", "callee": "OrchestratorStagingCleanup", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L890"}, {"caller_nid": "config_test_models_test_orchestrator_staging_cleanup_rejects_unknown_mode", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L894"}, {"caller_nid": "config_test_models_test_orchestrator_staging_cleanup_rejects_unknown_mode", "callee": "OrchestratorStagingCleanup", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L895"}, {"caller_nid": "config_test_models_test_orchestrator_config_defaults", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L907"}, {"caller_nid": "config_test_models_test_config_fully_default_is_valid", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L919"}, {"caller_nid": "config_test_models_test_unique_equipment_ids_required", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L935"}, {"caller_nid": "config_test_models_test_unique_equipment_ids_required", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L936"}, {"caller_nid": "config_test_models_test_unique_equipment_ids_required", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L937"}, {"caller_nid": "config_test_models_test_unique_equipment_ids_required", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L937"}, {"caller_nid": "config_test_models_test_unique_equipment_ids_required", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L937"}, {"caller_nid": "config_test_models_test_unique_equipment_ids_required", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L937"}, {"caller_nid": "config_test_models_test_distinct_equipment_ids_accepted", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L950"}, {"caller_nid": "config_test_models_test_orchestrator_legacy_enabled_field_rejected", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L957"}, {"caller_nid": "config_test_models_test_orchestrator_legacy_enabled_field_rejected", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L958"}, {"caller_nid": "config_test_models_test_orchestrator_legacy_enabled_field_rejected", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L967"}, {"caller_nid": "config_test_models_test_orchestrator_label_and_staging_root_load_independently", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L973"}, {"caller_nid": "config_test_models_test_orchestrator_with_both_fields_is_valid", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L986"}, {"caller_nid": "config_test_models_test_config_rejects_unknown_top_level_key", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1000"}, {"caller_nid": "config_test_models_test_config_rejects_unknown_top_level_key", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1001"}, {"caller_nid": "config_test_models_test_full_config_round_trip_via_dict", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1022"}, {"caller_nid": "config_test_models_test_full_config_round_trip_via_dict", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1023"}, {"caller_nid": "config_test_models_test_full_config_round_trip_via_dict", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1025"}, {"caller_nid": "config_test_models_test_full_config_round_trip_via_dict", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1026"}, {"caller_nid": "config_test_models_test_round_trip_preserves_bandwidth_alias_for_from", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1031"}, {"caller_nid": "config_test_models_test_round_trip_preserves_bandwidth_alias_for_from", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1032"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_seeds_from_none", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1046"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_seeds_from_none", "callee": "config_with_equipment_appended", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1047"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_seeds_from_none", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1048"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1054"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1055"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1055"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1056"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", "callee": "config_with_equipment_appended", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1062"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1071"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1072"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1073"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1074"}, {"caller_nid": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", "callee": "config_with_equipment_appended", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py", "source_location": "L1075"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/869f7ff699289c31e72d8ba123430438c564077a427d79c314382618dedaa6c5.json b/graphify-out/cache/ast/869f7ff699289c31e72d8ba123430438c564077a427d79c314382618dedaa6c5.json deleted file mode 100644 index dbfcb99..0000000 --- a/graphify-out/cache/ast/869f7ff699289c31e72d8ba123430438c564077a427d79c314382618dedaa6c5.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_remaining_work_md", "label": "REMAINING_WORK.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L1"}, {"id": "docs_remaining_work_exlab_wizard_remaining_work_specification", "label": "ExLab-Wizard \u2014 Remaining Work Specification", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L1"}, {"id": "docs_remaining_work_0_context", "label": "0. Context", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L13"}, {"id": "docs_remaining_work_0_1_architecture_read_first", "label": "0.1 Architecture (read first)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L15"}, {"id": "docs_remaining_work_0_2_what_the_recent_edit_changed_and_didn_t", "label": "0.2 What the recent edit changed (and didn't)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L25"}, {"id": "docs_remaining_work_0_3_healthy_baseline_not_stubs", "label": "0.3 Healthy baseline (not stubs)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L32"}, {"id": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", "label": "A. UI controls that exist but are not functional", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L40"}, {"id": "docs_remaining_work_a1_quit_exlab_wizard_now_button_has_no_handler", "label": "A1 \u2014 \"Quit ExLab-Wizard now\" button has no handler", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L42"}, {"id": "docs_remaining_work_a2_start_at_login_autostart_checkbox_is_not_bound", "label": "A2 \u2014 \"Start at login\" autostart checkbox is not bound", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L52"}, {"id": "docs_remaining_work_a3_application_section_status_indicators_are_hardcoded_missing_7_13_parity", "label": "A3 \u2014 Application-section status indicators are hardcoded / missing (\u00a77.13 parity)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L62"}, {"id": "docs_remaining_work_a4_operators_allowlist_has_backend_enforcement_but_no_editor_ui", "label": "A4 \u2014 Operators allowlist has backend enforcement but **no editor UI**", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L69"}, {"id": "docs_remaining_work_a5_content_scan_extensions_renders_read_only_partial", "label": "A5 \u2014 `content_scan_extensions` renders read-only (partial)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L79"}, {"id": "docs_remaining_work_resolved_not_a_defect_previously_suspected_in_a", "label": "Resolved / not-a-defect (previously suspected in A)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L86"}, {"id": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", "label": "B. Backend features fully built but **not surfaced in the GUI**", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L92"}, {"id": "docs_remaining_work_b1_operations_modal_is_built_exported_and_rendered_nowhere_highest_impact", "label": "B1 \u2014 Operations modal is built, exported, and rendered nowhere \u2605 highest impact", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L100"}, {"id": "docs_remaining_work_b2_no_gui_path_to_resume_or_cancel_a_session", "label": "B2 \u2014 No GUI path to resume or cancel a session", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L111"}, {"id": "docs_remaining_work_b3_plugin_input_required_cannot_be_answered_from_the_gui", "label": "B3 \u2014 Plugin `INPUT_REQUIRED` cannot be answered from the GUI", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L118"}, {"id": "docs_remaining_work_b4_live_per_session_phase_progress_is_static_the_gui_never_subscribes", "label": "B4 \u2014 Live per-session phase progress is static; the GUI never subscribes", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L125"}, {"id": "docs_remaining_work_b5_audit_problems_live_stream_not_consumed_by_the_in_process_ui", "label": "B5 \u2014 Audit / Problems live stream not consumed by the in-process UI", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L132"}, {"id": "docs_remaining_work_c_no_op_default_collaborators", "label": "C. No-op default collaborators", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L149"}, {"id": "docs_remaining_work_c1_production_runs_on_the_stub_readme_generator_real_defect", "label": "C1 \u2014 Production runs on the **stub** README generator \u2605 real defect", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L151"}, {"id": "docs_remaining_work_c2_noopnassync_controller_default_informational_not_a_production_defect", "label": "C2 \u2014 `NoOpNASSync` controller default (informational \u2014 not a production defect)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L163"}, {"id": "docs_remaining_work_c3_runtime_guard_toasts_where_the_none_noop_path_surfaces_in_the_live_ui", "label": "C3 \u2014 Runtime guard toasts (where the `None`/NoOp path surfaces in the live UI)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L168"}, {"id": "docs_remaining_work_d_todo_stale_markers", "label": "D. TODO / stale markers", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L177"}, {"id": "docs_remaining_work_d1_offline_catalogue_schema_version_gate_is_stricter_than_the_cache_file_policy_open_spec_question", "label": "D1 \u2014 Offline-catalogue schema-version gate is stricter than the cache-file policy (open spec question)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L179"}, {"id": "docs_remaining_work_d2_stale_plugins_registry_py_not_yet_committed_comment_documentation_only", "label": "D2 \u2014 Stale \"plugins/registry.py not yet committed\" comment (documentation only)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L186"}, {"id": "docs_remaining_work_prioritized_backlog", "label": "Prioritized backlog", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L194"}, {"id": "docs_remaining_work_shared_foundations_to_build_once", "label": "Shared foundations to build once", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L212"}, {"id": "docs_remaining_work_suggested_sequencing", "label": "Suggested sequencing", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L218"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_remaining_work_md", "target": "docs_remaining_work_exlab_wizard_remaining_work_specification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L1", "weight": 1.0}, {"source": "docs_remaining_work_exlab_wizard_remaining_work_specification", "target": "docs_remaining_work_0_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L13", "weight": 1.0}, {"source": "docs_remaining_work_0_context", "target": "docs_remaining_work_0_1_architecture_read_first", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L15", "weight": 1.0}, {"source": "docs_remaining_work_0_context", "target": "docs_remaining_work_0_2_what_the_recent_edit_changed_and_didn_t", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L25", "weight": 1.0}, {"source": "docs_remaining_work_0_context", "target": "docs_remaining_work_0_3_healthy_baseline_not_stubs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L32", "weight": 1.0}, {"source": "docs_remaining_work_exlab_wizard_remaining_work_specification", "target": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L40", "weight": 1.0}, {"source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", "target": "docs_remaining_work_a1_quit_exlab_wizard_now_button_has_no_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L42", "weight": 1.0}, {"source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", "target": "docs_remaining_work_a2_start_at_login_autostart_checkbox_is_not_bound", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L52", "weight": 1.0}, {"source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", "target": "docs_remaining_work_a3_application_section_status_indicators_are_hardcoded_missing_7_13_parity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L62", "weight": 1.0}, {"source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", "target": "docs_remaining_work_a4_operators_allowlist_has_backend_enforcement_but_no_editor_ui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L69", "weight": 1.0}, {"source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", "target": "docs_remaining_work_a5_content_scan_extensions_renders_read_only_partial", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L79", "weight": 1.0}, {"source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", "target": "docs_remaining_work_resolved_not_a_defect_previously_suspected_in_a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L86", "weight": 1.0}, {"source": "docs_remaining_work_exlab_wizard_remaining_work_specification", "target": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L92", "weight": 1.0}, {"source": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", "target": "docs_remaining_work_b1_operations_modal_is_built_exported_and_rendered_nowhere_highest_impact", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L100", "weight": 1.0}, {"source": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", "target": "docs_remaining_work_b2_no_gui_path_to_resume_or_cancel_a_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L111", "weight": 1.0}, {"source": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", "target": "docs_remaining_work_b3_plugin_input_required_cannot_be_answered_from_the_gui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L118", "weight": 1.0}, {"source": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", "target": "docs_remaining_work_b4_live_per_session_phase_progress_is_static_the_gui_never_subscribes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L125", "weight": 1.0}, {"source": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", "target": "docs_remaining_work_b5_audit_problems_live_stream_not_consumed_by_the_in_process_ui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L132", "weight": 1.0}, {"source": "docs_remaining_work_exlab_wizard_remaining_work_specification", "target": "docs_remaining_work_c_no_op_default_collaborators", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L149", "weight": 1.0}, {"source": "docs_remaining_work_c_no_op_default_collaborators", "target": "docs_remaining_work_c1_production_runs_on_the_stub_readme_generator_real_defect", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L151", "weight": 1.0}, {"source": "docs_remaining_work_c_no_op_default_collaborators", "target": "docs_remaining_work_c2_noopnassync_controller_default_informational_not_a_production_defect", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L163", "weight": 1.0}, {"source": "docs_remaining_work_c_no_op_default_collaborators", "target": "docs_remaining_work_c3_runtime_guard_toasts_where_the_none_noop_path_surfaces_in_the_live_ui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L168", "weight": 1.0}, {"source": "docs_remaining_work_exlab_wizard_remaining_work_specification", "target": "docs_remaining_work_d_todo_stale_markers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L177", "weight": 1.0}, {"source": "docs_remaining_work_d_todo_stale_markers", "target": "docs_remaining_work_d1_offline_catalogue_schema_version_gate_is_stricter_than_the_cache_file_policy_open_spec_question", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L179", "weight": 1.0}, {"source": "docs_remaining_work_d_todo_stale_markers", "target": "docs_remaining_work_d2_stale_plugins_registry_py_not_yet_committed_comment_documentation_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L186", "weight": 1.0}, {"source": "docs_remaining_work_exlab_wizard_remaining_work_specification", "target": "docs_remaining_work_prioritized_backlog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L194", "weight": 1.0}, {"source": "docs_remaining_work_prioritized_backlog", "target": "docs_remaining_work_shared_foundations_to_build_once", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L212", "weight": 1.0}, {"source": "docs_remaining_work_prioritized_backlog", "target": "docs_remaining_work_suggested_sequencing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md", "source_location": "L218", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/86b29bcc79a26c8f1cf4026008f8827c2ae56b76528cf21b6856e1f855ccfd9d.json b/graphify-out/cache/ast/86b29bcc79a26c8f1cf4026008f8827c2ae56b76528cf21b6856e1f855ccfd9d.json deleted file mode 100644 index 5297f5d..0000000 --- a/graphify-out/cache/ast/86b29bcc79a26c8f1cf4026008f8827c2ae56b76528cf21b6856e1f855ccfd9d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_user_guide_05_create_test_run_md", "label": "05_create_test_run.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L1"}, {"id": "user_guide_05_create_test_run_3_3_create_a_new_test_run", "label": "3.3 Create a New Test Run", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L1"}, {"id": "user_guide_05_create_test_run_capability_summary", "label": "Capability summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L3"}, {"id": "user_guide_05_create_test_run_walkthrough", "label": "Walkthrough", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L15"}, {"id": "user_guide_05_create_test_run_screenshots", "label": "Screenshots", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L28"}, {"id": "user_guide_05_create_test_run_codeblock_1", "label": "code:{image} (:alt: New test run wizard, initial render)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L30"}, {"id": "user_guide_05_create_test_run_related_material", "label": "Related material", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L35"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_user_guide_05_create_test_run_md", "target": "user_guide_05_create_test_run_3_3_create_a_new_test_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L1", "weight": 1.0}, {"source": "user_guide_05_create_test_run_3_3_create_a_new_test_run", "target": "user_guide_05_create_test_run_capability_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L3", "weight": 1.0}, {"source": "user_guide_05_create_test_run_3_3_create_a_new_test_run", "target": "user_guide_05_create_test_run_walkthrough", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L15", "weight": 1.0}, {"source": "user_guide_05_create_test_run_3_3_create_a_new_test_run", "target": "user_guide_05_create_test_run_screenshots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L28", "weight": 1.0}, {"source": "user_guide_05_create_test_run_screenshots", "target": "user_guide_05_create_test_run_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L30", "weight": 1.0}, {"source": "user_guide_05_create_test_run_3_3_create_a_new_test_run", "target": "user_guide_05_create_test_run_related_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md", "source_location": "L35", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/87c02bf10416e68f3480ac6aa6c2fc35cc31dd86df658a1bfad6c37af5725860.json b/graphify-out/cache/ast/87c02bf10416e68f3480ac6aa6c2fc35cc31dd86df658a1bfad6c37af5725860.json deleted file mode 100644 index 39234d9..0000000 --- a/graphify-out/cache/ast/87c02bf10416e68f3480ac6aa6c2fc35cc31dd86df658a1bfad6c37af5725860.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_user_guide_06_readme_md", "label": "06_readme.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L1"}, {"id": "user_guide_06_readme_3_5_author_a_readme_at_creation_time", "label": "3.5 Author a README at Creation Time", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L1"}, {"id": "user_guide_06_readme_capability_summary", "label": "Capability summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L3"}, {"id": "user_guide_06_readme_walkthrough", "label": "Walkthrough", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L18"}, {"id": "user_guide_06_readme_screenshots", "label": "Screenshots", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L35"}, {"id": "user_guide_06_readme_codeblock_1", "label": "code:{image} (:alt: README step inside the new-project wizard)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L37"}, {"id": "user_guide_06_readme_related_material", "label": "Related material", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L42"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_user_guide_06_readme_md", "target": "user_guide_06_readme_3_5_author_a_readme_at_creation_time", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L1", "weight": 1.0}, {"source": "user_guide_06_readme_3_5_author_a_readme_at_creation_time", "target": "user_guide_06_readme_capability_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L3", "weight": 1.0}, {"source": "user_guide_06_readme_3_5_author_a_readme_at_creation_time", "target": "user_guide_06_readme_walkthrough", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L18", "weight": 1.0}, {"source": "user_guide_06_readme_3_5_author_a_readme_at_creation_time", "target": "user_guide_06_readme_screenshots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L35", "weight": 1.0}, {"source": "user_guide_06_readme_screenshots", "target": "user_guide_06_readme_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L37", "weight": 1.0}, {"source": "user_guide_06_readme_3_5_author_a_readme_at_creation_time", "target": "user_guide_06_readme_related_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md", "source_location": "L42", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/87d3d2cccf5b575d397e65a17e73a9eef8189794cb5a5eab5c585cd15b3ad0fc.json b/graphify-out/cache/ast/87d3d2cccf5b575d397e65a17e73a9eef8189794cb5a5eab5c585cd15b3ad0fc.json deleted file mode 100644 index dda3220..0000000 --- a/graphify-out/cache/ast/87d3d2cccf5b575d397e65a17e73a9eef8189794cb5a5eab5c585cd15b3ad0fc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "label": "test_flow_00_fresh_install_setup.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L1"}, {"id": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "label": "fresh_prod_server()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L49"}, {"id": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "label": "test_fresh_install_setup_writes_config_and_applies_live()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L107"}, {"id": "e2e_test_flow_00_fresh_install_setup_rationale_1", "label": "E2E flow 00: fresh-install first-launch setup against the PRODUCTION app. Unlik", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L1"}, {"id": "e2e_test_flow_00_fresh_install_setup_rationale_50", "label": "Spawn the production wizard app with HOME redirected to a fresh tmp dir. Yi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L50"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "target": "tests_e2e_prod_server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "target": "tests_e2e_conftest", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "target": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "target": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L107", "weight": 1.0}, {"source": "e2e_test_flow_00_fresh_install_setup_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_fresh_install_setup_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_flow_00_fresh_install_setup_rationale_50", "target": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L50", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L57"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "free_port", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L58"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "prod_app_env", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L59"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "Popen", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L63"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L73"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L81"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L83"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L88"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L90"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L92"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L94"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L95"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L99"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L101"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L103"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L104"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "resolve_config_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L113"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L114"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L121"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "new_context", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L123"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "new_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L124"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L127"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L128"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L129"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L129"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L133"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L133"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L134"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L135"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L135"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L140"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L140"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L140"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L141"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L141"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L141"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L142"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L142"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L142"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L145"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L145"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L146"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L146"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L147"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L147"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L148"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L148"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L154"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L154"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L155"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L155"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L161"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L162"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L163"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L171"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L172"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L173"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L173"}, {"caller_nid": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py", "source_location": "L176"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/88f5e60e156eeca16a1dda3cf44ade4324fad1f00229cd4446f60884b43e221c.json b/graphify-out/cache/ast/88f5e60e156eeca16a1dda3cf44ade4324fad1f00229cd4446f60884b43e221c.json deleted file mode 100644 index 35cbb25..0000000 --- a/graphify-out/cache/ast/88f5e60e156eeca16a1dda3cf44ade4324fad1f00229cd4446f60884b43e221c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_cache_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/__init__.py", "source_location": "L1"}, {"id": "cache_init_rationale_1", "label": "Unit tests for ``exlab_wizard.cache``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/__init__.py", "source_location": "L1"}], "edges": [{"source": "cache_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_cache_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/89116762784246bb7ef352b8aba38431f7fef8e6050d1e86080e27a4ce2636ee.json b/graphify-out/cache/ast/89116762784246bb7ef352b8aba38431f7fef8e6050d1e86080e27a4ce2636ee.json deleted file mode 100644 index ff2ee03..0000000 --- a/graphify-out/cache/ast/89116762784246bb7ef352b8aba38431f7fef8e6050d1e86080e27a4ce2636ee.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/__init__.py", "source_location": "L1"}, {"id": "pages_init_rationale_1", "label": "UI pages package. Each module exposes a render function plus its state dataclas", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_init_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/__init__.py", "source_location": "L7", "weight": 1.0}, {"source": "pages_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/891bf8bb135b799fa2f6c947f6b416fc2bbd61fca5562b0753b5078fbc84bf36.json b/graphify-out/cache/ast/891bf8bb135b799fa2f6c947f6b416fc2bbd61fca5562b0753b5078fbc84bf36.json deleted file mode 100644 index 1f7bbec..0000000 --- a/graphify-out/cache/ast/891bf8bb135b799fa2f6c947f6b416fc2bbd61fca5562b0753b5078fbc84bf36.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "label": "test_creation_writer.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L1"}, {"id": "cache_test_creation_writer_build_minimal_payload", "label": "_build_minimal_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L48"}, {"id": "cache_test_creation_writer_writer", "label": "writer()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L74"}, {"id": "cache_test_creation_writer_creation_path", "label": "creation_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L79"}, {"id": "cache_test_creation_writer_test_write_creation_emits_valid_current_version_file", "label": "test_write_creation_emits_valid_current_version_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L89"}, {"id": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default", "label": "test_write_creation_pins_schema_version_to_writer_default()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L101"}, {"id": "cache_test_creation_writer_test_update_creation_atomic_mutates_target_field", "label": "test_update_creation_atomic_mutates_target_field()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L117"}, {"id": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "label": "test_update_creation_atomic_preserves_unknown_top_level_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L133"}, {"id": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override", "label": "test_update_creation_atomic_appends_validation_override()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L152"}, {"id": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "label": "test_update_creation_atomic_serializes_concurrent_calls()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L178"}, {"id": "cache_test_creation_writer_test_read_creation_snapshot_returns_typed_struct", "label": "test_read_creation_snapshot_returns_typed_struct()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L219"}, {"id": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "label": "test_read_creation_snapshot_supports_concurrent_readers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L229"}, {"id": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", "label": "test_reading_2_0_file_raises_schema_major_mismatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L247"}, {"id": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", "label": "test_reading_malformed_schema_version_raises_schema_major_mismatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L260"}, {"id": "cache_test_creation_writer_test_reading_1_0_file_applies_documented_defaults", "label": "test_reading_1_0_file_applies_documented_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L273"}, {"id": "cache_test_creation_writer_test_reading_1_7_file_backfills_lims_project_subfields", "label": "test_reading_1_7_file_backfills_lims_project_subfields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L312"}, {"id": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor", "label": "test_writer_bumps_schema_version_on_mutation_of_old_minor()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L345"}, {"id": "cache_test_creation_writer_test_writing_always_emits_current_schema_version", "label": "test_writing_always_emits_current_schema_version()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L382"}, {"id": "cache_test_creation_writer_test_select_active_overrides_returns_empty_for_empty_input", "label": "test_select_active_overrides_returns_empty_for_empty_input()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L397"}, {"id": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries", "label": "test_select_active_overrides_keeps_unrevoked_unexpired_entries()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L401"}, {"id": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", "label": "test_select_active_overrides_drops_revoked_entry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L418"}, {"id": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "label": "test_select_active_overrides_drops_expired_entry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L443"}, {"id": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", "label": "test_select_active_overrides_uses_explicit_now_for_determinism()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L473"}, {"id": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", "label": "test_select_active_overrides_ignores_tombstone_for_unknown_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L493"}, {"id": "cache_test_creation_writer_test_select_active_overrides_treats_malformed_expires_at_as_expired", "label": "test_select_active_overrides_treats_malformed_expires_at_as_expired()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L519"}, {"id": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", "label": "test_round_trip_preserves_plugins_applied_with_isolation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L539"}, {"id": "cache_test_creation_writer_test_reading_file_with_missing_required_field_raises_validation_error", "label": "test_reading_file_with_missing_required_field_raises_validation_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L566"}, {"id": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target", "label": "test_select_active_overrides_skips_tombstone_with_null_revokes_target()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L579"}, {"id": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", "label": "test_select_active_overrides_naive_expires_at_is_treated_as_utc()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L609"}, {"id": "cache_test_creation_writer_test_reading_file_missing_schema_version_raises_schema_major_mismatch", "label": "test_reading_file_missing_schema_version_raises_schema_major_mismatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L629"}, {"id": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "label": "test_update_creation_atomic_backfills_missing_override_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L640"}, {"id": "cache_test_creation_writer_rationale_1", "label": "Tests for the atomic ``creation.json`` writer in ``exlab_wizard.cache.creation_w", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L1"}, {"id": "cache_test_creation_writer_rationale_104", "label": "Even if the caller hands us an old version, the writer pins to current.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L104"}, {"id": "cache_test_creation_writer_rationale_136", "label": "Forward-compat: a v0.7 writer must not drop fields a v0.8 writer added.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L136"}, {"id": "cache_test_creation_writer_rationale_181", "label": "Two simultaneous mutators on the same path must serialize. This is a small-", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L181"}, {"id": "cache_test_creation_writer_rationale_232", "label": "Multiple LOCK_SH readers must not block each other.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L232"}, {"id": "cache_test_creation_writer_rationale_263", "label": "A non-MAJOR.MINOR string must surface as the same structured error rather th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L263"}, {"id": "cache_test_creation_writer_rationale_276", "label": "Spec \u00a711.3 history: a 1.0 file predates ``run_kind``, ``validation_overrides", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L276"}, {"id": "cache_test_creation_writer_rationale_315", "label": "1.7 -> 1.8 added ``lims_project.source`` and ``lims_project.cache_freshness_", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L315"}, {"id": "cache_test_creation_writer_rationale_348", "label": "Spec \u00a711.9.3 rule 3: on mutation, an older-minor file is rewritten at the wr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L348"}, {"id": "cache_test_creation_writer_rationale_385", "label": "Spec \u00a711.9.3 rule 1: a writer at version R always writes R for new files.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L385"}, {"id": "cache_test_creation_writer_rationale_474", "label": "The matching algorithm uses ``now=`` for deterministic tests; the same fixtu", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L474"}, {"id": "cache_test_creation_writer_rationale_494", "label": "Spec \u00a711.3: orphan tombstones are logged WARN but have no effect.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L494"}, {"id": "cache_test_creation_writer_rationale_520", "label": "Fail-safe: a malformed ``expires_at`` re-engages the gate.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L520"}, {"id": "cache_test_creation_writer_rationale_580", "label": "A tombstone with no ``revokes`` key is silently skipped (no-op). Spec \u00a711.3", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L580"}, {"id": "cache_test_creation_writer_rationale_610", "label": "``_is_future``'s naive-datetime branch attaches UTC and compares against ``n", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L610"}, {"id": "cache_test_creation_writer_rationale_632", "label": "A file without a ``schema_version`` field is treated as a major mismatch --", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L632"}, {"id": "cache_test_creation_writer_rationale_643", "label": "Pre-1.6 files may carry override entries without an ``id``. The migration he", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L643"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_writer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L74", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_creation_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L79", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_write_creation_emits_valid_current_version_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L101", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_update_creation_atomic_mutates_target_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L117", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L133", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L178", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_read_creation_snapshot_returns_typed_struct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L219", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L229", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L247", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L260", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_reading_1_0_file_applies_documented_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L273", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_reading_1_7_file_backfills_lims_project_subfields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L312", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L345", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_writing_always_emits_current_schema_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L382", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_select_active_overrides_returns_empty_for_empty_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L397", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L401", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L418", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L443", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L473", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L493", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_select_active_overrides_treats_malformed_expires_at_as_expired", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L519", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L539", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_reading_file_with_missing_required_field_raises_validation_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L566", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L579", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L609", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_reading_file_missing_schema_version_raises_schema_major_mismatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L629", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "target": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L640", "weight": 1.0}, {"source": "cache_test_creation_writer_test_write_creation_emits_valid_current_version_file", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L92", "weight": 1.0}, {"source": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L105", "weight": 1.0}, {"source": "cache_test_creation_writer_test_update_creation_atomic_mutates_target_field", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L120", "weight": 1.0}, {"source": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L137", "weight": 1.0}, {"source": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L155", "weight": 1.0}, {"source": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L187", "weight": 1.0}, {"source": "cache_test_creation_writer_test_read_creation_snapshot_returns_typed_struct", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L222", "weight": 1.0}, {"source": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L233", "weight": 1.0}, {"source": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L250", "weight": 1.0}, {"source": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L265", "weight": 1.0}, {"source": "cache_test_creation_writer_test_writing_always_emits_current_schema_version", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L386", "weight": 1.0}, {"source": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L542", "weight": 1.0}, {"source": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "target": "cache_test_creation_writer_build_minimal_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L645", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_cache_test_creation_writer_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L1", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_104", "target": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L104", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_136", "target": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L136", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_181", "target": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L181", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_232", "target": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L232", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_263", "target": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L263", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_276", "target": "cache_test_creation_writer_test_reading_1_0_file_applies_documented_defaults", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L276", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_315", "target": "cache_test_creation_writer_test_reading_1_7_file_backfills_lims_project_subfields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L315", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_348", "target": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L348", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_385", "target": "cache_test_creation_writer_test_writing_always_emits_current_schema_version", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L385", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_474", "target": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L474", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_494", "target": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L494", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_520", "target": "cache_test_creation_writer_test_select_active_overrides_treats_malformed_expires_at_as_expired", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L520", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_580", "target": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L580", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_610", "target": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L610", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_632", "target": "cache_test_creation_writer_test_reading_file_missing_schema_version_raises_schema_major_mismatch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L632", "weight": 1.0}, {"source": "cache_test_creation_writer_rationale_643", "target": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L643", "weight": 1.0}], "raw_calls": [{"caller_nid": "cache_test_creation_writer_build_minimal_payload", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L49"}, {"caller_nid": "cache_test_creation_writer_build_minimal_payload", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L55"}, {"caller_nid": "cache_test_creation_writer_build_minimal_payload", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L60"}, {"caller_nid": "cache_test_creation_writer_build_minimal_payload", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L67"}, {"caller_nid": "cache_test_creation_writer_build_minimal_payload", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L69"}, {"caller_nid": "cache_test_creation_writer_build_minimal_payload", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L70"}, {"caller_nid": "cache_test_creation_writer_writer", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L75"}, {"caller_nid": "cache_test_creation_writer_test_write_creation_emits_valid_current_version_file", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L93"}, {"caller_nid": "cache_test_creation_writer_test_write_creation_emits_valid_current_version_file", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L94"}, {"caller_nid": "cache_test_creation_writer_test_write_creation_emits_valid_current_version_file", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L95"}, {"caller_nid": "cache_test_creation_writer_test_write_creation_emits_valid_current_version_file", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L95"}, {"caller_nid": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L106"}, {"caller_nid": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L107"}, {"caller_nid": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L107"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_mutates_target_field", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L120"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_mutates_target_field", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L126"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_mutates_target_field", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L128"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_mutates_target_field", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L128"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L137"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L137"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L139"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L139"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L145"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L146"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L146"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L155"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L171"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L172"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L173"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L173"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L187"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "callee": "gather", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L203"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L204"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "callee": "make_mutator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L204"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L205"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "callee": "make_mutator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L205"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L206"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "callee": "make_mutator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L206"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L208"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L208"}, {"caller_nid": "cache_test_creation_writer_test_read_creation_snapshot_returns_typed_struct", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L222"}, {"caller_nid": "cache_test_creation_writer_test_read_creation_snapshot_returns_typed_struct", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L223"}, {"caller_nid": "cache_test_creation_writer_test_read_creation_snapshot_returns_typed_struct", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L224"}, {"caller_nid": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L233"}, {"caller_nid": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "callee": "gather", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L234"}, {"caller_nid": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L235"}, {"caller_nid": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L235"}, {"caller_nid": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L237"}, {"caller_nid": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L237"}, {"caller_nid": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L238"}, {"caller_nid": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L250"}, {"caller_nid": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L250"}, {"caller_nid": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L252"}, {"caller_nid": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L252"}, {"caller_nid": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L253"}, {"caller_nid": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L254"}, {"caller_nid": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L265"}, {"caller_nid": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L265"}, {"caller_nid": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L267"}, {"caller_nid": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L267"}, {"caller_nid": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L268"}, {"caller_nid": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L269"}, {"caller_nid": "cache_test_creation_writer_test_reading_1_0_file_applies_documented_defaults", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L305"}, {"caller_nid": "cache_test_creation_writer_test_reading_1_0_file_applies_documented_defaults", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L305"}, {"caller_nid": "cache_test_creation_writer_test_reading_1_0_file_applies_documented_defaults", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L306"}, {"caller_nid": "cache_test_creation_writer_test_reading_1_7_file_backfills_lims_project_subfields", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L338"}, {"caller_nid": "cache_test_creation_writer_test_reading_1_7_file_backfills_lims_project_subfields", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L338"}, {"caller_nid": "cache_test_creation_writer_test_reading_1_7_file_backfills_lims_project_subfields", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L339"}, {"caller_nid": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L370"}, {"caller_nid": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L370"}, {"caller_nid": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L376"}, {"caller_nid": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L377"}, {"caller_nid": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L377"}, {"caller_nid": "cache_test_creation_writer_test_writing_always_emits_current_schema_version", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L387"}, {"caller_nid": "cache_test_creation_writer_test_writing_always_emits_current_schema_version", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L388"}, {"caller_nid": "cache_test_creation_writer_test_writing_always_emits_current_schema_version", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L388"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_returns_empty_for_empty_input", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L398"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L403"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L404"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L413"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L414"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L420"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L421"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", "callee": "tombstone_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L429"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", "callee": "TombstoneEntryStruct", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L430"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L439"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "isoformat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L444"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L444"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L444"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "isoformat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L445"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L445"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L445"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L447"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L448"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L457"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L458"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L468"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L477"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L478"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L487"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L488"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L489"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L490"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", "callee": "tombstone_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L496"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", "callee": "TombstoneEntryStruct", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L497"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L505"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L506"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L515"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_treats_malformed_expires_at_as_expired", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L530"}, {"caller_nid": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", "callee": "PluginApplied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L544"}, {"caller_nid": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", "callee": "PluginIsolation", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L549"}, {"caller_nid": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", "callee": "write_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L553"}, {"caller_nid": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L554"}, {"caller_nid": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L555"}, {"caller_nid": "cache_test_creation_writer_test_reading_file_with_missing_required_field_raises_validation_error", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L569"}, {"caller_nid": "cache_test_creation_writer_test_reading_file_with_missing_required_field_raises_validation_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L570"}, {"caller_nid": "cache_test_creation_writer_test_reading_file_with_missing_required_field_raises_validation_error", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L571"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L595"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L596"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L605"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L613"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L613"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L613"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L614"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L615"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", "callee": "select_active_overrides", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L624"}, {"caller_nid": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L625"}, {"caller_nid": "cache_test_creation_writer_test_reading_file_missing_schema_version_raises_schema_major_mismatch", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L634"}, {"caller_nid": "cache_test_creation_writer_test_reading_file_missing_schema_version_raises_schema_major_mismatch", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L635"}, {"caller_nid": "cache_test_creation_writer_test_reading_file_missing_schema_version_raises_schema_major_mismatch", "callee": "read_creation_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L636"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L645"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L645"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L656"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L656"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "callee": "update_creation_atomic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L661"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L662"}, {"caller_nid": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py", "source_location": "L665"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/89c23ebf2066d3b89e028aed00590cfaba595663f5ef45049da2e955ff31b664.json b/graphify-out/cache/ast/89c23ebf2066d3b89e028aed00590cfaba595663f5ef45049da2e955ff31b664.json deleted file mode 100644 index 5cc3366..0000000 --- a/graphify-out/cache/ast/89c23ebf2066d3b89e028aed00590cfaba595663f5ef45049da2e955ff31b664.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/8b3e73fc50ad25edaf94a650da5c5652694a2dbaaedbdd74fb1ae44ff9ebc550.json b/graphify-out/cache/ast/8b3e73fc50ad25edaf94a650da5c5652694a2dbaaedbdd74fb1ae44ff9ebc550.json deleted file mode 100644 index 298ab44..0000000 --- a/graphify-out/cache/ast/8b3e73fc50ad25edaf94a650da5c5652694a2dbaaedbdd74fb1ae44ff9ebc550.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_plugins_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/__init__.py", "source_location": "L1"}, {"id": "plugins_init_rationale_1", "label": "Plugin system unit tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/__init__.py", "source_location": "L1"}], "edges": [{"source": "plugins_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_plugins_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/8bada28d4139a130ff21a48cd8f1be67ea7f52541ee57bbffd60f422a97cc9af.json b/graphify-out/cache/ast/8bada28d4139a130ff21a48cd8f1be67ea7f52541ee57bbffd60f422a97cc9af.json deleted file mode 100644 index e44df6f..0000000 --- a/graphify-out/cache/ast/8bada28d4139a130ff21a48cd8f1be67ea7f52541ee57bbffd60f422a97cc9af.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_app_py", "label": "app.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/app.py", "source_location": "L1"}, {"id": "constants_app_rationale_1", "label": "App-level identifiers used as path / keyring / branding fragments. Single sourc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/app.py", "source_location": "L1"}], "edges": [{"source": "constants_app_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_app_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/app.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/8c1c7500bb5fc6317e7e920c59d4a15772266a6fb4e13186f69ad1f9e5d148ed.json b/graphify-out/cache/ast/8c1c7500bb5fc6317e7e920c59d4a15772266a6fb4e13186f69ad1f9e5d148ed.json deleted file mode 100644 index 7857e43..0000000 --- a/graphify-out/cache/ast/8c1c7500bb5fc6317e7e920c59d4a15772266a6fb4e13186f69ad1f9e5d148ed.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "label": "mount.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1"}, {"id": "ui_mount_spawn_background", "label": "_spawn_background()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L58"}, {"id": "ui_mount_mount_ui", "label": "mount_ui()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L66"}, {"id": "ui_mount_register_pages", "label": "_register_pages()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L89"}, {"id": "ui_mount_lims_credential_handlers", "label": "_lims_credential_handlers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L430"}, {"id": "ui_mount_nas_credential_handlers", "label": "_nas_credential_handlers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L486"}, {"id": "ui_mount_nas_test_connection", "label": "_nas_test_connection()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L543"}, {"id": "ui_mount_persist_config", "label": "_persist_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L593"}, {"id": "ui_mount_ensure_staging_root", "label": "_ensure_staging_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L625"}, {"id": "ui_mount_apply_live_config", "label": "_apply_live_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L651"}, {"id": "ui_mount_nas_credential_missing", "label": "_nas_credential_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L668"}, {"id": "ui_mount_is_setup_ready", "label": "_is_setup_ready()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L689"}, {"id": "ui_mount_apply_autostart", "label": "_apply_autostart()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L721"}, {"id": "ui_mount_build_main_state", "label": "_build_main_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L740"}, {"id": "ui_mount_panel_sessions", "label": "_panel_sessions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L772"}, {"id": "ui_mount_operation_counts", "label": "_operation_counts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L789"}, {"id": "ui_mount_setup_next_action", "label": "_setup_next_action()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L806"}, {"id": "ui_mount_build_main_query", "label": "_build_main_query()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L829"}, {"id": "ui_mount_classify_node", "label": "_classify_node()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L850"}, {"id": "ui_mount_build_metadata_payload", "label": "_build_metadata_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L890"}, {"id": "ui_mount_metadata_for_owned_equipment", "label": "_metadata_for_owned_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L921"}, {"id": "ui_mount_metadata_for_relay_equipment", "label": "_metadata_for_relay_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L936"}, {"id": "ui_mount_metadata_for_project", "label": "_metadata_for_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L950"}, {"id": "ui_mount_count_dir_children", "label": "_count_dir_children()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L984"}, {"id": "ui_mount_metadata_for_run", "label": "_metadata_for_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L999"}, {"id": "ui_mount_drive_folder_feed", "label": "_drive_folder_feed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1033"}, {"id": "ui_mount_fetch_folder_async", "label": "_fetch_folder_async()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1094"}, {"id": "ui_mount_run_staging_action", "label": "_run_staging_action()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1118"}, {"id": "ui_mount_bulk_clear_verified", "label": "_bulk_clear_verified()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1176"}, {"id": "ui_mount_file_context_action", "label": "_file_context_action()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1214"}, {"id": "ui_mount_toggle_keep_local", "label": "_toggle_keep_local()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1254"}, {"id": "ui_mount_open_in_os", "label": "_open_in_os()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1303"}, {"id": "ui_mount_build_operation_rows", "label": "_build_operation_rows()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1331"}, {"id": "ui_mount_open_operations_modal", "label": "_open_operations_modal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1343"}, {"id": "ui_mount_open_operation_details", "label": "_open_operation_details()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1367"}, {"id": "ui_mount_resume_operation", "label": "_resume_operation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1401"}, {"id": "ui_mount_open_input_required_dialog", "label": "_open_input_required_dialog()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1425"}, {"id": "ui_mount_cancel_operation", "label": "_cancel_operation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1471"}, {"id": "ui_mount_cancel_session", "label": "_cancel_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1480"}, {"id": "ui_mount_open_log_dialog", "label": "_open_log_dialog()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1521"}, {"id": "ui_mount_missing_setup_sections", "label": "_missing_setup_sections()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1569"}, {"id": "ui_mount_templates_dir", "label": "_templates_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1602"}, {"id": "ui_mount_template_names", "label": "_template_names()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1610"}, {"id": "ui_mount_template_questions_map", "label": "_template_questions_map()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1627"}, {"id": "ui_mount_lims_catalogue_projects", "label": "_lims_catalogue_projects()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1660"}, {"id": "ui_mount_lims_projects", "label": "_lims_projects()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1694"}, {"id": "ui_mount_equipment_ids", "label": "_equipment_ids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1724"}, {"id": "ui_mount_await_session", "label": "_await_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1732"}, {"id": "ui_mount_consume_session_progress", "label": "_consume_session_progress()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1749"}, {"id": "ui_mount_close_dialog", "label": "_close_dialog()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1794"}, {"id": "ui_mount_submit_project", "label": "_submit_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1802"}, {"id": "ui_mount_submit_run", "label": "_submit_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1835"}, {"id": "ui_mount_run_creation", "label": "_run_creation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1868"}, {"id": "ui_mount_render_run_wizard", "label": "_render_run_wizard()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1905"}, {"id": "ui_mount_safe_audit", "label": "_safe_audit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1919"}, {"id": "ui_mount_build_staging_state", "label": "_build_staging_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1931"}, {"id": "ui_mount_show_toast", "label": "_show_toast()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1950"}, {"id": "ui_mount_render_unavailable", "label": "_render_unavailable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1963"}, {"id": "ui_mount_rationale_1", "label": "NiceGUI mount helper. Backend Spec \u00a74.3, \u00a715.3.2. ``mount_ui`` is the single en", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1"}, {"id": "ui_mount_rationale_59", "label": "Schedule ``coro`` and keep a strong reference until it finishes.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L59"}, {"id": "ui_mount_rationale_67", "label": "Register every wizard page on ``app`` and mount NiceGUI at ``/``. ``storage", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L67"}, {"id": "ui_mount_rationale_90", "label": "Define every ``@ui.page(...)`` handler. Called from :func:`mount_ui`.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L90"}, {"id": "ui_mount_rationale_433", "label": "Build the LIMS-password Save / Clear handlers for the settings dialog. Cred", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L433"}, {"id": "ui_mount_rationale_489", "label": "Build the NAS-password Save / Clear handlers for one equipment. Rclone-only", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L489"}, {"id": "ui_mount_rationale_544", "label": "Run the rclone equipment probe for ``equipment_id`` and adapt it. Resolves", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L544"}, {"id": "ui_mount_rationale_594", "label": "Write ``updated`` via ``deps.save_config`` and hot-reload components. Retur", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L594"}, {"id": "ui_mount_rationale_626", "label": "Create the staging directory when the operator saved a non-empty path. ``st", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L626"}, {"id": "ui_mount_rationale_652", "label": "Push ``updated`` into the running components (no tray relaunch). Wraps :fun", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L652"}, {"id": "ui_mount_rationale_669", "label": "True when a password-requiring nas-mode equipment lacks its keyring entry.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L669"}, {"id": "ui_mount_rationale_690", "label": "Return True when the \u00a74.9 setup state is ``READY``. Delegates to :func:`api", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L690"}, {"id": "ui_mount_rationale_722", "label": "Register / unregister platform autostart; return the real post-op state. Re", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L722"}, {"id": "ui_mount_rationale_773", "label": "Return the (session_id, session) pairs the Operations panel shows. The \u00a79.5", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L773"}, {"id": "ui_mount_rationale_790", "label": "Return ``(panel_count, input_required, active)`` operation counts. ``panel_", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L790"}, {"id": "ui_mount_rationale_807", "label": "Return the \u00a74.9.3 next-action string for the banner subline. Unlike :func:`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L807"}, {"id": "ui_mount_rationale_830", "label": "Compose the ``?selected=...&right_pane=...`` query string for /main. Omits", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L830"}, {"id": "ui_mount_rationale_851", "label": "Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L851"}, {"id": "ui_mount_rationale_895", "label": "Build the metadata-pane payload for the selected node, by kind. Returns ``{", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L895"}, {"id": "ui_mount_rationale_922", "label": "Project equipment-config fields into the owned-equipment payload.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L922"}, {"id": "ui_mount_rationale_937", "label": "Return the relay-equipment payload (label, source_host).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L937"}, {"id": "ui_mount_rationale_951", "label": "Derive a project payload from the on-disk project directory. ``node_id`` is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L951"}, {"id": "ui_mount_rationale_985", "label": "Count immediate child directories of ``parent`` whose names start with ``pre", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L985"}, {"id": "ui_mount_rationale_1000", "label": "Decode the run's creation.json into the metadata-pane payload. Returns ``{}", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1000"}, {"id": "ui_mount_rationale_1034", "label": "Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1034"}, {"id": "ui_mount_rationale_1095", "label": "FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1095"}, {"id": "ui_mount_rationale_1119", "label": "Dispatch a per-run context action to its backend surface. Mirrors :func:`ap", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1119"}, {"id": "ui_mount_rationale_1177", "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1177"}, {"id": "ui_mount_rationale_1222", "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1222"}, {"id": "ui_mount_rationale_1261", "label": "Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1261"}, {"id": "ui_mount_rationale_1304", "label": "Launch the host OS's default opener for ``path``. Returns False on platform", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1304"}, {"id": "ui_mount_rationale_1332", "label": "Build the Operations-panel rows from the live session store (T3). Uses the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1332"}, {"id": "ui_mount_rationale_1344", "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1344"}, {"id": "ui_mount_rationale_1368", "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1368"}, {"id": "ui_mount_rationale_1402", "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1402"}, {"id": "ui_mount_rationale_1434", "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1434"}, {"id": "ui_mount_rationale_1472", "label": "Resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1472"}, {"id": "ui_mount_rationale_1481", "label": "Cancel an in-flight session via the \u00a79.4 Discard / Keep dialog (T4). The op", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1481"}, {"id": "ui_mount_rationale_1522", "label": "Open a NiceGUI dialog showing the run's sync-queue job state. The operator-", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1522"}, {"id": "ui_mount_rationale_1570", "label": "Return the settings sections the operator still needs to fill in. Mirrors a", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1570"}, {"id": "ui_mount_rationale_1603", "label": "Return the configured templates directory, or ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1603"}, {"id": "ui_mount_rationale_1611", "label": "List template directory names of ``template_type`` under templates_dir.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1611"}, {"id": "ui_mount_rationale_1628", "label": "Map each ``template_type`` template name to its parsed copier questions. Re", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1628"}, {"id": "ui_mount_rationale_1661", "label": "Read the offline-catalogue projects (disconnected-workstation source). Read", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1661"}, {"id": "ui_mount_rationale_1695", "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1695"}, {"id": "ui_mount_rationale_1725", "label": "Return the configured equipment IDs.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1725"}, {"id": "ui_mount_rationale_1733", "label": "Await a controller session's pipeline task and return the final handle. ``c", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1733"}, {"id": "ui_mount_rationale_1752", "label": "Fold the controller's WS frames into the wizard's live phase bar (T2) and su", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1752"}, {"id": "ui_mount_rationale_1795", "label": "Best-effort close of a NiceGUI dialog (no-op when ``None`` / test mode).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1795"}, {"id": "ui_mount_rationale_1803", "label": "Build a ProjectCreateRequest from the wizard state and run it.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1803"}, {"id": "ui_mount_rationale_1836", "label": "Build a RunCreateRequest from the wizard state and run it.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1836"}, {"id": "ui_mount_rationale_1877", "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1877"}, {"id": "ui_mount_rationale_1920", "label": "Run the validator audit, swallowing failures to a WARN log.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1920"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "exlab_wizard_orchestrator_staging_clear", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "exlab_wizard_orchestrator_staging_query", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_spawn_background", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_mount_ui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L66", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_register_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_lims_credential_handlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L430", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_nas_credential_handlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L486", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_nas_test_connection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L543", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_persist_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L593", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_ensure_staging_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L625", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_apply_live_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L651", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_nas_credential_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L668", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_is_setup_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L689", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_apply_autostart", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L721", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_build_main_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L740", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_panel_sessions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L772", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_operation_counts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L789", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_setup_next_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L806", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_build_main_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L829", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_classify_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L850", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_build_metadata_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L890", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_metadata_for_owned_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L921", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_metadata_for_relay_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L936", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_metadata_for_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L950", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_count_dir_children", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L984", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_metadata_for_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L999", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_drive_folder_feed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1033", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_fetch_folder_async", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1094", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_run_staging_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1118", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_bulk_clear_verified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1176", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_file_context_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1214", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_toggle_keep_local", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1254", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_open_in_os", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1303", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_build_operation_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1331", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_open_operations_modal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1343", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_open_operation_details", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1367", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_resume_operation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1401", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_open_input_required_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1425", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_cancel_operation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1471", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_cancel_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1480", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_open_log_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1521", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_missing_setup_sections", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1569", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_templates_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1602", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_template_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1610", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_template_questions_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1627", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_lims_catalogue_projects", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1660", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_lims_projects", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1694", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_equipment_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1724", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_await_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1732", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_consume_session_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1749", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_close_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1794", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_submit_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1802", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_submit_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1835", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_run_creation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1868", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_render_run_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1905", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_safe_audit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1919", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_build_staging_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1931", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_show_toast", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1950", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "target": "ui_mount_render_unavailable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1963", "weight": 1.0}, {"source": "ui_mount_mount_ui", "target": "ui_mount_register_pages", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L80", "weight": 1.0}, {"source": "ui_mount_persist_config", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L607", "weight": 1.0}, {"source": "ui_mount_persist_config", "target": "ui_mount_ensure_staging_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L619", "weight": 1.0}, {"source": "ui_mount_persist_config", "target": "ui_mount_apply_live_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L621", "weight": 1.0}, {"source": "ui_mount_ensure_staging_root", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L648", "weight": 1.0}, {"source": "ui_mount_build_main_state", "target": "ui_mount_operation_counts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L754", "weight": 1.0}, {"source": "ui_mount_build_main_state", "target": "ui_mount_is_setup_ready", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L756", "weight": 1.0}, {"source": "ui_mount_build_main_state", "target": "ui_mount_setup_next_action", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L757", "weight": 1.0}, {"source": "ui_mount_operation_counts", "target": "ui_mount_panel_sessions", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L800", "weight": 1.0}, {"source": "ui_mount_build_metadata_payload", "target": "ui_mount_metadata_for_owned_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L908", "weight": 1.0}, {"source": "ui_mount_build_metadata_payload", "target": "ui_mount_metadata_for_relay_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L910", "weight": 1.0}, {"source": "ui_mount_build_metadata_payload", "target": "ui_mount_metadata_for_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L912", "weight": 1.0}, {"source": "ui_mount_build_metadata_payload", "target": "ui_mount_metadata_for_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L914", "weight": 1.0}, {"source": "ui_mount_metadata_for_project", "target": "ui_mount_count_dir_children", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L966", "weight": 1.0}, {"source": "ui_mount_drive_folder_feed", "target": "ui_mount_fetch_folder_async", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1064", "weight": 1.0}, {"source": "ui_mount_drive_folder_feed", "target": "ui_mount_spawn_background", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1072", "weight": 1.0}, {"source": "ui_mount_run_staging_action", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1134", "weight": 1.0}, {"source": "ui_mount_run_staging_action", "target": "ui_mount_spawn_background", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1152", "weight": 1.0}, {"source": "ui_mount_run_staging_action", "target": "ui_mount_open_log_dialog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1171", "weight": 1.0}, {"source": "ui_mount_bulk_clear_verified", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1187", "weight": 1.0}, {"source": "ui_mount_bulk_clear_verified", "target": "ui_mount_spawn_background", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1211", "weight": 1.0}, {"source": "ui_mount_file_context_action", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1231", "weight": 1.0}, {"source": "ui_mount_file_context_action", "target": "ui_mount_open_in_os", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1234", "weight": 1.0}, {"source": "ui_mount_file_context_action", "target": "ui_mount_toggle_keep_local", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1249", "weight": 1.0}, {"source": "ui_mount_toggle_keep_local", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1275", "weight": 1.0}, {"source": "ui_mount_toggle_keep_local", "target": "ui_mount_spawn_background", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1300", "weight": 1.0}, {"source": "ui_mount_build_operation_rows", "target": "ui_mount_panel_sessions", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1340", "weight": 1.0}, {"source": "ui_mount_open_operations_modal", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1353", "weight": 1.0}, {"source": "ui_mount_open_operations_modal", "target": "ui_mount_build_operation_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1355", "weight": 1.0}, {"source": "ui_mount_open_operations_modal", "target": "ui_mount_resume_operation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1358", "weight": 1.0}, {"source": "ui_mount_open_operations_modal", "target": "ui_mount_cancel_operation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1359", "weight": 1.0}, {"source": "ui_mount_open_operations_modal", "target": "ui_mount_open_operation_details", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1360", "weight": 1.0}, {"source": "ui_mount_open_operation_details", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1378", "weight": 1.0}, {"source": "ui_mount_resume_operation", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1413", "weight": 1.0}, {"source": "ui_mount_resume_operation", "target": "ui_mount_open_input_required_dialog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1415", "weight": 1.0}, {"source": "ui_mount_cancel_operation", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1475", "weight": 1.0}, {"source": "ui_mount_cancel_operation", "target": "ui_mount_cancel_session", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1477", "weight": 1.0}, {"source": "ui_mount_open_log_dialog", "target": "ui_mount_spawn_background", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1566", "weight": 1.0}, {"source": "ui_mount_missing_setup_sections", "target": "ui_mount_nas_credential_missing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1593", "weight": 1.0}, {"source": "ui_mount_template_names", "target": "ui_mount_templates_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1612", "weight": 1.0}, {"source": "ui_mount_template_questions_map", "target": "ui_mount_templates_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1636", "weight": 1.0}, {"source": "ui_mount_lims_projects", "target": "ui_mount_lims_catalogue_projects", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1721", "weight": 1.0}, {"source": "ui_mount_consume_session_progress", "target": "ui_mount_open_input_required_dialog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1779", "weight": 1.0}, {"source": "ui_mount_consume_session_progress", "target": "ui_mount_close_dialog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1788", "weight": 1.0}, {"source": "ui_mount_submit_project", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1806", "weight": 1.0}, {"source": "ui_mount_submit_project", "target": "ui_mount_templates_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1808", "weight": 1.0}, {"source": "ui_mount_submit_project", "target": "ui_mount_run_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1830", "weight": 1.0}, {"source": "ui_mount_submit_run", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1839", "weight": 1.0}, {"source": "ui_mount_submit_run", "target": "ui_mount_templates_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1841", "weight": 1.0}, {"source": "ui_mount_submit_run", "target": "ui_mount_run_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1863", "weight": 1.0}, {"source": "ui_mount_run_creation", "target": "ui_mount_consume_session_progress", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1888", "weight": 1.0}, {"source": "ui_mount_run_creation", "target": "ui_mount_await_session", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1889", "weight": 1.0}, {"source": "ui_mount_run_creation", "target": "ui_mount_show_toast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1892", "weight": 1.0}, {"source": "ui_mount_render_run_wizard", "target": "ui_mount_template_names", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1911", "weight": 1.0}, {"source": "ui_mount_render_run_wizard", "target": "ui_mount_equipment_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1912", "weight": 1.0}, {"source": "ui_mount_render_run_wizard", "target": "ui_mount_template_questions_map", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1913", "weight": 1.0}, {"source": "ui_mount_render_run_wizard", "target": "ui_mount_submit_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1914", "weight": 1.0}, {"source": "ui_mount_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_mount_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_mount_rationale_59", "target": "ui_mount_spawn_background", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L59", "weight": 1.0}, {"source": "ui_mount_rationale_67", "target": "ui_mount_mount_ui", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L67", "weight": 1.0}, {"source": "ui_mount_rationale_90", "target": "ui_mount_register_pages", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L90", "weight": 1.0}, {"source": "ui_mount_rationale_433", "target": "ui_mount_lims_credential_handlers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L433", "weight": 1.0}, {"source": "ui_mount_rationale_489", "target": "ui_mount_nas_credential_handlers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L489", "weight": 1.0}, {"source": "ui_mount_rationale_544", "target": "ui_mount_nas_test_connection", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L544", "weight": 1.0}, {"source": "ui_mount_rationale_594", "target": "ui_mount_persist_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L594", "weight": 1.0}, {"source": "ui_mount_rationale_626", "target": "ui_mount_ensure_staging_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L626", "weight": 1.0}, {"source": "ui_mount_rationale_652", "target": "ui_mount_apply_live_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L652", "weight": 1.0}, {"source": "ui_mount_rationale_669", "target": "ui_mount_nas_credential_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L669", "weight": 1.0}, {"source": "ui_mount_rationale_690", "target": "ui_mount_is_setup_ready", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L690", "weight": 1.0}, {"source": "ui_mount_rationale_722", "target": "ui_mount_apply_autostart", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L722", "weight": 1.0}, {"source": "ui_mount_rationale_773", "target": "ui_mount_panel_sessions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L773", "weight": 1.0}, {"source": "ui_mount_rationale_790", "target": "ui_mount_operation_counts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L790", "weight": 1.0}, {"source": "ui_mount_rationale_807", "target": "ui_mount_setup_next_action", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L807", "weight": 1.0}, {"source": "ui_mount_rationale_830", "target": "ui_mount_build_main_query", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L830", "weight": 1.0}, {"source": "ui_mount_rationale_851", "target": "ui_mount_classify_node", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L851", "weight": 1.0}, {"source": "ui_mount_rationale_895", "target": "ui_mount_build_metadata_payload", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L895", "weight": 1.0}, {"source": "ui_mount_rationale_922", "target": "ui_mount_metadata_for_owned_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L922", "weight": 1.0}, {"source": "ui_mount_rationale_937", "target": "ui_mount_metadata_for_relay_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L937", "weight": 1.0}, {"source": "ui_mount_rationale_951", "target": "ui_mount_metadata_for_project", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L951", "weight": 1.0}, {"source": "ui_mount_rationale_985", "target": "ui_mount_count_dir_children", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L985", "weight": 1.0}, {"source": "ui_mount_rationale_1000", "target": "ui_mount_metadata_for_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1000", "weight": 1.0}, {"source": "ui_mount_rationale_1034", "target": "ui_mount_drive_folder_feed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1034", "weight": 1.0}, {"source": "ui_mount_rationale_1095", "target": "ui_mount_fetch_folder_async", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1095", "weight": 1.0}, {"source": "ui_mount_rationale_1119", "target": "ui_mount_run_staging_action", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1119", "weight": 1.0}, {"source": "ui_mount_rationale_1177", "target": "ui_mount_bulk_clear_verified", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1177", "weight": 1.0}, {"source": "ui_mount_rationale_1222", "target": "ui_mount_file_context_action", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1222", "weight": 1.0}, {"source": "ui_mount_rationale_1261", "target": "ui_mount_toggle_keep_local", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1261", "weight": 1.0}, {"source": "ui_mount_rationale_1304", "target": "ui_mount_open_in_os", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1304", "weight": 1.0}, {"source": "ui_mount_rationale_1332", "target": "ui_mount_build_operation_rows", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1332", "weight": 1.0}, {"source": "ui_mount_rationale_1344", "target": "ui_mount_open_operations_modal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1344", "weight": 1.0}, {"source": "ui_mount_rationale_1368", "target": "ui_mount_open_operation_details", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1368", "weight": 1.0}, {"source": "ui_mount_rationale_1402", "target": "ui_mount_resume_operation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1402", "weight": 1.0}, {"source": "ui_mount_rationale_1434", "target": "ui_mount_open_input_required_dialog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1434", "weight": 1.0}, {"source": "ui_mount_rationale_1472", "target": "ui_mount_cancel_operation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1472", "weight": 1.0}, {"source": "ui_mount_rationale_1481", "target": "ui_mount_cancel_session", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1481", "weight": 1.0}, {"source": "ui_mount_rationale_1522", "target": "ui_mount_open_log_dialog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1522", "weight": 1.0}, {"source": "ui_mount_rationale_1570", "target": "ui_mount_missing_setup_sections", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1570", "weight": 1.0}, {"source": "ui_mount_rationale_1603", "target": "ui_mount_templates_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1603", "weight": 1.0}, {"source": "ui_mount_rationale_1611", "target": "ui_mount_template_names", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1611", "weight": 1.0}, {"source": "ui_mount_rationale_1628", "target": "ui_mount_template_questions_map", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1628", "weight": 1.0}, {"source": "ui_mount_rationale_1661", "target": "ui_mount_lims_catalogue_projects", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1661", "weight": 1.0}, {"source": "ui_mount_rationale_1695", "target": "ui_mount_lims_projects", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1695", "weight": 1.0}, {"source": "ui_mount_rationale_1725", "target": "ui_mount_equipment_ids", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1725", "weight": 1.0}, {"source": "ui_mount_rationale_1733", "target": "ui_mount_await_session", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1733", "weight": 1.0}, {"source": "ui_mount_rationale_1752", "target": "ui_mount_consume_session_progress", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1752", "weight": 1.0}, {"source": "ui_mount_rationale_1795", "target": "ui_mount_close_dialog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1795", "weight": 1.0}, {"source": "ui_mount_rationale_1803", "target": "ui_mount_submit_project", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1803", "weight": 1.0}, {"source": "ui_mount_rationale_1836", "target": "ui_mount_submit_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1836", "weight": 1.0}, {"source": "ui_mount_rationale_1877", "target": "ui_mount_run_creation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1877", "weight": 1.0}, {"source": "ui_mount_rationale_1920", "target": "ui_mount_safe_audit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1920", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_mount_spawn_background", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L60"}, {"caller_nid": "ui_mount_spawn_background", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L61"}, {"caller_nid": "ui_mount_spawn_background", "callee": "add_done_callback", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L62"}, {"caller_nid": "ui_mount_mount_ui", "callee": "register_static_assets", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L79"}, {"caller_nid": "ui_mount_mount_ui", "callee": "run_with", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L81"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L120"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L128"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L143"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L212"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L224"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L229"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L234"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L287"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L321"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L402"}, {"caller_nid": "ui_mount_register_pages", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L411"}, {"caller_nid": "ui_mount_lims_credential_handlers", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L442"}, {"caller_nid": "ui_mount_nas_credential_handlers", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L500"}, {"caller_nid": "ui_mount_nas_credential_handlers", "callee": "keyring_nas_username", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L501"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L555"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L556"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L559"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "TestConnectionResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L561"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "probe", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L568"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "iscoroutine", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L569"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "isfuture", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L569"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "TestConnectionResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L572"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L573"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L573"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L575"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L575"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L576"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L576"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L577"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L578"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L583"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "TestConnectionResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L585"}, {"caller_nid": "ui_mount_nas_test_connection", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L589"}, {"caller_nid": "ui_mount_persist_config", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L605"}, {"caller_nid": "ui_mount_persist_config", "callee": "saver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L610"}, {"caller_nid": "ui_mount_persist_config", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L611"}, {"caller_nid": "ui_mount_persist_config", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L614"}, {"caller_nid": "ui_mount_persist_config", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L616"}, {"caller_nid": "ui_mount_ensure_staging_root", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L638"}, {"caller_nid": "ui_mount_ensure_staging_root", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L639"}, {"caller_nid": "ui_mount_ensure_staging_root", "callee": "ensure_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L645"}, {"caller_nid": "ui_mount_ensure_staging_root", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L645"}, {"caller_nid": "ui_mount_ensure_staging_root", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L647"}, {"caller_nid": "ui_mount_apply_live_config", "callee": "apply_live_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L662"}, {"caller_nid": "ui_mount_apply_live_config", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L664"}, {"caller_nid": "ui_mount_nas_credential_missing", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L681"}, {"caller_nid": "ui_mount_nas_credential_missing", "callee": "transport_requires_keyring_password", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L683"}, {"caller_nid": "ui_mount_nas_credential_missing", "callee": "nas_password_present", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L684"}, {"caller_nid": "ui_mount_nas_credential_missing", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L685"}, {"caller_nid": "ui_mount_is_setup_ready", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L710"}, {"caller_nid": "ui_mount_is_setup_ready", "callee": "compute_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L715"}, {"caller_nid": "ui_mount_is_setup_ready", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L717"}, {"caller_nid": "ui_mount_apply_autostart", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L730"}, {"caller_nid": "ui_mount_apply_autostart", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L734"}, {"caller_nid": "ui_mount_apply_autostart", "callee": "toggle", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L734"}, {"caller_nid": "ui_mount_apply_autostart", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L736"}, {"caller_nid": "ui_mount_build_main_state", "callee": "MainPageState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L755"}, {"caller_nid": "ui_mount_build_main_state", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L767"}, {"caller_nid": "ui_mount_build_main_state", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L767"}, {"caller_nid": "ui_mount_build_main_state", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L768"}, {"caller_nid": "ui_mount_build_main_state", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L768"}, {"caller_nid": "ui_mount_panel_sessions", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L780"}, {"caller_nid": "ui_mount_panel_sessions", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L781"}, {"caller_nid": "ui_mount_panel_sessions", "callee": "iter_sorted", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L786"}, {"caller_nid": "ui_mount_panel_sessions", "callee": "on_operations_panel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L786"}, {"caller_nid": "ui_mount_operation_counts", "callee": "sum", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L801"}, {"caller_nid": "ui_mount_operation_counts", "callee": "sum", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L802"}, {"caller_nid": "ui_mount_operation_counts", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L802"}, {"caller_nid": "ui_mount_operation_counts", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L803"}, {"caller_nid": "ui_mount_setup_next_action", "callee": "setup_state_next_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L822"}, {"caller_nid": "ui_mount_setup_next_action", "callee": "compute_setup_state", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L822"}, {"caller_nid": "ui_mount_setup_next_action", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L825"}, {"caller_nid": "ui_mount_build_main_query", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L844"}, {"caller_nid": "ui_mount_build_main_query", "callee": "quote", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L844"}, {"caller_nid": "ui_mount_build_main_query", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L846"}, {"caller_nid": "ui_mount_build_main_query", "callee": "quote", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L846"}, {"caller_nid": "ui_mount_build_main_query", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L847"}, {"caller_nid": "ui_mount_classify_node", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L866"}, {"caller_nid": "ui_mount_classify_node", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L867"}, {"caller_nid": "ui_mount_classify_node", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L869"}, {"caller_nid": "ui_mount_classify_node", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L872"}, {"caller_nid": "ui_mount_classify_node", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L874"}, {"caller_nid": "ui_mount_classify_node", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L875"}, {"caller_nid": "ui_mount_build_metadata_payload", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L903"}, {"caller_nid": "ui_mount_build_metadata_payload", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L917"}, {"caller_nid": "ui_mount_metadata_for_owned_equipment", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L923"}, {"caller_nid": "ui_mount_metadata_for_owned_equipment", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L929"}, {"caller_nid": "ui_mount_metadata_for_owned_equipment", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L929"}, {"caller_nid": "ui_mount_metadata_for_relay_equipment", "callee": "build_received_equipment_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L940"}, {"caller_nid": "ui_mount_metadata_for_project", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L960"}, {"caller_nid": "ui_mount_metadata_for_project", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L961"}, {"caller_nid": "ui_mount_metadata_for_project", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L964"}, {"caller_nid": "ui_mount_metadata_for_project", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L964"}, {"caller_nid": "ui_mount_metadata_for_project", "callee": "splitlines", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L971"}, {"caller_nid": "ui_mount_metadata_for_project", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L971"}, {"caller_nid": "ui_mount_count_dir_children", "callee": "scandir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L989"}, {"caller_nid": "ui_mount_count_dir_children", "callee": "sum", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L990"}, {"caller_nid": "ui_mount_count_dir_children", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L993"}, {"caller_nid": "ui_mount_count_dir_children", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L993"}, {"caller_nid": "ui_mount_metadata_for_run", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1011"}, {"caller_nid": "ui_mount_metadata_for_run", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1012"}, {"caller_nid": "ui_mount_metadata_for_run", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1013"}, {"caller_nid": "ui_mount_metadata_for_run", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1014"}, {"caller_nid": "ui_mount_metadata_for_run", "callee": "read_msgspec_json", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1016"}, {"caller_nid": "ui_mount_metadata_for_run", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1018"}, {"caller_nid": "ui_mount_metadata_for_run", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1022"}, {"caller_nid": "ui_mount_metadata_for_run", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1029"}, {"caller_nid": "ui_mount_drive_folder_feed", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1056"}, {"caller_nid": "ui_mount_drive_folder_feed", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1057"}, {"caller_nid": "ui_mount_drive_folder_feed", "callee": "RefreshCoordinator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1059"}, {"caller_nid": "ui_mount_drive_folder_feed", "callee": "FolderFeed", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1063"}, {"caller_nid": "ui_mount_drive_folder_feed", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1072"}, {"caller_nid": "ui_mount_drive_folder_feed", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1078"}, {"caller_nid": "ui_mount_drive_folder_feed", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1079"}, {"caller_nid": "ui_mount_drive_folder_feed", "callee": "FileListEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1080"}, {"caller_nid": "ui_mount_drive_folder_feed", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1087"}, {"caller_nid": "ui_mount_drive_folder_feed", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1088"}, {"caller_nid": "ui_mount_fetch_folder_async", "callee": "should_skip_folder", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1103"}, {"caller_nid": "ui_mount_fetch_folder_async", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1107"}, {"caller_nid": "ui_mount_fetch_folder_async", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1109"}, {"caller_nid": "ui_mount_fetch_folder_async", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1111"}, {"caller_nid": "ui_mount_fetch_folder_async", "callee": "record_folder_refresh", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1114"}, {"caller_nid": "ui_mount_run_staging_action", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1132"}, {"caller_nid": "ui_mount_run_staging_action", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1136"}, {"caller_nid": "ui_mount_run_staging_action", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1138"}, {"caller_nid": "ui_mount_run_staging_action", "callee": "_do_enqueue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1152"}, {"caller_nid": "ui_mount_run_staging_action", "callee": "_do_clear", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1168"}, {"caller_nid": "ui_mount_bulk_clear_verified", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1185"}, {"caller_nid": "ui_mount_bulk_clear_verified", "callee": "_do_bulk", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1211"}, {"caller_nid": "ui_mount_file_context_action", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1229"}, {"caller_nid": "ui_mount_file_context_action", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1229"}, {"caller_nid": "ui_mount_file_context_action", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1235"}, {"caller_nid": "ui_mount_file_context_action", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1241"}, {"caller_nid": "ui_mount_file_context_action", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1243"}, {"caller_nid": "ui_mount_toggle_keep_local", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1273"}, {"caller_nid": "ui_mount_toggle_keep_local", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1277"}, {"caller_nid": "ui_mount_toggle_keep_local", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1277"}, {"caller_nid": "ui_mount_toggle_keep_local", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1277"}, {"caller_nid": "ui_mount_toggle_keep_local", "callee": "_find_run_root", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1278"}, {"caller_nid": "ui_mount_toggle_keep_local", "callee": "_run_relative_posix", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1282"}, {"caller_nid": "ui_mount_toggle_keep_local", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1286"}, {"caller_nid": "ui_mount_toggle_keep_local", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1286"}, {"caller_nid": "ui_mount_toggle_keep_local", "callee": "_do_toggle", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1300"}, {"caller_nid": "ui_mount_open_in_os", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1314"}, {"caller_nid": "ui_mount_open_in_os", "callee": "Popen", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1315"}, {"caller_nid": "ui_mount_open_in_os", "callee": "Popen", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1318"}, {"caller_nid": "ui_mount_open_in_os", "callee": "startfile", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1323"}, {"caller_nid": "ui_mount_open_in_os", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1326"}, {"caller_nid": "ui_mount_build_operation_rows", "callee": "from_session", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1340"}, {"caller_nid": "ui_mount_open_operations_modal", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1351"}, {"caller_nid": "ui_mount_open_operations_modal", "callee": "operations_modal", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1356"}, {"caller_nid": "ui_mount_open_operations_modal", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1362"}, {"caller_nid": "ui_mount_open_operations_modal", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1363"}, {"caller_nid": "ui_mount_open_operations_modal", "callee": "opener", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1364"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1374"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1375"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1376"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1380"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1380"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "dialog", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1381"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1384"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1384"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "card", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1384"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1386"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1386"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1387"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1387"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1388"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1390"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1390"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1390"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1393"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1395"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1395"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1395"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1395"}, {"caller_nid": "ui_mount_open_operation_details", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1398"}, {"caller_nid": "ui_mount_resume_operation", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1408"}, {"caller_nid": "ui_mount_resume_operation", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1409"}, {"caller_nid": "ui_mount_resume_operation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1410"}, {"caller_nid": "ui_mount_resume_operation", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1411"}, {"caller_nid": "ui_mount_resume_operation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1419"}, {"caller_nid": "ui_mount_resume_operation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1420"}, {"caller_nid": "ui_mount_resume_operation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1421"}, {"caller_nid": "ui_mount_open_input_required_dialog", "callee": "input_required_dialog", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1458"}, {"caller_nid": "ui_mount_open_input_required_dialog", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1465"}, {"caller_nid": "ui_mount_open_input_required_dialog", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1466"}, {"caller_nid": "ui_mount_open_input_required_dialog", "callee": "opener", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1467"}, {"caller_nid": "ui_mount_cancel_operation", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1473"}, {"caller_nid": "ui_mount_cancel_session", "callee": "dialog", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1488"}, {"caller_nid": "ui_mount_cancel_session", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1504"}, {"caller_nid": "ui_mount_cancel_session", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1504"}, {"caller_nid": "ui_mount_cancel_session", "callee": "card", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1504"}, {"caller_nid": "ui_mount_cancel_session", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1506"}, {"caller_nid": "ui_mount_cancel_session", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1506"}, {"caller_nid": "ui_mount_cancel_session", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1507"}, {"caller_nid": "ui_mount_cancel_session", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1507"}, {"caller_nid": "ui_mount_cancel_session", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1510"}, {"caller_nid": "ui_mount_cancel_session", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1510"}, {"caller_nid": "ui_mount_cancel_session", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1510"}, {"caller_nid": "ui_mount_cancel_session", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1511"}, {"caller_nid": "ui_mount_cancel_session", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1511"}, {"caller_nid": "ui_mount_cancel_session", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1511"}, {"caller_nid": "ui_mount_cancel_session", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1512"}, {"caller_nid": "ui_mount_cancel_session", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1512"}, {"caller_nid": "ui_mount_cancel_session", "callee": "_choose", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1512"}, {"caller_nid": "ui_mount_cancel_session", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1515"}, {"caller_nid": "ui_mount_cancel_session", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1515"}, {"caller_nid": "ui_mount_cancel_session", "callee": "_choose", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1515"}, {"caller_nid": "ui_mount_cancel_session", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1518"}, {"caller_nid": "ui_mount_open_log_dialog", "callee": "_do_open", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1566"}, {"caller_nid": "ui_mount_missing_setup_sections", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1580"}, {"caller_nid": "ui_mount_missing_setup_sections", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1588"}, {"caller_nid": "ui_mount_missing_setup_sections", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1594"}, {"caller_nid": "ui_mount_missing_setup_sections", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1596"}, {"caller_nid": "ui_mount_missing_setup_sections", "callee": "lims_password_present", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1597"}, {"caller_nid": "ui_mount_missing_setup_sections", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1598"}, {"caller_nid": "ui_mount_missing_setup_sections", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1599"}, {"caller_nid": "ui_mount_templates_dir", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1604"}, {"caller_nid": "ui_mount_templates_dir", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1607"}, {"caller_nid": "ui_mount_template_names", "callee": "list_templates", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1620"}, {"caller_nid": "ui_mount_template_names", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1623"}, {"caller_nid": "ui_mount_template_questions_map", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1644"}, {"caller_nid": "ui_mount_template_questions_map", "callee": "TemplateType", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1645"}, {"caller_nid": "ui_mount_template_questions_map", "callee": "list_templates", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1647"}, {"caller_nid": "ui_mount_template_questions_map", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1649"}, {"caller_nid": "ui_mount_template_questions_map", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1651"}, {"caller_nid": "ui_mount_template_questions_map", "callee": "template_questions", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1653"}, {"caller_nid": "ui_mount_template_questions_map", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1656"}, {"caller_nid": "ui_mount_lims_catalogue_projects", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1667"}, {"caller_nid": "ui_mount_lims_catalogue_projects", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1670"}, {"caller_nid": "ui_mount_lims_catalogue_projects", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1671"}, {"caller_nid": "ui_mount_lims_catalogue_projects", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1671"}, {"caller_nid": "ui_mount_lims_catalogue_projects", "callee": "read_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1676"}, {"caller_nid": "ui_mount_lims_catalogue_projects", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1676"}, {"caller_nid": "ui_mount_lims_catalogue_projects", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1690"}, {"caller_nid": "ui_mount_lims_projects", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1703"}, {"caller_nid": "ui_mount_lims_projects", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1704"}, {"caller_nid": "ui_mount_lims_projects", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1707"}, {"caller_nid": "ui_mount_lims_projects", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1707"}, {"caller_nid": "ui_mount_lims_projects", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1720"}, {"caller_nid": "ui_mount_equipment_ids", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1726"}, {"caller_nid": "ui_mount_await_session", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1742"}, {"caller_nid": "ui_mount_await_session", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1744"}, {"caller_nid": "ui_mount_await_session", "callee": "status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1746"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1767"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1768"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "subscribe", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1773"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1774"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "apply_frame", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1775"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1776"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "refresh", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1777"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1783"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1784"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1785"}, {"caller_nid": "ui_mount_consume_session_progress", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1791"}, {"caller_nid": "ui_mount_close_dialog", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1796"}, {"caller_nid": "ui_mount_close_dialog", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1797"}, {"caller_nid": "ui_mount_close_dialog", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1798"}, {"caller_nid": "ui_mount_close_dialog", "callee": "closer", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1799"}, {"caller_nid": "ui_mount_submit_project", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1804"}, {"caller_nid": "ui_mount_submit_project", "callee": "ProjectCreateRequest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1816"}, {"caller_nid": "ui_mount_submit_project", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1820"}, {"caller_nid": "ui_mount_submit_project", "callee": "uuid4", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1820"}, {"caller_nid": "ui_mount_submit_project", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1823"}, {"caller_nid": "ui_mount_submit_project", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1825"}, {"caller_nid": "ui_mount_submit_project", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1826"}, {"caller_nid": "ui_mount_submit_project", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1827"}, {"caller_nid": "ui_mount_submit_project", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1828"}, {"caller_nid": "ui_mount_submit_run", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1837"}, {"caller_nid": "ui_mount_submit_run", "callee": "RunCreateRequest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1852"}, {"caller_nid": "ui_mount_submit_run", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1857"}, {"caller_nid": "ui_mount_submit_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1858"}, {"caller_nid": "ui_mount_submit_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1859"}, {"caller_nid": "ui_mount_submit_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1860"}, {"caller_nid": "ui_mount_run_creation", "callee": "create_fn", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1886"}, {"caller_nid": "ui_mount_run_creation", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1891"}, {"caller_nid": "ui_mount_run_creation", "callee": "to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1896"}, {"caller_nid": "ui_mount_run_creation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1899"}, {"caller_nid": "ui_mount_run_creation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1901"}, {"caller_nid": "ui_mount_run_creation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1901"}, {"caller_nid": "ui_mount_render_run_wizard", "callee": "RunWizardState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1908"}, {"caller_nid": "ui_mount_render_run_wizard", "callee": "render_run_wizard", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1909"}, {"caller_nid": "ui_mount_render_run_wizard", "callee": "to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1915"}, {"caller_nid": "ui_mount_safe_audit", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1921"}, {"caller_nid": "ui_mount_safe_audit", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1925"}, {"caller_nid": "ui_mount_safe_audit", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1925"}, {"caller_nid": "ui_mount_safe_audit", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1927"}, {"caller_nid": "ui_mount_build_staging_state", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1934"}, {"caller_nid": "ui_mount_build_staging_state", "callee": "list_staged_runs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1940"}, {"caller_nid": "ui_mount_build_staging_state", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1942"}, {"caller_nid": "ui_mount_build_staging_state", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1945"}, {"caller_nid": "ui_mount_build_staging_state", "callee": "StagingDockState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1946"}, {"caller_nid": "ui_mount_build_staging_state", "callee": "StagingDockState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1947"}, {"caller_nid": "ui_mount_build_staging_state", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1947"}, {"caller_nid": "ui_mount_show_toast", "callee": "notify_success", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1956"}, {"caller_nid": "ui_mount_show_toast", "callee": "notify_error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1958"}, {"caller_nid": "ui_mount_show_toast", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1960"}, {"caller_nid": "ui_mount_render_unavailable", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1965"}, {"caller_nid": "ui_mount_render_unavailable", "callee": "card", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1965"}, {"caller_nid": "ui_mount_render_unavailable", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1966"}, {"caller_nid": "ui_mount_render_unavailable", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1966"}, {"caller_nid": "ui_mount_render_unavailable", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1967"}, {"caller_nid": "ui_mount_render_unavailable", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1967"}, {"caller_nid": "ui_mount_render_unavailable", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py", "source_location": "L1969"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/8c860e77f94035ad0c0d6d511077cdbf600a5910ce230d6efda890e8cf649f7e.json b/graphify-out/cache/ast/8c860e77f94035ad0c0d6d511077cdbf600a5910ce230d6efda890e8cf649f7e.json deleted file mode 100644 index bfa28e5..0000000 --- a/graphify-out/cache/ast/8c860e77f94035ad0c0d6d511077cdbf600a5910ce230d6efda890e8cf649f7e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/8ccccff9c769f715123c25bde41699ba2d9624c52f8bdc0c2d05c2dd1177ac20.json b/graphify-out/cache/ast/8ccccff9c769f715123c25bde41699ba2d9624c52f8bdc0c2d05c2dd1177ac20.json deleted file mode 100644 index a932835..0000000 --- a/graphify-out/cache/ast/8ccccff9c769f715123c25bde41699ba2d9624c52f8bdc0c2d05c2dd1177ac20.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "label": "health.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L1"}, {"id": "api_health_healthresponse", "label": "HealthResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L35"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_health_build_health_router", "label": "build_health_router()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L47"}, {"id": "api_health_component_rollup", "label": "_component_rollup()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L72"}, {"id": "api_health_validator_health", "label": "_validator_health()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L83"}, {"id": "api_health_nas_sync_health", "label": "_nas_sync_health()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L91"}, {"id": "api_health_lims_health", "label": "_lims_health()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L116"}, {"id": "api_health_plugin_host_health", "label": "_plugin_host_health()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L131"}, {"id": "api_health_session_store_health", "label": "_session_store_health()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L144"}, {"id": "api_health_top_level_status", "label": "_top_level_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L161"}, {"id": "api_health_rationale_1", "label": "``GET /api/v1/health`` rollup. Backend Spec \u00a74.6.3. Returns a component-health", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L1"}, {"id": "api_health_rationale_36", "label": "``GET /health`` response body. Backend Spec \u00a74.6.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L36"}, {"id": "api_health_rationale_48", "label": "Construct the health router. Always available.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L48"}, {"id": "api_health_rationale_73", "label": "Build the \u00a74.6.3 components block from the live dependencies.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L73"}, {"id": "api_health_rationale_162", "label": "Aggregate per-component statuses into the \u00a74.6.3 top-level value. Top-level", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L162"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "exlab_wizard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "exlab_wizard_api_setup", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "api_health_healthresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L35", "weight": 1.0}, {"source": "api_health_healthresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "api_health_build_health_router", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "api_health_component_rollup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "api_health_validator_health", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "api_health_nas_sync_health", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L91", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "api_health_lims_health", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "api_health_plugin_host_health", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L131", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "api_health_session_store_health", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L144", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "target": "api_health_top_level_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L161", "weight": 1.0}, {"source": "api_health_component_rollup", "target": "api_health_validator_health", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L75", "weight": 1.0}, {"source": "api_health_component_rollup", "target": "api_health_nas_sync_health", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L76", "weight": 1.0}, {"source": "api_health_component_rollup", "target": "api_health_lims_health", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L77", "weight": 1.0}, {"source": "api_health_component_rollup", "target": "api_health_plugin_host_health", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L78", "weight": 1.0}, {"source": "api_health_component_rollup", "target": "api_health_session_store_health", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L79", "weight": 1.0}, {"source": "api_health_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_health_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L1", "weight": 1.0}, {"source": "api_health_rationale_36", "target": "api_health_healthresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L36", "weight": 1.0}, {"source": "api_health_rationale_48", "target": "api_health_build_health_router", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L48", "weight": 1.0}, {"source": "api_health_rationale_73", "target": "api_health_component_rollup", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L73", "weight": 1.0}, {"source": "api_health_rationale_162", "target": "api_health_top_level_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L162", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_health_build_health_router", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L49"}, {"caller_nid": "api_health_build_health_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L51"}, {"caller_nid": "api_health_validator_health", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L84"}, {"caller_nid": "api_health_nas_sync_health", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L95"}, {"caller_nid": "api_health_nas_sync_health", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L96"}, {"caller_nid": "api_health_nas_sync_health", "callee": "snapshot", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L98"}, {"caller_nid": "api_health_nas_sync_health", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L100"}, {"caller_nid": "api_health_nas_sync_health", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L101"}, {"caller_nid": "api_health_nas_sync_health", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L102"}, {"caller_nid": "api_health_nas_sync_health", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L103"}, {"caller_nid": "api_health_nas_sync_health", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L105"}, {"caller_nid": "api_health_nas_sync_health", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L105"}, {"caller_nid": "api_health_nas_sync_health", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L106"}, {"caller_nid": "api_health_nas_sync_health", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L106"}, {"caller_nid": "api_health_lims_health", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L119"}, {"caller_nid": "api_health_lims_health", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L124"}, {"caller_nid": "api_health_lims_health", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L127"}, {"caller_nid": "api_health_plugin_host_health", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L135"}, {"caller_nid": "api_health_plugin_host_health", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L136"}, {"caller_nid": "api_health_plugin_host_health", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L138"}, {"caller_nid": "api_health_plugin_host_health", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L139"}, {"caller_nid": "api_health_session_store_health", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L148"}, {"caller_nid": "api_health_session_store_health", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L149"}, {"caller_nid": "api_health_session_store_health", "callee": "snapshot", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L151"}, {"caller_nid": "api_health_session_store_health", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L153"}, {"caller_nid": "api_health_session_store_health", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L154"}, {"caller_nid": "api_health_session_store_health", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L155"}, {"caller_nid": "api_health_session_store_health", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L156"}, {"caller_nid": "api_health_session_store_health", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L156"}, {"caller_nid": "api_health_session_store_health", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L157"}, {"caller_nid": "api_health_session_store_health", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L157"}, {"caller_nid": "api_health_top_level_status", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L168"}, {"caller_nid": "api_health_top_level_status", "callee": "values", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py", "source_location": "L168"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/8d0b64397454944271c26657eca5a513710af71af27a5d200af0867a3e302371.json b/graphify-out/cache/ast/8d0b64397454944271c26657eca5a513710af71af27a5d200af0867a3e302371.json deleted file mode 100644 index 14e678a..0000000 --- a/graphify-out/cache/ast/8d0b64397454944271c26657eca5a513710af71af27a5d200af0867a3e302371.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_02_project_wizard_py", "label": "test_flow_02_project_wizard.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L1"}, {"id": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "label": "test_flow_02_project_wizard()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L14"}, {"id": "e2e_test_flow_02_project_wizard_rationale_1", "label": "E2E flow 02: Project wizard 7-step happy path. Frontend Spec \u00a76.3 (project wiza", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_02_project_wizard_py", "target": "tests_e2e_page_objects_wizard_project_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_02_project_wizard_py", "target": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L14", "weight": 1.0}, {"source": "e2e_test_flow_02_project_wizard_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_02_project_wizard_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "WizardProjectPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L15"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L16"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L17"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L19"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L28"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L40"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "step", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L40"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L42"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L42"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L47"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L47"}, {"caller_nid": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py", "source_location": "L50"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/8d1ea17c20576b0f0b475c5bde9890a8aa3a1789a6ccc4023d6c2048d41ef198.json b/graphify-out/cache/ast/8d1ea17c20576b0f0b475c5bde9890a8aa3a1789a6ccc4023d6c2048d41ef198.json deleted file mode 100644 index 6866d77..0000000 --- a/graphify-out/cache/ast/8d1ea17c20576b0f0b475c5bde9890a8aa3a1789a6ccc4023d6c2048d41ef198.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_lims_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/__init__.py", "source_location": "L1"}, {"id": "lims_init_rationale_1", "label": "Unit tests for ``exlab_wizard.lims``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/__init__.py", "source_location": "L1"}], "edges": [{"source": "lims_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_lims_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/8d3b7d221849354075e752d403a07ddcded8aa79ed2d13e14d396d9693f3711a.json b/graphify-out/cache/ast/8d3b7d221849354075e752d403a07ddcded8aa79ed2d13e14d396d9693f3711a.json deleted file mode 100644 index 4584c57..0000000 --- a/graphify-out/cache/ast/8d3b7d221849354075e752d403a07ddcded8aa79ed2d13e14d396d9693f3711a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_26_equipment_wizard_persist_py", "label": "test_flow_26_equipment_wizard_persist.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L1"}, {"id": "e2e_test_flow_26_equipment_wizard_persist_prod_server", "label": "prod_server()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L40"}, {"id": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "label": "test_equipment_wizard_confirm_persists_to_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L53"}, {"id": "e2e_test_flow_26_equipment_wizard_persist_rationale_1", "label": "E2E flow 26: Add-Equipment wizard confirm against the PRODUCTION app. ``test_fl", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L1"}, {"id": "e2e_test_flow_26_equipment_wizard_persist_rationale_41", "label": "Spawn the production wizard app under a fresh tmp HOME.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L41"}, {"id": "e2e_test_flow_26_equipment_wizard_persist_rationale_54", "label": "Drive the production wizard to Confirm and assert config.yaml gains the device.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L54"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_26_equipment_wizard_persist_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_26_equipment_wizard_persist_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_26_equipment_wizard_persist_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_26_equipment_wizard_persist_py", "target": "tests_e2e_prod_server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_26_equipment_wizard_persist_py", "target": "tests_e2e_conftest", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_26_equipment_wizard_persist_py", "target": "tests_e2e_page_objects_wizard_equipment_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_26_equipment_wizard_persist_py", "target": "e2e_test_flow_26_equipment_wizard_persist_prod_server", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_26_equipment_wizard_persist_py", "target": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L53", "weight": 1.0}, {"source": "e2e_test_flow_26_equipment_wizard_persist_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_26_equipment_wizard_persist_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_flow_26_equipment_wizard_persist_rationale_41", "target": "e2e_test_flow_26_equipment_wizard_persist_prod_server", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L41", "weight": 1.0}, {"source": "e2e_test_flow_26_equipment_wizard_persist_rationale_54", "target": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L54", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_prod_server", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L43"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_prod_server", "callee": "ProdServer", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L44"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_prod_server", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L45"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_prod_server", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L46"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_prod_server", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L50"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L55"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "new_context", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L57"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "new_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L58"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "WizardEquipmentPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L60"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L61"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L62"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L63"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L66"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L67"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L68"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L71"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L72"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L73"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L74"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L78"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L79"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L80"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L81"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L82"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L85"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L86"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L87"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L91"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L92"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L92"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L93"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L94"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L96"}, {"caller_nid": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py", "source_location": "L100"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/8de610342a32ae3f79cbe3083ec54da39b902ccd109863cd4b76f03e4ad1ed79.json b/graphify-out/cache/ast/8de610342a32ae3f79cbe3083ec54da39b902ccd109863cd4b76f03e4ad1ed79.json deleted file mode 100644 index 2c4de9c..0000000 --- a/graphify-out/cache/ast/8de610342a32ae3f79cbe3083ec54da39b902ccd109863cd4b76f03e4ad1ed79.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "label": "settings_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L1"}, {"id": "page_objects_settings_page_settingspage", "label": "SettingsPage", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L11"}, {"id": "page_objects_settings_page_settingspage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L14"}, {"id": "page_objects_settings_page_dialog", "label": "dialog()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L18"}, {"id": "page_objects_settings_page_incomplete_banner", "label": "incomplete_banner()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L23"}, {"id": "page_objects_settings_page_settingspage_nav", "label": ".nav()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L27"}, {"id": "page_objects_settings_page_settingspage_section", "label": ".section()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L31"}, {"id": "page_objects_settings_page_paths_templates", "label": "paths_templates()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L36"}, {"id": "page_objects_settings_page_paths_plugin", "label": "paths_plugin()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L41"}, {"id": "page_objects_settings_page_paths_local_root", "label": "paths_local_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L46"}, {"id": "page_objects_settings_page_lims_password_primary", "label": "lims_password_primary()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L51"}, {"id": "page_objects_settings_page_lims_password_secondary", "label": "lims_password_secondary()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L56"}, {"id": "page_objects_settings_page_lims_password_input", "label": "lims_password_input()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L61"}, {"id": "page_objects_settings_page_lims_password_save", "label": "lims_password_save()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L66"}, {"id": "page_objects_settings_page_lims_password_cancel", "label": "lims_password_cancel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L71"}, {"id": "page_objects_settings_page_lims_password_clear_confirm", "label": "lims_password_clear_confirm()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L76"}, {"id": "page_objects_settings_page_lims_password_status", "label": "lims_password_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L81"}, {"id": "page_objects_settings_page_equipment_id", "label": "equipment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L86"}, {"id": "page_objects_settings_page_equipment_add", "label": "equipment_add()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L91"}, {"id": "page_objects_settings_page_save", "label": "save()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L96"}, {"id": "page_objects_settings_page_discard", "label": "discard()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L101"}, {"id": "page_objects_settings_page_saved_marker", "label": "saved_marker()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L106"}, {"id": "page_objects_settings_page_rationale_1", "label": "Page object for the Settings dialog. Frontend Spec \u00a76.7.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L1"}, {"id": "page_objects_settings_page_rationale_12", "label": "Locators for the settings dialog's nine-section layout.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L12"}, {"id": "page_objects_settings_page_rationale_19", "label": "The settings dialog card.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L19"}, {"id": "page_objects_settings_page_rationale_24", "label": "The setup-incomplete banner shown inside the dialog.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L24"}, {"id": "page_objects_settings_page_rationale_28", "label": "The sidebar nav row for a section.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L28"}, {"id": "page_objects_settings_page_rationale_32", "label": "The body container for a section.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L32"}, {"id": "page_objects_settings_page_rationale_37", "label": "Paths section: templates directory input.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L37"}, {"id": "page_objects_settings_page_rationale_42", "label": "Paths section: plugin directory input.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L42"}, {"id": "page_objects_settings_page_rationale_47", "label": "Paths section: local data root input.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L47"}, {"id": "page_objects_settings_page_rationale_52", "label": "LIMS section: the credential row's primary button ([Set] / [Replace]).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L52"}, {"id": "page_objects_settings_page_rationale_57", "label": "LIMS section: the credential row's secondary button ([Clear]).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L57"}, {"id": "page_objects_settings_page_rationale_62", "label": "LIMS section: the inline password input shown while editing.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L62"}, {"id": "page_objects_settings_page_rationale_67", "label": "LIMS section: the credential row's Save button (editing state).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L67"}, {"id": "page_objects_settings_page_rationale_72", "label": "LIMS section: the credential row's Cancel button (editing state).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L72"}, {"id": "page_objects_settings_page_rationale_77", "label": "LIMS section: the confirm button in the Clear-credential dialog.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L77"}, {"id": "page_objects_settings_page_rationale_82", "label": "LIMS section: the credential row's status line (resting states).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L82"}, {"id": "page_objects_settings_page_rationale_87", "label": "Equipment section: equipment-id input.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L87"}, {"id": "page_objects_settings_page_rationale_92", "label": "Equipment section: add-equipment button.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L92"}, {"id": "page_objects_settings_page_rationale_107", "label": "The marker shown after a successful save.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L107"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "playwright_sync_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_settingspage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L11", "weight": 1.0}, {"source": "page_objects_settings_page_settingspage", "target": "page_objects_settings_page_settingspage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_incomplete_banner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L23", "weight": 1.0}, {"source": "page_objects_settings_page_settingspage", "target": "page_objects_settings_page_settingspage_nav", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L27", "weight": 1.0}, {"source": "page_objects_settings_page_settingspage", "target": "page_objects_settings_page_settingspage_section", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_paths_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_paths_plugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_paths_local_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_lims_password_primary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_lims_password_secondary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_lims_password_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_lims_password_save", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L66", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_lims_password_cancel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L71", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_lims_password_clear_confirm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_lims_password_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_equipment_add", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L91", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_save", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L96", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_discard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L101", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "target": "page_objects_settings_page_saved_marker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L106", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_page_objects_settings_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L1", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_12", "target": "page_objects_settings_page_settingspage", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L12", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_19", "target": "page_objects_settings_page_settingspage_dialog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L19", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_24", "target": "page_objects_settings_page_settingspage_incomplete_banner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L24", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_28", "target": "page_objects_settings_page_settingspage_nav", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L28", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_32", "target": "page_objects_settings_page_settingspage_section", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L32", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_37", "target": "page_objects_settings_page_settingspage_paths_templates", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L37", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_42", "target": "page_objects_settings_page_settingspage_paths_plugin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L42", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_47", "target": "page_objects_settings_page_settingspage_paths_local_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L47", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_52", "target": "page_objects_settings_page_settingspage_lims_password_primary", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L52", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_57", "target": "page_objects_settings_page_settingspage_lims_password_secondary", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L57", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_62", "target": "page_objects_settings_page_settingspage_lims_password_input", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L62", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_67", "target": "page_objects_settings_page_settingspage_lims_password_save", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L67", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_72", "target": "page_objects_settings_page_settingspage_lims_password_cancel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L72", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_77", "target": "page_objects_settings_page_settingspage_lims_password_clear_confirm", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L77", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_82", "target": "page_objects_settings_page_settingspage_lims_password_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L82", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_87", "target": "page_objects_settings_page_settingspage_equipment_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L87", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_92", "target": "page_objects_settings_page_settingspage_equipment_add", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L92", "weight": 1.0}, {"source": "page_objects_settings_page_rationale_107", "target": "page_objects_settings_page_settingspage_saved_marker", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L107", "weight": 1.0}], "raw_calls": [{"caller_nid": "page_objects_settings_page_dialog", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L20"}, {"caller_nid": "page_objects_settings_page_incomplete_banner", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L25"}, {"caller_nid": "page_objects_settings_page_settingspage_nav", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L29"}, {"caller_nid": "page_objects_settings_page_settingspage_section", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L33"}, {"caller_nid": "page_objects_settings_page_paths_templates", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L38"}, {"caller_nid": "page_objects_settings_page_paths_plugin", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L43"}, {"caller_nid": "page_objects_settings_page_paths_local_root", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L48"}, {"caller_nid": "page_objects_settings_page_lims_password_primary", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L53"}, {"caller_nid": "page_objects_settings_page_lims_password_secondary", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L58"}, {"caller_nid": "page_objects_settings_page_lims_password_input", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L63"}, {"caller_nid": "page_objects_settings_page_lims_password_save", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L68"}, {"caller_nid": "page_objects_settings_page_lims_password_cancel", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L73"}, {"caller_nid": "page_objects_settings_page_lims_password_clear_confirm", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L78"}, {"caller_nid": "page_objects_settings_page_lims_password_status", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L83"}, {"caller_nid": "page_objects_settings_page_equipment_id", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L88"}, {"caller_nid": "page_objects_settings_page_equipment_add", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L93"}, {"caller_nid": "page_objects_settings_page_save", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L98"}, {"caller_nid": "page_objects_settings_page_discard", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L103"}, {"caller_nid": "page_objects_settings_page_saved_marker", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py", "source_location": "L108"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/8f4d71670e06e4b94eb4cc72ec0cad824ab88ca067ecdcd20530593b9faded0e.json b/graphify-out/cache/ast/8f4d71670e06e4b94eb4cc72ec0cad824ab88ca067ecdcd20530593b9faded0e.json deleted file mode 100644 index e9afda7..0000000 --- a/graphify-out/cache/ast/8f4d71670e06e4b94eb4cc72ec0cad824ab88ca067ecdcd20530593b9faded0e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "label": "wizard_equipment.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L1"}, {"id": "pages_wizard_equipment_equipmentwizardstate", "label": "EquipmentWizardState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L49"}, {"id": "pages_wizard_equipment_can_advance", "label": "can_advance()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L84"}, {"id": "pages_wizard_equipment_assemble_equipment_config", "label": "assemble_equipment_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L119"}, {"id": "pages_wizard_equipment_render_wizard_equipment", "label": "render_wizard_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L149"}, {"id": "pages_wizard_equipment_maybe_confirm", "label": "_maybe_confirm()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L253"}, {"id": "pages_wizard_equipment_render_identity_step", "label": "_render_identity_step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L268"}, {"id": "pages_wizard_equipment_render_paths_step", "label": "_render_paths_step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L286"}, {"id": "pages_wizard_equipment_render_sync_mode_step", "label": "_render_sync_mode_step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L304"}, {"id": "pages_wizard_equipment_render_review_step", "label": "_render_review_step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L368"}, {"id": "pages_wizard_equipment_rationale_1", "label": "Add-Equipment wizard (GUI/Orchestrator Redesign \u00a76). Four-step wizard launched", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L1"}, {"id": "pages_wizard_equipment_rationale_50", "label": "Mutable state for the in-flight Add-Equipment wizard.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L50"}, {"id": "pages_wizard_equipment_rationale_85", "label": "Return True if the active step has the data it needs to advance. Pure funct", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L85"}, {"id": "pages_wizard_equipment_rationale_122", "label": "Build the final EquipmentConfig from the wizard's state. Raises a pydantic", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L122"}, {"id": "pages_wizard_equipment_rationale_155", "label": "Render the self-contained Add-Equipment wizard. Next / Back navigation is h", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L155"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "exlab_wizard_constants_patterns", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "exlab_wizard_ui_equipment_form", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "pages_wizard_equipment_equipmentwizardstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "pages_wizard_equipment_can_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L84", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "pages_wizard_equipment_assemble_equipment_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L119", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "pages_wizard_equipment_render_wizard_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L149", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "pages_wizard_equipment_maybe_confirm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L253", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "pages_wizard_equipment_render_identity_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L268", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "pages_wizard_equipment_render_paths_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L286", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "pages_wizard_equipment_render_sync_mode_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L304", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "target": "pages_wizard_equipment_render_review_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L368", "weight": 1.0}, {"source": "pages_wizard_equipment_render_wizard_equipment", "target": "pages_wizard_equipment_equipmentwizardstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L169", "weight": 1.0}, {"source": "pages_wizard_equipment_maybe_confirm", "target": "pages_wizard_equipment_assemble_equipment_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L260", "weight": 1.0}, {"source": "pages_wizard_equipment_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_equipment_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L1", "weight": 1.0}, {"source": "pages_wizard_equipment_rationale_50", "target": "pages_wizard_equipment_equipmentwizardstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L50", "weight": 1.0}, {"source": "pages_wizard_equipment_rationale_85", "target": "pages_wizard_equipment_can_advance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L85", "weight": 1.0}, {"source": "pages_wizard_equipment_rationale_122", "target": "pages_wizard_equipment_assemble_equipment_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L122", "weight": 1.0}, {"source": "pages_wizard_equipment_rationale_155", "target": "pages_wizard_equipment_render_wizard_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L155", "weight": 1.0}], "raw_calls": [{"caller_nid": "pages_wizard_equipment_can_advance", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L92"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "fullmatch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L94"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L95"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L98"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L98"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L98"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L102"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L103"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L104"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L105"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L107"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L108"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L109"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L110"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L113"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L113"}, {"caller_nid": "pages_wizard_equipment_can_advance", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L113"}, {"caller_nid": "pages_wizard_equipment_assemble_equipment_config", "callee": "build_equipment_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L127"}, {"caller_nid": "pages_wizard_equipment_render_wizard_equipment", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L182"}, {"caller_nid": "pages_wizard_equipment_render_wizard_equipment", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L182"}, {"caller_nid": "pages_wizard_equipment_render_wizard_equipment", "callee": "card", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L182"}, {"caller_nid": "pages_wizard_equipment_render_wizard_equipment", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L183"}, {"caller_nid": "pages_wizard_equipment_render_wizard_equipment", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L183"}, {"caller_nid": "pages_wizard_equipment_render_wizard_equipment", "callee": "_body", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L249"}, {"caller_nid": "pages_wizard_equipment_maybe_confirm", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L262"}, {"caller_nid": "pages_wizard_equipment_maybe_confirm", "callee": "on_confirm", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L264"}, {"caller_nid": "pages_wizard_equipment_render_identity_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L278"}, {"caller_nid": "pages_wizard_equipment_render_identity_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L278"}, {"caller_nid": "pages_wizard_equipment_render_identity_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L278"}, {"caller_nid": "pages_wizard_equipment_render_identity_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L278"}, {"caller_nid": "pages_wizard_equipment_render_identity_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L281"}, {"caller_nid": "pages_wizard_equipment_render_identity_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L281"}, {"caller_nid": "pages_wizard_equipment_render_identity_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L281"}, {"caller_nid": "pages_wizard_equipment_render_identity_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L281"}, {"caller_nid": "pages_wizard_equipment_render_paths_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L296"}, {"caller_nid": "pages_wizard_equipment_render_paths_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L296"}, {"caller_nid": "pages_wizard_equipment_render_paths_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L296"}, {"caller_nid": "pages_wizard_equipment_render_paths_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L296"}, {"caller_nid": "pages_wizard_equipment_render_paths_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L299"}, {"caller_nid": "pages_wizard_equipment_render_paths_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L299"}, {"caller_nid": "pages_wizard_equipment_render_paths_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L299"}, {"caller_nid": "pages_wizard_equipment_render_paths_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L299"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L313"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L313"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L314"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L314"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "radio", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L314"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "refresh_body", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L315"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L318"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L318"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "radio", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L318"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "refresh_body", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L321"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L324"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L324"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L324"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L324"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L327"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L327"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L327"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L327"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L330"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L330"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L330"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L330"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L333"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L333"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L333"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L333"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L336"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L336"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L336"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L336"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L340"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L340"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L340"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L340"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L343"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L343"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "number", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L343"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L343"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L346"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L346"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L346"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L346"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L349"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L349"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L349"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L349"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L353"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L353"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "radio", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L353"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "refresh_body", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L356"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L360"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L360"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L360"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L360"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L363"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L363"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L363"}, {"caller_nid": "pages_wizard_equipment_render_sync_mode_step", "callee": "sync_next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L363"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L378"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L378"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L379"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L379"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L380"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L381"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L382"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L383"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L384"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L386"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L388"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L389"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L390"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L392"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L392"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L392"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L399"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L399"}, {"caller_nid": "pages_wizard_equipment_render_review_step", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py", "source_location": "L399"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/9031954483cc7f8d0c659dc40259d750545128c56ef87268d83e2580906b3d0a.json b/graphify-out/cache/ast/9031954483cc7f8d0c659dc40259d750545128c56ef87268d83e2580906b3d0a.json deleted file mode 100644 index 5ab0e40..0000000 --- a/graphify-out/cache/ast/9031954483cc7f8d0c659dc40259d750545128c56ef87268d83e2580906b3d0a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "label": "test_folder_feed.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L1"}, {"id": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once", "label": "test_folder_feed_start_then_stop_calls_fetch_at_least_once()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L18"}, {"id": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous", "label": "test_folder_feed_switching_paths_stops_previous()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L34"}, {"id": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "label": "test_folder_feed_pause_skips_fetch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L53"}, {"id": "ui_test_folder_feed_test_refresh_coordinator_coalesces_within_window", "label": "test_refresh_coordinator_coalesces_within_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L73"}, {"id": "ui_test_folder_feed_rationale_1", "label": "Unit tests for the folder-feed + refresh-coordinator client modules. GUI/Orches", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "target": "exlab_wizard_ui_client_folder_feed", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "target": "exlab_wizard_ui_client_refresh_coordinator", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "target": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "target": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "target": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "target": "ui_test_folder_feed_test_refresh_coordinator_coalesces_within_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L73", "weight": 1.0}, {"source": "ui_test_folder_feed_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_folder_feed_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once", "callee": "FolderFeed", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L25"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L26"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L27"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L28"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L29"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L30"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous", "callee": "FolderFeed", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L41"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L42"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L43"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L44"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L45"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L46"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "callee": "FolderFeed", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L60"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L61"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L62"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "callee": "pause", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L63"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L64"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L65"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L67"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "callee": "resume", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L68"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L69"}, {"caller_nid": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L70"}, {"caller_nid": "ui_test_folder_feed_test_refresh_coordinator_coalesces_within_window", "callee": "RefreshCoordinator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L74"}, {"caller_nid": "ui_test_folder_feed_test_refresh_coordinator_coalesces_within_window", "callee": "record_tree_refresh", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L75"}, {"caller_nid": "ui_test_folder_feed_test_refresh_coordinator_coalesces_within_window", "callee": "should_skip_folder", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L76"}, {"caller_nid": "ui_test_folder_feed_test_refresh_coordinator_coalesces_within_window", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L78"}, {"caller_nid": "ui_test_folder_feed_test_refresh_coordinator_coalesces_within_window", "callee": "should_skip_folder", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py", "source_location": "L79"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/9079cd39e43047e5abafab01ce2ad2d13a9fbcad3108d7f7ca0301a53b94716d.json b/graphify-out/cache/ast/9079cd39e43047e5abafab01ce2ad2d13a9fbcad3108d7f7ca0301a53b94716d.json deleted file mode 100644 index 2dfa279..0000000 --- a/graphify-out/cache/ast/9079cd39e43047e5abafab01ce2ad2d13a9fbcad3108d7f7ca0301a53b94716d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "label": "test_wizard_run_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L1"}, {"id": "ui_test_wizard_run_page_test_can_advance_template_step_requires_selection", "label": "test_can_advance_template_step_requires_selection()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L34"}, {"id": "ui_test_wizard_run_page_test_can_advance_variables_step_always_true", "label": "test_can_advance_variables_step_always_true()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L41"}, {"id": "ui_test_wizard_run_page_test_can_advance_preview_step_blocks_on_validator_findings", "label": "test_can_advance_preview_step_blocks_on_validator_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L46"}, {"id": "ui_test_wizard_run_page_test_can_advance_confirm_step_always_true", "label": "test_can_advance_confirm_step_always_true()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L53"}, {"id": "ui_test_wizard_run_page_test_can_advance_default_step_is_project_equipment", "label": "test_can_advance_default_step_is_project_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L58"}, {"id": "ui_test_wizard_run_page_test_can_advance_readme_blocks_on_partial_core_fields", "label": "test_can_advance_readme_blocks_on_partial_core_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L68"}, {"id": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", "label": "test_state_run_kind_is_bound_and_drives_helpers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L81"}, {"id": "ui_test_wizard_run_page_test_preview_path_segments_experimental_uses_run_prefix", "label": "test_preview_path_segments_experimental_uses_run_prefix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L98"}, {"id": "ui_test_wizard_run_page_test_preview_path_segments_test_uses_testrun_prefix_and_folder", "label": "test_preview_path_segments_test_uses_testrun_prefix_and_folder()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L109"}, {"id": "ui_test_wizard_run_page_test_render_run_wizard_experimental_with_choices_does_not_raise", "label": "test_render_run_wizard_experimental_with_choices_does_not_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L126"}, {"id": "ui_test_wizard_run_page_test_render_run_wizard_test_with_choices_does_not_raise", "label": "test_render_run_wizard_test_with_choices_does_not_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L136"}, {"id": "ui_test_wizard_run_page_test_render_run_wizard_with_empty_choices_does_not_raise", "label": "test_render_run_wizard_with_empty_choices_does_not_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L146"}, {"id": "ui_test_wizard_run_page_test_wizard_run_step_titles_cover_every_step", "label": "test_wizard_run_step_titles_cover_every_step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L155"}, {"id": "ui_test_wizard_run_page_rationale_1", "label": "Tests for the New Run Wizard helpers (gaps not covered by test_pages). ``test_p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "exlab_wizard_api_app", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "exlab_wizard_ui_pages_wizard_run", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_can_advance_template_step_requires_selection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_can_advance_variables_step_always_true", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_can_advance_preview_step_blocks_on_validator_findings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_can_advance_confirm_step_always_true", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_can_advance_default_step_is_project_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_can_advance_readme_blocks_on_partial_core_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L68", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_preview_path_segments_experimental_uses_run_prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_preview_path_segments_test_uses_testrun_prefix_and_folder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L109", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_render_run_wizard_experimental_with_choices_does_not_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L126", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_render_run_wizard_test_with_choices_does_not_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L136", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_render_run_wizard_with_empty_choices_does_not_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L146", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "target": "ui_test_wizard_run_page_test_wizard_run_step_titles_cover_every_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L155", "weight": 1.0}, {"source": "ui_test_wizard_run_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_run_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_wizard_run_page_test_can_advance_template_step_requires_selection", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L35"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_template_step_requires_selection", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L36"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_template_step_requires_selection", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L38"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_variables_step_always_true", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L42"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_variables_step_always_true", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L43"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_preview_step_blocks_on_validator_findings", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L47"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_preview_step_blocks_on_validator_findings", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L48"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_preview_step_blocks_on_validator_findings", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L50"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_confirm_step_always_true", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L54"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_confirm_step_always_true", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L55"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_default_step_is_project_equipment", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L59"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_default_step_is_project_equipment", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L61"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_default_step_is_project_equipment", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L63"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_default_step_is_project_equipment", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L65"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_readme_blocks_on_partial_core_fields", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L69"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_readme_blocks_on_partial_core_fields", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L71"}, {"caller_nid": "ui_test_wizard_run_page_test_can_advance_readme_blocks_on_partial_core_fields", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L73"}, {"caller_nid": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L82"}, {"caller_nid": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L83"}, {"caller_nid": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", "callee": "title_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L87"}, {"caller_nid": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", "callee": "title_text", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L87"}, {"caller_nid": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", "callee": "primary_button_color", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L88"}, {"caller_nid": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", "callee": "primary_button_color", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L89"}, {"caller_nid": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", "callee": "primary_button_label", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L90"}, {"caller_nid": "ui_test_wizard_run_page_test_preview_path_segments_experimental_uses_run_prefix", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L99"}, {"caller_nid": "ui_test_wizard_run_page_test_preview_path_segments_experimental_uses_run_prefix", "callee": "preview_path_segments", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L100"}, {"caller_nid": "ui_test_wizard_run_page_test_preview_path_segments_test_uses_testrun_prefix_and_folder", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L110"}, {"caller_nid": "ui_test_wizard_run_page_test_preview_path_segments_test_uses_testrun_prefix_and_folder", "callee": "preview_path_segments", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L115"}, {"caller_nid": "ui_test_wizard_run_page_test_render_run_wizard_experimental_with_choices_does_not_raise", "callee": "render_run_wizard", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L127"}, {"caller_nid": "ui_test_wizard_run_page_test_render_run_wizard_experimental_with_choices_does_not_raise", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L128"}, {"caller_nid": "ui_test_wizard_run_page_test_render_run_wizard_test_with_choices_does_not_raise", "callee": "render_run_wizard", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L137"}, {"caller_nid": "ui_test_wizard_run_page_test_render_run_wizard_test_with_choices_does_not_raise", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L138"}, {"caller_nid": "ui_test_wizard_run_page_test_render_run_wizard_with_empty_choices_does_not_raise", "callee": "render_run_wizard", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L147"}, {"caller_nid": "ui_test_wizard_run_page_test_render_run_wizard_with_empty_choices_does_not_raise", "callee": "RunWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L148"}, {"caller_nid": "ui_test_wizard_run_page_test_wizard_run_step_titles_cover_every_step", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L156"}, {"caller_nid": "ui_test_wizard_run_page_test_wizard_run_step_titles_cover_every_step", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py", "source_location": "L156"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/910c5650317e2d35833326f6441b6a88d74ede341919e9479a574a7f0c0d633d.json b/graphify-out/cache/ast/910c5650317e2d35833326f6441b6a88d74ede341919e9479a574a7f0c0d633d.json deleted file mode 100644 index 103d186..0000000 --- a/graphify-out/cache/ast/910c5650317e2d35833326f6441b6a88d74ede341919e9479a574a7f0c0d633d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_templates_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/__init__.py", "source_location": "L1"}, {"id": "templates_init_rationale_1", "label": "Copier template fixtures for the test suite.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/__init__.py", "source_location": "L1"}], "edges": [{"source": "templates_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_templates_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/91da7f62299eaf04a75cb5bbfbee44abd82f5208996d06b66eb1d041ff8563f2.json b/graphify-out/cache/ast/91da7f62299eaf04a75cb5bbfbee44abd82f5208996d06b66eb1d041ff8563f2.json deleted file mode 100644 index 4c53ea3..0000000 --- a/graphify-out/cache/ast/91da7f62299eaf04a75cb5bbfbee44abd82f5208996d06b66eb1d041ff8563f2.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "label": "test_components.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L1"}, {"id": "ui_test_components_test_mode_badge_test_uses_warning_token", "label": "test_mode_badge_test_uses_warning_token()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L37"}, {"id": "ui_test_components_test_mode_badge_experimental_uses_navy", "label": "test_mode_badge_experimental_uses_navy()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L45"}, {"id": "ui_test_components_test_mode_badge_none_falls_back_to_navy_with_placeholder", "label": "test_mode_badge_none_falls_back_to_navy_with_placeholder()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L52"}, {"id": "ui_test_components_test_mode_badge_accepts_label_override", "label": "test_mode_badge_accepts_label_override()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L60"}, {"id": "ui_test_components_test_test_run_badge_uses_orange_aa_text", "label": "test_test_run_badge_uses_orange_aa_text()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L72"}, {"id": "ui_test_components_test_override_badge_active_uses_sky_aa_text", "label": "test_override_badge_active_uses_sky_aa_text()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L80"}, {"id": "ui_test_components_test_override_badge_inactive_uses_muted", "label": "test_override_badge_inactive_uses_muted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L88"}, {"id": "ui_test_components_test_sync_status_pending_uses_muted", "label": "test_sync_status_pending_uses_muted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L100"}, {"id": "ui_test_components_test_sync_status_synced_uses_success", "label": "test_sync_status_synced_uses_success()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L106"}, {"id": "ui_test_components_test_sync_status_failed_uses_danger", "label": "test_sync_status_failed_uses_danger()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L111"}, {"id": "ui_test_components_test_sync_status_blocked_uses_warning", "label": "test_sync_status_blocked_uses_warning()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L116"}, {"id": "ui_test_components_test_sync_status_override_uses_info", "label": "test_sync_status_override_uses_info()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L123"}, {"id": "ui_test_components_test_sync_status_cleaned_uses_success_with_cloud_icon", "label": "test_sync_status_cleaned_uses_success_with_cloud_icon()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L128"}, {"id": "ui_test_components_test_sync_status_acquiring_uses_muted", "label": "test_sync_status_acquiring_uses_muted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L136"}, {"id": "ui_test_components_test_sync_status_syncing_uses_info", "label": "test_sync_status_syncing_uses_info()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L145"}, {"id": "ui_test_components_test_sync_status_on_nas_uses_muted_cloud", "label": "test_sync_status_on_nas_uses_muted_cloud()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L154"}, {"id": "ui_test_components_test_sync_status_retrying_with_counter", "label": "test_sync_status_retrying_with_counter()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L163"}, {"id": "ui_test_components_test_sync_status_unknown_raises", "label": "test_sync_status_unknown_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L171"}, {"id": "ui_test_components_test_session_progress_phase_order_is_canonical", "label": "test_session_progress_phase_order_is_canonical()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L183"}, {"id": "ui_test_components_test_apply_frame_advances_phase_and_marks_predecessors_done", "label": "test_apply_frame_advances_phase_and_marks_predecessors_done()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L199"}, {"id": "ui_test_components_test_apply_frame_progress_sets_plugin_sub_row", "label": "test_apply_frame_progress_sets_plugin_sub_row()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L207"}, {"id": "ui_test_components_test_apply_frame_done_completes_all_phases", "label": "test_apply_frame_done_completes_all_phases()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L217"}, {"id": "ui_test_components_test_apply_frame_ignores_unknown_kinds_and_phases", "label": "test_apply_frame_ignores_unknown_kinds_and_phases()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L224"}, {"id": "ui_test_components_test_session_progress_active_phase_marked", "label": "test_session_progress_active_phase_marked()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L231"}, {"id": "ui_test_components_test_session_progress_plugin_sub_row_present", "label": "test_session_progress_plugin_sub_row_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L244"}, {"id": "ui_test_components_test_credential_field_states_default_to_not_set", "label": "test_credential_field_states_default_to_not_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L266"}, {"id": "ui_test_components_test_credential_field_set_state_offers_replace_and_clear", "label": "test_credential_field_set_state_offers_replace_and_clear()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L273"}, {"id": "ui_test_components_test_credential_field_editing_offers_save_and_cancel", "label": "test_credential_field_editing_offers_save_and_cancel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L280"}, {"id": "ui_test_components_test_begin_edit_from_not_set_enters_editing_remembering_not_set", "label": "test_begin_edit_from_not_set_enters_editing_remembering_not_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L291"}, {"id": "ui_test_components_test_begin_edit_from_set_remembers_set_as_resting", "label": "test_begin_edit_from_set_remembers_set_as_resting()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L301"}, {"id": "ui_test_components_test_cancel_edit_returns_to_remembered_resting_state", "label": "test_cancel_edit_returns_to_remembered_resting_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L311"}, {"id": "ui_test_components_test_cancel_edit_from_fresh_edit_returns_to_not_set", "label": "test_cancel_edit_from_fresh_edit_returns_to_not_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L318"}, {"id": "ui_test_components_test_commit_edit_with_value_transitions_to_set_and_signals_save", "label": "test_commit_edit_with_value_transitions_to_set_and_signals_save()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L325"}, {"id": "ui_test_components_test_commit_edit_with_empty_value_stays_editing_and_skips_save", "label": "test_commit_edit_with_empty_value_stays_editing_and_skips_save()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L333"}, {"id": "ui_test_components_test_clear_credential_returns_to_not_set", "label": "test_clear_credential_returns_to_not_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L342"}, {"id": "ui_test_components_test_connection_panel_hidden_when_no_result", "label": "test_connection_panel_hidden_when_no_result()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L354"}, {"id": "ui_test_components_test_connection_panel_visible_after_result", "label": "test_connection_panel_visible_after_result()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L359"}, {"id": "ui_test_components_test_connection_panel_failure_color_is_danger", "label": "test_connection_panel_failure_color_is_danger()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L371"}, {"id": "ui_test_components_test_connection_panel_stale_appends_disclaimer", "label": "test_connection_panel_stale_appends_disclaimer()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L381"}, {"id": "ui_test_components_test_filter_chips_initial_state_respects_default_on", "label": "test_filter_chips_initial_state_respects_default_on()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L393"}, {"id": "ui_test_components_test_filter_chips_toggle_flips_membership", "label": "test_filter_chips_toggle_flips_membership()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L403"}, {"id": "ui_test_components_test_filter_chips_list_active_preserves_definition_order", "label": "test_filter_chips_list_active_preserves_definition_order()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L412"}, {"id": "ui_test_components_test_status_bar_segment_normal_uses_muted", "label": "test_status_bar_segment_normal_uses_muted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L426"}, {"id": "ui_test_components_test_status_bar_segment_warning_prefix_glyph", "label": "test_status_bar_segment_warning_prefix_glyph()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L432"}, {"id": "ui_test_components_test_status_bar_segment_danger_prefix_glyph", "label": "test_status_bar_segment_danger_prefix_glyph()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L440"}, {"id": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", "label": "test_banner_stack_shows_visible_and_overflow_split()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L453"}, {"id": "ui_test_components_test_operations_modal_columns_match_spec", "label": "test_operations_modal_columns_match_spec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L489"}, {"id": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first", "label": "test_operations_modal_sort_suspended_first_oldest_first()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L502"}, {"id": "ui_test_components_test_operations_modal_state_glyph_known_states", "label": "test_operations_modal_state_glyph_known_states()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L535"}, {"id": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "label": "test_operation_row_from_session_maps_state_buckets_and_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L541"}, {"id": "ui_test_components_test_collect_default_values_seeds_from_declared_defaults", "label": "test_collect_default_values_seeds_from_declared_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L593"}, {"id": "ui_test_components_test_input_required_dialog_builds_without_raising", "label": "test_input_required_dialog_builds_without_raising()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L607"}, {"id": "ui_test_components_test_bandwidth_window_validates_from_before_to", "label": "test_bandwidth_window_validates_from_before_to()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L629"}, {"id": "ui_test_components_test_bandwidth_window_passes_when_correct", "label": "test_bandwidth_window_passes_when_correct()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L636"}, {"id": "ui_test_components_test_bandwidth_overlap_detected_for_shared_day_and_time", "label": "test_bandwidth_overlap_detected_for_shared_day_and_time()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L643"}, {"id": "ui_test_components_test_bandwidth_no_overlap_for_disjoint_days", "label": "test_bandwidth_no_overlap_for_disjoint_days()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L649"}, {"id": "ui_test_components_test_validation_summary_hard_findings_use_warning", "label": "test_validation_summary_hard_findings_use_warning()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L660"}, {"id": "ui_test_components_test_validation_summary_override_takes_priority", "label": "test_validation_summary_override_takes_priority()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L667"}, {"id": "ui_test_components_test_validation_summary_first_two_excerpts_returned_in_payload", "label": "test_validation_summary_first_two_excerpts_returned_in_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L679"}, {"id": "ui_test_components_test_validation_summary_override_line_includes_attribution", "label": "test_validation_summary_override_line_includes_attribution()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L693"}, {"id": "ui_test_components_test_tree_filter_archived_default_off_hides_archived", "label": "test_tree_filter_archived_default_off_hides_archived()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L714"}, {"id": "ui_test_components_test_tree_filter_archived_chip_on_shows_archived", "label": "test_tree_filter_archived_chip_on_shows_archived()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L725"}, {"id": "ui_test_components_test_tree_filter_deleted_always_shown", "label": "test_tree_filter_deleted_always_shown()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L734"}, {"id": "ui_test_components_test_tree_filter_test_runs_chip_off_hides_test_runs", "label": "test_tree_filter_test_runs_chip_off_hides_test_runs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L745"}, {"id": "ui_test_components_test_tree_build_nodes_yields_canonical_kinds", "label": "test_tree_build_nodes_yields_canonical_kinds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L753"}, {"id": "ui_test_components_test_tree_test_run_carries_test_badge", "label": "test_tree_test_run_carries_test_badge()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L766"}, {"id": "ui_test_components_test_tree_run_node_propagates_sync_status", "label": "test_tree_run_node_propagates_sync_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L781"}, {"id": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", "label": "test_to_nicegui_nodes_cleared_run_uses_cloud_icon()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L798"}, {"id": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", "label": "test_to_nicegui_nodes_local_run_uses_local_icon()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L823"}, {"id": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", "label": "test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L849"}, {"id": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind", "label": "test_equipment_node_relay_flag_emits_received_equipment_kind()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L871"}, {"id": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "label": "test_to_nicegui_nodes_emits_testid_kind()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L885"}, {"id": "ui_test_components_test_slot_template_emits_testid_data_node_id_and_context_menus", "label": "test_slot_template_emits_testid_data_node_id_and_context_menus()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L909"}, {"id": "ui_test_components_test_factories_smoke_outside_nicegui", "label": "test_factories_smoke_outside_nicegui()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L949"}, {"id": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", "label": "test_no_stray_ui_notify_calls_in_ui_package()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L982"}, {"id": "ui_test_components_rationale_1", "label": "Unit tests for the UI components. Each component exposes a pure-data ``*_props`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L1"}, {"id": "ui_test_components_rationale_38", "label": "Test-mode badge maps to ``--color-warning`` (Frontend \u00a75.3).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L38"}, {"id": "ui_test_components_rationale_46", "label": "Experimental badge maps to ``--color-navy``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L46"}, {"id": "ui_test_components_rationale_53", "label": "A ``None`` run kind defaults to navy with a placeholder label.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L53"}, {"id": "ui_test_components_rationale_61", "label": "An explicit label overrides the default.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L61"}, {"id": "ui_test_components_rationale_73", "label": "The test-run pill uses the orange darkened-AA text variant.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L73"}, {"id": "ui_test_components_rationale_81", "label": "An active override pill uses the sky-blue AA text variant.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L81"}, {"id": "ui_test_components_rationale_89", "label": "An inactive override pill uses the muted gray.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L89"}, {"id": "ui_test_components_rationale_117", "label": "Blocked-by-validation maps to warning per Frontend \u00a72.1.4.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L117"}, {"id": "ui_test_components_rationale_129", "label": "Cleaned status (post-cleanup) reuses the success color with a cloud glyph.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L129"}, {"id": "ui_test_components_rationale_137", "label": "``acquiring`` (new file, still settling) uses the muted token.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L137"}, {"id": "ui_test_components_rationale_146", "label": "``syncing`` (settled, transferring) uses the info token.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L146"}, {"id": "ui_test_components_rationale_155", "label": "``on_nas`` (tombstone, local copy cleared) uses a muted cloud glyph.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L155"}, {"id": "ui_test_components_rationale_164", "label": "Retry counter renders as ``(N/M)`` (Frontend \u00a710.5.1).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L164"}, {"id": "ui_test_components_rationale_172", "label": "Unknown status values raise.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L172"}, {"id": "ui_test_components_rationale_184", "label": "The phase enum order matches Frontend \u00a710.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L184"}, {"id": "ui_test_components_rationale_232", "label": "The active phase has fraction 0.5 and ``is_active``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L232"}, {"id": "ui_test_components_rationale_245", "label": "When ``running_plugins`` carries N/M, a sub-row dict is emitted. We assert", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L245"}, {"id": "ui_test_components_rationale_292", "label": "Clicking *Set* opens the editor; *Cancel* must return to Not set.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L292"}, {"id": "ui_test_components_rationale_302", "label": "Clicking *Replace* opens the editor; *Cancel* must return to Set.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L302"}, {"id": "ui_test_components_rationale_334", "label": "An empty input has nothing to persist -- stay in the editor.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L334"}, {"id": "ui_test_components_rationale_454", "label": "Banners exceed the 2-cap; overflow is reported.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L454"}, {"id": "ui_test_components_rationale_503", "label": "Suspended rows sort first, oldest started_at first (\u00a79.5).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L503"}, {"id": "ui_test_components_rationale_715", "label": "Archived projects are hidden by default.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L715"}, {"id": "ui_test_components_rationale_735", "label": "Deleted-from-LIMS rows always render (Frontend \u00a73.5.3).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L735"}, {"id": "ui_test_components_rationale_782", "label": "``RunNode.sync_status`` flows through to the resulting ``TreeNode``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L782"}, {"id": "ui_test_components_rationale_799", "label": "A ``cleared`` run row carries the cloud-icon URL and its sync_status. Opera", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L799"}, {"id": "ui_test_components_rationale_824", "label": "Any non-``cleaned`` sync status (or unset) maps to the local-icon URL.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L824"}, {"id": "ui_test_components_rationale_850", "label": "Equipment and project rows render without the per-row sync icon.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L850"}, {"id": "ui_test_components_rationale_872", "label": "An ``EquipmentNode(relay=True)`` builds a ``received_equipment`` row.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L872"}, {"id": "ui_test_components_rationale_886", "label": "Each row carries a ``testid_kind`` matching the Playwright contract.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L886"}, {"id": "ui_test_components_rationale_910", "label": "The ``default-header`` template carries the per-row anchors the Playwright f", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L910"}, {"id": "ui_test_components_rationale_950", "label": "Each factory emits a dict (or NiceGUI element) without crashing. The factor", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L950"}, {"id": "ui_test_components_rationale_983", "label": "The pre-commit ``no-direct-ui-notify`` rule is mirrored in tests. Any call", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L983"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "exlab_wizard_ui_components", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_mode_badge_test_uses_warning_token", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_mode_badge_experimental_uses_navy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_mode_badge_none_falls_back_to_navy_with_placeholder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_mode_badge_accepts_label_override", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_test_run_badge_uses_orange_aa_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_override_badge_active_uses_sky_aa_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_override_badge_inactive_uses_muted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L88", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_pending_uses_muted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L100", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_synced_uses_success", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L106", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_failed_uses_danger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_blocked_uses_warning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_override_uses_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_cleaned_uses_success_with_cloud_icon", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_acquiring_uses_muted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L136", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_syncing_uses_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L145", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_on_nas_uses_muted_cloud", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L154", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_retrying_with_counter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L163", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_sync_status_unknown_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L171", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_session_progress_phase_order_is_canonical", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L183", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_apply_frame_advances_phase_and_marks_predecessors_done", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L199", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_apply_frame_progress_sets_plugin_sub_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L207", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_apply_frame_done_completes_all_phases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L217", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_apply_frame_ignores_unknown_kinds_and_phases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L224", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_session_progress_active_phase_marked", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L231", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_session_progress_plugin_sub_row_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L244", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_credential_field_states_default_to_not_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L266", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_credential_field_set_state_offers_replace_and_clear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L273", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_credential_field_editing_offers_save_and_cancel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L280", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_begin_edit_from_not_set_enters_editing_remembering_not_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L291", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_begin_edit_from_set_remembers_set_as_resting", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L301", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_cancel_edit_returns_to_remembered_resting_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L311", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_cancel_edit_from_fresh_edit_returns_to_not_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L318", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_commit_edit_with_value_transitions_to_set_and_signals_save", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L325", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_commit_edit_with_empty_value_stays_editing_and_skips_save", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L333", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_clear_credential_returns_to_not_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L342", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_connection_panel_hidden_when_no_result", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L354", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_connection_panel_visible_after_result", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L359", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_connection_panel_failure_color_is_danger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L371", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_connection_panel_stale_appends_disclaimer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L381", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_filter_chips_initial_state_respects_default_on", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L393", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_filter_chips_toggle_flips_membership", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L403", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_filter_chips_list_active_preserves_definition_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L412", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_status_bar_segment_normal_uses_muted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L426", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_status_bar_segment_warning_prefix_glyph", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L432", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_status_bar_segment_danger_prefix_glyph", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L440", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L453", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_operations_modal_columns_match_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L489", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L502", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_operations_modal_state_glyph_known_states", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L535", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L541", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_collect_default_values_seeds_from_declared_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L593", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_input_required_dialog_builds_without_raising", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L607", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_bandwidth_window_validates_from_before_to", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L629", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_bandwidth_window_passes_when_correct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L636", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_bandwidth_overlap_detected_for_shared_day_and_time", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L643", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_bandwidth_no_overlap_for_disjoint_days", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L649", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_validation_summary_hard_findings_use_warning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L660", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_validation_summary_override_takes_priority", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L667", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_validation_summary_first_two_excerpts_returned_in_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L679", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_validation_summary_override_line_includes_attribution", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L693", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_tree_filter_archived_default_off_hides_archived", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L714", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_tree_filter_archived_chip_on_shows_archived", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L725", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_tree_filter_deleted_always_shown", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L734", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_tree_filter_test_runs_chip_off_hides_test_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L745", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_tree_build_nodes_yields_canonical_kinds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L753", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_tree_test_run_carries_test_badge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L766", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_tree_run_node_propagates_sync_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L781", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L798", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L823", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L849", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L871", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L885", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_slot_template_emits_testid_data_node_id_and_context_menus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L909", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_factories_smoke_outside_nicegui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L949", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "target": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L982", "weight": 1.0}, {"source": "ui_test_components_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_components_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_components_rationale_38", "target": "ui_test_components_test_mode_badge_test_uses_warning_token", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L38", "weight": 1.0}, {"source": "ui_test_components_rationale_46", "target": "ui_test_components_test_mode_badge_experimental_uses_navy", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L46", "weight": 1.0}, {"source": "ui_test_components_rationale_53", "target": "ui_test_components_test_mode_badge_none_falls_back_to_navy_with_placeholder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L53", "weight": 1.0}, {"source": "ui_test_components_rationale_61", "target": "ui_test_components_test_mode_badge_accepts_label_override", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L61", "weight": 1.0}, {"source": "ui_test_components_rationale_73", "target": "ui_test_components_test_test_run_badge_uses_orange_aa_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L73", "weight": 1.0}, {"source": "ui_test_components_rationale_81", "target": "ui_test_components_test_override_badge_active_uses_sky_aa_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L81", "weight": 1.0}, {"source": "ui_test_components_rationale_89", "target": "ui_test_components_test_override_badge_inactive_uses_muted", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L89", "weight": 1.0}, {"source": "ui_test_components_rationale_117", "target": "ui_test_components_test_sync_status_blocked_uses_warning", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L117", "weight": 1.0}, {"source": "ui_test_components_rationale_129", "target": "ui_test_components_test_sync_status_cleaned_uses_success_with_cloud_icon", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L129", "weight": 1.0}, {"source": "ui_test_components_rationale_137", "target": "ui_test_components_test_sync_status_acquiring_uses_muted", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L137", "weight": 1.0}, {"source": "ui_test_components_rationale_146", "target": "ui_test_components_test_sync_status_syncing_uses_info", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L146", "weight": 1.0}, {"source": "ui_test_components_rationale_155", "target": "ui_test_components_test_sync_status_on_nas_uses_muted_cloud", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L155", "weight": 1.0}, {"source": "ui_test_components_rationale_164", "target": "ui_test_components_test_sync_status_retrying_with_counter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L164", "weight": 1.0}, {"source": "ui_test_components_rationale_172", "target": "ui_test_components_test_sync_status_unknown_raises", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L172", "weight": 1.0}, {"source": "ui_test_components_rationale_184", "target": "ui_test_components_test_session_progress_phase_order_is_canonical", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L184", "weight": 1.0}, {"source": "ui_test_components_rationale_232", "target": "ui_test_components_test_session_progress_active_phase_marked", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L232", "weight": 1.0}, {"source": "ui_test_components_rationale_245", "target": "ui_test_components_test_session_progress_plugin_sub_row_present", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L245", "weight": 1.0}, {"source": "ui_test_components_rationale_292", "target": "ui_test_components_test_begin_edit_from_not_set_enters_editing_remembering_not_set", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L292", "weight": 1.0}, {"source": "ui_test_components_rationale_302", "target": "ui_test_components_test_begin_edit_from_set_remembers_set_as_resting", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L302", "weight": 1.0}, {"source": "ui_test_components_rationale_334", "target": "ui_test_components_test_commit_edit_with_empty_value_stays_editing_and_skips_save", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L334", "weight": 1.0}, {"source": "ui_test_components_rationale_454", "target": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L454", "weight": 1.0}, {"source": "ui_test_components_rationale_503", "target": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L503", "weight": 1.0}, {"source": "ui_test_components_rationale_715", "target": "ui_test_components_test_tree_filter_archived_default_off_hides_archived", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L715", "weight": 1.0}, {"source": "ui_test_components_rationale_735", "target": "ui_test_components_test_tree_filter_deleted_always_shown", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L735", "weight": 1.0}, {"source": "ui_test_components_rationale_782", "target": "ui_test_components_test_tree_run_node_propagates_sync_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L782", "weight": 1.0}, {"source": "ui_test_components_rationale_799", "target": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L799", "weight": 1.0}, {"source": "ui_test_components_rationale_824", "target": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L824", "weight": 1.0}, {"source": "ui_test_components_rationale_850", "target": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L850", "weight": 1.0}, {"source": "ui_test_components_rationale_872", "target": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L872", "weight": 1.0}, {"source": "ui_test_components_rationale_886", "target": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L886", "weight": 1.0}, {"source": "ui_test_components_rationale_910", "target": "ui_test_components_test_slot_template_emits_testid_data_node_id_and_context_menus", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L910", "weight": 1.0}, {"source": "ui_test_components_rationale_950", "target": "ui_test_components_test_factories_smoke_outside_nicegui", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L950", "weight": 1.0}, {"source": "ui_test_components_rationale_983", "target": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L983", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_components_test_mode_badge_test_uses_warning_token", "callee": "mode_badge_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L40"}, {"caller_nid": "ui_test_components_test_mode_badge_experimental_uses_navy", "callee": "mode_badge_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L48"}, {"caller_nid": "ui_test_components_test_mode_badge_none_falls_back_to_navy_with_placeholder", "callee": "mode_badge_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L55"}, {"caller_nid": "ui_test_components_test_mode_badge_accepts_label_override", "callee": "mode_badge_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L63"}, {"caller_nid": "ui_test_components_test_test_run_badge_uses_orange_aa_text", "callee": "test_run_badge_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L75"}, {"caller_nid": "ui_test_components_test_override_badge_active_uses_sky_aa_text", "callee": "override_badge_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L83"}, {"caller_nid": "ui_test_components_test_override_badge_inactive_uses_muted", "callee": "override_badge_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L91"}, {"caller_nid": "ui_test_components_test_override_badge_inactive_uses_muted", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L92"}, {"caller_nid": "ui_test_components_test_sync_status_pending_uses_muted", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L101"}, {"caller_nid": "ui_test_components_test_sync_status_synced_uses_success", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L107"}, {"caller_nid": "ui_test_components_test_sync_status_failed_uses_danger", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L112"}, {"caller_nid": "ui_test_components_test_sync_status_blocked_uses_warning", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L119"}, {"caller_nid": "ui_test_components_test_sync_status_override_uses_info", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L124"}, {"caller_nid": "ui_test_components_test_sync_status_cleaned_uses_success_with_cloud_icon", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L131"}, {"caller_nid": "ui_test_components_test_sync_status_acquiring_uses_muted", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L139"}, {"caller_nid": "ui_test_components_test_sync_status_syncing_uses_info", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L148"}, {"caller_nid": "ui_test_components_test_sync_status_on_nas_uses_muted_cloud", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L157"}, {"caller_nid": "ui_test_components_test_sync_status_retrying_with_counter", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L166"}, {"caller_nid": "ui_test_components_test_sync_status_unknown_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L174"}, {"caller_nid": "ui_test_components_test_sync_status_unknown_raises", "callee": "sync_status_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L175"}, {"caller_nid": "ui_test_components_test_session_progress_phase_order_is_canonical", "callee": "compute_phase_rows", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L186"}, {"caller_nid": "ui_test_components_test_apply_frame_advances_phase_and_marks_predecessors_done", "callee": "SessionProgressState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L200"}, {"caller_nid": "ui_test_components_test_apply_frame_advances_phase_and_marks_predecessors_done", "callee": "apply_frame", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L201"}, {"caller_nid": "ui_test_components_test_apply_frame_progress_sets_plugin_sub_row", "callee": "SessionProgressState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L208"}, {"caller_nid": "ui_test_components_test_apply_frame_progress_sets_plugin_sub_row", "callee": "apply_frame", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L209"}, {"caller_nid": "ui_test_components_test_apply_frame_done_completes_all_phases", "callee": "SessionProgressState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L218"}, {"caller_nid": "ui_test_components_test_apply_frame_done_completes_all_phases", "callee": "apply_frame", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L219"}, {"caller_nid": "ui_test_components_test_apply_frame_done_completes_all_phases", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L220"}, {"caller_nid": "ui_test_components_test_apply_frame_done_completes_all_phases", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L220"}, {"caller_nid": "ui_test_components_test_apply_frame_ignores_unknown_kinds_and_phases", "callee": "SessionProgressState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L225"}, {"caller_nid": "ui_test_components_test_apply_frame_ignores_unknown_kinds_and_phases", "callee": "apply_frame", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L226"}, {"caller_nid": "ui_test_components_test_apply_frame_ignores_unknown_kinds_and_phases", "callee": "apply_frame", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L227"}, {"caller_nid": "ui_test_components_test_session_progress_active_phase_marked", "callee": "compute_phase_rows", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L234"}, {"caller_nid": "ui_test_components_test_session_progress_plugin_sub_row_present", "callee": "compute_phase_rows", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L252"}, {"caller_nid": "ui_test_components_test_credential_field_states_default_to_not_set", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L267"}, {"caller_nid": "ui_test_components_test_credential_field_states_default_to_not_set", "callee": "credential_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L268"}, {"caller_nid": "ui_test_components_test_credential_field_set_state_offers_replace_and_clear", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L274"}, {"caller_nid": "ui_test_components_test_credential_field_set_state_offers_replace_and_clear", "callee": "credential_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L275"}, {"caller_nid": "ui_test_components_test_credential_field_editing_offers_save_and_cancel", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L281"}, {"caller_nid": "ui_test_components_test_credential_field_editing_offers_save_and_cancel", "callee": "credential_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L282"}, {"caller_nid": "ui_test_components_test_begin_edit_from_not_set_enters_editing_remembering_not_set", "callee": "begin_edit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L294"}, {"caller_nid": "ui_test_components_test_begin_edit_from_not_set_enters_editing_remembering_not_set", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L295"}, {"caller_nid": "ui_test_components_test_begin_edit_from_set_remembers_set_as_resting", "callee": "begin_edit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L304"}, {"caller_nid": "ui_test_components_test_begin_edit_from_set_remembers_set_as_resting", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L305"}, {"caller_nid": "ui_test_components_test_cancel_edit_returns_to_remembered_resting_state", "callee": "begin_edit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L312"}, {"caller_nid": "ui_test_components_test_cancel_edit_returns_to_remembered_resting_state", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L313"}, {"caller_nid": "ui_test_components_test_cancel_edit_returns_to_remembered_resting_state", "callee": "cancel_edit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L315"}, {"caller_nid": "ui_test_components_test_cancel_edit_from_fresh_edit_returns_to_not_set", "callee": "begin_edit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L319"}, {"caller_nid": "ui_test_components_test_cancel_edit_from_fresh_edit_returns_to_not_set", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L320"}, {"caller_nid": "ui_test_components_test_cancel_edit_from_fresh_edit_returns_to_not_set", "callee": "cancel_edit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L322"}, {"caller_nid": "ui_test_components_test_commit_edit_with_value_transitions_to_set_and_signals_save", "callee": "commit_edit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L326"}, {"caller_nid": "ui_test_components_test_commit_edit_with_value_transitions_to_set_and_signals_save", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L327"}, {"caller_nid": "ui_test_components_test_commit_edit_with_empty_value_stays_editing_and_skips_save", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L336"}, {"caller_nid": "ui_test_components_test_commit_edit_with_empty_value_stays_editing_and_skips_save", "callee": "commit_edit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L337"}, {"caller_nid": "ui_test_components_test_clear_credential_returns_to_not_set", "callee": "clear_credential", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L343"}, {"caller_nid": "ui_test_components_test_clear_credential_returns_to_not_set", "callee": "CredentialState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L344"}, {"caller_nid": "ui_test_components_test_connection_panel_hidden_when_no_result", "callee": "panel_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L355"}, {"caller_nid": "ui_test_components_test_connection_panel_visible_after_result", "callee": "TestConnectionResult", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L360"}, {"caller_nid": "ui_test_components_test_connection_panel_visible_after_result", "callee": "panel_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L366"}, {"caller_nid": "ui_test_components_test_connection_panel_failure_color_is_danger", "callee": "TestConnectionResult", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L372"}, {"caller_nid": "ui_test_components_test_connection_panel_failure_color_is_danger", "callee": "panel_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L378"}, {"caller_nid": "ui_test_components_test_connection_panel_stale_appends_disclaimer", "callee": "TestConnectionResult", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L382"}, {"caller_nid": "ui_test_components_test_connection_panel_stale_appends_disclaimer", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L385"}, {"caller_nid": "ui_test_components_test_connection_panel_stale_appends_disclaimer", "callee": "panel_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L385"}, {"caller_nid": "ui_test_components_test_filter_chips_initial_state_respects_default_on", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L395"}, {"caller_nid": "ui_test_components_test_filter_chips_initial_state_respects_default_on", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L396"}, {"caller_nid": "ui_test_components_test_filter_chips_initial_state_respects_default_on", "callee": "initial_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L398"}, {"caller_nid": "ui_test_components_test_filter_chips_initial_state_respects_default_on", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L399"}, {"caller_nid": "ui_test_components_test_filter_chips_initial_state_respects_default_on", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L400"}, {"caller_nid": "ui_test_components_test_filter_chips_toggle_flips_membership", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L404"}, {"caller_nid": "ui_test_components_test_filter_chips_toggle_flips_membership", "callee": "initial_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L405"}, {"caller_nid": "ui_test_components_test_filter_chips_toggle_flips_membership", "callee": "toggle", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L406"}, {"caller_nid": "ui_test_components_test_filter_chips_toggle_flips_membership", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L407"}, {"caller_nid": "ui_test_components_test_filter_chips_toggle_flips_membership", "callee": "toggle", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L408"}, {"caller_nid": "ui_test_components_test_filter_chips_toggle_flips_membership", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L409"}, {"caller_nid": "ui_test_components_test_filter_chips_list_active_preserves_definition_order", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L414"}, {"caller_nid": "ui_test_components_test_filter_chips_list_active_preserves_definition_order", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L415"}, {"caller_nid": "ui_test_components_test_filter_chips_list_active_preserves_definition_order", "callee": "initial_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L417"}, {"caller_nid": "ui_test_components_test_filter_chips_list_active_preserves_definition_order", "callee": "list_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L418"}, {"caller_nid": "ui_test_components_test_status_bar_segment_normal_uses_muted", "callee": "segment_spec", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L427"}, {"caller_nid": "ui_test_components_test_status_bar_segment_warning_prefix_glyph", "callee": "segment_spec", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L433"}, {"caller_nid": "ui_test_components_test_status_bar_segment_danger_prefix_glyph", "callee": "segment_spec", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L441"}, {"caller_nid": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", "callee": "reset_for_tests", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L459"}, {"caller_nid": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", "callee": "show_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L460"}, {"caller_nid": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", "callee": "show_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L466"}, {"caller_nid": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", "callee": "show_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L472"}, {"caller_nid": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", "callee": "banner_stack_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L479"}, {"caller_nid": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L480"}, {"caller_nid": "ui_test_components_test_operations_modal_columns_match_spec", "callee": "operation_columns", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L490"}, {"caller_nid": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first", "callee": "OperationRow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L506"}, {"caller_nid": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first", "callee": "OperationRow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L514"}, {"caller_nid": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first", "callee": "OperationRow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L522"}, {"caller_nid": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first", "callee": "sort_rows", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L531"}, {"caller_nid": "ui_test_components_test_operations_modal_state_glyph_known_states", "callee": "state_glyph", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L536"}, {"caller_nid": "ui_test_components_test_operations_modal_state_glyph_known_states", "callee": "state_glyph", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L537"}, {"caller_nid": "ui_test_components_test_operations_modal_state_glyph_known_states", "callee": "state_glyph", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L538"}, {"caller_nid": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L547"}, {"caller_nid": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L553"}, {"caller_nid": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L555"}, {"caller_nid": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "callee": "from_session", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L559"}, {"caller_nid": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L564"}, {"caller_nid": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "callee": "from_session", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L567"}, {"caller_nid": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L572"}, {"caller_nid": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "callee": "from_session", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L575"}, {"caller_nid": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L579"}, {"caller_nid": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", "callee": "from_session", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L583"}, {"caller_nid": "ui_test_components_test_collect_default_values_seeds_from_declared_defaults", "callee": "collect_default_values", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L603"}, {"caller_nid": "ui_test_components_test_input_required_dialog_builds_without_raising", "callee": "input_required_dialog", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L610"}, {"caller_nid": "ui_test_components_test_bandwidth_window_validates_from_before_to", "callee": "ScheduleWindow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L630"}, {"caller_nid": "ui_test_components_test_bandwidth_window_validates_from_before_to", "callee": "validate_window", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L633"}, {"caller_nid": "ui_test_components_test_bandwidth_window_passes_when_correct", "callee": "ScheduleWindow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L637"}, {"caller_nid": "ui_test_components_test_bandwidth_window_passes_when_correct", "callee": "validate_window", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L640"}, {"caller_nid": "ui_test_components_test_bandwidth_overlap_detected_for_shared_day_and_time", "callee": "ScheduleWindow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L644"}, {"caller_nid": "ui_test_components_test_bandwidth_overlap_detected_for_shared_day_and_time", "callee": "ScheduleWindow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L645"}, {"caller_nid": "ui_test_components_test_bandwidth_overlap_detected_for_shared_day_and_time", "callee": "find_overlaps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L646"}, {"caller_nid": "ui_test_components_test_bandwidth_no_overlap_for_disjoint_days", "callee": "ScheduleWindow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L650"}, {"caller_nid": "ui_test_components_test_bandwidth_no_overlap_for_disjoint_days", "callee": "ScheduleWindow", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L651"}, {"caller_nid": "ui_test_components_test_bandwidth_no_overlap_for_disjoint_days", "callee": "find_overlaps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L652"}, {"caller_nid": "ui_test_components_test_validation_summary_hard_findings_use_warning", "callee": "ValidationSummary", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L661"}, {"caller_nid": "ui_test_components_test_validation_summary_hard_findings_use_warning", "callee": "header_line", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L662"}, {"caller_nid": "ui_test_components_test_validation_summary_override_takes_priority", "callee": "ValidationSummary", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L668"}, {"caller_nid": "ui_test_components_test_validation_summary_override_takes_priority", "callee": "header_line", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L674"}, {"caller_nid": "ui_test_components_test_validation_summary_first_two_excerpts_returned_in_payload", "callee": "FindingExcerpt", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L681"}, {"caller_nid": "ui_test_components_test_validation_summary_first_two_excerpts_returned_in_payload", "callee": "FindingExcerpt", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L682"}, {"caller_nid": "ui_test_components_test_validation_summary_first_two_excerpts_returned_in_payload", "callee": "FindingExcerpt", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L683"}, {"caller_nid": "ui_test_components_test_validation_summary_first_two_excerpts_returned_in_payload", "callee": "ValidationSummary", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L685"}, {"caller_nid": "ui_test_components_test_validation_summary_first_two_excerpts_returned_in_payload", "callee": "overflow_line", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L686"}, {"caller_nid": "ui_test_components_test_validation_summary_first_two_excerpts_returned_in_payload", "callee": "header_line", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L689"}, {"caller_nid": "ui_test_components_test_validation_summary_override_line_includes_attribution", "callee": "ValidationSummary", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L694"}, {"caller_nid": "ui_test_components_test_validation_summary_override_line_includes_attribution", "callee": "override_line", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L703"}, {"caller_nid": "ui_test_components_test_tree_filter_archived_default_off_hides_archived", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L717"}, {"caller_nid": "ui_test_components_test_tree_filter_archived_default_off_hides_archived", "callee": "filter_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L722"}, {"caller_nid": "ui_test_components_test_tree_filter_archived_default_off_hides_archived", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L722"}, {"caller_nid": "ui_test_components_test_tree_filter_archived_chip_on_shows_archived", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L726"}, {"caller_nid": "ui_test_components_test_tree_filter_archived_chip_on_shows_archived", "callee": "filter_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L731"}, {"caller_nid": "ui_test_components_test_tree_filter_archived_chip_on_shows_archived", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L731"}, {"caller_nid": "ui_test_components_test_tree_filter_deleted_always_shown", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L737"}, {"caller_nid": "ui_test_components_test_tree_filter_deleted_always_shown", "callee": "filter_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L742"}, {"caller_nid": "ui_test_components_test_tree_filter_deleted_always_shown", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L742"}, {"caller_nid": "ui_test_components_test_tree_filter_test_runs_chip_off_hides_test_runs", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L746"}, {"caller_nid": "ui_test_components_test_tree_filter_test_runs_chip_off_hides_test_runs", "callee": "filter_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L750"}, {"caller_nid": "ui_test_components_test_tree_filter_test_runs_chip_off_hides_test_runs", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L750"}, {"caller_nid": "ui_test_components_test_tree_build_nodes_yields_canonical_kinds", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L754"}, {"caller_nid": "ui_test_components_test_tree_build_nodes_yields_canonical_kinds", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L755"}, {"caller_nid": "ui_test_components_test_tree_build_nodes_yields_canonical_kinds", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L756"}, {"caller_nid": "ui_test_components_test_tree_build_nodes_yields_canonical_kinds", "callee": "build_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L757"}, {"caller_nid": "ui_test_components_test_tree_build_nodes_yields_canonical_kinds", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L759"}, {"caller_nid": "ui_test_components_test_tree_test_run_carries_test_badge", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L767"}, {"caller_nid": "ui_test_components_test_tree_test_run_carries_test_badge", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L768"}, {"caller_nid": "ui_test_components_test_tree_test_run_carries_test_badge", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L769"}, {"caller_nid": "ui_test_components_test_tree_test_run_carries_test_badge", "callee": "build_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L773"}, {"caller_nid": "ui_test_components_test_tree_test_run_carries_test_badge", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L775"}, {"caller_nid": "ui_test_components_test_tree_run_node_propagates_sync_status", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L784"}, {"caller_nid": "ui_test_components_test_tree_run_node_propagates_sync_status", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L785"}, {"caller_nid": "ui_test_components_test_tree_run_node_propagates_sync_status", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L786"}, {"caller_nid": "ui_test_components_test_tree_run_node_propagates_sync_status", "callee": "build_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L791"}, {"caller_nid": "ui_test_components_test_tree_run_node_propagates_sync_status", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L793"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L805"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L806"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L807"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", "callee": "to_nicegui_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L812"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", "callee": "build_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L813"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L815"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L826"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L827"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L828"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L833"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", "callee": "to_nicegui_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L838"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", "callee": "build_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L839"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L841"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L852"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L853"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L854"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", "callee": "to_nicegui_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L855"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", "callee": "build_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L856"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L858"}, {"caller_nid": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L874"}, {"caller_nid": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L875"}, {"caller_nid": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind", "callee": "build_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L876"}, {"caller_nid": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L878"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L888"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L889"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "callee": "ProjectNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L890"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L891"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "callee": "RunNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L892"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "callee": "to_nicegui_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L893"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "callee": "build_nodes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L894"}, {"caller_nid": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", "callee": "TreeFilters", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L896"}, {"caller_nid": "ui_test_components_test_factories_smoke_outside_nicegui", "callee": "mode_badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L959"}, {"caller_nid": "ui_test_components_test_factories_smoke_outside_nicegui", "callee": "mode_badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L960"}, {"caller_nid": "ui_test_components_test_factories_smoke_outside_nicegui", "callee": "test_run_badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L961"}, {"caller_nid": "ui_test_components_test_factories_smoke_outside_nicegui", "callee": "override_badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L962"}, {"caller_nid": "ui_test_components_test_factories_smoke_outside_nicegui", "callee": "sync_status_icon", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L963"}, {"caller_nid": "ui_test_components_test_factories_smoke_outside_nicegui", "callee": "session_progress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L966"}, {"caller_nid": "ui_test_components_test_factories_smoke_outside_nicegui", "callee": "build_tree", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L967"}, {"caller_nid": "ui_test_components_test_factories_smoke_outside_nicegui", "callee": "status_bar_segment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L970"}, {"caller_nid": "ui_test_components_test_factories_smoke_outside_nicegui", "callee": "ValidationSummary", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L973"}, {"caller_nid": "ui_test_components_test_factories_smoke_outside_nicegui", "callee": "validation_summary", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L974"}, {"caller_nid": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L991"}, {"caller_nid": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L991"}, {"caller_nid": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", "callee": "rglob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L993"}, {"caller_nid": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L996"}, {"caller_nid": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L998"}, {"caller_nid": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L998"}, {"caller_nid": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py", "source_location": "L999"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/92df0e26197170f726d6f7a04d261a92d0575c2033a9671e9040ee5632100f77.json b/graphify-out/cache/ast/92df0e26197170f726d6f7a04d261a92d0575c2033a9671e9040ee5632100f77.json deleted file mode 100644 index 641be7b..0000000 --- a/graphify-out/cache/ast/92df0e26197170f726d6f7a04d261a92d0575c2033a9671e9040ee5632100f77.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "label": "test_flow_00_full_lifecycle.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L1"}, {"id": "e2e_test_flow_00_full_lifecycle_fill", "label": "_fill()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L50"}, {"id": "e2e_test_flow_00_full_lifecycle_select", "label": "_select()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L57"}, {"id": "e2e_test_flow_00_full_lifecycle_pick_radio", "label": "_pick_radio()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L86"}, {"id": "e2e_test_flow_00_full_lifecycle_step_button", "label": "_step_button()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L93"}, {"id": "e2e_test_flow_00_full_lifecycle_project_next", "label": "_project_next()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L111"}, {"id": "e2e_test_flow_00_full_lifecycle_run_next", "label": "_run_next()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L116"}, {"id": "e2e_test_flow_00_full_lifecycle_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L121"}, {"id": "e2e_test_flow_00_full_lifecycle_prod_server", "label": "prod_server()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L146"}, {"id": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "label": "test_full_create_lifecycle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L175"}, {"id": "e2e_test_flow_00_full_lifecycle_rationale_1", "label": "E2E flow 00b: the full create-lifecycle against the PRODUCTION app. Boots the g", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L1"}, {"id": "e2e_test_flow_00_full_lifecycle_rationale_51", "label": "Fill a (visible) Quasar input identified by ``data-testid``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L51"}, {"id": "e2e_test_flow_00_full_lifecycle_rationale_65", "label": "Pick ``value`` from a NiceGUI/Quasar ``ui.select`` by ``data-testid``. Nice", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L65"}, {"id": "e2e_test_flow_00_full_lifecycle_rationale_87", "label": "Select a Quasar ``ui.radio`` option by its label within the group.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L87"}, {"id": "e2e_test_flow_00_full_lifecycle_rationale_100", "label": "Click a stepper-navigation button scoped to its step container. The Next /", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L100"}, {"id": "e2e_test_flow_00_full_lifecycle_rationale_112", "label": "Advance the project wizard from ``step_id`` via its Next button.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L112"}, {"id": "e2e_test_flow_00_full_lifecycle_rationale_117", "label": "Advance the run wizard from ``step_id`` via its Next button.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L117"}, {"id": "e2e_test_flow_00_full_lifecycle_rationale_122", "label": "Navigate to a NiceGUI page, tolerating a transient ERR_ABORTED. NiceGUI's c", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L122"}, {"id": "e2e_test_flow_00_full_lifecycle_rationale_147", "label": "Yield a started :class:`ProdServer` rooted at a fresh tmp HOME. The keyring", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L147"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "yaml", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "exlab_wizard_lims_catalogue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "exlab_wizard_lims_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "tests_e2e_prod_server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "tests_e2e_conftest", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "e2e_test_flow_00_full_lifecycle_fill", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "e2e_test_flow_00_full_lifecycle_select", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "e2e_test_flow_00_full_lifecycle_pick_radio", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "e2e_test_flow_00_full_lifecycle_step_button", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "e2e_test_flow_00_full_lifecycle_project_next", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "e2e_test_flow_00_full_lifecycle_run_next", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "e2e_test_flow_00_full_lifecycle_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "e2e_test_flow_00_full_lifecycle_prod_server", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L146", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "target": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L175", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_project_next", "target": "e2e_test_flow_00_full_lifecycle_step_button", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L113", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_run_next", "target": "e2e_test_flow_00_full_lifecycle_step_button", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L118", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "target": "e2e_test_flow_00_full_lifecycle_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L214", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "target": "e2e_test_flow_00_full_lifecycle_fill", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L224", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "target": "e2e_test_flow_00_full_lifecycle_pick_radio", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L254", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "target": "e2e_test_flow_00_full_lifecycle_select", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L299", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "target": "e2e_test_flow_00_full_lifecycle_project_next", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L346", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "target": "e2e_test_flow_00_full_lifecycle_step_button", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L364", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "target": "e2e_test_flow_00_full_lifecycle_run_next", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L379", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_00_full_lifecycle_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_rationale_51", "target": "e2e_test_flow_00_full_lifecycle_fill", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L51", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_rationale_65", "target": "e2e_test_flow_00_full_lifecycle_select", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L65", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_rationale_87", "target": "e2e_test_flow_00_full_lifecycle_pick_radio", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L87", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_rationale_100", "target": "e2e_test_flow_00_full_lifecycle_step_button", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L100", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_rationale_112", "target": "e2e_test_flow_00_full_lifecycle_project_next", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L112", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_rationale_117", "target": "e2e_test_flow_00_full_lifecycle_run_next", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L117", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_rationale_122", "target": "e2e_test_flow_00_full_lifecycle_goto", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L122", "weight": 1.0}, {"source": "e2e_test_flow_00_full_lifecycle_rationale_147", "target": "e2e_test_flow_00_full_lifecycle_prod_server", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L147", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_00_full_lifecycle_fill", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L52"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_fill", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L53"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_fill", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L54"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_select", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L74"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_select", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L75"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_select", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L76"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_select", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L80"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_select", "callee": "get_by_role", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L81"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_select", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L82"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_select", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L83"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_pick_radio", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L88"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_pick_radio", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L89"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_pick_radio", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L90"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_pick_radio", "callee": "get_by_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L90"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_step_button", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L106"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_step_button", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L107"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_step_button", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L108"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L129"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L131"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L132"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L136"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L137"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_prod_server", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L154"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_prod_server", "callee": "ProdServer", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L155"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_prod_server", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L162"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_prod_server", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L163"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_prod_server", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L167"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L178"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L185"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "write_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L190"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "OfflineCatalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L192"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "LIMSProject", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L198"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "new_context", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L210"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "new_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L211"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L215"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L215"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L218"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L218"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L219"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L220"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L220"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L223"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L223"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L224"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L225"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L226"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L228"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L228"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L231"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L237"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L237"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L240"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L245"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L245"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L246"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L246"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L252"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L258"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L258"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for_function", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L260"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L268"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L268"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L269"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L269"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L271"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L272"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L276"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L285"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L285"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L287"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L287"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L288"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L288"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L289"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L290"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L291"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L292"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L292"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L293"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L297"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L297"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L301"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L301"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L302"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L304"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L307"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L307"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L308"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "compile", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L308"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L315"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L315"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L316"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L317"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L323"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L323"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L324"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L325"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L337"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L337"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L338"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L339"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "safe_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L339"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L343"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L343"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L365"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "compile", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L365"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L369"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L370"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L374"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L374"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L391"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "compile", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L391"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L393"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "glob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L393"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L395"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L399"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L399"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L414"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "compile", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L414"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L415"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "glob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L415"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L417"}, {"caller_nid": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py", "source_location": "L419"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/92f7166cdda8ab9a0d5ea9a4f6b02d7846beb4435e5d72edd22d602dee0e64ef.json b/graphify-out/cache/ast/92f7166cdda8ab9a0d5ea9a4f6b02d7846beb4435e5d72edd22d602dee0e64ef.json deleted file mode 100644 index b2f86f5..0000000 --- a/graphify-out/cache/ast/92f7166cdda8ab9a0d5ea9a4f6b02d7846beb4435e5d72edd22d602dee0e64ef.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "label": "wizard_run.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L1"}, {"id": "pages_wizard_run_runwizardstate", "label": "RunWizardState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L55"}, {"id": "pages_wizard_run_title_text", "label": "title_text()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L75"}, {"id": "pages_wizard_run_primary_button_label", "label": "primary_button_label()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L83"}, {"id": "pages_wizard_run_primary_button_color", "label": "primary_button_color()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L89"}, {"id": "pages_wizard_run_preview_path_segments", "label": "preview_path_segments()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L95"}, {"id": "pages_wizard_run_can_advance", "label": "can_advance()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L122"}, {"id": "pages_wizard_run_render_run_wizard", "label": "render_run_wizard()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L142"}, {"id": "pages_wizard_run_render_run_step_fields", "label": "_render_run_step_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L294"}, {"id": "pages_wizard_run_step_helper_text", "label": "_step_helper_text()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L347"}, {"id": "pages_wizard_run_rationale_1", "label": "New Run Wizard (Frontend Spec \u00a75). Six-step wizard with mode bound at construct", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L1"}, {"id": "pages_wizard_run_rationale_56", "label": "Mutable state for the in-flight run wizard.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L56"}, {"id": "pages_wizard_run_rationale_76", "label": "Title-bar text per Frontend \u00a75.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L76"}, {"id": "pages_wizard_run_rationale_84", "label": "Primary button label on the Confirm & Create step (Frontend \u00a75.2).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L84"}, {"id": "pages_wizard_run_rationale_90", "label": "Primary button color hint per Frontend \u00a75.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L90"}, {"id": "pages_wizard_run_rationale_96", "label": "Compute the destination-path segments for the Preview step. Test runs put t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L96"}, {"id": "pages_wizard_run_rationale_123", "label": "Return ``True`` when the active step's preconditions hold.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L123"}, {"id": "pages_wizard_run_rationale_151", "label": "Render the six-step run wizard. ``templates`` lists run-scope template name", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L151"}, {"id": "pages_wizard_run_rationale_302", "label": "Render the bound input fields for one run-wizard step. The \"variables\" step", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L302"}, {"id": "pages_wizard_run_rationale_348", "label": "Helper text per step.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L348"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "inspect", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "exlab_wizard_ui_components", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "exlab_wizard_ui_pages_templates", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "pages_wizard_run_runwizardstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "pages_wizard_run_title_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "pages_wizard_run_primary_button_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "pages_wizard_run_primary_button_color", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "pages_wizard_run_preview_path_segments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L95", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "pages_wizard_run_can_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L122", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "pages_wizard_run_render_run_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L142", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "pages_wizard_run_render_run_step_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L294", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "target": "pages_wizard_run_step_helper_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L347", "weight": 1.0}, {"source": "pages_wizard_run_render_run_wizard", "target": "pages_wizard_run_title_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L165", "weight": 1.0}, {"source": "pages_wizard_run_render_run_wizard", "target": "pages_wizard_run_primary_button_label", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L169", "weight": 1.0}, {"source": "pages_wizard_run_render_run_wizard", "target": "pages_wizard_run_primary_button_color", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L170", "weight": 1.0}, {"source": "pages_wizard_run_render_run_wizard", "target": "pages_wizard_run_step_helper_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L224", "weight": 1.0}, {"source": "pages_wizard_run_render_run_wizard", "target": "pages_wizard_run_render_run_step_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L228", "weight": 1.0}, {"source": "pages_wizard_run_step_helper_text", "target": "pages_wizard_run_primary_button_label", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L366", "weight": 1.0}, {"source": "pages_wizard_run_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_run_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L1", "weight": 1.0}, {"source": "pages_wizard_run_rationale_56", "target": "pages_wizard_run_runwizardstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L56", "weight": 1.0}, {"source": "pages_wizard_run_rationale_76", "target": "pages_wizard_run_title_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L76", "weight": 1.0}, {"source": "pages_wizard_run_rationale_84", "target": "pages_wizard_run_primary_button_label", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L84", "weight": 1.0}, {"source": "pages_wizard_run_rationale_90", "target": "pages_wizard_run_primary_button_color", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L90", "weight": 1.0}, {"source": "pages_wizard_run_rationale_96", "target": "pages_wizard_run_preview_path_segments", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L96", "weight": 1.0}, {"source": "pages_wizard_run_rationale_123", "target": "pages_wizard_run_can_advance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L123", "weight": 1.0}, {"source": "pages_wizard_run_rationale_151", "target": "pages_wizard_run_render_run_wizard", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L151", "weight": 1.0}, {"source": "pages_wizard_run_rationale_302", "target": "pages_wizard_run_render_run_step_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L302", "weight": 1.0}, {"source": "pages_wizard_run_rationale_348", "target": "pages_wizard_run_step_helper_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L348", "weight": 1.0}], "raw_calls": [{"caller_nid": "pages_wizard_run_preview_path_segments", "callee": "run_dir_stem", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L108"}, {"caller_nid": "pages_wizard_run_preview_path_segments", "callee": "run_dir_stem", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L116"}, {"caller_nid": "pages_wizard_run_can_advance", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L134"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L161"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L162"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "mode_badge_props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L166"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L173"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L198"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L198"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "card", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L198"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L209"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L209"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L210"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L210"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L210"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "mode_badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L216"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L217"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "stepper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L217"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L221"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "step", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L221"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L224"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L224"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "_variables_panel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L226"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "_progress_view", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L248"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "stepper_navigation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L252"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L257"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L257"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "previous", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L259"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L262"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L262"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "on_cancel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L264"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L288"}, {"caller_nid": "pages_wizard_run_render_run_wizard", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L288"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "on_value_change", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L310"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L310"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L310"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "setattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L314"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "on_value_change", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L316"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L316"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "select", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L316"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "setattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L321"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "on_value_change", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L329"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L329"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "select", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L329"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "on_value_change", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L340"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L340"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L340"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L340"}, {"caller_nid": "pages_wizard_run_render_run_step_fields", "callee": "__setitem__", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py", "source_location": "L343"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/94b2c3d01d5d0a700f18c82930c25d0b235c7bf1db575601d3dda5151c4a008c.json b/graphify-out/cache/ast/94b2c3d01d5d0a700f18c82930c25d0b235c7bf1db575601d3dda5151c4a008c.json deleted file mode 100644 index 3d2b55f..0000000 --- a/graphify-out/cache/ast/94b2c3d01d5d0a700f18c82930c25d0b235c7bf1db575601d3dda5151c4a008c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "label": "loader.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L1"}, {"id": "config_loader_test_mode_enabled", "label": "_test_mode_enabled()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L33"}, {"id": "config_loader_apply_test_mode_prefix", "label": "apply_test_mode_prefix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L43"}, {"id": "config_loader_yaml", "label": "_yaml()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L79"}, {"id": "config_loader_load_config", "label": "load_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L92"}, {"id": "config_loader_load_config_from_text", "label": "load_config_from_text()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L108"}, {"id": "config_loader_save_config", "label": "save_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L128"}, {"id": "config_loader_deep_merge", "label": "_deep_merge()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L157"}, {"id": "config_loader_dump_config", "label": "dump_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L171"}, {"id": "config_loader_rationale_1", "label": "config.yaml round-trip loader. Backend Spec \u00a79. Uses ruamel.yaml in round-trip", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L1"}, {"id": "config_loader_rationale_34", "label": "Return True when the env var :data:`TEST_MODE_ENV` is truthy. Centralized h", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L34"}, {"id": "config_loader_rationale_44", "label": "Return ``config`` with each equipment id prefixed by :data:`TEST_MODE_PREFIX`.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L44"}, {"id": "config_loader_rationale_80", "label": "Build a configured ruamel.yaml instance. typ='rt' is round-trip mode (prese", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L80"}, {"id": "config_loader_rationale_93", "label": "Load a config.yaml from disk and validate against the Pydantic model. Raise", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L93"}, {"id": "config_loader_rationale_109", "label": "Load a config from YAML text. Same semantics as load_config but for in-memory in", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L109"}, {"id": "config_loader_rationale_129", "label": "Atomically write `config` back to `path`. If `original_text` is supplied, r", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L129"}, {"id": "config_loader_rationale_158", "label": "In-place deep-merge source into target. Used by save_config to overlay new", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L158"}, {"id": "config_loader_rationale_172", "label": "Serialize config to a YAML string. No comment preservation; tests use this.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L172"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "io", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "ruamel_yaml", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "config_loader_test_mode_enabled", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "config_loader_apply_test_mode_prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "config_loader_yaml", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L79", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "config_loader_load_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "config_loader_load_config_from_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "config_loader_save_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "config_loader_deep_merge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L157", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "target": "config_loader_dump_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L171", "weight": 1.0}, {"source": "config_loader_load_config", "target": "config_loader_load_config_from_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L105", "weight": 1.0}, {"source": "config_loader_load_config_from_text", "target": "config_loader_yaml", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L111", "weight": 1.0}, {"source": "config_loader_load_config_from_text", "target": "config_loader_test_mode_enabled", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L123", "weight": 1.0}, {"source": "config_loader_load_config_from_text", "target": "config_loader_apply_test_mode_prefix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L124", "weight": 1.0}, {"source": "config_loader_save_config", "target": "config_loader_yaml", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L138", "weight": 1.0}, {"source": "config_loader_save_config", "target": "config_loader_deep_merge", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L144", "weight": 1.0}, {"source": "config_loader_dump_config", "target": "config_loader_yaml", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L173", "weight": 1.0}, {"source": "config_loader_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_config_loader_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L1", "weight": 1.0}, {"source": "config_loader_rationale_34", "target": "config_loader_test_mode_enabled", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L34", "weight": 1.0}, {"source": "config_loader_rationale_44", "target": "config_loader_apply_test_mode_prefix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L44", "weight": 1.0}, {"source": "config_loader_rationale_80", "target": "config_loader_yaml", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L80", "weight": 1.0}, {"source": "config_loader_rationale_93", "target": "config_loader_load_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L93", "weight": 1.0}, {"source": "config_loader_rationale_109", "target": "config_loader_load_config_from_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L109", "weight": 1.0}, {"source": "config_loader_rationale_129", "target": "config_loader_save_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L129", "weight": 1.0}, {"source": "config_loader_rationale_158", "target": "config_loader_deep_merge", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L158", "weight": 1.0}, {"source": "config_loader_rationale_172", "target": "config_loader_dump_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L172", "weight": 1.0}], "raw_calls": [{"caller_nid": "config_loader_test_mode_enabled", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L39"}, {"caller_nid": "config_loader_test_mode_enabled", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L40"}, {"caller_nid": "config_loader_test_mode_enabled", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L40"}, {"caller_nid": "config_loader_apply_test_mode_prefix", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L57"}, {"caller_nid": "config_loader_apply_test_mode_prefix", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L57"}, {"caller_nid": "config_loader_apply_test_mode_prefix", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L65"}, {"caller_nid": "config_loader_apply_test_mode_prefix", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L66"}, {"caller_nid": "config_loader_apply_test_mode_prefix", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L67"}, {"caller_nid": "config_loader_apply_test_mode_prefix", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L68"}, {"caller_nid": "config_loader_apply_test_mode_prefix", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L68"}, {"caller_nid": "config_loader_apply_test_mode_prefix", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L72"}, {"caller_nid": "config_loader_apply_test_mode_prefix", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L74"}, {"caller_nid": "config_loader_yaml", "callee": "YAML", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L85"}, {"caller_nid": "config_loader_yaml", "callee": "indent", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L87"}, {"caller_nid": "config_loader_load_config", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L100"}, {"caller_nid": "config_loader_load_config", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L102"}, {"caller_nid": "config_loader_load_config", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L104"}, {"caller_nid": "config_loader_load_config_from_text", "callee": "load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L111"}, {"caller_nid": "config_loader_load_config_from_text", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L113"}, {"caller_nid": "config_loader_load_config_from_text", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L114"}, {"caller_nid": "config_loader_load_config_from_text", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L115"}, {"caller_nid": "config_loader_load_config_from_text", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L117"}, {"caller_nid": "config_loader_load_config_from_text", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L119"}, {"caller_nid": "config_loader_save_config", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L139"}, {"caller_nid": "config_loader_save_config", "callee": "load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L143"}, {"caller_nid": "config_loader_save_config", "callee": "StringIO", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L149"}, {"caller_nid": "config_loader_save_config", "callee": "dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L150"}, {"caller_nid": "config_loader_save_config", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L151"}, {"caller_nid": "config_loader_save_config", "callee": "getvalue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L151"}, {"caller_nid": "config_loader_save_config", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L152"}, {"caller_nid": "config_loader_save_config", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L153"}, {"caller_nid": "config_loader_save_config", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L154"}, {"caller_nid": "config_loader_save_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L154"}, {"caller_nid": "config_loader_save_config", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L154"}, {"caller_nid": "config_loader_deep_merge", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L164"}, {"caller_nid": "config_loader_deep_merge", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L165"}, {"caller_nid": "config_loader_deep_merge", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L165"}, {"caller_nid": "config_loader_deep_merge", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L165"}, {"caller_nid": "config_loader_dump_config", "callee": "StringIO", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L174"}, {"caller_nid": "config_loader_dump_config", "callee": "dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L175"}, {"caller_nid": "config_loader_dump_config", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L175"}, {"caller_nid": "config_loader_dump_config", "callee": "getvalue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py", "source_location": "L176"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/95337603641a03dabda8a7093f0bb866fb16530f2310dc43a33e36c8875944c0.json b/graphify-out/cache/ast/95337603641a03dabda8a7093f0bb866fb16530f2310dc43a33e36c8875944c0.json deleted file mode 100644 index 3ffcc3e..0000000 --- a/graphify-out/cache/ast/95337603641a03dabda8a7093f0bb866fb16530f2310dc43a33e36c8875944c0.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_ux_interactions_md", "label": "UX_INTERACTIONS.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L1"}, {"id": "docs_ux_interactions_ux_interaction_reference", "label": "UX Interaction Reference", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L1"}, {"id": "docs_ux_interactions_first_launch_setup", "label": "First-launch setup", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L14"}, {"id": "docs_ux_interactions_settings", "label": "Settings", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L23"}, {"id": "docs_ux_interactions_equipment", "label": "Equipment", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L37"}, {"id": "docs_ux_interactions_nas_credentials", "label": "NAS Credentials", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L55"}, {"id": "docs_ux_interactions_new_template", "label": "New template", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L63"}, {"id": "docs_ux_interactions_new_project", "label": "New project", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L74"}, {"id": "docs_ux_interactions_new_run_test_run", "label": "New run / test run", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L93"}, {"id": "docs_ux_interactions_add_equipment", "label": "Add equipment", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L109"}, {"id": "docs_ux_interactions_file_explorer", "label": "File explorer", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L121"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_ux_interactions_md", "target": "docs_ux_interactions_ux_interaction_reference", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L1", "weight": 1.0}, {"source": "docs_ux_interactions_ux_interaction_reference", "target": "docs_ux_interactions_first_launch_setup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L14", "weight": 1.0}, {"source": "docs_ux_interactions_ux_interaction_reference", "target": "docs_ux_interactions_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L23", "weight": 1.0}, {"source": "docs_ux_interactions_ux_interaction_reference", "target": "docs_ux_interactions_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L37", "weight": 1.0}, {"source": "docs_ux_interactions_ux_interaction_reference", "target": "docs_ux_interactions_nas_credentials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L55", "weight": 1.0}, {"source": "docs_ux_interactions_ux_interaction_reference", "target": "docs_ux_interactions_new_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L63", "weight": 1.0}, {"source": "docs_ux_interactions_ux_interaction_reference", "target": "docs_ux_interactions_new_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L74", "weight": 1.0}, {"source": "docs_ux_interactions_ux_interaction_reference", "target": "docs_ux_interactions_new_run_test_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L93", "weight": 1.0}, {"source": "docs_ux_interactions_ux_interaction_reference", "target": "docs_ux_interactions_add_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L109", "weight": 1.0}, {"source": "docs_ux_interactions_ux_interaction_reference", "target": "docs_ux_interactions_file_explorer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md", "source_location": "L121", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/96d8e8924f1730153b1bd19ab67cfc4b7a76494806ba25478589f11f8299546b.json b/graphify-out/cache/ast/96d8e8924f1730153b1bd19ab67cfc4b7a76494806ba25478589f11f8299546b.json deleted file mode 100644 index bef937e..0000000 --- a/graphify-out/cache/ast/96d8e8924f1730153b1bd19ab67cfc4b7a76494806ba25478589f11f8299546b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_superpowers_specs_2026_05_14_gui_orchestrator_redesign_design_md", "label": "2026-05-14-gui-orchestrator-redesign-design.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L1"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "label": "ExLab-Wizard GUI & System Redesign \u2014 Design Spec", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L1"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_1_summary", "label": "1. Summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L11"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_2_goals_non_goals", "label": "2. Goals & non-goals", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L27"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_goals", "label": "Goals", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L29"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_non_goals_explicitly_out_of_scope_for_this_redesign", "label": "Non-goals (explicitly out of scope for this redesign)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L40"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes", "label": "3. System model changes", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L50"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_3_1_always_orchestrator", "label": "3.1 Always-orchestrator", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L52"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_3_2_per_equipment_sync_role", "label": "3.2 Per-equipment sync role", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L67"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_3_3_owned_vs_received_equipment", "label": "3.3 Owned vs. received equipment", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L81"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_3_4_runs_subdirectory", "label": "3.4 `Runs/` subdirectory", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L108"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_codeblock_1", "label": "code:block1 (/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L113"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", "label": "4. Main window redesign", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L141"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_1_layout", "label": "4.1 Layout", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L143"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_codeblock_2", "label": "code:block2 (\u250c\u2500 Header toolbar: New Project \u00b7 New Run \u00b7 New Test Run \u00b7 Ad)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L147"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_2_left_tree", "label": "4.2 Left \u2014 tree", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L162"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_3_centre_live_file_list", "label": "4.3 Centre \u2014 live file list", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L174"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_4_right_metadata_problems_pane_collapsible", "label": "4.4 Right \u2014 Metadata / Problems pane (collapsible)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L189"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_5_travelling_problem_badge", "label": "4.5 Travelling problem badge", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L211"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_6_footer_status_bar_relocated_staging_actions", "label": "4.6 Footer status bar & relocated staging actions", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L222"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_7_header_toolbar_breadcrumb", "label": "4.7 Header toolbar & breadcrumb", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L239"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_5_live_file_feed_approach_1_poll_only", "label": "5. Live file feed (Approach 1 \u2014 poll-only)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L248"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_6_add_equipment_wizard", "label": "6. Add-Equipment wizard", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L276"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_7_interaction_decisions", "label": "7. Interaction decisions", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L299"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_8_configuration_schema_changes", "label": "8. Configuration schema changes", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L313"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_9_code_impact_map", "label": "9. Code impact map", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L327"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_9_1_gui_wiring", "label": "9.1 GUI wiring", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L349"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_10_error_handling", "label": "10. Error handling", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L401"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_11_testing_strategy", "label": "11. Testing strategy", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L430"}, {"id": "specs_2026_05_14_gui_orchestrator_redesign_design_12_future_v1_x", "label": "12. Future (v1.x)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L477"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_superpowers_specs_2026_05_14_gui_orchestrator_redesign_design_md", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L1", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_1_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L11", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_2_goals_non_goals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L27", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_2_goals_non_goals", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_goals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L29", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_2_goals_non_goals", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_non_goals_explicitly_out_of_scope_for_this_redesign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L40", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L50", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_3_1_always_orchestrator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L52", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_3_2_per_equipment_sync_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L67", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_3_3_owned_vs_received_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L81", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_3_4_runs_subdirectory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L108", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_3_4_runs_subdirectory", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L113", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L141", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_1_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L143", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_1_layout", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L147", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_2_left_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L162", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_3_centre_live_file_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L174", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_4_right_metadata_problems_pane_collapsible", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L189", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_5_travelling_problem_badge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L211", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_6_footer_status_bar_relocated_staging_actions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L222", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_7_header_toolbar_breadcrumb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L239", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_5_live_file_feed_approach_1_poll_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L248", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_6_add_equipment_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L276", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_7_interaction_decisions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L299", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_8_configuration_schema_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L313", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_9_code_impact_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L327", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_9_code_impact_map", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_9_1_gui_wiring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L349", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_10_error_handling", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L401", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_11_testing_strategy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L430", "weight": 1.0}, {"source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", "target": "specs_2026_05_14_gui_orchestrator_redesign_design_12_future_v1_x", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", "source_location": "L477", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/9701308c150b956a0e7c8d476b128494ca14a20a46567f85b4bb08454f8c2570.json b/graphify-out/cache/ast/9701308c150b956a0e7c8d476b128494ca14a20a46567f85b4bb08454f8c2570.json deleted file mode 100644 index 345625c..0000000 --- a/graphify-out/cache/ast/9701308c150b956a0e7c8d476b128494ca14a20a46567f85b4bb08454f8c2570.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "label": "server_runner.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L1"}, {"id": "tray_server_runner_pick_free_port", "label": "pick_free_port()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L41"}, {"id": "tray_server_runner_serverrunner", "label": "ServerRunner", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L55"}, {"id": "tray_server_runner_serverrunner_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L61"}, {"id": "tray_server_runner_serverrunner_start", "label": ".start()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L75"}, {"id": "tray_server_runner_serverrunner_stop", "label": ".stop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L103"}, {"id": "tray_server_runner_port", "label": "port()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L124"}, {"id": "tray_server_runner_is_running", "label": "is_running()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L135"}, {"id": "tray_server_runner_state_file", "label": "state_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L142"}, {"id": "tray_server_runner_serverrunner_build_uvicorn", "label": "._build_uvicorn()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L150"}, {"id": "tray_server_runner_serverrunner_write_state_file", "label": "._write_state_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L170"}, {"id": "tray_server_runner_serverrunner_delete_state_file", "label": "._delete_state_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L183"}, {"id": "tray_server_runner_rationale_1", "label": "Programmatic uvicorn launcher with atomic ``server.json`` writes. Backend Spec \u00a7", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L1"}, {"id": "tray_server_runner_rationale_42", "label": "Return a free localhost port from the OS. Binds a SOCK_STREAM socket to ``(", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L42"}, {"id": "tray_server_runner_rationale_56", "label": "Starts uvicorn on a free localhost port and tracks its state file. Backend", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L56"}, {"id": "tray_server_runner_rationale_76", "label": "Pick a port, launch uvicorn in a worker thread, write server.json. Retu", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L76"}, {"id": "tray_server_runner_rationale_104", "label": "Signal uvicorn to exit, join the worker thread, delete server.json. Ide", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L104"}, {"id": "tray_server_runner_rationale_125", "label": "Return the port the server is bound to. Raises ``RuntimeError`` when ca", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L125"}, {"id": "tray_server_runner_rationale_136", "label": "Return ``True`` while the worker thread is alive.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L136"}, {"id": "tray_server_runner_rationale_143", "label": "Return the absolute path of the ``server.json`` state file.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L143"}, {"id": "tray_server_runner_rationale_151", "label": "Return ``(uvicorn.Config, uvicorn.Server)`` for the given port. Split o", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L151"}, {"id": "tray_server_runner_rationale_171", "label": "Atomically write ``server.json``. Backend Spec \u00a74.4.5 idiom.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L171"}, {"id": "tray_server_runner_rationale_184", "label": "Best-effort delete; missing file is fine.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L184"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "socket", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "tray_server_runner_pick_free_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "tray_server_runner_serverrunner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L55", "weight": 1.0}, {"source": "tray_server_runner_serverrunner", "target": "tray_server_runner_serverrunner_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L61", "weight": 1.0}, {"source": "tray_server_runner_serverrunner", "target": "tray_server_runner_serverrunner_start", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L75", "weight": 1.0}, {"source": "tray_server_runner_serverrunner", "target": "tray_server_runner_serverrunner_stop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "tray_server_runner_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L124", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "tray_server_runner_is_running", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "target": "tray_server_runner_state_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L142", "weight": 1.0}, {"source": "tray_server_runner_serverrunner", "target": "tray_server_runner_serverrunner_build_uvicorn", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L150", "weight": 1.0}, {"source": "tray_server_runner_serverrunner", "target": "tray_server_runner_serverrunner_write_state_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L170", "weight": 1.0}, {"source": "tray_server_runner_serverrunner", "target": "tray_server_runner_serverrunner_delete_state_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L183", "weight": 1.0}, {"source": "tray_server_runner_serverrunner_start", "target": "tray_server_runner_pick_free_port", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L86", "weight": 1.0}, {"source": "tray_server_runner_serverrunner_start", "target": "tray_server_runner_serverrunner_build_uvicorn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L87", "weight": 1.0}, {"source": "tray_server_runner_serverrunner_start", "target": "tray_server_runner_serverrunner_write_state_file", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L99", "weight": 1.0}, {"source": "tray_server_runner_serverrunner_stop", "target": "tray_server_runner_serverrunner_delete_state_file", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L117", "weight": 1.0}, {"source": "tray_server_runner_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_server_runner_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_server_runner_rationale_42", "target": "tray_server_runner_pick_free_port", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L42", "weight": 1.0}, {"source": "tray_server_runner_rationale_56", "target": "tray_server_runner_serverrunner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L56", "weight": 1.0}, {"source": "tray_server_runner_rationale_76", "target": "tray_server_runner_serverrunner_start", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L76", "weight": 1.0}, {"source": "tray_server_runner_rationale_104", "target": "tray_server_runner_serverrunner_stop", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L104", "weight": 1.0}, {"source": "tray_server_runner_rationale_125", "target": "tray_server_runner_serverrunner_port", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L125", "weight": 1.0}, {"source": "tray_server_runner_rationale_136", "target": "tray_server_runner_serverrunner_is_running", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L136", "weight": 1.0}, {"source": "tray_server_runner_rationale_143", "target": "tray_server_runner_serverrunner_state_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L143", "weight": 1.0}, {"source": "tray_server_runner_rationale_151", "target": "tray_server_runner_serverrunner_build_uvicorn", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L151", "weight": 1.0}, {"source": "tray_server_runner_rationale_171", "target": "tray_server_runner_serverrunner_write_state_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L171", "weight": 1.0}, {"source": "tray_server_runner_rationale_184", "target": "tray_server_runner_serverrunner_delete_state_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L184", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_server_runner_pick_free_port", "callee": "socket", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L50"}, {"caller_nid": "tray_server_runner_pick_free_port", "callee": "bind", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L51"}, {"caller_nid": "tray_server_runner_pick_free_port", "callee": "getsockname", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L52"}, {"caller_nid": "tray_server_runner_serverrunner_init", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L63"}, {"caller_nid": "tray_server_runner_serverrunner_start", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L84"}, {"caller_nid": "tray_server_runner_serverrunner_start", "callee": "Thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L89"}, {"caller_nid": "tray_server_runner_serverrunner_start", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L100"}, {"caller_nid": "tray_server_runner_serverrunner_stop", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L113"}, {"caller_nid": "tray_server_runner_serverrunner_stop", "callee": "is_alive", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L115"}, {"caller_nid": "tray_server_runner_serverrunner_stop", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L116"}, {"caller_nid": "tray_server_runner_serverrunner_stop", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L121"}, {"caller_nid": "tray_server_runner_port", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L131"}, {"caller_nid": "tray_server_runner_is_running", "callee": "is_alive", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L139"}, {"caller_nid": "tray_server_runner_serverrunner_build_uvicorn", "callee": "Config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L160"}, {"caller_nid": "tray_server_runner_serverrunner_build_uvicorn", "callee": "Server", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L167"}, {"caller_nid": "tray_server_runner_serverrunner_write_state_file", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L174"}, {"caller_nid": "tray_server_runner_serverrunner_write_state_file", "callee": "getpid", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L177"}, {"caller_nid": "tray_server_runner_serverrunner_write_state_file", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L178"}, {"caller_nid": "tray_server_runner_serverrunner_write_state_file", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L180"}, {"caller_nid": "tray_server_runner_serverrunner_write_state_file", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L180"}, {"caller_nid": "tray_server_runner_serverrunner_write_state_file", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L181"}, {"caller_nid": "tray_server_runner_serverrunner_delete_state_file", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L185"}, {"caller_nid": "tray_server_runner_serverrunner_delete_state_file", "callee": "unlink", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py", "source_location": "L186"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/97d148cecae4e2d560a6fa5287d0374c4caab00173faca0c8f2651aee870ccfb.json b/graphify-out/cache/ast/97d148cecae4e2d560a6fa5287d0374c4caab00173faca0c8f2651aee870ccfb.json deleted file mode 100644 index 8446087..0000000 --- a/graphify-out/cache/ast/97d148cecae4e2d560a6fa5287d0374c4caab00173faca0c8f2651aee870ccfb.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_breadcrumb_py", "label": "breadcrumb.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L1"}, {"id": "components_breadcrumb_breadcrumbsegment", "label": "BreadcrumbSegment", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L15"}, {"id": "components_breadcrumb_segments_from_node_id", "label": "segments_from_node_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L23"}, {"id": "components_breadcrumb_render_breadcrumb", "label": "render_breadcrumb()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L40"}, {"id": "components_breadcrumb_rationale_1", "label": "Breadcrumb bar for the rebuilt main window. GUI/Orchestrator Redesign \u00a74.1 / \u00a74", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L1"}, {"id": "components_breadcrumb_rationale_16", "label": "One clickable segment in the breadcrumb bar.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L16"}, {"id": "components_breadcrumb_rationale_24", "label": "Decompose a tree-node id into clickable segments. Tree ids are slash-joined", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L24"}, {"id": "components_breadcrumb_rationale_45", "label": "Render the breadcrumb row. Pure render function. Each segment is a clickabl", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L45"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_breadcrumb_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_breadcrumb_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_breadcrumb_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_breadcrumb_py", "target": "components_breadcrumb_breadcrumbsegment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_breadcrumb_py", "target": "components_breadcrumb_segments_from_node_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_breadcrumb_py", "target": "components_breadcrumb_render_breadcrumb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L40", "weight": 1.0}, {"source": "components_breadcrumb_segments_from_node_id", "target": "components_breadcrumb_breadcrumbsegment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L35", "weight": 1.0}, {"source": "components_breadcrumb_render_breadcrumb", "target": "components_breadcrumb_segments_from_node_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L51", "weight": 1.0}, {"source": "components_breadcrumb_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_breadcrumb_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L1", "weight": 1.0}, {"source": "components_breadcrumb_rationale_16", "target": "components_breadcrumb_breadcrumbsegment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L16", "weight": 1.0}, {"source": "components_breadcrumb_rationale_24", "target": "components_breadcrumb_segments_from_node_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L24", "weight": 1.0}, {"source": "components_breadcrumb_rationale_45", "target": "components_breadcrumb_render_breadcrumb", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L45", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_breadcrumb_segments_from_node_id", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L33"}, {"caller_nid": "components_breadcrumb_segments_from_node_id", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L35"}, {"caller_nid": "components_breadcrumb_segments_from_node_id", "callee": "enumerate", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L36"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L58"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L58"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L58"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L58"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L69"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L69"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "enumerate", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L71"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L73"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L73"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L75"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L75"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L75"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L80"}, {"caller_nid": "components_breadcrumb_render_breadcrumb", "callee": "on_navigate", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py", "source_location": "L80"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/98ba09f990d9f2d8b655c9f88a9307e3a72f29bdf4e738cc2a4e7d1d4da9c952.json b/graphify-out/cache/ast/98ba09f990d9f2d8b655c9f88a9307e3a72f29bdf4e738cc2a4e7d1d4da9c952.json deleted file mode 100644 index 8295ede..0000000 --- a/graphify-out/cache/ast/98ba09f990d9f2d8b655c9f88a9307e3a72f29bdf4e738cc2a4e7d1d4da9c952.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_scripts_build_local_ps1", "label": "build_local.ps1", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/scripts/build_local.ps1", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/997952fea1565d477f3569f5467e99ed21f7d756354140eb300f9b5eb2f55dc4.json b/graphify-out/cache/ast/997952fea1565d477f3569f5467e99ed21f7d756354140eb300f9b5eb2f55dc4.json deleted file mode 100644 index 80cc770..0000000 --- a/graphify-out/cache/ast/997952fea1565d477f3569f5467e99ed21f7d756354140eb300f9b5eb2f55dc4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_user_guide_04_create_run_md", "label": "04_create_run.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L1"}, {"id": "user_guide_04_create_run_3_2_create_a_new_experimental_run", "label": "3.2 Create a New Experimental Run", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L1"}, {"id": "user_guide_04_create_run_capability_summary", "label": "Capability summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L3"}, {"id": "user_guide_04_create_run_walkthrough", "label": "Walkthrough", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L14"}, {"id": "user_guide_04_create_run_screenshots", "label": "Screenshots", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L25"}, {"id": "user_guide_04_create_run_codeblock_1", "label": "code:{image} (:alt: New experimental run wizard, initial render)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L27"}, {"id": "user_guide_04_create_run_related_material", "label": "Related material", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L32"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_user_guide_04_create_run_md", "target": "user_guide_04_create_run_3_2_create_a_new_experimental_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L1", "weight": 1.0}, {"source": "user_guide_04_create_run_3_2_create_a_new_experimental_run", "target": "user_guide_04_create_run_capability_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L3", "weight": 1.0}, {"source": "user_guide_04_create_run_3_2_create_a_new_experimental_run", "target": "user_guide_04_create_run_walkthrough", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L14", "weight": 1.0}, {"source": "user_guide_04_create_run_3_2_create_a_new_experimental_run", "target": "user_guide_04_create_run_screenshots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L25", "weight": 1.0}, {"source": "user_guide_04_create_run_screenshots", "target": "user_guide_04_create_run_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L27", "weight": 1.0}, {"source": "user_guide_04_create_run_3_2_create_a_new_experimental_run", "target": "user_guide_04_create_run_related_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md", "source_location": "L32", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/99ec2f2300df4063ba52d598680dfd9640033847b227d4e0444f7a61f5a814ff.json b/graphify-out/cache/ast/99ec2f2300df4063ba52d598680dfd9640033847b227d4e0444f7a61f5a814ff.json deleted file mode 100644 index b18ecd2..0000000 --- a/graphify-out/cache/ast/99ec2f2300df4063ba52d598680dfd9640033847b227d4e0444f7a61f5a814ff.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_readme_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/__init__.py", "source_location": "L1"}, {"id": "readme_init_rationale_1", "label": "Unit tests for ``exlab_wizard.readme``. Backend Spec \u00a710.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/__init__.py", "source_location": "L1"}], "edges": [{"source": "readme_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_readme_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/readme/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/9a7f6668f6173d6b63ed81474f56102ce919b80de7877ac9435bda8de5c8a2ad.json b/graphify-out/cache/ast/9a7f6668f6173d6b63ed81474f56102ce919b80de7877ac9435bda8de5c8a2ad.json deleted file mode 100644 index fd1657f..0000000 --- a/graphify-out/cache/ast/9a7f6668f6173d6b63ed81474f56102ce919b80de7877ac9435bda8de5c8a2ad.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_helpers_py", "label": "_helpers.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L1"}, {"id": "sync_helpers_read_files_from", "label": "_read_files_from()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L29"}, {"id": "sync_helpers_local_check_factory", "label": "local_check_factory()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L40"}, {"id": "sync_helpers_corrupt_one_check_factory", "label": "corrupt_one_check_factory()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L59"}, {"id": "sync_helpers_rationale_1", "label": "Shared helpers for ``tests/unit/sync/`` test modules. Kept under a leading-unde", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L1"}, {"id": "sync_helpers_rationale_30", "label": "Read run-relative paths from a ``--files-from`` tempfile.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L30"}, {"id": "sync_helpers_rationale_41", "label": "Check factory whose closure declares every file equal. Returns a closure co", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L41"}, {"id": "sync_helpers_rationale_62", "label": "Check factory whose closure flags ``corrupt_rel`` as ``differ``. Every othe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L62"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_sync_helpers_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_helpers_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_helpers_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_helpers_py", "target": "exlab_wizard_sync_transports_rclone", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_helpers_py", "target": "sync_helpers_read_files_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_helpers_py", "target": "sync_helpers_local_check_factory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_helpers_py", "target": "sync_helpers_corrupt_one_check_factory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L59", "weight": 1.0}, {"source": "sync_helpers_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_sync_helpers_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_helpers_rationale_30", "target": "sync_helpers_read_files_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L30", "weight": 1.0}, {"source": "sync_helpers_rationale_41", "target": "sync_helpers_local_check_factory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L41", "weight": 1.0}, {"source": "sync_helpers_rationale_62", "target": "sync_helpers_corrupt_one_check_factory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L62", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_helpers_read_files_from", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L34"}, {"caller_nid": "sync_helpers_read_files_from", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L37"}, {"caller_nid": "sync_helpers_read_files_from", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L37"}, {"caller_nid": "sync_helpers_read_files_from", "callee": "splitlines", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L37"}, {"caller_nid": "sync_helpers_read_files_from", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py", "source_location": "L37"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/9ae08615e6633b4202710e37d8f130036b7426834043ae595e5aff38806623c7.json b/graphify-out/cache/ast/9ae08615e6633b4202710e37d8f130036b7426834043ae595e5aff38806623c7.json deleted file mode 100644 index be70e3f..0000000 --- a/graphify-out/cache/ast/9ae08615e6633b4202710e37d8f130036b7426834043ae595e5aff38806623c7.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_05_template_format_md", "label": "05_Template_Format.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L1"}, {"id": "design_spec_sections_05_template_format_5_template_format", "label": "5. Template Format", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L1"}, {"id": "design_spec_sections_05_template_format_5_0_template_locations_global_and_per_equipment", "label": "5.0 Template Locations (Global and Per-Equipment)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L9"}, {"id": "design_spec_sections_05_template_format_5_1_template_structure", "label": "5.1 Template Structure", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L32"}, {"id": "design_spec_sections_05_template_format_codeblock_1", "label": "code:block1 (my_template/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L36"}, {"id": "design_spec_sections_05_template_format_5_2_copier_manifest_copier_yml", "label": "5.2 Copier Manifest (`copier.yml`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L48"}, {"id": "design_spec_sections_05_template_format_codeblock_2", "label": "code:yaml (# --- Copier settings ---)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L52"}, {"id": "design_spec_sections_05_template_format_5_3_copier_python_api_integration", "label": "5.3 Copier Python API Integration", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L100"}, {"id": "design_spec_sections_05_template_format_codeblock_3", "label": "code:python (# Illustrative -- not implementation code)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L104"}, {"id": "design_spec_sections_05_template_format_5_4_copier_answers_file_exlab_answers_yml", "label": "5.4 Copier Answers File (`.exlab-answers.yml`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L125"}, {"id": "design_spec_sections_05_template_format_5_5_plugin_pass_post_render_controller_driven", "label": "5.5 Plugin Pass (Post-Render, Controller-Driven)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L136"}, {"id": "design_spec_sections_05_template_format_5_6_jinja2_templating_in_file_contents", "label": "5.6 Jinja2 Templating in File Contents", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L155"}, {"id": "design_spec_sections_05_template_format_5_7_template_versioning", "label": "5.7 Template Versioning", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L165"}, {"id": "design_spec_sections_05_template_format_5_8_lint_cli_exlab_wizard_templates_lint", "label": "5.8 Lint CLI: `exlab-wizard templates lint`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L175"}, {"id": "design_spec_sections_05_template_format_codeblock_4", "label": "code:block4 (exlab-wizard templates lint )", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L181"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_05_template_format_md", "target": "design_spec_sections_05_template_format_5_template_format", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_template_format", "target": "design_spec_sections_05_template_format_5_0_template_locations_global_and_per_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L9", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_template_format", "target": "design_spec_sections_05_template_format_5_1_template_structure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L32", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_1_template_structure", "target": "design_spec_sections_05_template_format_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L36", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_template_format", "target": "design_spec_sections_05_template_format_5_2_copier_manifest_copier_yml", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L48", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_2_copier_manifest_copier_yml", "target": "design_spec_sections_05_template_format_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L52", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_template_format", "target": "design_spec_sections_05_template_format_5_3_copier_python_api_integration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L100", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_3_copier_python_api_integration", "target": "design_spec_sections_05_template_format_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L104", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_template_format", "target": "design_spec_sections_05_template_format_5_4_copier_answers_file_exlab_answers_yml", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L125", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_template_format", "target": "design_spec_sections_05_template_format_5_5_plugin_pass_post_render_controller_driven", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L136", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_template_format", "target": "design_spec_sections_05_template_format_5_6_jinja2_templating_in_file_contents", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L155", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_template_format", "target": "design_spec_sections_05_template_format_5_7_template_versioning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L165", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_template_format", "target": "design_spec_sections_05_template_format_5_8_lint_cli_exlab_wizard_templates_lint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L175", "weight": 1.0}, {"source": "design_spec_sections_05_template_format_5_8_lint_cli_exlab_wizard_templates_lint", "target": "design_spec_sections_05_template_format_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md", "source_location": "L181", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/9b6c35c8fe4ce9a52a5e9cd3a8edf46190fab1c365809ae0fd3a132f57b02643.json b/graphify-out/cache/ast/9b6c35c8fe4ce9a52a5e9cd3a8edf46190fab1c365809ae0fd3a132f57b02643.json deleted file mode 100644 index 9bc5a9e..0000000 --- a/graphify-out/cache/ast/9b6c35c8fe4ce9a52a5e9cd3a8edf46190fab1c365809ae0fd3a132f57b02643.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "label": "test_quiescence_poller.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L1"}, {"id": "orchestrator_test_quiescence_poller_stubnassync", "label": "_StubNasSync", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L41"}, {"id": "orchestrator_test_quiescence_poller_stubnassync_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L44"}, {"id": "orchestrator_test_quiescence_poller_stubnassync_enqueue", "label": ".enqueue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L47"}, {"id": "orchestrator_test_quiescence_poller_enqueued_paths", "label": "enqueued_paths()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L51"}, {"id": "orchestrator_test_quiescence_poller_transport", "label": "_transport()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L60"}, {"id": "orchestrator_test_quiescence_poller_make_config", "label": "_make_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L70"}, {"id": "orchestrator_test_quiescence_poller_make_run", "label": "_make_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L101"}, {"id": "orchestrator_test_quiescence_poller_poller", "label": "_poller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L110"}, {"id": "orchestrator_test_quiescence_poller_signature", "label": "_signature()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L118"}, {"id": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", "label": "test_file_becomes_quiet_only_after_settle_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L128"}, {"id": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "label": "test_modified_file_resets_the_settle_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L150"}, {"id": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "label": "test_ignore_glob_files_do_not_make_a_run_eligible()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L176"}, {"id": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", "label": "test_quiet_real_file_enqueues_despite_ignored_sibling()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L192"}, {"id": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "label": "test_discovers_both_staging_and_nas_mode_runs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L212"}, {"id": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "label": "test_co_rooted_stage_mode_equipment_run_is_not_enqueued()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L234"}, {"id": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "label": "test_file_matching_synced_signature_is_not_re_enqueued()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L285"}, {"id": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "label": "test_file_modified_after_recorded_sync_becomes_eligible()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L309"}, {"id": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "label": "test_only_changed_file_in_a_run_is_enqueued()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L332"}, {"id": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", "label": "test_start_then_stop_is_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L363"}, {"id": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference", "label": "test_apply_config_swaps_config_reference()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L378"}, {"id": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "label": "test_apply_config_quiescence_change_is_live()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L386"}, {"id": "orchestrator_test_quiescence_poller_rationale_1", "label": "Unit tests for ``exlab_wizard.orchestrator.quiescence_poller``. The :class:`Qui", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L1"}, {"id": "orchestrator_test_quiescence_poller_rationale_42", "label": "In-memory NAS-sync stub recording per-file enqueue calls.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L42"}, {"id": "orchestrator_test_quiescence_poller_rationale_76", "label": "Build a Config with an optional staging root and a nas-mode equipment.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L76"}, {"id": "orchestrator_test_quiescence_poller_rationale_102", "label": "Create a run-leaf directory mirroring the \u00a713.2 staging layout.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L102"}, {"id": "orchestrator_test_quiescence_poller_rationale_129", "label": "A file is enqueued only after its signature settles for the window.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L129"}, {"id": "orchestrator_test_quiescence_poller_rationale_151", "label": "A signature change resets ``first_seen``; the window restarts.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L151"}, {"id": "orchestrator_test_quiescence_poller_rationale_177", "label": "A run holding only ignore-glob files never enqueues.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L177"}, {"id": "orchestrator_test_quiescence_poller_rationale_193", "label": "A quiet non-ignored file enqueues even when ignored files coexist.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L193"}, {"id": "orchestrator_test_quiescence_poller_rationale_213", "label": "A sweep finds runs under staging_root AND under nas-mode local_root.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L213"}, {"id": "orchestrator_test_quiescence_poller_rationale_235", "label": "A ``stage``-mode equipment sharing one ``local_root`` with a ``nas``-mode eq", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L235"}, {"id": "orchestrator_test_quiescence_poller_rationale_286", "label": "A quiet file already synced at its current signature is skipped.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L286"}, {"id": "orchestrator_test_quiescence_poller_rationale_310", "label": "A file modified after its recorded sync re-enters the eligible set.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L310"}, {"id": "orchestrator_test_quiescence_poller_rationale_333", "label": "A run with a mix of synced + modified files enqueues only the dirty one.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L333"}, {"id": "orchestrator_test_quiescence_poller_rationale_364", "label": "start()/stop() can be called repeatedly without error.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L364"}, {"id": "orchestrator_test_quiescence_poller_rationale_387", "label": "A live quiescence-window change takes effect on the next sweep. poll_once r", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L387"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "exlab_wizard_cache_sync_state_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "exlab_wizard_orchestrator_quiescence_poller", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L41", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_stubnassync", "target": "orchestrator_test_quiescence_poller_stubnassync_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L44", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_stubnassync", "target": "orchestrator_test_quiescence_poller_stubnassync_enqueue", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_enqueued_paths", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L101", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_poller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L110", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_signature", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L118", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L150", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L176", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L192", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L212", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L234", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L285", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L309", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L332", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L363", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L378", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "target": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L386", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_make_config", "target": "orchestrator_test_quiescence_poller_transport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L86", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L130", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L131", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", "target": "orchestrator_test_quiescence_poller_poller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L132", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L133", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L152", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L153", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "target": "orchestrator_test_quiescence_poller_poller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L154", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L155", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L178", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L179", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "target": "orchestrator_test_quiescence_poller_poller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L180", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L181", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L194", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L195", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", "target": "orchestrator_test_quiescence_poller_poller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L196", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L197", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L218", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L223", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "target": "orchestrator_test_quiescence_poller_poller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L224", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L225", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "target": "orchestrator_test_quiescence_poller_transport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L249", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L267", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "target": "orchestrator_test_quiescence_poller_poller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L268", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L269", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L287", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L288", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L291", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "target": "orchestrator_test_quiescence_poller_signature", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L298", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L311", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L312", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L315", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L334", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L335", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L338", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "target": "orchestrator_test_quiescence_poller_signature", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L346", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L365", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", "target": "orchestrator_test_quiescence_poller_poller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L366", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L366", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L379", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference", "target": "orchestrator_test_quiescence_poller_poller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L380", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L380", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L393", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "target": "orchestrator_test_quiescence_poller_poller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L394", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L394", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L395", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_orchestrator_test_quiescence_poller_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L1", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_42", "target": "orchestrator_test_quiescence_poller_stubnassync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L42", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_76", "target": "orchestrator_test_quiescence_poller_make_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L76", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_102", "target": "orchestrator_test_quiescence_poller_make_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L102", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_129", "target": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L129", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_151", "target": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L151", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_177", "target": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L177", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_193", "target": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L193", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_213", "target": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L213", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_235", "target": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L235", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_286", "target": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L286", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_310", "target": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L310", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_333", "target": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L333", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_364", "target": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L364", "weight": 1.0}, {"source": "orchestrator_test_quiescence_poller_rationale_387", "target": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L387", "weight": 1.0}], "raw_calls": [{"caller_nid": "orchestrator_test_quiescence_poller_stubnassync_enqueue", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L48"}, {"caller_nid": "orchestrator_test_quiescence_poller_stubnassync_enqueue", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L48"}, {"caller_nid": "orchestrator_test_quiescence_poller_transport", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L61"}, {"caller_nid": "orchestrator_test_quiescence_poller_transport", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L66"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_config", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L79"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L80"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L83"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_config", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L89"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L90"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L91"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L91"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L93"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L95"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_config", "callee": "SyncConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L97"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L104"}, {"caller_nid": "orchestrator_test_quiescence_poller_make_run", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L106"}, {"caller_nid": "orchestrator_test_quiescence_poller_poller", "callee": "QuiescenceSyncPoller", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L111"}, {"caller_nid": "orchestrator_test_quiescence_poller_poller", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L114"}, {"caller_nid": "orchestrator_test_quiescence_poller_signature", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L119"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L136"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L141"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L145"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L158"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L160"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L161"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L164"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L167"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L183"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L184"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L186"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L187"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L198"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L200"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L201"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L216"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L217"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L228"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L229"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L230"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L231"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L239"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L240"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L241"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L241"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L243"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L246"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L251"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L254"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "OrchestratorStagingTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L257"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L264"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "SyncConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L265"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L272"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L273"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L289"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "callee": "QuiescenceSyncPoller", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L290"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L295"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L302"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L303"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L313"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "callee": "QuiescenceSyncPoller", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L314"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L318"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L325"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L326"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L336"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "callee": "QuiescenceSyncPoller", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L337"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L341"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L342"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L345"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L348"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L352"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L353"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L367"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L368"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L369"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L370"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference", "callee": "apply_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L382"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L398"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L399"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "callee": "apply_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L402"}, {"caller_nid": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py", "source_location": "L403"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/9c55b162a48e1c9e574e7e6feb7e4c434da98c5703f7b5971bb4593ad57d6e74.json b/graphify-out/cache/ast/9c55b162a48e1c9e574e7e6feb7e4c434da98c5703f7b5971bb4593ad57d6e74.json deleted file mode 100644 index f7743b4..0000000 --- a/graphify-out/cache/ast/9c55b162a48e1c9e574e7e6feb7e4c434da98c5703f7b5971bb4593ad57d6e74.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/__init__.py", "source_location": "L1"}, {"id": "controller_init_rationale_1", "label": "Controller package. Backend Spec \u00a74.4.1, \u00a74.7, \u00a74.7.1, \u00a74.8. Re-exports the pub", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_init_py", "target": "exlab_wizard_controller_creation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/__init__.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_init_py", "target": "exlab_wizard_controller_session_store", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/__init__.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_init_py", "target": "exlab_wizard_controller_state_machine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/__init__.py", "source_location": "L27", "weight": 1.0}, {"source": "controller_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/9cb22e43c83bc9bf45410977a595ea27bfdb0856ef3af86d5e2c8bc80dd34097.json b/graphify-out/cache/ast/9cb22e43c83bc9bf45410977a595ea27bfdb0856ef3af86d5e2c8bc80dd34097.json deleted file mode 100644 index d88b899..0000000 --- a/graphify-out/cache/ast/9cb22e43c83bc9bf45410977a595ea27bfdb0856ef3af86d5e2c8bc80dd34097.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_run_py", "label": "_run.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L1"}, {"id": "transports_run_run_subprocess", "label": "run_subprocess()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L29"}, {"id": "transports_run_rationale_1", "label": "Shared asyncio subprocess helper for transport drivers. Backend Spec \u00a77.1.3. Th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L1"}, {"id": "transports_run_rationale_36", "label": "Launch ``cmd`` and return ``(returncode, stdout, stderr)`` as text. ``env``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L36"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_run_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_run_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_run_py", "target": "shlex", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_run_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_run_py", "target": "transports_run_run_subprocess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L29", "weight": 1.0}, {"source": "transports_run_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_run_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L1", "weight": 1.0}, {"source": "transports_run_rationale_36", "target": "transports_run_run_subprocess", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L36", "weight": 1.0}], "raw_calls": [{"caller_nid": "transports_run_run_subprocess", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L57"}, {"caller_nid": "transports_run_run_subprocess", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L60"}, {"caller_nid": "transports_run_run_subprocess", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L61"}, {"caller_nid": "transports_run_run_subprocess", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L62"}, {"caller_nid": "transports_run_run_subprocess", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L62"}, {"caller_nid": "transports_run_run_subprocess", "callee": "create_subprocess_exec", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L65"}, {"caller_nid": "transports_run_run_subprocess", "callee": "communicate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L72"}, {"caller_nid": "transports_run_run_subprocess", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L73"}, {"caller_nid": "transports_run_run_subprocess", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py", "source_location": "L74"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/9d8149d9cca840811bc726bff4056c75679163fdeaf48e91152b14b28c9f8885.json b/graphify-out/cache/ast/9d8149d9cca840811bc726bff4056c75679163fdeaf48e91152b14b28c9f8885.json deleted file mode 100644 index 6068d8a..0000000 --- a/graphify-out/cache/ast/9d8149d9cca840811bc726bff4056c75679163fdeaf48e91152b14b28c9f8885.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_findings_py", "label": "findings.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L1"}, {"id": "validator_findings_finding", "label": "Finding", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L41"}, {"id": "validator_findings_finding_to_dict", "label": ".to_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L90"}, {"id": "validator_findings_from_dict", "label": "from_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L101"}, {"id": "validator_findings_rationale_1", "label": "Validator finding dataclass and serialization helpers. Backend Spec \u00a711.8 (find", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L1"}, {"id": "validator_findings_rationale_42", "label": "One validator finding. Backend Spec \u00a78.1, \u00a711.8. Frozen so findings can be", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L42"}, {"id": "validator_findings_rationale_91", "label": "Return the \u00a711.8 JSON shape for this finding. The dictionary is suitabl", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L91"}, {"id": "validator_findings_rationale_102", "label": "Reconstruct a :class:`Finding` from its \u00a711.8 JSON shape. The inverse o", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L102"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_findings_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_findings_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_findings_py", "target": "validator_findings_finding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L41", "weight": 1.0}, {"source": "validator_findings_finding", "target": "validator_findings_finding_to_dict", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_findings_py", "target": "validator_findings_from_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L101", "weight": 1.0}, {"source": "validator_findings_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_findings_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L1", "weight": 1.0}, {"source": "validator_findings_rationale_42", "target": "validator_findings_finding", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L42", "weight": 1.0}, {"source": "validator_findings_rationale_91", "target": "validator_findings_finding_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L91", "weight": 1.0}, {"source": "validator_findings_rationale_102", "target": "validator_findings_finding_from_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L102", "weight": 1.0}], "raw_calls": [{"caller_nid": "validator_findings_finding_to_dict", "callee": "asdict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L98"}, {"caller_nid": "validator_findings_from_dict", "callee": "cls", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L109"}, {"caller_nid": "validator_findings_from_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L115"}, {"caller_nid": "validator_findings_from_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L116"}, {"caller_nid": "validator_findings_from_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L117"}, {"caller_nid": "validator_findings_from_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py", "source_location": "L121"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/9db553ba9c8d0afcf5528ef44b92afd37996c3fb8c45292884631229b53881a1.json b/graphify-out/cache/ast/9db553ba9c8d0afcf5528ef44b92afd37996c3fb8c45292884631229b53881a1.json deleted file mode 100644 index be1ac0d..0000000 --- a/graphify-out/cache/ast/9db553ba9c8d0afcf5528ef44b92afd37996c3fb8c45292884631229b53881a1.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_schema_versions_py", "label": "schema_versions.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/schema_versions.py", "source_location": "L1"}, {"id": "constants_schema_versions_rationale_1", "label": "Schema version pins for every JSON/YAML artifact the wizard reads or writes. Ev", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/schema_versions.py", "source_location": "L1"}], "edges": [{"source": "constants_schema_versions_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_schema_versions_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/schema_versions.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/9e73400ffc0807f7564513028b4b8f1d800142bbe664e9a51b08f67a5fe945c7.json b/graphify-out/cache/ast/9e73400ffc0807f7564513028b4b8f1d800142bbe664e9a51b08f67a5fe945c7.json deleted file mode 100644 index 9f72348..0000000 --- a/graphify-out/cache/ast/9e73400ffc0807f7564513028b4b8f1d800142bbe664e9a51b08f67a5fe945c7.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py", "source_location": "L1"}, {"id": "cache_init_lock_path_for", "label": "lock_path_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py", "source_location": "L14"}, {"id": "cache_init_rationale_1", "label": "Cache package. Backend Spec \u00a711.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py", "source_location": "L1"}, {"id": "cache_init_rationale_15", "label": "Return the advisory file-lock path string for ``path``. Centralizes the ``s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py", "source_location": "L15"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_init_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_init_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_init_py", "target": "cache_init_lock_path_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py", "source_location": "L14", "weight": 1.0}, {"source": "cache_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py", "source_location": "L1", "weight": 1.0}, {"source": "cache_init_rationale_15", "target": "cache_init_lock_path_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py", "source_location": "L15", "weight": 1.0}], "raw_calls": [{"caller_nid": "cache_init_lock_path_for", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py", "source_location": "L20"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/9f6514688e8427be97dc6a3390bc823fd9b69976573260f05194670b4afa0358.json b/graphify-out/cache/ast/9f6514688e8427be97dc6a3390bc823fd9b69976573260f05194670b4afa0358.json deleted file mode 100644 index b24e6fa..0000000 --- a/graphify-out/cache/ast/9f6514688e8427be97dc6a3390bc823fd9b69976573260f05194670b4afa0358.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "label": "test_travelling_badge.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L1"}, {"id": "ui_test_travelling_badge_hard", "label": "_hard()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L17"}, {"id": "ui_test_travelling_badge_soft", "label": "_soft()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L21"}, {"id": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed", "label": "test_badge_on_root_when_all_collapsed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L25"}, {"id": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand", "label": "test_badge_travels_inward_as_nodes_expand()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L34"}, {"id": "ui_test_travelling_badge_test_badge_lands_on_leaf_when_fully_expanded", "label": "test_badge_lands_on_leaf_when_fully_expanded()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L41"}, {"id": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", "label": "test_red_beats_amber_when_aggregated_on_same_node()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L52"}, {"id": "ui_test_travelling_badge_test_amber_only_when_no_hard_findings", "label": "test_amber_only_when_no_hard_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L62"}, {"id": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", "label": "test_two_equipment_get_independent_badges()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L68"}, {"id": "ui_test_travelling_badge_rationale_1", "label": "Unit tests for the travelling problem-badge pure function. GUI/Orchestrator Red", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L1"}, {"id": "ui_test_travelling_badge_rationale_26", "label": "All collapsed: the badge lives on the shallowest collapsed ancestor \u2014 the ro", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L26"}, {"id": "ui_test_travelling_badge_rationale_35", "label": "Expanding the equipment node moves the badge to the project.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L35"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "target": "exlab_wizard_ui_components_travelling_badge", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "target": "ui_test_travelling_badge_hard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "target": "ui_test_travelling_badge_soft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "target": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "target": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "target": "ui_test_travelling_badge_test_badge_lands_on_leaf_when_fully_expanded", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "target": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "target": "ui_test_travelling_badge_test_amber_only_when_no_hard_findings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "target": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L68", "weight": 1.0}, {"source": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed", "target": "ui_test_travelling_badge_hard", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L28", "weight": 1.0}, {"source": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand", "target": "ui_test_travelling_badge_hard", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L36", "weight": 1.0}, {"source": "ui_test_travelling_badge_test_badge_lands_on_leaf_when_fully_expanded", "target": "ui_test_travelling_badge_hard", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L42", "weight": 1.0}, {"source": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", "target": "ui_test_travelling_badge_hard", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L54", "weight": 1.0}, {"source": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", "target": "ui_test_travelling_badge_soft", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L55", "weight": 1.0}, {"source": "ui_test_travelling_badge_test_amber_only_when_no_hard_findings", "target": "ui_test_travelling_badge_soft", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L63", "weight": 1.0}, {"source": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", "target": "ui_test_travelling_badge_hard", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L70", "weight": 1.0}, {"source": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", "target": "ui_test_travelling_badge_soft", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L71", "weight": 1.0}, {"source": "ui_test_travelling_badge_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_travelling_badge_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_travelling_badge_rationale_26", "target": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L26", "weight": 1.0}, {"source": "ui_test_travelling_badge_rationale_35", "target": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L35", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_travelling_badge_hard", "callee": "FindingLocation", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L18"}, {"caller_nid": "ui_test_travelling_badge_soft", "callee": "FindingLocation", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L22"}, {"caller_nid": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed", "callee": "travelling_badges", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L30"}, {"caller_nid": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed", "callee": "BadgeProps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L31"}, {"caller_nid": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand", "callee": "travelling_badges", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L37"}, {"caller_nid": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand", "callee": "BadgeProps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L38"}, {"caller_nid": "ui_test_travelling_badge_test_badge_lands_on_leaf_when_fully_expanded", "callee": "travelling_badges", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L48"}, {"caller_nid": "ui_test_travelling_badge_test_badge_lands_on_leaf_when_fully_expanded", "callee": "BadgeProps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L49"}, {"caller_nid": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", "callee": "travelling_badges", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L57"}, {"caller_nid": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", "callee": "BadgeProps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L59"}, {"caller_nid": "ui_test_travelling_badge_test_amber_only_when_no_hard_findings", "callee": "travelling_badges", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L64"}, {"caller_nid": "ui_test_travelling_badge_test_amber_only_when_no_hard_findings", "callee": "BadgeProps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L65"}, {"caller_nid": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", "callee": "travelling_badges", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L73"}, {"caller_nid": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", "callee": "BadgeProps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L75"}, {"caller_nid": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", "callee": "BadgeProps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py", "source_location": "L76"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a05d929eec7fe323b5363d8320cd79965b410bc0de8566bf86e29aec9d532181.json b/graphify-out/cache/ast/a05d929eec7fe323b5363d8320cd79965b410bc0de8566bf86e29aec9d532181.json deleted file mode 100644 index b8f7d69..0000000 --- a/graphify-out/cache/ast/a05d929eec7fe323b5363d8320cd79965b410bc0de8566bf86e29aec9d532181.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_plugin_guide_index_md", "label": "index.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L1"}, {"id": "plugin_guide_index_plugin_author_guide", "label": "Plugin Author Guide", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L1"}, {"id": "plugin_guide_index_what_plugins_do", "label": "What plugins do", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L9"}, {"id": "plugin_guide_index_where_plugins_fit_in_the_pipeline", "label": "Where plugins fit in the pipeline", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L21"}, {"id": "plugin_guide_index_codeblock_1", "label": "code:block1 (Creation Controller)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L27"}, {"id": "plugin_guide_index_codeblock_2", "label": "code:{toctree} (:maxdepth: 1)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L43"}, {"id": "plugin_guide_index_where_to_look_in_the_codebase", "label": "Where to look in the codebase", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L52"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_plugin_guide_index_md", "target": "plugin_guide_index_plugin_author_guide", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L1", "weight": 1.0}, {"source": "plugin_guide_index_plugin_author_guide", "target": "plugin_guide_index_what_plugins_do", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L9", "weight": 1.0}, {"source": "plugin_guide_index_plugin_author_guide", "target": "plugin_guide_index_where_plugins_fit_in_the_pipeline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L21", "weight": 1.0}, {"source": "plugin_guide_index_where_plugins_fit_in_the_pipeline", "target": "plugin_guide_index_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L27", "weight": 1.0}, {"source": "plugin_guide_index_where_plugins_fit_in_the_pipeline", "target": "plugin_guide_index_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L43", "weight": 1.0}, {"source": "plugin_guide_index_plugin_author_guide", "target": "plugin_guide_index_where_to_look_in_the_codebase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md", "source_location": "L52", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/a06f0bc060f9a182c3f42a0fa9a4e58432e62bae6876e7c69a89d48823891bd8.json b/graphify-out/cache/ast/a06f0bc060f9a182c3f42a0fa9a4e58432e62bae6876e7c69a89d48823891bd8.json deleted file mode 100644 index 5502785..0000000 --- a/graphify-out/cache/ast/a06f0bc060f9a182c3f42a0fa9a4e58432e62bae6876e7c69a89d48823891bd8.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "label": "filter_chips.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L1"}, {"id": "components_filter_chips_chipdefinition", "label": "ChipDefinition", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L23"}, {"id": "components_filter_chips_chipstate", "label": "ChipState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L32"}, {"id": "components_filter_chips_initial_state", "label": "initial_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L38"}, {"id": "components_filter_chips_toggle", "label": "toggle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L44"}, {"id": "components_filter_chips_is_active", "label": "is_active()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L51"}, {"id": "components_filter_chips_list_active", "label": "list_active()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L57"}, {"id": "components_filter_chips_filter_chips", "label": "filter_chips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L63"}, {"id": "components_filter_chips_rationale_1", "label": "Filter-chip strip component (Frontend Spec \u00a73.5.4, \u00a711.1). A row of toggleable", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L1"}, {"id": "components_filter_chips_rationale_24", "label": "One chip in a chip group.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L24"}, {"id": "components_filter_chips_rationale_33", "label": "Mutable state for a chip group.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L33"}, {"id": "components_filter_chips_rationale_39", "label": "Build a :class:`ChipState` from each chip's ``default_on``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L39"}, {"id": "components_filter_chips_rationale_45", "label": "Flip the state of ``chip_id`` and return the new :class:`ChipState`.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L45"}, {"id": "components_filter_chips_rationale_52", "label": "Return ``True`` when ``chip_id`` is currently toggled on.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L52"}, {"id": "components_filter_chips_rationale_58", "label": "Return the ids of currently-active chips, preserving definition order.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L58"}, {"id": "components_filter_chips_rationale_69", "label": "Build the chip strip. Returns the NiceGUI row, or the immutable props dict", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L69"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "components_filter_chips_chipdefinition", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "components_filter_chips_chipstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "components_filter_chips_initial_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "components_filter_chips_toggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "components_filter_chips_is_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "components_filter_chips_list_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "target": "components_filter_chips_filter_chips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L63", "weight": 1.0}, {"source": "components_filter_chips_initial_state", "target": "components_filter_chips_chipstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L41", "weight": 1.0}, {"source": "components_filter_chips_toggle", "target": "components_filter_chips_chipstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L48", "weight": 1.0}, {"source": "components_filter_chips_filter_chips", "target": "components_filter_chips_initial_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L74", "weight": 1.0}, {"source": "components_filter_chips_filter_chips", "target": "components_filter_chips_is_active", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L102", "weight": 1.0}, {"source": "components_filter_chips_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_filter_chips_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L1", "weight": 1.0}, {"source": "components_filter_chips_rationale_24", "target": "components_filter_chips_chipdefinition", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L24", "weight": 1.0}, {"source": "components_filter_chips_rationale_33", "target": "components_filter_chips_chipstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L33", "weight": 1.0}, {"source": "components_filter_chips_rationale_39", "target": "components_filter_chips_initial_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L39", "weight": 1.0}, {"source": "components_filter_chips_rationale_45", "target": "components_filter_chips_toggle", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L45", "weight": 1.0}, {"source": "components_filter_chips_rationale_52", "target": "components_filter_chips_is_active", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L52", "weight": 1.0}, {"source": "components_filter_chips_rationale_58", "target": "components_filter_chips_list_active", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L58", "weight": 1.0}, {"source": "components_filter_chips_rationale_69", "target": "components_filter_chips_filter_chips", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L69", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_filter_chips_filter_chips", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L77"}, {"caller_nid": "components_filter_chips_filter_chips", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L85"}, {"caller_nid": "components_filter_chips_filter_chips", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L85"}, {"caller_nid": "components_filter_chips_filter_chips", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L85"}, {"caller_nid": "components_filter_chips_filter_chips", "callee": "chip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L98"}, {"caller_nid": "components_filter_chips_filter_chips", "callee": "_make_handler", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L100"}, {"caller_nid": "components_filter_chips_filter_chips", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L103"}, {"caller_nid": "components_filter_chips_filter_chips", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py", "source_location": "L105"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a0d66cf9328b7d5d9fa0626a86bea5d8de3f3f7f4003ccc06eb66a755bfba1e0.json b/graphify-out/cache/ast/a0d66cf9328b7d5d9fa0626a86bea5d8de3f3f7f4003ccc06eb66a755bfba1e0.json deleted file mode 100644 index ef27bf7..0000000 --- a/graphify-out/cache/ast/a0d66cf9328b7d5d9fa0626a86bea5d8de3f3f7f4003ccc06eb66a755bfba1e0.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "label": "rclone.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L1"}, {"id": "transports_rclone_classify_failure", "label": "_classify_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L69"}, {"id": "transports_rclone_checkresult", "label": "CheckResult", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L93"}, {"id": "transports_rclone_aboutresult", "label": "AboutResult", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L116"}, {"id": "transports_rclone_build_rclone_env", "label": "build_rclone_env()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L135"}, {"id": "transports_rclone_pass_env_keys_for", "label": "pass_env_keys_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L173"}, {"id": "transports_rclone_obscure", "label": "obscure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L188"}, {"id": "transports_rclone_rclonedriver", "label": "RcloneDriver", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L220"}, {"id": "transports_rclone_rclonedriver_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L223"}, {"id": "transports_rclone_rclonedriver_push", "label": ".push()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L226"}, {"id": "transports_rclone_rclonedriver_check", "label": ".check()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L277"}, {"id": "transports_rclone_rclonedriver_about", "label": ".about()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L358"}, {"id": "transports_rclone_parse_combined", "label": "_parse_combined()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L400"}, {"id": "transports_rclone_rationale_1", "label": "rclone transport driver. Backend Spec \u00a77.1.3. Single transport binary for the N", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L1"}, {"id": "transports_rclone_rationale_70", "label": "Map a (returncode, stderr) into a :class:`TransportErrorKind`. Auth failure", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L70"}, {"id": "transports_rclone_rationale_94", "label": "Parsed result of a ``rclone check --combined`` run. The combined-output for", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L94"}, {"id": "transports_rclone_rationale_117", "label": "Outcome of ``rclone about --json``. Surfaces as the equipment-prob", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L117"}, {"id": "transports_rclone_rationale_141", "label": "Build the ``RCLONE_CONFIG__*`` env dict for an inline backend. The", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L141"}, {"id": "transports_rclone_rationale_174", "label": "Return the env-key tuple that must be redacted from subprocess logs. The on", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L174"}, {"id": "transports_rclone_rationale_189", "label": "Return the rclone-obscured form of ``password``. rclone refuses raw passwor", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L189"}, {"id": "transports_rclone_rationale_221", "label": "rclone transport driver. Backend Spec \u00a77.1.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L221"}, {"id": "transports_rclone_rationale_236", "label": "Run ``rclone copy --checksum`` from ``local`` to ``remote``. ``remote``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L236"}, {"id": "transports_rclone_rationale_286", "label": "Run ``rclone check --download --files-from --combined`` over ``files_from``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L286"}, {"id": "transports_rclone_rationale_365", "label": "Run ``rclone about --json`` -- the equipment probe. Used by th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L365"}, {"id": "transports_rclone_rationale_401", "label": "Parse ``rclone check --combined`` output into a :class:`CheckResult`. Each", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L401"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "shlex", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "exlab_wizard_sync_transports", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "exlab_wizard_sync_transports_run", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "transports_rclone_classify_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "transports_rclone_checkresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "transports_rclone_aboutresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "transports_rclone_build_rclone_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "transports_rclone_pass_env_keys_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L173", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "transports_rclone_obscure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L188", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "transports_rclone_rclonedriver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L220", "weight": 1.0}, {"source": "transports_rclone_rclonedriver", "target": "transports_rclone_rclonedriver_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L223", "weight": 1.0}, {"source": "transports_rclone_rclonedriver", "target": "transports_rclone_rclonedriver_push", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L226", "weight": 1.0}, {"source": "transports_rclone_rclonedriver", "target": "transports_rclone_rclonedriver_check", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L277", "weight": 1.0}, {"source": "transports_rclone_rclonedriver", "target": "transports_rclone_rclonedriver_about", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L358", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "target": "transports_rclone_parse_combined", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L400", "weight": 1.0}, {"source": "transports_rclone_rclonedriver_push", "target": "transports_rclone_classify_failure", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L267", "weight": 1.0}, {"source": "transports_rclone_rclonedriver_check", "target": "transports_rclone_classify_failure", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L344", "weight": 1.0}, {"source": "transports_rclone_rclonedriver_check", "target": "transports_rclone_parse_combined", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L354", "weight": 1.0}, {"source": "transports_rclone_rclonedriver_about", "target": "transports_rclone_aboutresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L381", "weight": 1.0}, {"source": "transports_rclone_rclonedriver_about", "target": "transports_rclone_classify_failure", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L384", "weight": 1.0}, {"source": "transports_rclone_parse_combined", "target": "transports_rclone_checkresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L432", "weight": 1.0}, {"source": "transports_rclone_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_transports_rclone_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L1", "weight": 1.0}, {"source": "transports_rclone_rationale_70", "target": "transports_rclone_classify_failure", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L70", "weight": 1.0}, {"source": "transports_rclone_rationale_94", "target": "transports_rclone_checkresult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L94", "weight": 1.0}, {"source": "transports_rclone_rationale_117", "target": "transports_rclone_aboutresult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L117", "weight": 1.0}, {"source": "transports_rclone_rationale_141", "target": "transports_rclone_build_rclone_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L141", "weight": 1.0}, {"source": "transports_rclone_rationale_174", "target": "transports_rclone_pass_env_keys_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L174", "weight": 1.0}, {"source": "transports_rclone_rationale_189", "target": "transports_rclone_obscure", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L189", "weight": 1.0}, {"source": "transports_rclone_rationale_221", "target": "transports_rclone_rclonedriver", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L221", "weight": 1.0}, {"source": "transports_rclone_rationale_236", "target": "transports_rclone_rclonedriver_push", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L236", "weight": 1.0}, {"source": "transports_rclone_rationale_286", "target": "transports_rclone_rclonedriver_check", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L286", "weight": 1.0}, {"source": "transports_rclone_rationale_365", "target": "transports_rclone_rclonedriver_about", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L365", "weight": 1.0}, {"source": "transports_rclone_rationale_401", "target": "transports_rclone_parse_combined", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L401", "weight": 1.0}], "raw_calls": [{"caller_nid": "transports_rclone_classify_failure", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L77"}, {"caller_nid": "transports_rclone_classify_failure", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L78"}, {"caller_nid": "transports_rclone_build_rclone_env", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L152"}, {"caller_nid": "transports_rclone_build_rclone_env", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L154"}, {"caller_nid": "transports_rclone_build_rclone_env", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L157"}, {"caller_nid": "transports_rclone_build_rclone_env", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L161"}, {"caller_nid": "transports_rclone_build_rclone_env", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L169"}, {"caller_nid": "transports_rclone_build_rclone_env", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L170"}, {"caller_nid": "transports_rclone_pass_env_keys_for", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L180"}, {"caller_nid": "transports_rclone_obscure", "callee": "run_subprocess", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L203"}, {"caller_nid": "transports_rclone_obscure", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L203"}, {"caller_nid": "transports_rclone_obscure", "callee": "TransportError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L206"}, {"caller_nid": "transports_rclone_obscure", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L209"}, {"caller_nid": "transports_rclone_obscure", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L210"}, {"caller_nid": "transports_rclone_obscure", "callee": "TransportError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L211"}, {"caller_nid": "transports_rclone_obscure", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L212"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L252"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L254"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L254"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L255"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L255"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L256"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L256"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "run_subprocess", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L259"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "TransportError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L262"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "TransportResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L265"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L268"}, {"caller_nid": "transports_rclone_rclonedriver_push", "callee": "TransportResult", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L269"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "NamedTemporaryFile", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L302"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L309"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L310"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L317"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L319"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L320"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L323"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L323"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "run_subprocess", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L327"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "TransportError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L330"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L339"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L350"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L351"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "TransportError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L352"}, {"caller_nid": "transports_rclone_rclonedriver_check", "callee": "unlink", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L356"}, {"caller_nid": "transports_rclone_rclonedriver_about", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L376"}, {"caller_nid": "transports_rclone_rclonedriver_about", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L376"}, {"caller_nid": "transports_rclone_rclonedriver_about", "callee": "run_subprocess", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L379"}, {"caller_nid": "transports_rclone_rclonedriver_about", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L385"}, {"caller_nid": "transports_rclone_rclonedriver_about", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L388"}, {"caller_nid": "transports_rclone_rclonedriver_about", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L388"}, {"caller_nid": "transports_rclone_rclonedriver_about", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L391"}, {"caller_nid": "transports_rclone_rclonedriver_about", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L391"}, {"caller_nid": "transports_rclone_rclonedriver_about", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L391"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "splitlines", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L413"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "rstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L414"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L415"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L421"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L423"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L425"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L427"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L429"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L431"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L433"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L434"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L435"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L436"}, {"caller_nid": "transports_rclone_parse_combined", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py", "source_location": "L437"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a0d679701d6b9681455a0423756e43793b0035ed53ccd0080a1525ae7d23035c.json b/graphify-out/cache/ast/a0d679701d6b9681455a0423756e43793b0035ed53ccd0080a1525ae7d23035c.json deleted file mode 100644 index 2f7fd99..0000000 --- a/graphify-out/cache/ast/a0d679701d6b9681455a0423756e43793b0035ed53ccd0080a1525ae7d23035c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "label": "test_settings_nas_credentials.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L1"}, {"id": "ui_test_settings_nas_credentials_nas_equipment", "label": "_nas_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L25"}, {"id": "ui_test_settings_nas_credentials_stage_equipment", "label": "_stage_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L41"}, {"id": "ui_test_settings_nas_credentials_config_with", "label": "_config_with()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L56"}, {"id": "ui_test_settings_nas_credentials_testids", "label": "_testids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L64"}, {"id": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment", "label": "test_sections_omit_nas_credentials_without_password_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L77"}, {"id": "ui_test_settings_nas_credentials_test_sections_insert_nas_credentials_after_equipment", "label": "test_sections_insert_nas_credentials_after_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L85"}, {"id": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment", "label": "test_section_renders_one_row_per_password_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L99"}, {"id": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists", "label": "test_section_nav_entry_present_when_password_equipment_exists()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L118"}, {"id": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config", "label": "test_section_nav_entry_absent_for_stage_only_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L130"}, {"id": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action", "label": "test_present_password_opens_set_state_with_clear_action()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L141"}, {"id": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id", "label": "test_handlers_factory_called_per_equipment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L155"}, {"id": "ui_test_settings_nas_credentials_rationale_1", "label": "Tests for the Settings NAS-credentials section (rclone-only migration). The sec", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "exlab_wizard_api_app", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_nas_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_stage_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_config_with", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_testids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_test_sections_insert_nas_credentials_after_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L99", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L118", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L130", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L141", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "target": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L155", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment", "target": "ui_test_settings_nas_credentials_config_with", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L78", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment", "target": "ui_test_settings_nas_credentials_stage_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L78", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_sections_insert_nas_credentials_after_equipment", "target": "ui_test_settings_nas_credentials_config_with", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L86", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_sections_insert_nas_credentials_after_equipment", "target": "ui_test_settings_nas_credentials_nas_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L86", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment", "target": "ui_test_settings_nas_credentials_config_with", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L100", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment", "target": "ui_test_settings_nas_credentials_nas_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L100", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment", "target": "ui_test_settings_nas_credentials_testids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L109", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists", "target": "ui_test_settings_nas_credentials_config_with", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L119", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists", "target": "ui_test_settings_nas_credentials_nas_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L119", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists", "target": "ui_test_settings_nas_credentials_testids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L126", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config", "target": "ui_test_settings_nas_credentials_config_with", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L131", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config", "target": "ui_test_settings_nas_credentials_stage_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L131", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config", "target": "ui_test_settings_nas_credentials_testids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L137", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action", "target": "ui_test_settings_nas_credentials_config_with", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L142", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action", "target": "ui_test_settings_nas_credentials_nas_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L142", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action", "target": "ui_test_settings_nas_credentials_testids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L150", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id", "target": "ui_test_settings_nas_credentials_config_with", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L156", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id", "target": "ui_test_settings_nas_credentials_nas_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L156", "weight": 1.0}, {"source": "ui_test_settings_nas_credentials_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_settings_nas_credentials_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_settings_nas_credentials_nas_equipment", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L26"}, {"caller_nid": "ui_test_settings_nas_credentials_nas_equipment", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L32"}, {"caller_nid": "ui_test_settings_nas_credentials_stage_equipment", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L42"}, {"caller_nid": "ui_test_settings_nas_credentials_stage_equipment", "callee": "OrchestratorStagingTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L48"}, {"caller_nid": "ui_test_settings_nas_credentials_config_with", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L57"}, {"caller_nid": "ui_test_settings_nas_credentials_config_with", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L58"}, {"caller_nid": "ui_test_settings_nas_credentials_config_with", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L59"}, {"caller_nid": "ui_test_settings_nas_credentials_config_with", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L60"}, {"caller_nid": "ui_test_settings_nas_credentials_testids", "callee": "descendants", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L67"}, {"caller_nid": "ui_test_settings_nas_credentials_testids", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L68"}, {"caller_nid": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment", "callee": "settings_sections_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L79"}, {"caller_nid": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment", "callee": "settings_sections_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L81"}, {"caller_nid": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment", "callee": "settings_sections_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L82"}, {"caller_nid": "ui_test_settings_nas_credentials_test_sections_insert_nas_credentials_after_equipment", "callee": "settings_sections_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L87"}, {"caller_nid": "ui_test_settings_nas_credentials_test_sections_insert_nas_credentials_after_equipment", "callee": "index", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L90"}, {"caller_nid": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment", "callee": "render_settings_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L101"}, {"caller_nid": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L103"}, {"caller_nid": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists", "callee": "render_settings_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L120"}, {"caller_nid": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L122"}, {"caller_nid": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config", "callee": "render_settings_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L132"}, {"caller_nid": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L134"}, {"caller_nid": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action", "callee": "render_settings_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L143"}, {"caller_nid": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L145"}, {"caller_nid": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id", "callee": "render_settings_page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L163"}, {"caller_nid": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id", "callee": "SettingsState", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L165"}, {"caller_nid": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_credentials.py", "source_location": "L171"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a118dfd2d0c11d9ba17cca7fb7021ba0a12df307cd3d0805a97dc63e4171ee85.json b/graphify-out/cache/ast/a118dfd2d0c11d9ba17cca7fb7021ba0a12df307cd3d0805a97dc63e4171ee85.json deleted file mode 100644 index e15e286..0000000 --- a/graphify-out/cache/ast/a118dfd2d0c11d9ba17cca7fb7021ba0a12df307cd3d0805a97dc63e4171ee85.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "label": "test_pre_sync_gate.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L1"}, {"id": "sync_test_pre_sync_gate_build_creation", "label": "_build_creation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L28"}, {"id": "sync_test_pre_sync_gate_validator", "label": "validator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L58"}, {"id": "sync_test_pre_sync_gate_test_clean_run_is_eligible", "label": "test_clean_run_is_eligible()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L62"}, {"id": "sync_test_pre_sync_gate_test_hard_finding_blocks", "label": "test_hard_finding_blocks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L78"}, {"id": "sync_test_pre_sync_gate_test_active_override_unblocks", "label": "test_active_override_unblocks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L94"}, {"id": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", "label": "test_revoked_override_does_not_unblock()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L130"}, {"id": "sync_test_pre_sync_gate_test_soft_finding_does_not_block", "label": "test_soft_finding_does_not_block()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L165"}, {"id": "sync_test_pre_sync_gate_rationale_1", "label": "Tests for ``exlab_wizard.sync.pre_sync_gate``. Backend Spec \u00a77.3. The Pre-Sync", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L1"}, {"id": "sync_test_pre_sync_gate_rationale_63", "label": "A creation with no validator findings is eligible for sync.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L63"}, {"id": "sync_test_pre_sync_gate_rationale_79", "label": "An unresolved-placeholder token in the path triggers a block.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L79"}, {"id": "sync_test_pre_sync_gate_rationale_95", "label": "An active override matching the finding's rule unblocks sync.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L95"}, {"id": "sync_test_pre_sync_gate_rationale_131", "label": "An override that has been revoked does NOT unblock sync.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L131"}, {"id": "sync_test_pre_sync_gate_rationale_166", "label": "A soft-tier finding (missing-required-field) does NOT block sync. The valid", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L166"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "exlab_wizard_sync_pre_sync_gate", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "sync_test_pre_sync_gate_build_creation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "sync_test_pre_sync_gate_validator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "sync_test_pre_sync_gate_test_clean_run_is_eligible", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "sync_test_pre_sync_gate_test_hard_finding_blocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L78", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "sync_test_pre_sync_gate_test_active_override_unblocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L94", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L130", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "target": "sync_test_pre_sync_gate_test_soft_finding_does_not_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L165", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_test_clean_run_is_eligible", "target": "sync_test_pre_sync_gate_build_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L68", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_test_hard_finding_blocks", "target": "sync_test_pre_sync_gate_build_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L84", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_test_active_override_unblocks", "target": "sync_test_pre_sync_gate_build_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L120", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", "target": "sync_test_pre_sync_gate_build_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L155", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_test_soft_finding_does_not_block", "target": "sync_test_pre_sync_gate_build_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L177", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_sync_test_pre_sync_gate_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_rationale_63", "target": "sync_test_pre_sync_gate_test_clean_run_is_eligible", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L63", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_rationale_79", "target": "sync_test_pre_sync_gate_test_hard_finding_blocks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L79", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_rationale_95", "target": "sync_test_pre_sync_gate_test_active_override_unblocks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L95", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_rationale_131", "target": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L131", "weight": 1.0}, {"source": "sync_test_pre_sync_gate_rationale_166", "target": "sync_test_pre_sync_gate_test_soft_finding_does_not_block", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L166", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_test_pre_sync_gate_build_creation", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L34"}, {"caller_nid": "sync_test_pre_sync_gate_build_creation", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L40"}, {"caller_nid": "sync_test_pre_sync_gate_build_creation", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L45"}, {"caller_nid": "sync_test_pre_sync_gate_build_creation", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L52"}, {"caller_nid": "sync_test_pre_sync_gate_test_clean_run_is_eligible", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L65"}, {"caller_nid": "sync_test_pre_sync_gate_test_clean_run_is_eligible", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L66"}, {"caller_nid": "sync_test_pre_sync_gate_test_clean_run_is_eligible", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L68"}, {"caller_nid": "sync_test_pre_sync_gate_test_clean_run_is_eligible", "callee": "is_eligible", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L69"}, {"caller_nid": "sync_test_pre_sync_gate_test_hard_finding_blocks", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L81"}, {"caller_nid": "sync_test_pre_sync_gate_test_hard_finding_blocks", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L82"}, {"caller_nid": "sync_test_pre_sync_gate_test_hard_finding_blocks", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L84"}, {"caller_nid": "sync_test_pre_sync_gate_test_hard_finding_blocks", "callee": "is_eligible", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L85"}, {"caller_nid": "sync_test_pre_sync_gate_test_hard_finding_blocks", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L91"}, {"caller_nid": "sync_test_pre_sync_gate_test_active_override_unblocks", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L97"}, {"caller_nid": "sync_test_pre_sync_gate_test_active_override_unblocks", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L98"}, {"caller_nid": "sync_test_pre_sync_gate_test_active_override_unblocks", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L101"}, {"caller_nid": "sync_test_pre_sync_gate_test_active_override_unblocks", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L102"}, {"caller_nid": "sync_test_pre_sync_gate_test_active_override_unblocks", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L110"}, {"caller_nid": "sync_test_pre_sync_gate_test_active_override_unblocks", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L111"}, {"caller_nid": "sync_test_pre_sync_gate_test_active_override_unblocks", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L120"}, {"caller_nid": "sync_test_pre_sync_gate_test_active_override_unblocks", "callee": "is_eligible", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L121"}, {"caller_nid": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L133"}, {"caller_nid": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L134"}, {"caller_nid": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L137"}, {"caller_nid": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L138"}, {"caller_nid": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L155"}, {"caller_nid": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", "callee": "is_eligible", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L156"}, {"caller_nid": "sync_test_pre_sync_gate_test_soft_finding_does_not_block", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L175"}, {"caller_nid": "sync_test_pre_sync_gate_test_soft_finding_does_not_block", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L177"}, {"caller_nid": "sync_test_pre_sync_gate_test_soft_finding_does_not_block", "callee": "is_eligible", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py", "source_location": "L178"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a1de9354fa7c06ffb565def4bc13f4008d0f3a9ddaf1766e0a41f46fbde05573.json b/graphify-out/cache/ast/a1de9354fa7c06ffb565def4bc13f4008d0f3a9ddaf1766e0a41f46fbde05573.json deleted file mode 100644 index b40859a..0000000 --- a/graphify-out/cache/ast/a1de9354fa7c06ffb565def4bc13f4008d0f3a9ddaf1766e0a41f46fbde05573.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_input_required_dialog_py", "label": "input_required_dialog.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L1"}, {"id": "components_input_required_dialog_field_id", "label": "_field_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L23"}, {"id": "components_input_required_dialog_collect_default_values", "label": "collect_default_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L29"}, {"id": "components_input_required_dialog_input_required_dialog", "label": "input_required_dialog()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L50"}, {"id": "components_input_required_dialog_rationale_1", "label": "Plugin ``INPUT_REQUIRED`` escalation dialog (Frontend Spec \u00a79.1). When a plugin", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L1"}, {"id": "components_input_required_dialog_rationale_24", "label": "Return the field's identifier (``id``, falling back to ``key``).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L24"}, {"id": "components_input_required_dialog_rationale_30", "label": "Seed an answers dict from each field's declared default. Booleans default t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L30"}, {"id": "components_input_required_dialog_rationale_58", "label": "Build the \u00a79.1 \"Additional input required\" dialog. Renders one widget per f", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L58"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_input_required_dialog_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_input_required_dialog_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_input_required_dialog_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_input_required_dialog_py", "target": "components_input_required_dialog_field_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_input_required_dialog_py", "target": "components_input_required_dialog_collect_default_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_input_required_dialog_py", "target": "components_input_required_dialog_input_required_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L50", "weight": 1.0}, {"source": "components_input_required_dialog_collect_default_values", "target": "components_input_required_dialog_field_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L38", "weight": 1.0}, {"source": "components_input_required_dialog_input_required_dialog", "target": "components_input_required_dialog_collect_default_values", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L66", "weight": 1.0}, {"source": "components_input_required_dialog_input_required_dialog", "target": "components_input_required_dialog_field_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L102", "weight": 1.0}, {"source": "components_input_required_dialog_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_input_required_dialog_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L1", "weight": 1.0}, {"source": "components_input_required_dialog_rationale_24", "target": "components_input_required_dialog_field_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L24", "weight": 1.0}, {"source": "components_input_required_dialog_rationale_30", "target": "components_input_required_dialog_collect_default_values", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L30", "weight": 1.0}, {"source": "components_input_required_dialog_rationale_58", "target": "components_input_required_dialog_input_required_dialog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L58", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_input_required_dialog_field_id", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L25"}, {"caller_nid": "components_input_required_dialog_field_id", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L25"}, {"caller_nid": "components_input_required_dialog_field_id", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L26"}, {"caller_nid": "components_input_required_dialog_collect_default_values", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L41"}, {"caller_nid": "components_input_required_dialog_collect_default_values", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L41"}, {"caller_nid": "components_input_required_dialog_collect_default_values", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L42"}, {"caller_nid": "components_input_required_dialog_collect_default_values", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L44"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L76"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "dialog", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L76"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L88"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L88"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "card", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L88"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L90"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L90"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L94"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L94"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L94"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L100"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L100"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L105"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L105"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L106"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L106"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L108"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "checkbox", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L108"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L110"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L110"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L111"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L111"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "select", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L111"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L115"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L115"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "textarea", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L115"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L117"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L117"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L117"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L118"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L118"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L118"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L119"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L119"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "_cancel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L119"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L122"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L122"}, {"caller_nid": "components_input_required_dialog_input_required_dialog", "callee": "_submit", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py", "source_location": "L122"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a33387e54c60ab53c19beed3720c7f130e4022fe9e21680ddabaddafadd695f8.json b/graphify-out/cache/ast/a33387e54c60ab53c19beed3720c7f130e4022fe9e21680ddabaddafadd695f8.json deleted file mode 100644 index c849d51..0000000 --- a/graphify-out/cache/ast/a33387e54c60ab53c19beed3720c7f130e4022fe9e21680ddabaddafadd695f8.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_utils_state_py", "label": "state.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L1"}, {"id": "utils_state_assert_forward_transition", "label": "assert_forward_transition()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L14"}, {"id": "utils_state_rationale_1", "label": "Generic forward-transition guard for closed-set state machines. Used by both th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L1"}, {"id": "utils_state_rationale_19", "label": "Raise ``ValueError`` when ``current -> new_state`` is not in ``table``. ``t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L19"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_utils_state_py", "target": "utils_state_assert_forward_transition", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L14", "weight": 1.0}, {"source": "utils_state_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_utils_state_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L1", "weight": 1.0}, {"source": "utils_state_rationale_19", "target": "utils_state_assert_forward_transition", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L19", "weight": 1.0}], "raw_calls": [{"caller_nid": "utils_state_assert_forward_transition", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L27"}, {"caller_nid": "utils_state_assert_forward_transition", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L29"}, {"caller_nid": "utils_state_assert_forward_transition", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L31"}, {"caller_nid": "utils_state_assert_forward_transition", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L31"}, {"caller_nid": "utils_state_assert_forward_transition", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py", "source_location": "L32"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a3ce57d096782792935b92bb82c746a898b53b8fddbf25d4978125b55e803ae1.json b/graphify-out/cache/ast/a3ce57d096782792935b92bb82c746a898b53b8fddbf25d4978125b55e803ae1.json deleted file mode 100644 index d383cd9..0000000 --- a/graphify-out/cache/ast/a3ce57d096782792935b92bb82c746a898b53b8fddbf25d4978125b55e803ae1.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "label": "test_limits.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L1"}, {"id": "constants_test_limits_test_plugin_timeout_max_seconds", "label": "test_plugin_timeout_max_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L12"}, {"id": "constants_test_limits_test_plugin_memory_max_mb", "label": "test_plugin_memory_max_mb()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L17"}, {"id": "constants_test_limits_test_plugin_validation_cpu_seconds", "label": "test_plugin_validation_cpu_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L22"}, {"id": "constants_test_limits_test_plugin_validation_memory_mb", "label": "test_plugin_validation_memory_mb()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L27"}, {"id": "constants_test_limits_test_plugin_validation_wall_seconds", "label": "test_plugin_validation_wall_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L32"}, {"id": "constants_test_limits_test_plugin_rlimit_nofile", "label": "test_plugin_rlimit_nofile()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L37"}, {"id": "constants_test_limits_test_plugin_ipc_frame_cap_bytes_is_one_mib", "label": "test_plugin_ipc_frame_cap_bytes_is_one_mib()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L42"}, {"id": "constants_test_limits_test_plugin_api_version", "label": "test_plugin_api_version()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L48"}, {"id": "constants_test_limits_test_plugin_supported_api_versions", "label": "test_plugin_supported_api_versions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L54"}, {"id": "constants_test_limits_test_plugin_forbidden_path_prefixes", "label": "test_plugin_forbidden_path_prefixes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L62"}, {"id": "constants_test_limits_test_label_max_length", "label": "test_label_max_length()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L72"}, {"id": "constants_test_limits_test_objective_max_length", "label": "test_objective_max_length()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L77"}, {"id": "constants_test_limits_test_validator_binary_detect_bytes", "label": "test_validator_binary_detect_bytes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L82"}, {"id": "constants_test_limits_test_log_line_max_bytes", "label": "test_log_line_max_bytes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L87"}, {"id": "constants_test_limits_test_session_gc_after_seconds", "label": "test_session_gc_after_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L92"}, {"id": "constants_test_limits_test_audit_refresh_seconds", "label": "test_audit_refresh_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L97"}, {"id": "constants_test_limits_test_quit_drain_timeout_seconds", "label": "test_quit_drain_timeout_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L102"}, {"id": "constants_test_limits_test_sigterm_drain_timeout_seconds", "label": "test_sigterm_drain_timeout_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L107"}, {"id": "constants_test_limits_test_tray_status_refresh_seconds", "label": "test_tray_status_refresh_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L112"}, {"id": "constants_test_limits_test_worker_timeout_grace_seconds", "label": "test_worker_timeout_grace_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L117"}, {"id": "constants_test_limits_test_window_default_size", "label": "test_window_default_size()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L122"}, {"id": "constants_test_limits_test_notification_coalesce_seconds", "label": "test_notification_coalesce_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L128"}, {"id": "constants_test_limits_test_disk_space_preflight_mib", "label": "test_disk_space_preflight_mib()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L133"}, {"id": "constants_test_limits_test_limits_re_exported_from_package", "label": "test_limits_re_exported_from_package()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L138"}, {"id": "constants_test_limits_rationale_1", "label": "Verify the numeric limits and policy ceilings. Each value here is hard-coded pe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_plugin_timeout_max_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_plugin_memory_max_mb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_plugin_validation_cpu_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_plugin_validation_memory_mb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_plugin_validation_wall_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_plugin_rlimit_nofile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_plugin_ipc_frame_cap_bytes_is_one_mib", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_plugin_api_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_plugin_supported_api_versions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_plugin_forbidden_path_prefixes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_label_max_length", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_objective_max_length", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_validator_binary_detect_bytes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L82", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_log_line_max_bytes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_session_gc_after_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_audit_refresh_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L97", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_quit_drain_timeout_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_sigterm_drain_timeout_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L107", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_tray_status_refresh_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_worker_timeout_grace_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L117", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_window_default_size", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L122", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_notification_coalesce_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_disk_space_preflight_mib", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L133", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "target": "constants_test_limits_test_limits_re_exported_from_package", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L138", "weight": 1.0}, {"source": "constants_test_limits_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_constants_test_limits_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "constants_test_limits_test_plugin_api_version", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L51"}, {"caller_nid": "constants_test_limits_test_plugin_supported_api_versions", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L56"}, {"caller_nid": "constants_test_limits_test_plugin_supported_api_versions", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L57"}, {"caller_nid": "constants_test_limits_test_plugin_forbidden_path_prefixes", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L69"}, {"caller_nid": "constants_test_limits_test_limits_re_exported_from_package", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py", "source_location": "L151"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a3dcbb34ce16fc4395ec1e31d985f1568f15b1e91b535b8264ca65b9f943aced.json b/graphify-out/cache/ast/a3dcbb34ce16fc4395ec1e31d985f1568f15b1e91b535b8264ca65b9f943aced.json deleted file mode 100644 index c4613e8..0000000 --- a/graphify-out/cache/ast/a3dcbb34ce16fc4395ec1e31d985f1568f15b1e91b535b8264ca65b9f943aced.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_ux_documentation_py", "label": "test_ux_documentation.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L1"}, {"id": "e2e_test_ux_documentation_render_doc", "label": "_render_doc()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L45"}, {"id": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", "label": "test_ux_interactions_doc_is_current()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L66"}, {"id": "e2e_test_ux_documentation_test_ux_catalog_is_non_trivial", "label": "test_ux_catalog_is_non_trivial()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L86"}, {"id": "e2e_test_ux_documentation_references", "label": "_references()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L97"}, {"id": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", "label": "test_ux_interaction_testids_exist_in_source()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L116"}, {"id": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", "label": "test_ux_interactions_are_e2e_covered()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L127"}, {"id": "e2e_test_ux_documentation_rationale_1", "label": "Automated UX-interaction documentation + coverage checks. Drives :mod:`tests.e2", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L1"}, {"id": "e2e_test_ux_documentation_rationale_46", "label": "Render the catalog into the ``UX_INTERACTIONS.md`` markdown body.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L46"}, {"id": "e2e_test_ux_documentation_rationale_67", "label": "``docs/UX_INTERACTIONS.md`` is regenerated from the catalog. Regenerates th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L67"}, {"id": "e2e_test_ux_documentation_rationale_87", "label": "Guard against an empty catalog silently passing the other checks.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L87"}, {"id": "e2e_test_ux_documentation_rationale_98", "label": "Return ``True`` when ``haystack`` references ``testid``. Tolerates testids", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L98"}, {"id": "e2e_test_ux_documentation_rationale_117", "label": "Every cataloged ``data-testid`` is present in the UI source.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L117"}, {"id": "e2e_test_ux_documentation_rationale_128", "label": "Every cataloged ``data-testid`` is driven by an e2e test. Scans the whole `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L128"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_ux_documentation_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_ux_documentation_py", "target": "tests_e2e_ux_catalog", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_ux_documentation_py", "target": "e2e_test_ux_documentation_render_doc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_ux_documentation_py", "target": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L66", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_ux_documentation_py", "target": "e2e_test_ux_documentation_test_ux_catalog_is_non_trivial", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_ux_documentation_py", "target": "e2e_test_ux_documentation_references", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L97", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_ux_documentation_py", "target": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_ux_documentation_py", "target": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L127", "weight": 1.0}, {"source": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", "target": "e2e_test_ux_documentation_render_doc", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L74", "weight": 1.0}, {"source": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", "target": "e2e_test_ux_documentation_references", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L122", "weight": 1.0}, {"source": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", "target": "e2e_test_ux_documentation_references", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L140", "weight": 1.0}, {"source": "e2e_test_ux_documentation_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_ux_documentation_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_ux_documentation_rationale_46", "target": "e2e_test_ux_documentation_render_doc", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L46", "weight": 1.0}, {"source": "e2e_test_ux_documentation_rationale_67", "target": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L67", "weight": 1.0}, {"source": "e2e_test_ux_documentation_rationale_87", "target": "e2e_test_ux_documentation_test_ux_catalog_is_non_trivial", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L87", "weight": 1.0}, {"source": "e2e_test_ux_documentation_rationale_98", "target": "e2e_test_ux_documentation_references", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L98", "weight": 1.0}, {"source": "e2e_test_ux_documentation_rationale_117", "target": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L117", "weight": 1.0}, {"source": "e2e_test_ux_documentation_rationale_128", "target": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L128", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_ux_documentation_render_doc", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L51"}, {"caller_nid": "e2e_test_ux_documentation_render_doc", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L53"}, {"caller_nid": "e2e_test_ux_documentation_render_doc", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L54"}, {"caller_nid": "e2e_test_ux_documentation_render_doc", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L55"}, {"caller_nid": "e2e_test_ux_documentation_render_doc", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L59"}, {"caller_nid": "e2e_test_ux_documentation_render_doc", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L63"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L75"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L75"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L77"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L78"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", "callee": "relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L80"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L83"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_catalog_is_non_trivial", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L88"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_catalog_is_non_trivial", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L90"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_catalog_is_non_trivial", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L94"}, {"caller_nid": "e2e_test_ux_documentation_references", "callee": "rsplit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L110"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L118"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L119"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L119"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", "callee": "rglob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L119"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L121"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L134"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L135"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L136"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", "callee": "rglob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L136"}, {"caller_nid": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py", "source_location": "L139"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a3f99a44f18af8698afa6fdd29e4c8703138299ce8c8dfd83d91319715f78381.json b/graphify-out/cache/ast/a3f99a44f18af8698afa6fdd29e4c8703138299ce8c8dfd83d91319715f78381.json deleted file mode 100644 index 71d8b63..0000000 --- a/graphify-out/cache/ast/a3f99a44f18af8698afa6fdd29e4c8703138299ce8c8dfd83d91319715f78381.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "label": "main.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L1"}, {"id": "window_main_serverhandshake", "label": "ServerHandshake", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L38"}, {"id": "window_main_serverhandshake_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L43"}, {"id": "window_main_read_server_handshake", "label": "read_server_handshake()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L49"}, {"id": "window_main_is_pid_alive", "label": "is_pid_alive()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L74"}, {"id": "window_main_posix_is_pid_alive", "label": "_posix_is_pid_alive()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L92"}, {"id": "window_main_win_is_pid_alive", "label": "_win_is_pid_alive()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L110"}, {"id": "window_main_main", "label": "main()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L133"}, {"id": "window_main_default_handoff", "label": "_default_handoff()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L173"}, {"id": "window_main_rationale_1", "label": "``exlab-wizard-window`` console_scripts entry point. Backend Spec \u00a715.3.2. Read", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L1"}, {"id": "window_main_rationale_39", "label": "Resolved ``server.json`` contents: ``port`` / ``pid`` / ``started_at``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L39"}, {"id": "window_main_rationale_50", "label": "Read and validate ``/server.json``. Returns the handshake on suc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L50"}, {"id": "window_main_rationale_75", "label": "Cross-platform \"is this PID a live process?\" check. Implementation: POSIX `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L75"}, {"id": "window_main_rationale_140", "label": "Entry point. Backend Spec \u00a715.3.2. ``argv`` is ignored at this phase (the s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L140"}, {"id": "window_main_rationale_174", "label": "Hand off control to :mod:`pywebview_app`.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L174"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "window_main_serverhandshake", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L38", "weight": 1.0}, {"source": "window_main_serverhandshake", "target": "window_main_serverhandshake_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "window_main_read_server_handshake", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "window_main_is_pid_alive", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L74", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "window_main_posix_is_pid_alive", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "window_main_win_is_pid_alive", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L110", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "window_main_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L133", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "target": "window_main_default_handoff", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L173", "weight": 1.0}, {"source": "window_main_read_server_handshake", "target": "window_main_serverhandshake", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L65", "weight": 1.0}, {"source": "window_main_is_pid_alive", "target": "window_main_win_is_pid_alive", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L88", "weight": 1.0}, {"source": "window_main_is_pid_alive", "target": "window_main_posix_is_pid_alive", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L89", "weight": 1.0}, {"source": "window_main_main", "target": "window_main_read_server_handshake", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L154", "weight": 1.0}, {"source": "window_main_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_window_main_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L1", "weight": 1.0}, {"source": "window_main_rationale_39", "target": "window_main_serverhandshake", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L39", "weight": 1.0}, {"source": "window_main_rationale_50", "target": "window_main_read_server_handshake", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L50", "weight": 1.0}, {"source": "window_main_rationale_75", "target": "window_main_is_pid_alive", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L75", "weight": 1.0}, {"source": "window_main_rationale_140", "target": "window_main_main", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L140", "weight": 1.0}, {"source": "window_main_rationale_174", "target": "window_main_default_handoff", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L174", "weight": 1.0}], "raw_calls": [{"caller_nid": "window_main_serverhandshake_init", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L44"}, {"caller_nid": "window_main_serverhandshake_init", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L45"}, {"caller_nid": "window_main_serverhandshake_init", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L46"}, {"caller_nid": "window_main_read_server_handshake", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L57"}, {"caller_nid": "window_main_read_server_handshake", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L58"}, {"caller_nid": "window_main_read_server_handshake", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L61"}, {"caller_nid": "window_main_read_server_handshake", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L61"}, {"caller_nid": "window_main_read_server_handshake", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L66"}, {"caller_nid": "window_main_read_server_handshake", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L67"}, {"caller_nid": "window_main_read_server_handshake", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L68"}, {"caller_nid": "window_main_read_server_handshake", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L68"}, {"caller_nid": "window_main_posix_is_pid_alive", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L96"}, {"caller_nid": "window_main_win_is_pid_alive", "callee": "OpenProcess", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L117"}, {"caller_nid": "window_main_win_is_pid_alive", "callee": "c_ulong", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L121"}, {"caller_nid": "window_main_win_is_pid_alive", "callee": "GetExitCodeProcess", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L122"}, {"caller_nid": "window_main_win_is_pid_alive", "callee": "byref", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L122"}, {"caller_nid": "window_main_win_is_pid_alive", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L123"}, {"caller_nid": "window_main_win_is_pid_alive", "callee": "CloseHandle", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L125"}, {"caller_nid": "window_main_main", "callee": "ensure_state_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L153"}, {"caller_nid": "window_main_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L156"}, {"caller_nid": "window_main_main", "callee": "alive_check", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L162"}, {"caller_nid": "window_main_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L163"}, {"caller_nid": "window_main_main", "callee": "handler", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L170"}, {"caller_nid": "window_main_default_handoff", "callee": "run_window", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py", "source_location": "L177"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a40e4db31ea6d70810356c1fb33415b47fe23d048e9222dc044e063e08c02d66.json b/graphify-out/cache/ast/a40e4db31ea6d70810356c1fb33415b47fe23d048e9222dc044e063e08c02d66.json deleted file mode 100644 index 27baebb..0000000 --- a/graphify-out/cache/ast/a40e4db31ea6d70810356c1fb33415b47fe23d048e9222dc044e063e08c02d66.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/__init__.py", "source_location": "L1"}, {"id": "plugins_init_rationale_1", "label": "Plugins package. Backend Spec \u00a76. Re-exports the public plugin contract surface", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_init_py", "target": "exlab_wizard_plugins_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/__init__.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_init_py", "target": "exlab_wizard_plugins_logger", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/__init__.py", "source_location": "L18", "weight": 1.0}, {"source": "plugins_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/a5109e3486d984bf05821eb1e720e35a3980bf28b801d10b8a3b233aa80f24ce.json b/graphify-out/cache/ast/a5109e3486d984bf05821eb1e720e35a3980bf28b801d10b8a3b233aa80f24ce.json deleted file mode 100644 index be84c4d..0000000 --- a/graphify-out/cache/ast/a5109e3486d984bf05821eb1e720e35a3980bf28b801d10b8a3b233aa80f24ce.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_welcome_py", "label": "welcome.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L1"}, {"id": "pages_welcome_welcomecardspec", "label": "WelcomeCardSpec", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L40"}, {"id": "pages_welcome_welcome_card_spec", "label": "welcome_card_spec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L53"}, {"id": "pages_welcome_render_welcome_page", "label": "render_welcome_page()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L68"}, {"id": "pages_welcome_rationale_1", "label": "Welcome card page (Frontend Spec \u00a73.1.3). Modal card shown exactly once on the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L1"}, {"id": "pages_welcome_rationale_41", "label": "Render spec captured for unit-test assertions.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L41"}, {"id": "pages_welcome_rationale_54", "label": "Return the immutable spec used to render the welcome card.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L54"}, {"id": "pages_welcome_rationale_73", "label": "Render the welcome card. ``on_get_started`` and ``on_skip`` are invoked wit", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L73"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_welcome_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_welcome_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_welcome_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_welcome_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_welcome_py", "target": "pages_welcome_welcomecardspec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_welcome_py", "target": "pages_welcome_welcome_card_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_welcome_py", "target": "pages_welcome_render_welcome_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L68", "weight": 1.0}, {"source": "pages_welcome_welcome_card_spec", "target": "pages_welcome_welcomecardspec", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L56", "weight": 1.0}, {"source": "pages_welcome_render_welcome_page", "target": "pages_welcome_welcome_card_spec", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L80", "weight": 1.0}, {"source": "pages_welcome_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_welcome_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L1", "weight": 1.0}, {"source": "pages_welcome_rationale_41", "target": "pages_welcome_welcomecardspec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L41", "weight": 1.0}, {"source": "pages_welcome_rationale_54", "target": "pages_welcome_welcome_card_spec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L54", "weight": 1.0}, {"source": "pages_welcome_rationale_73", "target": "pages_welcome_render_welcome_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L73", "weight": 1.0}], "raw_calls": [{"caller_nid": "pages_welcome_render_welcome_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L89"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L89"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "card", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L89"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L100"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L100"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L100"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L107"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L107"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L112"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L112"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L119"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "checkbox", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L119"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L124"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L124"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L128"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L128"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L128"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L129"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L129"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "on_skip", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L131"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L133"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L133"}, {"caller_nid": "pages_welcome_render_welcome_page", "callee": "on_get_started", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py", "source_location": "L135"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a5d653e6455d2ed0a6a6470eafaf2da4b4ed2d9c46c6c137fc2d4767de21e97f.json b/graphify-out/cache/ast/a5d653e6455d2ed0a6a6470eafaf2da4b4ed2d9c46c6c137fc2d4767de21e97f.json deleted file mode 100644 index cab383c..0000000 --- a/graphify-out/cache/ast/a5d653e6455d2ed0a6a6470eafaf2da4b4ed2d9c46c6c137fc2d4767de21e97f.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "label": "test_equipment.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L1"}, {"id": "cache_test_equipment_make_equipment_payload", "label": "_make_equipment_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L35"}, {"id": "cache_test_equipment_make_test_runs_payload", "label": "_make_test_runs_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L62"}, {"id": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", "label": "test_write_equipment_produces_valid_v1_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L83"}, {"id": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", "label": "test_write_equipment_creates_parent_cache_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L104"}, {"id": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "label": "test_write_equipment_preserves_first_seen_at_on_rewrite()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L114"}, {"id": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "label": "test_write_equipment_updates_last_modified_at_on_rewrite()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L131"}, {"id": "cache_test_equipment_test_read_equipment_round_trips", "label": "test_read_equipment_round_trips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L146"}, {"id": "cache_test_equipment_test_read_equipment_raises_when_file_missing", "label": "test_read_equipment_raises_when_file_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L163"}, {"id": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", "label": "test_write_equipment_corrupt_existing_file_recovers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L171"}, {"id": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file", "label": "test_write_test_runs_marker_creates_v1_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L193"}, {"id": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir", "label": "test_write_test_runs_marker_creates_parent_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L206"}, {"id": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", "label": "test_write_test_runs_marker_is_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L215"}, {"id": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "label": "test_write_test_runs_marker_concurrent_first_writes_safe()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L239"}, {"id": "cache_test_equipment_test_read_test_runs_marker_round_trips", "label": "test_read_test_runs_marker_round_trips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L266"}, {"id": "cache_test_equipment_test_require_schema_major_raises_on_none_version", "label": "test_require_schema_major_raises_on_none_version()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L282"}, {"id": "cache_test_equipment_test_require_schema_major_raises_on_empty_version", "label": "test_require_schema_major_raises_on_empty_version()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L291"}, {"id": "cache_test_equipment_test_require_schema_major_raises_on_garbage_version", "label": "test_require_schema_major_raises_on_garbage_version()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L300"}, {"id": "cache_test_equipment_test_require_schema_major_passes_on_same_major", "label": "test_require_schema_major_passes_on_same_major()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L309"}, {"id": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json", "label": "test_read_equipment_skips_check_for_malformed_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L319"}, {"id": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing", "label": "test_read_equipment_skips_check_when_schema_version_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L332"}, {"id": "cache_test_equipment_rationale_1", "label": "Unit tests for ``exlab_wizard.cache.equipment``. The schemas come from ``exlab_", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L1"}, {"id": "cache_test_equipment_rationale_44", "label": "Build a :class:`EquipmentJson` payload for tests. Timestamps are stamped by", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L44"}, {"id": "cache_test_equipment_rationale_84", "label": "First write produces a parseable v1.0 file with both timestamps stamped.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L84"}, {"id": "cache_test_equipment_rationale_105", "label": "Parent ``.exlab-wizard`` is auto-created if missing.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L105"}, {"id": "cache_test_equipment_rationale_115", "label": "Re-writing an existing file keeps the original ``first_seen_at``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L115"}, {"id": "cache_test_equipment_rationale_132", "label": "``last_modified_at`` advances on every write; ``first_seen_at`` is frozen.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L132"}, {"id": "cache_test_equipment_rationale_147", "label": "A round-trip write \u2192 read returns an equivalent payload.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L147"}, {"id": "cache_test_equipment_rationale_172", "label": "A corrupt existing file is rewritten cleanly; first_seen_at is fresh. The \u00a7", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L172"}, {"id": "cache_test_equipment_rationale_216", "label": "Second write is a no-op even when the input payload differs. Per \u00a711.4.2: s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L216"}, {"id": "cache_test_equipment_rationale_240", "label": "Concurrent first-time writes do not corrupt the file. Two coroutines race t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L240"}, {"id": "cache_test_equipment_rationale_267", "label": "Round-trip: write -> read returns an equivalent payload.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L267"}, {"id": "cache_test_equipment_rationale_283", "label": "An absent or ``None`` ``schema_version`` is a major-mismatch case.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L283"}, {"id": "cache_test_equipment_rationale_292", "label": "Empty string is treated like ``None`` (no parseable major).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L292"}, {"id": "cache_test_equipment_rationale_301", "label": "A non-``MAJOR.MINOR`` string is treated as a major-mismatch case.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L301"}, {"id": "cache_test_equipment_rationale_310", "label": "Same major (different minor) is allowed.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L310"}, {"id": "cache_test_equipment_rationale_320", "label": "The ``_check_schema_major_from_bytes`` helper silently ignores malformed JSO", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L320"}, {"id": "cache_test_equipment_rationale_335", "label": "A file with no ``schema_version`` falls through to the typed decoder (which", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L335"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "exlab_wizard_cache_equipment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_make_equipment_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_make_test_runs_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L104", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L114", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L131", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_read_equipment_round_trips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L146", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_read_equipment_raises_when_file_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L163", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L171", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L193", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L206", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L215", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L239", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_read_test_runs_marker_round_trips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L266", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_require_schema_major_raises_on_none_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L282", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_require_schema_major_raises_on_empty_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L291", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_require_schema_major_raises_on_garbage_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L300", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_require_schema_major_passes_on_same_major", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L309", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L319", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "target": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L332", "weight": 1.0}, {"source": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", "target": "cache_test_equipment_make_equipment_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L87", "weight": 1.0}, {"source": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", "target": "cache_test_equipment_make_equipment_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L109", "weight": 1.0}, {"source": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "target": "cache_test_equipment_make_equipment_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L118", "weight": 1.0}, {"source": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "target": "cache_test_equipment_make_equipment_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L135", "weight": 1.0}, {"source": "cache_test_equipment_test_read_equipment_round_trips", "target": "cache_test_equipment_make_equipment_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L150", "weight": 1.0}, {"source": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", "target": "cache_test_equipment_make_equipment_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L181", "weight": 1.0}, {"source": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file", "target": "cache_test_equipment_make_test_runs_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L196", "weight": 1.0}, {"source": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir", "target": "cache_test_equipment_make_test_runs_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L210", "weight": 1.0}, {"source": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", "target": "cache_test_equipment_make_test_runs_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L224", "weight": 1.0}, {"source": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "target": "cache_test_equipment_make_test_runs_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L249", "weight": 1.0}, {"source": "cache_test_equipment_test_read_test_runs_marker_round_trips", "target": "cache_test_equipment_make_test_runs_payload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L270", "weight": 1.0}, {"source": "cache_test_equipment_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_cache_test_equipment_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L1", "weight": 1.0}, {"source": "cache_test_equipment_rationale_44", "target": "cache_test_equipment_make_equipment_payload", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L44", "weight": 1.0}, {"source": "cache_test_equipment_rationale_84", "target": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L84", "weight": 1.0}, {"source": "cache_test_equipment_rationale_105", "target": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L105", "weight": 1.0}, {"source": "cache_test_equipment_rationale_115", "target": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L115", "weight": 1.0}, {"source": "cache_test_equipment_rationale_132", "target": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L132", "weight": 1.0}, {"source": "cache_test_equipment_rationale_147", "target": "cache_test_equipment_test_read_equipment_round_trips", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L147", "weight": 1.0}, {"source": "cache_test_equipment_rationale_172", "target": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L172", "weight": 1.0}, {"source": "cache_test_equipment_rationale_216", "target": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L216", "weight": 1.0}, {"source": "cache_test_equipment_rationale_240", "target": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L240", "weight": 1.0}, {"source": "cache_test_equipment_rationale_267", "target": "cache_test_equipment_test_read_test_runs_marker_round_trips", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L267", "weight": 1.0}, {"source": "cache_test_equipment_rationale_283", "target": "cache_test_equipment_test_require_schema_major_raises_on_none_version", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L283", "weight": 1.0}, {"source": "cache_test_equipment_rationale_292", "target": "cache_test_equipment_test_require_schema_major_raises_on_empty_version", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L292", "weight": 1.0}, {"source": "cache_test_equipment_rationale_301", "target": "cache_test_equipment_test_require_schema_major_raises_on_garbage_version", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L301", "weight": 1.0}, {"source": "cache_test_equipment_rationale_310", "target": "cache_test_equipment_test_require_schema_major_passes_on_same_major", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L310", "weight": 1.0}, {"source": "cache_test_equipment_rationale_320", "target": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L320", "weight": 1.0}, {"source": "cache_test_equipment_rationale_335", "target": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L335", "weight": 1.0}], "raw_calls": [{"caller_nid": "cache_test_equipment_make_equipment_payload", "callee": "EquipmentJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L51"}, {"caller_nid": "cache_test_equipment_make_test_runs_payload", "callee": "TRMarkerJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L68"}, {"caller_nid": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L85"}, {"caller_nid": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", "callee": "write_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L87"}, {"caller_nid": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L88"}, {"caller_nid": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L88"}, {"caller_nid": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L96"}, {"caller_nid": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L97"}, {"caller_nid": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L106"}, {"caller_nid": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L108"}, {"caller_nid": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", "callee": "write_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L109"}, {"caller_nid": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L110"}, {"caller_nid": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L116"}, {"caller_nid": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "callee": "write_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L118"}, {"caller_nid": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L119"}, {"caller_nid": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L119"}, {"caller_nid": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L122"}, {"caller_nid": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "callee": "write_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L123"}, {"caller_nid": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L124"}, {"caller_nid": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L124"}, {"caller_nid": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L133"}, {"caller_nid": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "callee": "write_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L135"}, {"caller_nid": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L136"}, {"caller_nid": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L136"}, {"caller_nid": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L137"}, {"caller_nid": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "callee": "write_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L138"}, {"caller_nid": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L139"}, {"caller_nid": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L139"}, {"caller_nid": "cache_test_equipment_test_read_equipment_round_trips", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L148"}, {"caller_nid": "cache_test_equipment_test_read_equipment_round_trips", "callee": "write_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L150"}, {"caller_nid": "cache_test_equipment_test_read_equipment_round_trips", "callee": "read_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L151"}, {"caller_nid": "cache_test_equipment_test_read_equipment_round_trips", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L152"}, {"caller_nid": "cache_test_equipment_test_read_equipment_round_trips", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L158"}, {"caller_nid": "cache_test_equipment_test_read_equipment_round_trips", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L159"}, {"caller_nid": "cache_test_equipment_test_read_equipment_raises_when_file_missing", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L164"}, {"caller_nid": "cache_test_equipment_test_read_equipment_raises_when_file_missing", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L166"}, {"caller_nid": "cache_test_equipment_test_read_equipment_raises_when_file_missing", "callee": "read_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L167"}, {"caller_nid": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L178"}, {"caller_nid": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L180"}, {"caller_nid": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", "callee": "write_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L181"}, {"caller_nid": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L182"}, {"caller_nid": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L182"}, {"caller_nid": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L184"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L194"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file", "callee": "write_test_runs_marker", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L196"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L197"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L197"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L207"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L209"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir", "callee": "write_test_runs_marker", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L210"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L211"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L222"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", "callee": "write_test_runs_marker", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L226"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L227"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", "callee": "write_test_runs_marker", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L228"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L229"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L233"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L246"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L250"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "callee": "gather", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L252"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "callee": "write_test_runs_marker", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L252"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L253"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L254"}, {"caller_nid": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L254"}, {"caller_nid": "cache_test_equipment_test_read_test_runs_marker_round_trips", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L268"}, {"caller_nid": "cache_test_equipment_test_read_test_runs_marker_round_trips", "callee": "write_test_runs_marker", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L270"}, {"caller_nid": "cache_test_equipment_test_read_test_runs_marker_round_trips", "callee": "read_test_runs_marker", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L271"}, {"caller_nid": "cache_test_equipment_test_require_schema_major_raises_on_none_version", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L287"}, {"caller_nid": "cache_test_equipment_test_require_schema_major_raises_on_none_version", "callee": "require_schema_major", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L288"}, {"caller_nid": "cache_test_equipment_test_require_schema_major_raises_on_empty_version", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L296"}, {"caller_nid": "cache_test_equipment_test_require_schema_major_raises_on_empty_version", "callee": "require_schema_major", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L297"}, {"caller_nid": "cache_test_equipment_test_require_schema_major_raises_on_garbage_version", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L305"}, {"caller_nid": "cache_test_equipment_test_require_schema_major_raises_on_garbage_version", "callee": "require_schema_major", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L306"}, {"caller_nid": "cache_test_equipment_test_require_schema_major_passes_on_same_major", "callee": "require_schema_major", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L314"}, {"caller_nid": "cache_test_equipment_test_require_schema_major_passes_on_same_major", "callee": "require_schema_major", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L315"}, {"caller_nid": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L322"}, {"caller_nid": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L324"}, {"caller_nid": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L327"}, {"caller_nid": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json", "callee": "read_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L328"}, {"caller_nid": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing", "callee": "EquipmentCacheWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L337"}, {"caller_nid": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L340"}, {"caller_nid": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L343"}, {"caller_nid": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing", "callee": "read_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py", "source_location": "L344"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a5ff97af7a71e6a5a1a8c78c22e57b6268ede98ddb0f80feaeba41e8aeb31930.json b/graphify-out/cache/ast/a5ff97af7a71e6a5a1a8c78c22e57b6268ede98ddb0f80feaeba41e8aeb31930.json deleted file mode 100644 index 146b134..0000000 --- a/graphify-out/cache/ast/a5ff97af7a71e6a5a1a8c78c22e57b6268ede98ddb0f80feaeba41e8aeb31930.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_patterns_py", "label": "patterns.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/patterns.py", "source_location": "L1"}, {"id": "constants_patterns_rationale_1", "label": "Regex patterns and filename-rule literals used by validators. Each regex is pro", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/patterns.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_patterns_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/patterns.py", "source_location": "L12", "weight": 1.0}, {"source": "constants_patterns_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_patterns_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/patterns.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/a61cef421981e7e6b926805fae30f66cf94d4d34ebcad103ceb968f4055a51f4.json b/graphify-out/cache/ast/a61cef421981e7e6b926805fae30f66cf94d4d34ebcad103ceb968f4055a51f4.json deleted file mode 100644 index ac6d2ca..0000000 --- a/graphify-out/cache/ast/a61cef421981e7e6b926805fae30f66cf94d4d34ebcad103ceb968f4055a51f4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "label": "test_wizard_equipment.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L1"}, {"id": "ui_test_wizard_equipment_test_wizard_has_four_steps_without_signal_step", "label": "test_wizard_has_four_steps_without_signal_step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L17"}, {"id": "ui_test_wizard_equipment_state_filled_for", "label": "_state_filled_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L24"}, {"id": "ui_test_wizard_equipment_test_can_advance_identity_requires_id_and_label", "label": "test_can_advance_identity_requires_id_and_label()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L39"}, {"id": "ui_test_wizard_equipment_test_can_advance_identity_rejects_invalid_id", "label": "test_can_advance_identity_rejects_invalid_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L48"}, {"id": "ui_test_wizard_equipment_test_can_advance_paths_requires_both_roots", "label": "test_can_advance_paths_requires_both_roots()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L55"}, {"id": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_requires_rclone_fields", "label": "test_can_advance_sync_mode_nas_requires_rclone_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L62"}, {"id": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_requires_staging_fields", "label": "test_can_advance_sync_mode_stage_requires_staging_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L69"}, {"id": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_nas", "label": "test_assemble_round_trips_to_valid_equipment_config_nas()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L78"}, {"id": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_stage", "label": "test_assemble_round_trips_to_valid_equipment_config_stage()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L86"}, {"id": "ui_test_wizard_equipment_test_assemble_rejects_invalid_input", "label": "test_assemble_rejects_invalid_input()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L97"}, {"id": "ui_test_wizard_equipment_rationale_1", "label": "Unit tests for the Add-Equipment wizard. Redesign \u00a76.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L1"}, {"id": "ui_test_wizard_equipment_rationale_18", "label": "The completeness-signal step is removed by the quiescence redesign.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L18"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "exlab_wizard_ui_pages_wizard_equipment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "ui_test_wizard_equipment_test_wizard_has_four_steps_without_signal_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "ui_test_wizard_equipment_state_filled_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "ui_test_wizard_equipment_test_can_advance_identity_requires_id_and_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "ui_test_wizard_equipment_test_can_advance_identity_rejects_invalid_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "ui_test_wizard_equipment_test_can_advance_paths_requires_both_roots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_requires_rclone_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_requires_staging_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_nas", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L78", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_stage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "target": "ui_test_wizard_equipment_test_assemble_rejects_invalid_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L97", "weight": 1.0}, {"source": "ui_test_wizard_equipment_test_can_advance_paths_requires_both_roots", "target": "ui_test_wizard_equipment_state_filled_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L56", "weight": 1.0}, {"source": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_requires_rclone_fields", "target": "ui_test_wizard_equipment_state_filled_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L63", "weight": 1.0}, {"source": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_requires_staging_fields", "target": "ui_test_wizard_equipment_state_filled_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L70", "weight": 1.0}, {"source": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_nas", "target": "ui_test_wizard_equipment_state_filled_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L79", "weight": 1.0}, {"source": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_stage", "target": "ui_test_wizard_equipment_state_filled_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L87", "weight": 1.0}, {"source": "ui_test_wizard_equipment_test_assemble_rejects_invalid_input", "target": "ui_test_wizard_equipment_state_filled_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L98", "weight": 1.0}, {"source": "ui_test_wizard_equipment_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_wizard_equipment_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_wizard_equipment_rationale_18", "target": "ui_test_wizard_equipment_test_wizard_has_four_steps_without_signal_step", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L18", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_wizard_equipment_test_wizard_has_four_steps_without_signal_step", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L20"}, {"caller_nid": "ui_test_wizard_equipment_test_wizard_has_four_steps_without_signal_step", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L20"}, {"caller_nid": "ui_test_wizard_equipment_state_filled_for", "callee": "EquipmentWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L25"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_identity_requires_id_and_label", "callee": "EquipmentWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L40"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_identity_requires_id_and_label", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L41"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_identity_requires_id_and_label", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L43"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_identity_requires_id_and_label", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L45"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_identity_rejects_invalid_id", "callee": "EquipmentWizardState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L49"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_identity_rejects_invalid_id", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L52"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_paths_requires_both_roots", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L57"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_paths_requires_both_roots", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L59"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_requires_rclone_fields", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L64"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_requires_rclone_fields", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L66"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_requires_staging_fields", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L72"}, {"caller_nid": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_requires_staging_fields", "callee": "can_advance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L75"}, {"caller_nid": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_nas", "callee": "assemble_equipment_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L80"}, {"caller_nid": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_stage", "callee": "assemble_equipment_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L91"}, {"caller_nid": "ui_test_wizard_equipment_test_assemble_rejects_invalid_input", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L100"}, {"caller_nid": "ui_test_wizard_equipment_test_assemble_rejects_invalid_input", "callee": "assemble_equipment_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py", "source_location": "L101"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/a815d55d3438d1bc959a6b0f58553b0b56a8fce3d00eeeb7a48cb6ae63afe9f6.json b/graphify-out/cache/ast/a815d55d3438d1bc959a6b0f58553b0b56a8fce3d00eeeb7a48cb6ae63afe9f6.json deleted file mode 100644 index 0b13777..0000000 --- a/graphify-out/cache/ast/a815d55d3438d1bc959a6b0f58553b0b56a8fce3d00eeeb7a48cb6ae63afe9f6.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "label": "errors.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L1"}, {"id": "api_errors_extract_or_create_trace_id", "label": "extract_or_create_trace_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L96"}, {"id": "api_errors_build_error_envelope", "label": "build_error_envelope()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L110"}, {"id": "api_errors_error_response", "label": "error_response()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L140"}, {"id": "api_errors_exlab_validation_handler", "label": "_exlab_validation_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L175"}, {"id": "api_errors_pydantic_validation_handler", "label": "_pydantic_validation_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L197"}, {"id": "api_errors_pydantic_error_to_dict", "label": "_pydantic_error_to_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L228"}, {"id": "api_errors_config_error_handler", "label": "_config_error_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L237"}, {"id": "api_errors_keyring_unavailable_handler", "label": "_keyring_unavailable_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L246"}, {"id": "api_errors_schema_major_mismatch_handler", "label": "_schema_major_mismatch_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L255"}, {"id": "api_errors_setup_incomplete_handler", "label": "_setup_incomplete_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L265"}, {"id": "api_errors_template_load_error_handler", "label": "_template_load_error_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L289"}, {"id": "api_errors_http_exception_handler", "label": "_http_exception_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L303"}, {"id": "api_errors_status_to_code", "label": "_status_to_code()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L336"}, {"id": "api_errors_generic_handler", "label": "_generic_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L349"}, {"id": "api_errors_register_exception_handlers", "label": "register_exception_handlers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L368"}, {"id": "api_errors_register", "label": "_register()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L395"}, {"id": "api_errors_rationale_1", "label": "Error envelope helpers + FastAPI exception handlers. Backend Spec \u00a74.6.3. Every", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L1"}, {"id": "api_errors_rationale_97", "label": "Return the request's ``X-Trace-Id`` header, else a fresh hex id. Server-gen", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L97"}, {"id": "api_errors_rationale_118", "label": "Build the \u00a74.6.3 envelope dict. ``code`` is validated against :data:`ERROR_", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L118"}, {"id": "api_errors_rationale_150", "label": "Build a FastAPI JSONResponse carrying the \u00a74.6.3 envelope. ``extra`` is mer", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L150"}, {"id": "api_errors_rationale_176", "label": "Translate :class:`exlab_wizard.errors.ValidationError` to envelope. The con", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L176"}, {"id": "api_errors_rationale_200", "label": "Translate Pydantic validation errors to the \u00a74.6.3 envelope. FastAPI raises", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L200"}, {"id": "api_errors_rationale_229", "label": "Strip Pydantic error dicts of unhashable / large fields.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L229"}, {"id": "api_errors_rationale_266", "label": "Translate :class:`SetupIncompleteError` to the \u00a74.9.2 envelope. The control", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L266"}, {"id": "api_errors_rationale_304", "label": "Translate an :class:`HTTPException` into the \u00a74.6.3 envelope. Routers raise", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L304"}, {"id": "api_errors_rationale_337", "label": "Best-effort default code for a bare ``HTTPException``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L337"}, {"id": "api_errors_rationale_350", "label": "Catch-all 500 handler. Backend Spec \u00a74.6.3 last paragraph. The exception's", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L350"}, {"id": "api_errors_rationale_369", "label": "Attach the \u00a74.6.3 envelope handlers to a FastAPI app. Registered in priorit", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L369"}, {"id": "api_errors_rationale_400", "label": "Wrap ``app.add_exception_handler`` so the handler is accepted as ``Any``. S", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L400"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "secrets", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "fastapi_exceptions", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "fastapi_responses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_extract_or_create_trace_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L96", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_build_error_envelope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L110", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_error_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L140", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_exlab_validation_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_pydantic_validation_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L197", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_pydantic_error_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L228", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_config_error_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L237", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_keyring_unavailable_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L246", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_schema_major_mismatch_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L255", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_setup_incomplete_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L265", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_template_load_error_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L289", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_http_exception_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L303", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_status_to_code", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L336", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_generic_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L349", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_register_exception_handlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L368", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "target": "api_errors_register", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L395", "weight": 1.0}, {"source": "api_errors_error_response", "target": "api_errors_extract_or_create_trace_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L156", "weight": 1.0}, {"source": "api_errors_error_response", "target": "api_errors_build_error_envelope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L157", "weight": 1.0}, {"source": "api_errors_exlab_validation_handler", "target": "api_errors_error_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L187", "weight": 1.0}, {"source": "api_errors_pydantic_validation_handler", "target": "api_errors_error_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L218", "weight": 1.0}, {"source": "api_errors_pydantic_validation_handler", "target": "api_errors_pydantic_error_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L224", "weight": 1.0}, {"source": "api_errors_config_error_handler", "target": "api_errors_error_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L238", "weight": 1.0}, {"source": "api_errors_keyring_unavailable_handler", "target": "api_errors_error_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L247", "weight": 1.0}, {"source": "api_errors_schema_major_mismatch_handler", "target": "api_errors_error_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L256", "weight": 1.0}, {"source": "api_errors_setup_incomplete_handler", "target": "api_errors_error_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L280", "weight": 1.0}, {"source": "api_errors_template_load_error_handler", "target": "api_errors_error_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L295", "weight": 1.0}, {"source": "api_errors_http_exception_handler", "target": "api_errors_error_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L319", "weight": 1.0}, {"source": "api_errors_http_exception_handler", "target": "api_errors_status_to_code", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L330", "weight": 1.0}, {"source": "api_errors_generic_handler", "target": "api_errors_extract_or_create_trace_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L357", "weight": 1.0}, {"source": "api_errors_generic_handler", "target": "api_errors_error_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L359", "weight": 1.0}, {"source": "api_errors_register_exception_handlers", "target": "api_errors_register", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L383", "weight": 1.0}, {"source": "api_errors_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_errors_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L1", "weight": 1.0}, {"source": "api_errors_rationale_97", "target": "api_errors_extract_or_create_trace_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L97", "weight": 1.0}, {"source": "api_errors_rationale_118", "target": "api_errors_build_error_envelope", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L118", "weight": 1.0}, {"source": "api_errors_rationale_150", "target": "api_errors_error_response", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L150", "weight": 1.0}, {"source": "api_errors_rationale_176", "target": "api_errors_exlab_validation_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L176", "weight": 1.0}, {"source": "api_errors_rationale_200", "target": "api_errors_pydantic_validation_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L200", "weight": 1.0}, {"source": "api_errors_rationale_229", "target": "api_errors_pydantic_error_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L229", "weight": 1.0}, {"source": "api_errors_rationale_266", "target": "api_errors_setup_incomplete_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L266", "weight": 1.0}, {"source": "api_errors_rationale_304", "target": "api_errors_http_exception_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L304", "weight": 1.0}, {"source": "api_errors_rationale_337", "target": "api_errors_status_to_code", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L337", "weight": 1.0}, {"source": "api_errors_rationale_350", "target": "api_errors_generic_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L350", "weight": 1.0}, {"source": "api_errors_rationale_369", "target": "api_errors_register_exception_handlers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L369", "weight": 1.0}, {"source": "api_errors_rationale_400", "target": "api_errors_register", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L400", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_errors_extract_or_create_trace_id", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L104"}, {"caller_nid": "api_errors_extract_or_create_trace_id", "callee": "token_hex", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L107"}, {"caller_nid": "api_errors_build_error_envelope", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L125"}, {"caller_nid": "api_errors_build_error_envelope", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L134"}, {"caller_nid": "api_errors_error_response", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L165"}, {"caller_nid": "api_errors_error_response", "callee": "JSONResponse", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L167"}, {"caller_nid": "api_errors_exlab_validation_handler", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L184"}, {"caller_nid": "api_errors_exlab_validation_handler", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L185"}, {"caller_nid": "api_errors_exlab_validation_handler", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L186"}, {"caller_nid": "api_errors_exlab_validation_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L189"}, {"caller_nid": "api_errors_exlab_validation_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L190"}, {"caller_nid": "api_errors_exlab_validation_handler", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L190"}, {"caller_nid": "api_errors_exlab_validation_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L190"}, {"caller_nid": "api_errors_exlab_validation_handler", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L192"}, {"caller_nid": "api_errors_exlab_validation_handler", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L193"}, {"caller_nid": "api_errors_pydantic_validation_handler", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L206"}, {"caller_nid": "api_errors_pydantic_validation_handler", "callee": "errors", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L206"}, {"caller_nid": "api_errors_pydantic_validation_handler", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L208"}, {"caller_nid": "api_errors_pydantic_validation_handler", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L212"}, {"caller_nid": "api_errors_pydantic_validation_handler", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L214"}, {"caller_nid": "api_errors_pydantic_validation_handler", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L215"}, {"caller_nid": "api_errors_pydantic_validation_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L215"}, {"caller_nid": "api_errors_pydantic_validation_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L221"}, {"caller_nid": "api_errors_pydantic_validation_handler", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L221"}, {"caller_nid": "api_errors_pydantic_error_to_dict", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L231"}, {"caller_nid": "api_errors_pydantic_error_to_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L231"}, {"caller_nid": "api_errors_pydantic_error_to_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L232"}, {"caller_nid": "api_errors_pydantic_error_to_dict", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L233"}, {"caller_nid": "api_errors_config_error_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L241"}, {"caller_nid": "api_errors_keyring_unavailable_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L250"}, {"caller_nid": "api_errors_schema_major_mismatch_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L259"}, {"caller_nid": "api_errors_setup_incomplete_handler", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L274"}, {"caller_nid": "api_errors_setup_incomplete_handler", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L279"}, {"caller_nid": "api_errors_setup_incomplete_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L283"}, {"caller_nid": "api_errors_template_load_error_handler", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L292"}, {"caller_nid": "api_errors_template_load_error_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L298"}, {"caller_nid": "api_errors_http_exception_handler", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L311"}, {"caller_nid": "api_errors_http_exception_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L312"}, {"caller_nid": "api_errors_http_exception_handler", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L312"}, {"caller_nid": "api_errors_http_exception_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L313"}, {"caller_nid": "api_errors_http_exception_handler", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L313"}, {"caller_nid": "api_errors_http_exception_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L313"}, {"caller_nid": "api_errors_http_exception_handler", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L314"}, {"caller_nid": "api_errors_http_exception_handler", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L315"}, {"caller_nid": "api_errors_http_exception_handler", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L317"}, {"caller_nid": "api_errors_http_exception_handler", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L331"}, {"caller_nid": "api_errors_generic_handler", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L358"}, {"caller_nid": "api_errors_register", "callee": "add_exception_handler", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py", "source_location": "L408"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/aa0d41659d5eeb92a3bac34d443ef0eaa42d4504ffe0229770901b7e402f887f.json b/graphify-out/cache/ast/aa0d41659d5eeb92a3bac34d443ef0eaa42d4504ffe0229770901b7e402f887f.json deleted file mode 100644 index 9998c67..0000000 --- a/graphify-out/cache/ast/aa0d41659d5eeb92a3bac34d443ef0eaa42d4504ffe0229770901b7e402f887f.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "label": "test_mount.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1"}, {"id": "ui_test_mount_deps", "label": "_deps()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L29"}, {"id": "ui_test_mount_config", "label": "_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L43"}, {"id": "ui_test_mount_fluent", "label": "_Fluent", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L79"}, {"id": "ui_test_mount_fluent_props", "label": ".props()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L82"}, {"id": "ui_test_mount_fluent_style", "label": ".style()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L85"}, {"id": "ui_test_mount_fluent_classes", "label": ".classes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L88"}, {"id": "ui_test_mount_fluent_enter", "label": ".__enter__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L91"}, {"id": "ui_test_mount_fluent_exit", "label": ".__exit__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L94"}, {"id": "ui_test_mount_fakeui", "label": "_FakeUI", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L98"}, {"id": "ui_test_mount_fakeui_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L101"}, {"id": "ui_test_mount_fakeui_card", "label": ".card()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L107"}, {"id": "ui_test_mount_fakeui_label", "label": ".label()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L111"}, {"id": "ui_test_mount_boomui", "label": "_BoomUI", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L116"}, {"id": "ui_test_mount_boomui_card", "label": ".card()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L119"}, {"id": "ui_test_mount_boomui_label", "label": ".label()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L123"}, {"id": "ui_test_mount_fakecontroller", "label": "_FakeController", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L128"}, {"id": "ui_test_mount_fakecontroller_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L131"}, {"id": "ui_test_mount_fakecontroller_status", "label": ".status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L147"}, {"id": "ui_test_mount_fakecontroller_create_project", "label": ".create_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L150"}, {"id": "ui_test_mount_fakecontroller_create_run", "label": ".create_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L157"}, {"id": "ui_test_mount_test_is_setup_ready_false_when_deps_none", "label": "test_is_setup_ready_false_when_deps_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L175"}, {"id": "ui_test_mount_test_is_setup_ready_false_when_config_missing", "label": "test_is_setup_ready_false_when_config_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L179"}, {"id": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing", "label": "test_is_setup_ready_false_when_keyring_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L183"}, {"id": "ui_test_mount_test_is_setup_ready_false_when_lims_unreachable", "label": "test_is_setup_ready_false_when_lims_unreachable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L194"}, {"id": "ui_test_mount_test_is_setup_ready_true_when_all_satisfied", "label": "test_is_setup_ready_true_when_all_satisfied()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L204"}, {"id": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing", "label": "test_is_setup_ready_false_when_nas_credential_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L214"}, {"id": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims", "label": "test_is_setup_ready_true_with_offline_catalogue_lims()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L225"}, {"id": "ui_test_mount_test_build_main_state_marks_incomplete_without_config", "label": "test_build_main_state_marks_incomplete_without_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L246"}, {"id": "ui_test_mount_test_build_main_state_sources_problems_counts_from_audit", "label": "test_build_main_state_sources_problems_counts_from_audit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L255"}, {"id": "ui_test_mount_test_build_main_state_always_on_orchestrator", "label": "test_build_main_state_always_on_orchestrator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L263"}, {"id": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "label": "test_operation_counts_distinguishes_panel_active_and_input_required()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L281"}, {"id": "ui_test_mount_test_operation_counts_zero_without_controller", "label": "test_operation_counts_zero_without_controller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L302"}, {"id": "ui_test_mount_test_missing_sections_when_deps_none", "label": "test_missing_sections_when_deps_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L311"}, {"id": "ui_test_mount_test_missing_sections_when_config_none", "label": "test_missing_sections_when_config_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L315"}, {"id": "ui_test_mount_test_missing_sections_with_paths_unset", "label": "test_missing_sections_with_paths_unset()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L322"}, {"id": "ui_test_mount_test_missing_sections_with_keyring_absent_reports_lims", "label": "test_missing_sections_with_keyring_absent_reports_lims()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L331"}, {"id": "ui_test_mount_test_missing_sections_empty_when_fully_configured", "label": "test_missing_sections_empty_when_fully_configured()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L336"}, {"id": "ui_test_mount_nas_config", "label": "_nas_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L341"}, {"id": "ui_test_mount_test_missing_sections_includes_nas_credentials_when_password_absent", "label": "test_missing_sections_includes_nas_credentials_when_password_absent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L385"}, {"id": "ui_test_mount_test_missing_sections_excludes_nas_credentials_when_password_present", "label": "test_missing_sections_excludes_nas_credentials_when_password_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L394"}, {"id": "ui_test_mount_raisingvalidator", "label": "_RaisingValidator", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L408"}, {"id": "ui_test_mount_raisingvalidator_audit", "label": ".audit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L409"}, {"id": "ui_test_mount_okvalidator", "label": "_OkValidator", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L414"}, {"id": "ui_test_mount_okvalidator_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L415"}, {"id": "ui_test_mount_okvalidator_audit", "label": ".audit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L418"}, {"id": "ui_test_mount_test_safe_audit_returns_empty_list_when_validator_missing", "label": "test_safe_audit_returns_empty_list_when_validator_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L422"}, {"id": "ui_test_mount_test_safe_audit_swallows_validator_exception", "label": "test_safe_audit_swallows_validator_exception()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L426"}, {"id": "ui_test_mount_test_safe_audit_forwards_validator_output", "label": "test_safe_audit_forwards_validator_output()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L434"}, {"id": "ui_test_mount_test_staging_state_when_staging_root_missing", "label": "test_staging_state_when_staging_root_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L445"}, {"id": "ui_test_mount_test_staging_state_none_when_no_config", "label": "test_staging_state_none_when_no_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L460"}, {"id": "ui_test_mount_test_staging_state_returns_empty_rows_on_query_failure", "label": "test_staging_state_returns_empty_rows_on_query_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L464"}, {"id": "ui_test_mount_navspy", "label": "_NavSpy", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L492"}, {"id": "ui_test_mount_navspy_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L495"}, {"id": "ui_test_mount_test_persist_config_writes_and_applies_live", "label": "test_persist_config_writes_and_applies_live()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L500"}, {"id": "ui_test_mount_test_persist_config_returns_false_when_no_saver", "label": "test_persist_config_returns_false_when_no_saver()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L523"}, {"id": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", "label": "test_persist_config_returns_false_when_saver_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L535"}, {"id": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "label": "test_persist_config_warns_when_saver_returns_awaitable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L552"}, {"id": "ui_test_mount_test_persist_config_creates_staging_root_when_set", "label": "test_persist_config_creates_staging_root_when_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L575"}, {"id": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", "label": "test_persist_config_does_not_create_staging_root_when_blank()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L590"}, {"id": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "label": "test_persist_config_staging_dir_failure_is_non_fatal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L604"}, {"id": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", "label": "test_apply_live_config_falls_back_to_setting_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L630"}, {"id": "ui_test_mount_test_render_unavailable_renders_headline_and_subline", "label": "test_render_unavailable_renders_headline_and_subline()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L656"}, {"id": "ui_test_mount_test_render_unavailable_swallows_failure", "label": "test_render_unavailable_swallows_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L663"}, {"id": "ui_test_mount_test_show_toast_positive_and_negative_never_raise", "label": "test_show_toast_positive_and_negative_never_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L674"}, {"id": "ui_test_mount_test_show_toast_swallows_notification_failure", "label": "test_show_toast_swallows_notification_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L681"}, {"id": "ui_test_mount_recordingkeyringstore", "label": "_RecordingKeyringStore", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L700"}, {"id": "ui_test_mount_recordingkeyringstore_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L703"}, {"id": "ui_test_mount_recordingkeyringstore_set_password", "label": ".set_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L708"}, {"id": "ui_test_mount_recordingkeyringstore_delete_password", "label": ".delete_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L714"}, {"id": "ui_test_mount_test_lims_credential_handlers_save_writes_under_lims_username", "label": "test_lims_credential_handlers_save_writes_under_lims_username()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L721"}, {"id": "ui_test_mount_test_lims_credential_handlers_clear_deletes_under_lims_username", "label": "test_lims_credential_handlers_clear_deletes_under_lims_username()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L730"}, {"id": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store", "label": "test_lims_credential_handlers_tolerate_missing_keyring_store()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L739"}, {"id": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", "label": "test_lims_credential_handlers_swallow_backend_errors()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L748"}, {"id": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", "label": "test_nas_credential_handlers_save_writes_under_nas_username()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L763"}, {"id": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", "label": "test_nas_credential_handlers_clear_deletes_and_discards()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L779"}, {"id": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", "label": "test_nas_credential_handlers_isolate_per_equipment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L793"}, {"id": "ui_test_mount_test_nas_credential_handlers_tolerate_missing_keyring_store", "label": "test_nas_credential_handlers_tolerate_missing_keyring_store()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L806"}, {"id": "ui_test_mount_test_apply_autostart_noop_when_deps_none", "label": "test_apply_autostart_noop_when_deps_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L819"}, {"id": "ui_test_mount_test_apply_autostart_noop_when_toggle_missing", "label": "test_apply_autostart_noop_when_toggle_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L823"}, {"id": "ui_test_mount_test_apply_autostart_invokes_toggle", "label": "test_apply_autostart_invokes_toggle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L827"}, {"id": "ui_test_mount_test_apply_autostart_returns_real_registration_state", "label": "test_apply_autostart_returns_real_registration_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L834"}, {"id": "ui_test_mount_test_apply_autostart_swallows_toggle_failure", "label": "test_apply_autostart_swallows_toggle_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L843"}, {"id": "ui_test_mount_test_templates_dir_none_when_deps_none", "label": "test_templates_dir_none_when_deps_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L860"}, {"id": "ui_test_mount_test_templates_dir_none_when_config_none", "label": "test_templates_dir_none_when_config_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L864"}, {"id": "ui_test_mount_test_templates_dir_none_when_unset", "label": "test_templates_dir_none_when_unset()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L868"}, {"id": "ui_test_mount_test_templates_dir_returns_path", "label": "test_templates_dir_returns_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L872"}, {"id": "ui_test_mount_test_equipment_ids_empty_without_config", "label": "test_equipment_ids_empty_without_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L877"}, {"id": "ui_test_mount_test_equipment_ids_lists_configured_ids", "label": "test_equipment_ids_lists_configured_ids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L881"}, {"id": "ui_test_mount_test_template_names_empty_without_templates_dir", "label": "test_template_names_empty_without_templates_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L893"}, {"id": "ui_test_mount_test_template_names_lists_summary_names", "label": "test_template_names_lists_summary_names()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L897"}, {"id": "ui_test_mount_test_template_names_swallows_scan_failure", "label": "test_template_names_swallows_scan_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L909"}, {"id": "ui_test_mount_test_lims_projects_empty_without_config", "label": "test_lims_projects_empty_without_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L929"}, {"id": "ui_test_mount_test_lims_projects_empty_without_catalogue_path", "label": "test_lims_projects_empty_without_catalogue_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L933"}, {"id": "ui_test_mount_test_lims_projects_empty_when_catalogue_missing", "label": "test_lims_projects_empty_when_catalogue_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L937"}, {"id": "ui_test_mount_test_lims_projects_reads_offline_catalogue", "label": "test_lims_projects_reads_offline_catalogue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L942"}, {"id": "ui_test_mount_test_lims_projects_swallows_read_failure", "label": "test_lims_projects_swallows_read_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L963"}, {"id": "ui_test_mount_fakelimsclient", "label": "_FakeLimsClient", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L980"}, {"id": "ui_test_mount_fakelimsclient_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L983"}, {"id": "ui_test_mount_fakelimsclient_list_projects", "label": ".list_projects()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L988"}, {"id": "ui_test_mount_test_lims_projects_uses_live_lims", "label": "test_lims_projects_uses_live_lims()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L996"}, {"id": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", "label": "test_lims_projects_skips_live_lims_when_unreachable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1010"}, {"id": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "label": "test_lims_projects_falls_back_to_catalogue_on_live_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1017"}, {"id": "ui_test_mount_test_template_questions_map_empty_without_templates_dir", "label": "test_template_questions_map_empty_without_templates_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1052"}, {"id": "ui_test_mount_test_template_questions_map_resolves_questions", "label": "test_template_questions_map_resolves_questions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1056"}, {"id": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "label": "test_template_questions_map_skips_unresolvable_template()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1077"}, {"id": "ui_test_mount_test_await_session_awaits_pending_task", "label": "test_await_session_awaits_pending_task()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1102"}, {"id": "ui_test_mount_test_await_session_without_pending_task", "label": "test_await_session_without_pending_task()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1115"}, {"id": "ui_test_mount_test_run_creation_navigates_home_on_done", "label": "test_run_creation_navigates_home_on_done()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1127"}, {"id": "ui_test_mount_test_run_creation_reports_failure_state", "label": "test_run_creation_reports_failure_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1134"}, {"id": "ui_test_mount_test_run_creation_swallows_create_exception", "label": "test_run_creation_swallows_create_exception()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1142"}, {"id": "ui_test_mount_test_submit_project_toasts_when_controller_missing", "label": "test_submit_project_toasts_when_controller_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1160"}, {"id": "ui_test_mount_test_submit_project_toasts_without_template", "label": "test_submit_project_toasts_without_template()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1166"}, {"id": "ui_test_mount_test_submit_project_builds_request_and_runs", "label": "test_submit_project_builds_request_and_runs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1174"}, {"id": "ui_test_mount_test_submit_run_toasts_when_controller_missing", "label": "test_submit_run_toasts_when_controller_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1195"}, {"id": "ui_test_mount_test_submit_run_builds_request_and_runs", "label": "test_submit_run_builds_request_and_runs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1201"}, {"id": "ui_test_mount_test_build_main_query_omits_empty_params", "label": "test_build_main_query_omits_empty_params()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1226"}, {"id": "ui_test_mount_test_build_main_query_url_encodes_special_chars", "label": "test_build_main_query_url_encodes_special_chars()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1234"}, {"id": "ui_test_mount_test_classify_node_returns_none_for_empty_selection", "label": "test_classify_node_returns_none_for_empty_selection()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1246"}, {"id": "ui_test_mount_test_classify_node_discriminates_kinds", "label": "test_classify_node_discriminates_kinds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1251"}, {"id": "ui_test_mount_test_classify_node_rejects_unknown_root", "label": "test_classify_node_rejects_unknown_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1272"}, {"id": "ui_test_mount_test_build_metadata_payload_returns_empty_when_node_missing", "label": "test_build_metadata_payload_returns_empty_when_node_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1288"}, {"id": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", "label": "test_build_metadata_payload_owned_equipment_reads_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1294"}, {"id": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty", "label": "test_build_metadata_payload_unknown_equipment_id_returns_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1312"}, {"id": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "label": "test_build_metadata_payload_project_scans_run_counts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1319"}, {"id": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "label": "test_build_metadata_payload_run_parses_creation_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1338"}, {"id": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", "label": "test_build_metadata_payload_run_missing_creation_returns_path_only()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1383"}, {"id": "ui_test_mount_test_build_main_state_threads_selection_into_state", "label": "test_build_main_state_threads_selection_into_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1392"}, {"id": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform", "label": "test_open_in_os_returns_false_on_unhandled_platform()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1408"}, {"id": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open", "label": "test_open_in_os_linux_invokes_xdg_open()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1416"}, {"id": "ui_test_mount_test_open_in_os_darwin_invokes_open", "label": "test_open_in_os_darwin_invokes_open()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1430"}, {"id": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises", "label": "test_open_in_os_returns_false_when_popen_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1439"}, {"id": "ui_test_mount_clipboardspy", "label": "_ClipboardSpy", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1455"}, {"id": "ui_test_mount_clipboardspy_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1456"}, {"id": "ui_test_mount_clipboardspy_write", "label": ".write()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1459"}, {"id": "ui_test_mount_uispy", "label": "_UiSpy", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1463"}, {"id": "ui_test_mount_uispy_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1466"}, {"id": "ui_test_mount_uispy_getattr", "label": ".__getattr__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1479"}, {"id": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", "label": "test_file_context_action_open_in_os_dispatches_to_helper()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1486"}, {"id": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative", "label": "test_file_context_action_open_in_os_failure_toasts_negative()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1498"}, {"id": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard", "label": "test_file_context_action_copy_path_writes_clipboard()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1509"}, {"id": "ui_test_mount_test_file_context_action_unknown_action_no_raise", "label": "test_file_context_action_unknown_action_no_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1517"}, {"id": "ui_test_mount_test_file_context_action_empty_path_toasts_negative", "label": "test_file_context_action_empty_path_toasts_negative()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1524"}, {"id": "ui_test_mount_stubnassync", "label": "_StubNasSync", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1535"}, {"id": "ui_test_mount_stubnassync_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1536"}, {"id": "ui_test_mount_stubnassync_enqueue", "label": ".enqueue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1539"}, {"id": "ui_test_mount_drain_background", "label": "_drain_background()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1544"}, {"id": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", "label": "test_run_staging_action_force_sync_invokes_nas_sync_enqueue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1559"}, {"id": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", "label": "test_run_staging_action_force_sync_missing_nas_sync_toasts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1572"}, {"id": "ui_test_mount_test_run_staging_action_no_config_toasts_negative", "label": "test_run_staging_action_no_config_toasts_negative()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1579"}, {"id": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", "label": "test_run_staging_action_view_log_invokes_log_dialog()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1586"}, {"id": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", "label": "test_run_staging_action_unknown_action_no_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1598"}, {"id": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", "label": "test_run_staging_action_clear_verified_invokes_clear()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1605"}, {"id": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "label": "test_bulk_clear_verified_clears_verified_rows()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1630"}, {"id": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns", "label": "test_bulk_clear_verified_no_config_toasts_and_returns()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1659"}, {"id": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", "label": "test_bulk_clear_verified_logs_helper_exception()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1666"}, {"id": "ui_test_mount_stubtabstorage", "label": "_StubTabStorage", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1688"}, {"id": "dict", "label": "dict", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "ui_test_mount_stubapp", "label": "_StubApp", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1692"}, {"id": "ui_test_mount_stubapp_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1695"}, {"id": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection", "label": "test_drive_folder_feed_returns_empty_when_no_selection()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1703"}, {"id": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", "label": "test_drive_folder_feed_creates_feed_on_first_render()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1711"}, {"id": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "label": "test_drive_folder_feed_converts_cached_payload_to_entries()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1724"}, {"id": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip", "label": "test_fetch_folder_async_skips_when_coord_says_skip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1766"}, {"id": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", "label": "test_fetch_folder_async_records_refresh_on_success()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1783"}, {"id": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions", "label": "test_fetch_folder_async_swallows_helper_exceptions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1802"}, {"id": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", "label": "test_open_log_dialog_no_queue_job_renders_dialog()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1820"}, {"id": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", "label": "test_open_log_dialog_with_queue_job_renders_dialog()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1829"}, {"id": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", "label": "test_build_metadata_payload_returns_empty_on_builder_exception()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1855"}, {"id": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host", "label": "test_metadata_for_relay_equipment_emits_id_label_source_host()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1868"}, {"id": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back", "label": "test_metadata_for_relay_equipment_unknown_id_falls_back()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1886"}, {"id": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id", "label": "test_metadata_for_project_returns_empty_for_single_segment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1893"}, {"id": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir", "label": "test_count_dir_children_returns_zero_for_missing_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1899"}, {"id": "ui_test_mount_test_count_dir_children_filters_by_prefix", "label": "test_count_dir_children_filters_by_prefix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1904"}, {"id": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure", "label": "test_metadata_for_run_returns_partial_on_decode_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1913"}, {"id": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", "label": "test_run_staging_action_force_sync_exception_path_no_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1924"}, {"id": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", "label": "test_run_staging_action_clear_verified_exception_path_no_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1940"}, {"id": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", "label": "test_run_staging_action_clear_verified_zero_files_branch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1956"}, {"id": "ui_test_mount_test_file_context_action_clipboard_failure_toasts", "label": "test_file_context_action_clipboard_failure_toasts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1969"}, {"id": "ui_test_mount_rationale_1", "label": "Tests for ``exlab_wizard.ui.mount`` helpers. The ``@ui.page(...)`` decorators i", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1"}, {"id": "ui_test_mount_rationale_30", "label": "Build a minimal duck-typed AppDependencies stand-in.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L30"}, {"id": "ui_test_mount_rationale_80", "label": "Chainable no-op stand-in for a NiceGUI element.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L80"}, {"id": "ui_test_mount_rationale_99", "label": "Records cards / labels and exposes a ``navigate.to`` spy.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L99"}, {"id": "ui_test_mount_rationale_117", "label": "A ``ui`` whose element factories raise -- exercises render except paths.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L117"}, {"id": "ui_test_mount_rationale_129", "label": "Duck-typed CreationController for the create-flow helpers.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L129"}, {"id": "ui_test_mount_rationale_184", "label": "Live-LIMS branch with the keyring password absent -> not ready.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L184"}, {"id": "ui_test_mount_rationale_215", "label": "A registered nas-mode equipment without its keyring password blocks ready.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L215"}, {"id": "ui_test_mount_rationale_226", "label": "Regression: LIMS satisfied via the offline catalogue (no keyring password) m", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L226"}, {"id": "ui_test_mount_rationale_264", "label": "Redesign \u00a73.1: the orchestrator pipeline is unconditional.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L264"}, {"id": "ui_test_mount_rationale_342", "label": "Real Config with one password-requiring nas-mode equipment. ``offline_catal", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L342"}, {"id": "ui_test_mount_rationale_446", "label": "Redesign \u00a73.1: orchestrator pipeline is always on, but a missing staging_roo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L446"}, {"id": "ui_test_mount_rationale_493", "label": "Minimal stand-in for the NiceGUI ``ui`` object's navigate surface.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L493"}, {"id": "ui_test_mount_rationale_501", "label": "A successful save persists, then hot-reloads the live components. The old b", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L501"}, {"id": "ui_test_mount_rationale_578", "label": "Opt-in: a saved non-empty staging_root is created on save.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L578"}, {"id": "ui_test_mount_rationale_593", "label": "Blank staging_root creates nothing -- the device is not a staging PC.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L593"}, {"id": "ui_test_mount_rationale_607", "label": "An ensure_dir failure warns but keeps the persisted config.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L607"}, {"id": "ui_test_mount_rationale_634", "label": "If the coordinator raises wholesale, the live config is still kept.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L634"}, {"id": "ui_test_mount_rationale_701", "label": "Keyring-store stand-in that records the calls the handlers make.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L701"}, {"id": "ui_test_mount_rationale_740", "label": "A best-effort keyring build can fail; the handlers must not crash.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L740"}, {"id": "ui_test_mount_rationale_749", "label": "A raising keyring backend surfaces a toast, not an unhandled crash.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L749"}, {"id": "ui_test_mount_rationale_981", "label": "Async ``list_projects`` stub for the live-LIMS picker path.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L981"}, {"id": "ui_test_mount_rationale_1227", "label": "Both empty -> empty string. One present -> single param.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1227"}, {"id": "ui_test_mount_rationale_1235", "label": "Project names with spaces / special chars survive the round trip.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1235"}, {"id": "ui_test_mount_rationale_1252", "label": "Equipment / project / run / received_equipment all classify correctly.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1252"}, {"id": "ui_test_mount_rationale_1273", "label": "A node id whose root is not in the hierarchy returns ``(None, False)``. Gua", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1273"}, {"id": "ui_test_mount_rationale_1295", "label": "An equipment node payload pulls fields from config.equipment[id].", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1295"}, {"id": "ui_test_mount_rationale_1313", "label": "Asking for a node that isn't in config.equipment returns ``{}``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1313"}, {"id": "ui_test_mount_rationale_1320", "label": "The project payload counts Run_* and TestRun_* directories.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1320"}, {"id": "ui_test_mount_rationale_1339", "label": "The run payload decodes creation.json into the metadata fields.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1339"}, {"id": "ui_test_mount_rationale_1384", "label": "A run dir without a creation.json yields {path, name}, not crash.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1384"}, {"id": "ui_test_mount_rationale_1393", "label": "The selected-node fields end up on MainPageState for the renderer.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1393"}, {"id": "ui_test_mount_rationale_1411", "label": "An unknown sys.platform falls through to False so the toast can warn.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1411"}, {"id": "ui_test_mount_rationale_1417", "label": "Linux dispatches to xdg-open via subprocess.Popen.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1417"}, {"id": "ui_test_mount_rationale_1431", "label": "macOS dispatches to the ``open`` command.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1431"}, {"id": "ui_test_mount_rationale_1440", "label": "A subprocess failure is caught and surfaces False so the caller can toast.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1440"}, {"id": "ui_test_mount_rationale_1464", "label": "Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1464"}, {"id": "ui_test_mount_rationale_1489", "label": "``open_in_os`` action calls the platform opener and reports success.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1489"}, {"id": "ui_test_mount_rationale_1501", "label": "When the opener returns False the action surfaces a negative toast.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1501"}, {"id": "ui_test_mount_rationale_1510", "label": "``copy_path`` writes the entry path to the NiceGUI clipboard.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1510"}, {"id": "ui_test_mount_rationale_1518", "label": "An unknown action verb is logged + toasted without raising.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1518"}, {"id": "ui_test_mount_rationale_1525", "label": "An entry with no path triggers the early-return toast.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1525"}, {"id": "ui_test_mount_rationale_1545", "label": "Run any pending mount background tasks to completion.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1545"}, {"id": "ui_test_mount_rationale_1560", "label": "Force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1560"}, {"id": "ui_test_mount_rationale_1573", "label": "Force-sync without a wired NAS sync surfaces a negative toast (no raise).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1573"}, {"id": "ui_test_mount_rationale_1580", "label": "The early-exit when config is missing keeps the action a no-op.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1580"}, {"id": "ui_test_mount_rationale_1589", "label": "``view_log`` dispatches to the dialog opener helper.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1589"}, {"id": "ui_test_mount_rationale_1599", "label": "An unknown action verb is reported but doesn't raise.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1599"}, {"id": "ui_test_mount_rationale_1608", "label": "``clear_verified`` deletes the run directory via the local helper.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1608"}, {"id": "ui_test_mount_rationale_1633", "label": "The bulk action clears every ``synced`` row and toasts the count.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1633"}, {"id": "ui_test_mount_rationale_1660", "label": "The early-exit when config is missing produces a toast, no task.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1660"}, {"id": "ui_test_mount_rationale_1669", "label": "An exception from the clear sweep is caught + toasted.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1669"}, {"id": "ui_test_mount_rationale_1693", "label": "Lightweight ``app`` stand-in carrying ``storage.tab``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1693"}, {"id": "ui_test_mount_rationale_1704", "label": "Without a selected node the feed isn't started and returns ``[]``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1704"}, {"id": "ui_test_mount_rationale_1714", "label": "The first call mounts a FolderFeed + RefreshCoordinator on tab storage.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1714"}, {"id": "ui_test_mount_rationale_1727", "label": "When the feed's last_payload is set, entries are projected into FileListEntr", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1727"}, {"id": "ui_test_mount_rationale_1769", "label": "The fetch is a no-op when RefreshCoordinator just walked the tree.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1769"}, {"id": "ui_test_mount_rationale_1786", "label": "A successful scan records the refresh on the coordinator.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1786"}, {"id": "ui_test_mount_rationale_1805", "label": "A scan failure returns ``None`` so the feed keeps polling.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1805"}, {"id": "ui_test_mount_rationale_1821", "label": "A run with no sync-queue job still renders a dialog without raising.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1821"}, {"id": "ui_test_mount_rationale_1830", "label": "A run with a sync-queue job renders its state without raising.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1830"}, {"id": "ui_test_mount_rationale_1858", "label": "Any exception raised by a per-kind builder is logged + swallowed.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1858"}, {"id": "ui_test_mount_rationale_1871", "label": "The relay payload pulls id+label from build_received_equipment_nodes.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1871"}, {"id": "ui_test_mount_rationale_1887", "label": "An unknown relay id still produces a payload (best-effort label).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1887"}, {"id": "ui_test_mount_rationale_1894", "label": "A node id without an equipment/project split returns ``{}``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1894"}, {"id": "ui_test_mount_rationale_1900", "label": "A missing parent dir returns 0 (no FS pre-check needed).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1900"}, {"id": "ui_test_mount_rationale_1905", "label": "Only directory children whose names start with the prefix are counted.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1905"}, {"id": "ui_test_mount_rationale_1914", "label": "A corrupt creation.json yields {path, name}, never crashes.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1914"}, {"id": "ui_test_mount_rationale_1927", "label": "When nas_sync.enqueue raises, the background task swallows + toasts.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1927"}, {"id": "ui_test_mount_rationale_1943", "label": "When the clear helper raises, the background task swallows + toasts.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1943"}, {"id": "ui_test_mount_rationale_1959", "label": "The 0-file path reports ``already cleared`` rather than ``cleared N``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1959"}, {"id": "ui_test_mount_rationale_1972", "label": "A clipboard write failure is caught and reported as a negative toast.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1972"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "types", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "exlab_wizard_api_app", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "exlab_wizard_controller", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_deps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_fluent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L79", "weight": 1.0}, {"source": "ui_test_mount_fluent", "target": "ui_test_mount_fluent_props", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L82", "weight": 1.0}, {"source": "ui_test_mount_fluent", "target": "ui_test_mount_fluent_style", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L85", "weight": 1.0}, {"source": "ui_test_mount_fluent", "target": "ui_test_mount_fluent_classes", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L88", "weight": 1.0}, {"source": "ui_test_mount_fluent", "target": "ui_test_mount_fluent_enter", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L91", "weight": 1.0}, {"source": "ui_test_mount_fluent", "target": "ui_test_mount_fluent_exit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L94", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_fakeui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L98", "weight": 1.0}, {"source": "ui_test_mount_fakeui", "target": "ui_test_mount_fakeui_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L101", "weight": 1.0}, {"source": "ui_test_mount_fakeui", "target": "ui_test_mount_fakeui_card", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L107", "weight": 1.0}, {"source": "ui_test_mount_fakeui", "target": "ui_test_mount_fakeui_label", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_boomui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L116", "weight": 1.0}, {"source": "ui_test_mount_boomui", "target": "ui_test_mount_boomui_card", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L119", "weight": 1.0}, {"source": "ui_test_mount_boomui", "target": "ui_test_mount_boomui_label", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_fakecontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L128", "weight": 1.0}, {"source": "ui_test_mount_fakecontroller", "target": "ui_test_mount_fakecontroller_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L131", "weight": 1.0}, {"source": "ui_test_mount_fakecontroller", "target": "ui_test_mount_fakecontroller_status", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L147", "weight": 1.0}, {"source": "ui_test_mount_fakecontroller", "target": "ui_test_mount_fakecontroller_create_project", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L150", "weight": 1.0}, {"source": "ui_test_mount_fakecontroller", "target": "ui_test_mount_fakecontroller_create_run", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L157", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_is_setup_ready_false_when_deps_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_is_setup_ready_false_when_config_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L179", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L183", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_is_setup_ready_false_when_lims_unreachable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L194", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_is_setup_ready_true_when_all_satisfied", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L204", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L214", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L225", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_main_state_marks_incomplete_without_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L246", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_main_state_sources_problems_counts_from_audit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L255", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_main_state_always_on_orchestrator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L263", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L281", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_operation_counts_zero_without_controller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L302", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_missing_sections_when_deps_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L311", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_missing_sections_when_config_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L315", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_missing_sections_with_paths_unset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L322", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_missing_sections_with_keyring_absent_reports_lims", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L331", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_missing_sections_empty_when_fully_configured", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L336", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_nas_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L341", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_missing_sections_includes_nas_credentials_when_password_absent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L385", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_missing_sections_excludes_nas_credentials_when_password_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L394", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_raisingvalidator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L408", "weight": 1.0}, {"source": "ui_test_mount_raisingvalidator", "target": "ui_test_mount_raisingvalidator_audit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L409", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_okvalidator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L414", "weight": 1.0}, {"source": "ui_test_mount_okvalidator", "target": "ui_test_mount_okvalidator_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L415", "weight": 1.0}, {"source": "ui_test_mount_okvalidator", "target": "ui_test_mount_okvalidator_audit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L418", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_safe_audit_returns_empty_list_when_validator_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L422", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_safe_audit_swallows_validator_exception", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L426", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_safe_audit_forwards_validator_output", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L434", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_staging_state_when_staging_root_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L445", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_staging_state_none_when_no_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L460", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_staging_state_returns_empty_rows_on_query_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L464", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_navspy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L492", "weight": 1.0}, {"source": "ui_test_mount_navspy", "target": "ui_test_mount_navspy_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L495", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_persist_config_writes_and_applies_live", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L500", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_persist_config_returns_false_when_no_saver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L523", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L535", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L552", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_persist_config_creates_staging_root_when_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L575", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L590", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L604", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L630", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_render_unavailable_renders_headline_and_subline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L656", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_render_unavailable_swallows_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L663", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_show_toast_positive_and_negative_never_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L674", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_show_toast_swallows_notification_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L681", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_recordingkeyringstore", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L700", "weight": 1.0}, {"source": "ui_test_mount_recordingkeyringstore", "target": "ui_test_mount_recordingkeyringstore_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L703", "weight": 1.0}, {"source": "ui_test_mount_recordingkeyringstore", "target": "ui_test_mount_recordingkeyringstore_set_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L708", "weight": 1.0}, {"source": "ui_test_mount_recordingkeyringstore", "target": "ui_test_mount_recordingkeyringstore_delete_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L714", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_credential_handlers_save_writes_under_lims_username", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L721", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_credential_handlers_clear_deletes_under_lims_username", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L730", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L739", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L748", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L763", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L779", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L793", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_nas_credential_handlers_tolerate_missing_keyring_store", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L806", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_apply_autostart_noop_when_deps_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L819", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_apply_autostart_noop_when_toggle_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L823", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_apply_autostart_invokes_toggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L827", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_apply_autostart_returns_real_registration_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L834", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_apply_autostart_swallows_toggle_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L843", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_templates_dir_none_when_deps_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L860", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_templates_dir_none_when_config_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L864", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_templates_dir_none_when_unset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L868", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_templates_dir_returns_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L872", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_equipment_ids_empty_without_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L877", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_equipment_ids_lists_configured_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L881", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_template_names_empty_without_templates_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L893", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_template_names_lists_summary_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L897", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_template_names_swallows_scan_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L909", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_projects_empty_without_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L929", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_projects_empty_without_catalogue_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L933", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_projects_empty_when_catalogue_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L937", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_projects_reads_offline_catalogue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L942", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_projects_swallows_read_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L963", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_fakelimsclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L980", "weight": 1.0}, {"source": "ui_test_mount_fakelimsclient", "target": "ui_test_mount_fakelimsclient_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L983", "weight": 1.0}, {"source": "ui_test_mount_fakelimsclient", "target": "ui_test_mount_fakelimsclient_list_projects", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L988", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_projects_uses_live_lims", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L996", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1010", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1017", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_template_questions_map_empty_without_templates_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1052", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_template_questions_map_resolves_questions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1056", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1077", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_await_session_awaits_pending_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_await_session_without_pending_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1115", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_creation_navigates_home_on_done", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1127", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_creation_reports_failure_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1134", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_creation_swallows_create_exception", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1142", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_submit_project_toasts_when_controller_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1160", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_submit_project_toasts_without_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1166", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_submit_project_builds_request_and_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1174", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_submit_run_toasts_when_controller_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1195", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_submit_run_builds_request_and_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1201", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_main_query_omits_empty_params", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1226", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_main_query_url_encodes_special_chars", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1234", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_classify_node_returns_none_for_empty_selection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1246", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_classify_node_discriminates_kinds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1251", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_classify_node_rejects_unknown_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1272", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_metadata_payload_returns_empty_when_node_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1288", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1294", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1312", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1319", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1338", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1383", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_main_state_threads_selection_into_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1392", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1408", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1416", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_open_in_os_darwin_invokes_open", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1430", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1439", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_clipboardspy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1455", "weight": 1.0}, {"source": "ui_test_mount_clipboardspy", "target": "ui_test_mount_clipboardspy_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1456", "weight": 1.0}, {"source": "ui_test_mount_clipboardspy", "target": "ui_test_mount_clipboardspy_write", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1459", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_uispy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1463", "weight": 1.0}, {"source": "ui_test_mount_uispy", "target": "ui_test_mount_uispy_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1466", "weight": 1.0}, {"source": "ui_test_mount_uispy", "target": "ui_test_mount_uispy_getattr", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1479", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1486", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1498", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1509", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1517", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1524", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_stubnassync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1535", "weight": 1.0}, {"source": "ui_test_mount_stubnassync", "target": "ui_test_mount_stubnassync_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1536", "weight": 1.0}, {"source": "ui_test_mount_stubnassync", "target": "ui_test_mount_stubnassync_enqueue", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1539", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_drain_background", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1544", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1559", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1572", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1579", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1586", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1598", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1605", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1630", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1659", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1666", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_stubtabstorage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1688", "weight": 1.0}, {"source": "ui_test_mount_stubtabstorage", "target": "dict", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1688", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_stubapp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1692", "weight": 1.0}, {"source": "ui_test_mount_stubapp", "target": "ui_test_mount_stubapp_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1695", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1703", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1711", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1724", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1766", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1783", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1802", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1820", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1829", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1855", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1868", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1886", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1893", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1899", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_count_dir_children_filters_by_prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1904", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1913", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1924", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1940", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1956", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1969", "weight": 1.0}, {"source": "ui_test_mount_fakeui_card", "target": "ui_test_mount_fluent", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L109", "weight": 1.0}, {"source": "ui_test_mount_fakeui_label", "target": "ui_test_mount_fluent", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L113", "weight": 1.0}, {"source": "ui_test_mount_fakecontroller_create_run", "target": "ui_test_mount_fakecontroller_create_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L158", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_false_when_config_missing", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L180", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L185", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing", "target": "ui_test_mount_nas_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L186", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_false_when_lims_unreachable", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L195", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_false_when_lims_unreachable", "target": "ui_test_mount_nas_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L196", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_true_when_all_satisfied", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L205", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_true_when_all_satisfied", "target": "ui_test_mount_nas_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L206", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L216", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing", "target": "ui_test_mount_nas_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L217", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L232", "weight": 1.0}, {"source": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims", "target": "ui_test_mount_nas_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L233", "weight": 1.0}, {"source": "ui_test_mount_test_build_main_state_marks_incomplete_without_config", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L247", "weight": 1.0}, {"source": "ui_test_mount_test_build_main_state_sources_problems_counts_from_audit", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L258", "weight": 1.0}, {"source": "ui_test_mount_test_build_main_state_always_on_orchestrator", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L265", "weight": 1.0}, {"source": "ui_test_mount_test_build_main_state_always_on_orchestrator", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L266", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_when_config_none", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L319", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_with_paths_unset", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L323", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_with_paths_unset", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L324", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_with_keyring_absent_reports_lims", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L332", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_with_keyring_absent_reports_lims", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L332", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_empty_when_fully_configured", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L337", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_empty_when_fully_configured", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L337", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_includes_nas_credentials_when_password_absent", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L386", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_includes_nas_credentials_when_password_absent", "target": "ui_test_mount_nas_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L387", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_excludes_nas_credentials_when_password_present", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L395", "weight": 1.0}, {"source": "ui_test_mount_test_missing_sections_excludes_nas_credentials_when_password_present", "target": "ui_test_mount_nas_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L396", "weight": 1.0}, {"source": "ui_test_mount_test_safe_audit_returns_empty_list_when_validator_missing", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L423", "weight": 1.0}, {"source": "ui_test_mount_test_safe_audit_swallows_validator_exception", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L427", "weight": 1.0}, {"source": "ui_test_mount_test_safe_audit_swallows_validator_exception", "target": "ui_test_mount_raisingvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L427", "weight": 1.0}, {"source": "ui_test_mount_test_safe_audit_forwards_validator_output", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L436", "weight": 1.0}, {"source": "ui_test_mount_test_safe_audit_forwards_validator_output", "target": "ui_test_mount_okvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L436", "weight": 1.0}, {"source": "ui_test_mount_test_staging_state_when_staging_root_missing", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L448", "weight": 1.0}, {"source": "ui_test_mount_test_staging_state_when_staging_root_missing", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L449", "weight": 1.0}, {"source": "ui_test_mount_test_staging_state_none_when_no_config", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L461", "weight": 1.0}, {"source": "ui_test_mount_test_staging_state_returns_empty_rows_on_query_failure", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L467", "weight": 1.0}, {"source": "ui_test_mount_test_staging_state_returns_empty_rows_on_query_failure", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L468", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_writes_and_applies_live", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L507", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_writes_and_applies_live", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L511", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_returns_false_when_no_saver", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L524", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_returns_false_when_no_saver", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L527", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L536", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L544", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L556", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L564", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_creates_staging_root_when_set", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L581", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_creates_staging_root_when_set", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L582", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_creates_staging_root_when_set", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L584", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L595", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L596", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L598", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L620", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L621", "weight": 1.0}, {"source": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L623", "weight": 1.0}, {"source": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L641", "weight": 1.0}, {"source": "ui_test_mount_test_render_unavailable_renders_headline_and_subline", "target": "ui_test_mount_fakeui", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L657", "weight": 1.0}, {"source": "ui_test_mount_test_render_unavailable_swallows_failure", "target": "ui_test_mount_boomui", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L665", "weight": 1.0}, {"source": "ui_test_mount_test_lims_credential_handlers_save_writes_under_lims_username", "target": "ui_test_mount_recordingkeyringstore", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L722", "weight": 1.0}, {"source": "ui_test_mount_test_lims_credential_handlers_save_writes_under_lims_username", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L723", "weight": 1.0}, {"source": "ui_test_mount_test_lims_credential_handlers_clear_deletes_under_lims_username", "target": "ui_test_mount_recordingkeyringstore", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L731", "weight": 1.0}, {"source": "ui_test_mount_test_lims_credential_handlers_clear_deletes_under_lims_username", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L732", "weight": 1.0}, {"source": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L742", "weight": 1.0}, {"source": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", "target": "ui_test_mount_recordingkeyringstore", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L751", "weight": 1.0}, {"source": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L752", "weight": 1.0}, {"source": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", "target": "ui_test_mount_recordingkeyringstore", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L766", "weight": 1.0}, {"source": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L768", "weight": 1.0}, {"source": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", "target": "ui_test_mount_recordingkeyringstore", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L782", "weight": 1.0}, {"source": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L784", "weight": 1.0}, {"source": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", "target": "ui_test_mount_recordingkeyringstore", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L794", "weight": 1.0}, {"source": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L796", "weight": 1.0}, {"source": "ui_test_mount_test_nas_credential_handlers_tolerate_missing_keyring_store", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L808", "weight": 1.0}, {"source": "ui_test_mount_test_apply_autostart_noop_when_toggle_missing", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L824", "weight": 1.0}, {"source": "ui_test_mount_test_apply_autostart_invokes_toggle", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L829", "weight": 1.0}, {"source": "ui_test_mount_test_apply_autostart_returns_real_registration_state", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L837", "weight": 1.0}, {"source": "ui_test_mount_test_apply_autostart_swallows_toggle_failure", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L851", "weight": 1.0}, {"source": "ui_test_mount_test_templates_dir_none_when_config_none", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L865", "weight": 1.0}, {"source": "ui_test_mount_test_templates_dir_none_when_unset", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L869", "weight": 1.0}, {"source": "ui_test_mount_test_templates_dir_none_when_unset", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L869", "weight": 1.0}, {"source": "ui_test_mount_test_templates_dir_returns_path", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L873", "weight": 1.0}, {"source": "ui_test_mount_test_templates_dir_returns_path", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L873", "weight": 1.0}, {"source": "ui_test_mount_test_equipment_ids_empty_without_config", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L878", "weight": 1.0}, {"source": "ui_test_mount_test_equipment_ids_lists_configured_ids", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L882", "weight": 1.0}, {"source": "ui_test_mount_test_equipment_ids_lists_configured_ids", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L883", "weight": 1.0}, {"source": "ui_test_mount_test_template_names_empty_without_templates_dir", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L894", "weight": 1.0}, {"source": "ui_test_mount_test_template_names_lists_summary_names", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L905", "weight": 1.0}, {"source": "ui_test_mount_test_template_names_lists_summary_names", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L905", "weight": 1.0}, {"source": "ui_test_mount_test_template_names_swallows_scan_failure", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L920", "weight": 1.0}, {"source": "ui_test_mount_test_template_names_swallows_scan_failure", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L920", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_empty_without_config", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L930", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_empty_without_catalogue_path", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L934", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_empty_without_catalogue_path", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L934", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_empty_when_catalogue_missing", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L938", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_empty_when_catalogue_missing", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L938", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_reads_offline_catalogue", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L952", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_reads_offline_catalogue", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L952", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_swallows_read_failure", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L974", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_swallows_read_failure", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L974", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_uses_live_lims", "target": "ui_test_mount_fakelimsclient", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L997", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_uses_live_lims", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L998", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_uses_live_lims", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L998", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", "target": "ui_test_mount_fakelimsclient", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1011", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1012", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1012", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "target": "ui_test_mount_fakelimsclient", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1027", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1028", "weight": 1.0}, {"source": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1029", "weight": 1.0}, {"source": "ui_test_mount_test_template_questions_map_empty_without_templates_dir", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1053", "weight": 1.0}, {"source": "ui_test_mount_test_template_questions_map_resolves_questions", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1073", "weight": 1.0}, {"source": "ui_test_mount_test_template_questions_map_resolves_questions", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1073", "weight": 1.0}, {"source": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1093", "weight": 1.0}, {"source": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1093", "weight": 1.0}, {"source": "ui_test_mount_test_await_session_awaits_pending_task", "target": "ui_test_mount_fakecontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1108", "weight": 1.0}, {"source": "ui_test_mount_test_await_session_without_pending_task", "target": "ui_test_mount_fakecontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1116", "weight": 1.0}, {"source": "ui_test_mount_test_run_creation_navigates_home_on_done", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1128", "weight": 1.0}, {"source": "ui_test_mount_test_run_creation_navigates_home_on_done", "target": "ui_test_mount_fakecontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1129", "weight": 1.0}, {"source": "ui_test_mount_test_run_creation_reports_failure_state", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1135", "weight": 1.0}, {"source": "ui_test_mount_test_run_creation_reports_failure_state", "target": "ui_test_mount_fakecontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1137", "weight": 1.0}, {"source": "ui_test_mount_test_run_creation_swallows_create_exception", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1145", "weight": 1.0}, {"source": "ui_test_mount_test_run_creation_swallows_create_exception", "target": "ui_test_mount_fakecontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1146", "weight": 1.0}, {"source": "ui_test_mount_test_submit_project_toasts_when_controller_missing", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1161", "weight": 1.0}, {"source": "ui_test_mount_test_submit_project_toasts_when_controller_missing", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1162", "weight": 1.0}, {"source": "ui_test_mount_test_submit_project_toasts_without_template", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1167", "weight": 1.0}, {"source": "ui_test_mount_test_submit_project_toasts_without_template", "target": "ui_test_mount_fakecontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1168", "weight": 1.0}, {"source": "ui_test_mount_test_submit_project_toasts_without_template", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1169", "weight": 1.0}, {"source": "ui_test_mount_test_submit_project_toasts_without_template", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1169", "weight": 1.0}, {"source": "ui_test_mount_test_submit_project_builds_request_and_runs", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1175", "weight": 1.0}, {"source": "ui_test_mount_test_submit_project_builds_request_and_runs", "target": "ui_test_mount_fakecontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1176", "weight": 1.0}, {"source": "ui_test_mount_test_submit_project_builds_request_and_runs", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1177", "weight": 1.0}, {"source": "ui_test_mount_test_submit_project_builds_request_and_runs", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1177", "weight": 1.0}, {"source": "ui_test_mount_test_submit_run_toasts_when_controller_missing", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1196", "weight": 1.0}, {"source": "ui_test_mount_test_submit_run_toasts_when_controller_missing", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1197", "weight": 1.0}, {"source": "ui_test_mount_test_submit_run_builds_request_and_runs", "target": "ui_test_mount_navspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1202", "weight": 1.0}, {"source": "ui_test_mount_test_submit_run_builds_request_and_runs", "target": "ui_test_mount_fakecontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1203", "weight": 1.0}, {"source": "ui_test_mount_test_submit_run_builds_request_and_runs", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1204", "weight": 1.0}, {"source": "ui_test_mount_test_submit_run_builds_request_and_runs", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1204", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_returns_empty_when_node_missing", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1290", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1303", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1304", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1314", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1315", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1331", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1332", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1372", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1373", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1387", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1388", "weight": 1.0}, {"source": "ui_test_mount_test_build_main_state_threads_selection_into_state", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1395", "weight": 1.0}, {"source": "ui_test_mount_uispy_init", "target": "ui_test_mount_clipboardspy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1468", "weight": 1.0}, {"source": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1492", "weight": 1.0}, {"source": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1503", "weight": 1.0}, {"source": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1511", "weight": 1.0}, {"source": "ui_test_mount_test_file_context_action_unknown_action_no_raise", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1519", "weight": 1.0}, {"source": "ui_test_mount_test_file_context_action_empty_path_toasts_negative", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1526", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", "target": "ui_test_mount_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1561", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1562", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1562", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1563", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1574", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1574", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1575", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_no_config_toasts_negative", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1581", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_no_config_toasts_negative", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1582", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1592", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1592", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1593", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1600", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1600", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1601", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1616", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1616", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1617", "weight": 1.0}, {"source": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1649", "weight": 1.0}, {"source": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1649", "weight": 1.0}, {"source": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1650", "weight": 1.0}, {"source": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1661", "weight": 1.0}, {"source": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1662", "weight": 1.0}, {"source": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1675", "weight": 1.0}, {"source": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1675", "weight": 1.0}, {"source": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1676", "weight": 1.0}, {"source": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection", "target": "ui_test_mount_stubapp", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1705", "weight": 1.0}, {"source": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1706", "weight": 1.0}, {"source": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", "target": "ui_test_mount_stubapp", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1717", "weight": 1.0}, {"source": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1718", "weight": 1.0}, {"source": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "target": "ui_test_mount_stubapp", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1733", "weight": 1.0}, {"source": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1755", "weight": 1.0}, {"source": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1778", "weight": 1.0}, {"source": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1797", "weight": 1.0}, {"source": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1811", "weight": 1.0}, {"source": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1822", "weight": 1.0}, {"source": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1823", "weight": 1.0}, {"source": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1843", "weight": 1.0}, {"source": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1844", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1864", "weight": 1.0}, {"source": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1864", "weight": 1.0}, {"source": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1878", "weight": 1.0}, {"source": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1888", "weight": 1.0}, {"source": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1895", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1933", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1933", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1934", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1949", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1949", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1950", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", "target": "ui_test_mount_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1962", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", "target": "ui_test_mount_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1962", "weight": 1.0}, {"source": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1963", "weight": 1.0}, {"source": "ui_test_mount_test_file_context_action_clipboard_failure_toasts", "target": "ui_test_mount_uispy", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1978", "weight": 1.0}, {"source": "ui_test_mount_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_mount_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_mount_rationale_30", "target": "ui_test_mount_deps", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L30", "weight": 1.0}, {"source": "ui_test_mount_rationale_80", "target": "ui_test_mount_fluent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L80", "weight": 1.0}, {"source": "ui_test_mount_rationale_99", "target": "ui_test_mount_fakeui", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L99", "weight": 1.0}, {"source": "ui_test_mount_rationale_117", "target": "ui_test_mount_boomui", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L117", "weight": 1.0}, {"source": "ui_test_mount_rationale_129", "target": "ui_test_mount_fakecontroller", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L129", "weight": 1.0}, {"source": "ui_test_mount_rationale_184", "target": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L184", "weight": 1.0}, {"source": "ui_test_mount_rationale_215", "target": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L215", "weight": 1.0}, {"source": "ui_test_mount_rationale_226", "target": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L226", "weight": 1.0}, {"source": "ui_test_mount_rationale_264", "target": "ui_test_mount_test_build_main_state_always_on_orchestrator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L264", "weight": 1.0}, {"source": "ui_test_mount_rationale_342", "target": "ui_test_mount_nas_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L342", "weight": 1.0}, {"source": "ui_test_mount_rationale_446", "target": "ui_test_mount_test_staging_state_when_staging_root_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L446", "weight": 1.0}, {"source": "ui_test_mount_rationale_493", "target": "ui_test_mount_navspy", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L493", "weight": 1.0}, {"source": "ui_test_mount_rationale_501", "target": "ui_test_mount_test_persist_config_writes_and_applies_live", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L501", "weight": 1.0}, {"source": "ui_test_mount_rationale_578", "target": "ui_test_mount_test_persist_config_creates_staging_root_when_set", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L578", "weight": 1.0}, {"source": "ui_test_mount_rationale_593", "target": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L593", "weight": 1.0}, {"source": "ui_test_mount_rationale_607", "target": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L607", "weight": 1.0}, {"source": "ui_test_mount_rationale_634", "target": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L634", "weight": 1.0}, {"source": "ui_test_mount_rationale_701", "target": "ui_test_mount_recordingkeyringstore", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L701", "weight": 1.0}, {"source": "ui_test_mount_rationale_740", "target": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L740", "weight": 1.0}, {"source": "ui_test_mount_rationale_749", "target": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L749", "weight": 1.0}, {"source": "ui_test_mount_rationale_981", "target": "ui_test_mount_fakelimsclient", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L981", "weight": 1.0}, {"source": "ui_test_mount_rationale_1227", "target": "ui_test_mount_test_build_main_query_omits_empty_params", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1227", "weight": 1.0}, {"source": "ui_test_mount_rationale_1235", "target": "ui_test_mount_test_build_main_query_url_encodes_special_chars", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1235", "weight": 1.0}, {"source": "ui_test_mount_rationale_1252", "target": "ui_test_mount_test_classify_node_discriminates_kinds", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1252", "weight": 1.0}, {"source": "ui_test_mount_rationale_1273", "target": "ui_test_mount_test_classify_node_rejects_unknown_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1273", "weight": 1.0}, {"source": "ui_test_mount_rationale_1295", "target": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1295", "weight": 1.0}, {"source": "ui_test_mount_rationale_1313", "target": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1313", "weight": 1.0}, {"source": "ui_test_mount_rationale_1320", "target": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1320", "weight": 1.0}, {"source": "ui_test_mount_rationale_1339", "target": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1339", "weight": 1.0}, {"source": "ui_test_mount_rationale_1384", "target": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1384", "weight": 1.0}, {"source": "ui_test_mount_rationale_1393", "target": "ui_test_mount_test_build_main_state_threads_selection_into_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1393", "weight": 1.0}, {"source": "ui_test_mount_rationale_1411", "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1411", "weight": 1.0}, {"source": "ui_test_mount_rationale_1417", "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1417", "weight": 1.0}, {"source": "ui_test_mount_rationale_1431", "target": "ui_test_mount_test_open_in_os_darwin_invokes_open", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1431", "weight": 1.0}, {"source": "ui_test_mount_rationale_1440", "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1440", "weight": 1.0}, {"source": "ui_test_mount_rationale_1464", "target": "ui_test_mount_uispy", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1464", "weight": 1.0}, {"source": "ui_test_mount_rationale_1489", "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1489", "weight": 1.0}, {"source": "ui_test_mount_rationale_1501", "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1501", "weight": 1.0}, {"source": "ui_test_mount_rationale_1510", "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1510", "weight": 1.0}, {"source": "ui_test_mount_rationale_1518", "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1518", "weight": 1.0}, {"source": "ui_test_mount_rationale_1525", "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1525", "weight": 1.0}, {"source": "ui_test_mount_rationale_1545", "target": "ui_test_mount_drain_background", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1545", "weight": 1.0}, {"source": "ui_test_mount_rationale_1560", "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1560", "weight": 1.0}, {"source": "ui_test_mount_rationale_1573", "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1573", "weight": 1.0}, {"source": "ui_test_mount_rationale_1580", "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1580", "weight": 1.0}, {"source": "ui_test_mount_rationale_1589", "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1589", "weight": 1.0}, {"source": "ui_test_mount_rationale_1599", "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1599", "weight": 1.0}, {"source": "ui_test_mount_rationale_1608", "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1608", "weight": 1.0}, {"source": "ui_test_mount_rationale_1633", "target": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1633", "weight": 1.0}, {"source": "ui_test_mount_rationale_1660", "target": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1660", "weight": 1.0}, {"source": "ui_test_mount_rationale_1669", "target": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1669", "weight": 1.0}, {"source": "ui_test_mount_rationale_1693", "target": "ui_test_mount_stubapp", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1693", "weight": 1.0}, {"source": "ui_test_mount_rationale_1704", "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1704", "weight": 1.0}, {"source": "ui_test_mount_rationale_1714", "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1714", "weight": 1.0}, {"source": "ui_test_mount_rationale_1727", "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1727", "weight": 1.0}, {"source": "ui_test_mount_rationale_1769", "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1769", "weight": 1.0}, {"source": "ui_test_mount_rationale_1786", "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1786", "weight": 1.0}, {"source": "ui_test_mount_rationale_1805", "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1805", "weight": 1.0}, {"source": "ui_test_mount_rationale_1821", "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1821", "weight": 1.0}, {"source": "ui_test_mount_rationale_1830", "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1830", "weight": 1.0}, {"source": "ui_test_mount_rationale_1858", "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1858", "weight": 1.0}, {"source": "ui_test_mount_rationale_1871", "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1871", "weight": 1.0}, {"source": "ui_test_mount_rationale_1887", "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1887", "weight": 1.0}, {"source": "ui_test_mount_rationale_1894", "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1894", "weight": 1.0}, {"source": "ui_test_mount_rationale_1900", "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1900", "weight": 1.0}, {"source": "ui_test_mount_rationale_1905", "target": "ui_test_mount_test_count_dir_children_filters_by_prefix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1905", "weight": 1.0}, {"source": "ui_test_mount_rationale_1914", "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1914", "weight": 1.0}, {"source": "ui_test_mount_rationale_1927", "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1927", "weight": 1.0}, {"source": "ui_test_mount_rationale_1943", "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1943", "weight": 1.0}, {"source": "ui_test_mount_rationale_1959", "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1959", "weight": 1.0}, {"source": "ui_test_mount_rationale_1972", "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1972", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_mount_deps", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L39"}, {"caller_nid": "ui_test_mount_deps", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L40"}, {"caller_nid": "ui_test_mount_config", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L55"}, {"caller_nid": "ui_test_mount_config", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L56"}, {"caller_nid": "ui_test_mount_config", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L61"}, {"caller_nid": "ui_test_mount_config", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L66"}, {"caller_nid": "ui_test_mount_config", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L70"}, {"caller_nid": "ui_test_mount_fakeui_init", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L105"}, {"caller_nid": "ui_test_mount_fakeui_label", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L112"}, {"caller_nid": "ui_test_mount_boomui_card", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L121"}, {"caller_nid": "ui_test_mount_boomui_label", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L125"}, {"caller_nid": "ui_test_mount_fakecontroller_init", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L144"}, {"caller_nid": "ui_test_mount_fakecontroller_status", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L148"}, {"caller_nid": "ui_test_mount_fakecontroller_create_project", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L151"}, {"caller_nid": "ui_test_mount_fakecontroller_create_project", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L154"}, {"caller_nid": "ui_test_mount_fakecontroller_create_project", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L155"}, {"caller_nid": "ui_test_mount_test_is_setup_ready_false_when_deps_none", "callee": "_is_setup_ready", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L176"}, {"caller_nid": "ui_test_mount_test_is_setup_ready_false_when_config_missing", "callee": "_is_setup_ready", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L180"}, {"caller_nid": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing", "callee": "_is_setup_ready", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L191"}, {"caller_nid": "ui_test_mount_test_is_setup_ready_false_when_lims_unreachable", "callee": "_is_setup_ready", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L201"}, {"caller_nid": "ui_test_mount_test_is_setup_ready_true_when_all_satisfied", "callee": "_is_setup_ready", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L211"}, {"caller_nid": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L220"}, {"caller_nid": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing", "callee": "_is_setup_ready", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L222"}, {"caller_nid": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims", "callee": "_is_setup_ready", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L238"}, {"caller_nid": "ui_test_mount_test_build_main_state_marks_incomplete_without_config", "callee": "_build_main_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L247"}, {"caller_nid": "ui_test_mount_test_build_main_state_sources_problems_counts_from_audit", "callee": "_build_main_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L258"}, {"caller_nid": "ui_test_mount_test_build_main_state_always_on_orchestrator", "callee": "_build_main_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L272"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L284"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L285"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L286"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L287"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L288"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L289"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L290"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L291"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L292"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L294"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L294"}, {"caller_nid": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", "callee": "_operation_counts", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L295"}, {"caller_nid": "ui_test_mount_test_operation_counts_zero_without_controller", "callee": "_operation_counts", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L303"}, {"caller_nid": "ui_test_mount_test_operation_counts_zero_without_controller", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L303"}, {"caller_nid": "ui_test_mount_test_missing_sections_when_deps_none", "callee": "_missing_setup_sections", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L312"}, {"caller_nid": "ui_test_mount_test_missing_sections_when_config_none", "callee": "_missing_setup_sections", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L319"}, {"caller_nid": "ui_test_mount_test_missing_sections_with_paths_unset", "callee": "_missing_setup_sections", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L327"}, {"caller_nid": "ui_test_mount_test_missing_sections_with_keyring_absent_reports_lims", "callee": "_missing_setup_sections", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L333"}, {"caller_nid": "ui_test_mount_test_missing_sections_empty_when_fully_configured", "callee": "_missing_setup_sections", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L338"}, {"caller_nid": "ui_test_mount_nas_config", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L360"}, {"caller_nid": "ui_test_mount_nas_config", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L362"}, {"caller_nid": "ui_test_mount_nas_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L364"}, {"caller_nid": "ui_test_mount_nas_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L365"}, {"caller_nid": "ui_test_mount_nas_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L368"}, {"caller_nid": "ui_test_mount_nas_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L373"}, {"caller_nid": "ui_test_mount_nas_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L381"}, {"caller_nid": "ui_test_mount_test_missing_sections_includes_nas_credentials_when_password_absent", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L389"}, {"caller_nid": "ui_test_mount_test_missing_sections_includes_nas_credentials_when_password_absent", "callee": "_missing_setup_sections", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L391"}, {"caller_nid": "ui_test_mount_test_missing_sections_excludes_nas_credentials_when_password_present", "callee": "_missing_setup_sections", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L400"}, {"caller_nid": "ui_test_mount_raisingvalidator_audit", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L411"}, {"caller_nid": "ui_test_mount_test_safe_audit_returns_empty_list_when_validator_missing", "callee": "_safe_audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L423"}, {"caller_nid": "ui_test_mount_test_safe_audit_swallows_validator_exception", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L428"}, {"caller_nid": "ui_test_mount_test_safe_audit_swallows_validator_exception", "callee": "_safe_audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L429"}, {"caller_nid": "ui_test_mount_test_safe_audit_swallows_validator_exception", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L431"}, {"caller_nid": "ui_test_mount_test_safe_audit_forwards_validator_output", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L435"}, {"caller_nid": "ui_test_mount_test_safe_audit_forwards_validator_output", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L435"}, {"caller_nid": "ui_test_mount_test_safe_audit_forwards_validator_output", "callee": "_safe_audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L437"}, {"caller_nid": "ui_test_mount_test_staging_state_when_staging_root_missing", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L451"}, {"caller_nid": "ui_test_mount_test_staging_state_when_staging_root_missing", "callee": "_build_staging_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L454"}, {"caller_nid": "ui_test_mount_test_staging_state_none_when_no_config", "callee": "_build_staging_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L461"}, {"caller_nid": "ui_test_mount_test_staging_state_returns_empty_rows_on_query_failure", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L478"}, {"caller_nid": "ui_test_mount_test_staging_state_returns_empty_rows_on_query_failure", "callee": "_build_staging_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L482"}, {"caller_nid": "ui_test_mount_navspy_init", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L497"}, {"caller_nid": "ui_test_mount_test_persist_config_writes_and_applies_live", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L510"}, {"caller_nid": "ui_test_mount_test_persist_config_writes_and_applies_live", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L510"}, {"caller_nid": "ui_test_mount_test_persist_config_writes_and_applies_live", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L512"}, {"caller_nid": "ui_test_mount_test_persist_config_writes_and_applies_live", "callee": "_persist_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L514"}, {"caller_nid": "ui_test_mount_test_persist_config_writes_and_applies_live", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L520"}, {"caller_nid": "ui_test_mount_test_persist_config_returns_false_when_no_saver", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L526"}, {"caller_nid": "ui_test_mount_test_persist_config_returns_false_when_no_saver", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L526"}, {"caller_nid": "ui_test_mount_test_persist_config_returns_false_when_no_saver", "callee": "_persist_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L529"}, {"caller_nid": "ui_test_mount_test_persist_config_returns_false_when_no_saver", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L529"}, {"caller_nid": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L538"}, {"caller_nid": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L538"}, {"caller_nid": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", "callee": "_persist_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L546"}, {"caller_nid": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L546"}, {"caller_nid": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L558"}, {"caller_nid": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L558"}, {"caller_nid": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "callee": "_Awaitable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L564"}, {"caller_nid": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L565"}, {"caller_nid": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L567"}, {"caller_nid": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "callee": "_persist_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L568"}, {"caller_nid": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L572"}, {"caller_nid": "ui_test_mount_test_persist_config_creates_staging_root_when_set", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L579"}, {"caller_nid": "ui_test_mount_test_persist_config_creates_staging_root_when_set", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L581"}, {"caller_nid": "ui_test_mount_test_persist_config_creates_staging_root_when_set", "callee": "_persist_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L584"}, {"caller_nid": "ui_test_mount_test_persist_config_creates_staging_root_when_set", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L587"}, {"caller_nid": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L594"}, {"caller_nid": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", "callee": "_persist_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L598"}, {"caller_nid": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L601"}, {"caller_nid": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", "callee": "iterdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L601"}, {"caller_nid": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L608"}, {"caller_nid": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L610"}, {"caller_nid": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L611"}, {"caller_nid": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L618"}, {"caller_nid": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L620"}, {"caller_nid": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", "callee": "_persist_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L623"}, {"caller_nid": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L640"}, {"caller_nid": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L642"}, {"caller_nid": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L644"}, {"caller_nid": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", "callee": "_apply_live_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L645"}, {"caller_nid": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L648"}, {"caller_nid": "ui_test_mount_test_render_unavailable_renders_headline_and_subline", "callee": "_render_unavailable", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L658"}, {"caller_nid": "ui_test_mount_test_render_unavailable_swallows_failure", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L664"}, {"caller_nid": "ui_test_mount_test_render_unavailable_swallows_failure", "callee": "_render_unavailable", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L665"}, {"caller_nid": "ui_test_mount_test_render_unavailable_swallows_failure", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L666"}, {"caller_nid": "ui_test_mount_test_show_toast_positive_and_negative_never_raise", "callee": "_show_toast", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L677"}, {"caller_nid": "ui_test_mount_test_show_toast_positive_and_negative_never_raise", "callee": "_show_toast", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L678"}, {"caller_nid": "ui_test_mount_test_show_toast_swallows_notification_failure", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L690"}, {"caller_nid": "ui_test_mount_test_show_toast_swallows_notification_failure", "callee": "_show_toast", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L692"}, {"caller_nid": "ui_test_mount_recordingkeyringstore_set_password", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L711"}, {"caller_nid": "ui_test_mount_recordingkeyringstore_set_password", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L712"}, {"caller_nid": "ui_test_mount_recordingkeyringstore_delete_password", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L717"}, {"caller_nid": "ui_test_mount_recordingkeyringstore_delete_password", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L718"}, {"caller_nid": "ui_test_mount_test_lims_credential_handlers_save_writes_under_lims_username", "callee": "_lims_credential_handlers", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L723"}, {"caller_nid": "ui_test_mount_test_lims_credential_handlers_save_writes_under_lims_username", "callee": "on_save", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L725"}, {"caller_nid": "ui_test_mount_test_lims_credential_handlers_clear_deletes_under_lims_username", "callee": "_lims_credential_handlers", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L732"}, {"caller_nid": "ui_test_mount_test_lims_credential_handlers_clear_deletes_under_lims_username", "callee": "on_clear", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L734"}, {"caller_nid": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store", "callee": "_lims_credential_handlers", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L742"}, {"caller_nid": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store", "callee": "on_save", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L744"}, {"caller_nid": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store", "callee": "on_clear", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L745"}, {"caller_nid": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", "callee": "_lims_credential_handlers", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L752"}, {"caller_nid": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", "callee": "on_save", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L754"}, {"caller_nid": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", "callee": "on_clear", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L755"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L767"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", "callee": "_nas_credential_handlers", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L769"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", "callee": "on_save", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L771"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", "callee": "keyring_nas_username", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L773"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", "callee": "_nas_credential_handlers", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L785"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", "callee": "on_clear", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L787"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", "callee": "keyring_nas_username", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L789"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L790"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L795"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", "callee": "_nas_credential_handlers", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L798"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", "callee": "_nas_credential_handlers", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L799"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", "callee": "save_one", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L800"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", "callee": "save_two", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L801"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_tolerate_missing_keyring_store", "callee": "_nas_credential_handlers", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L807"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_tolerate_missing_keyring_store", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L808"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_tolerate_missing_keyring_store", "callee": "on_save", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L810"}, {"caller_nid": "ui_test_mount_test_nas_credential_handlers_tolerate_missing_keyring_store", "callee": "on_clear", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L811"}, {"caller_nid": "ui_test_mount_test_apply_autostart_noop_when_deps_none", "callee": "_apply_autostart", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L820"}, {"caller_nid": "ui_test_mount_test_apply_autostart_noop_when_toggle_missing", "callee": "_apply_autostart", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L824"}, {"caller_nid": "ui_test_mount_test_apply_autostart_invokes_toggle", "callee": "_apply_autostart", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L830"}, {"caller_nid": "ui_test_mount_test_apply_autostart_returns_real_registration_state", "callee": "_apply_autostart", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L837"}, {"caller_nid": "ui_test_mount_test_apply_autostart_returns_real_registration_state", "callee": "_apply_autostart", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L838"}, {"caller_nid": "ui_test_mount_test_apply_autostart_returns_real_registration_state", "callee": "_apply_autostart", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L839"}, {"caller_nid": "ui_test_mount_test_apply_autostart_returns_real_registration_state", "callee": "_apply_autostart", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L840"}, {"caller_nid": "ui_test_mount_test_apply_autostart_swallows_toggle_failure", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L850"}, {"caller_nid": "ui_test_mount_test_apply_autostart_swallows_toggle_failure", "callee": "_apply_autostart", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L851"}, {"caller_nid": "ui_test_mount_test_apply_autostart_swallows_toggle_failure", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L852"}, {"caller_nid": "ui_test_mount_test_templates_dir_none_when_deps_none", "callee": "_templates_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L861"}, {"caller_nid": "ui_test_mount_test_templates_dir_none_when_config_none", "callee": "_templates_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L865"}, {"caller_nid": "ui_test_mount_test_templates_dir_none_when_unset", "callee": "_templates_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L869"}, {"caller_nid": "ui_test_mount_test_templates_dir_returns_path", "callee": "_templates_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L874"}, {"caller_nid": "ui_test_mount_test_templates_dir_returns_path", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L874"}, {"caller_nid": "ui_test_mount_test_equipment_ids_empty_without_config", "callee": "_equipment_ids", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L878"}, {"caller_nid": "ui_test_mount_test_equipment_ids_lists_configured_ids", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L883"}, {"caller_nid": "ui_test_mount_test_equipment_ids_lists_configured_ids", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L883"}, {"caller_nid": "ui_test_mount_test_equipment_ids_lists_configured_ids", "callee": "_equipment_ids", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L885"}, {"caller_nid": "ui_test_mount_test_template_names_empty_without_templates_dir", "callee": "_template_names", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L894"}, {"caller_nid": "ui_test_mount_test_template_names_lists_summary_names", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L901"}, {"caller_nid": "ui_test_mount_test_template_names_lists_summary_names", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L901"}, {"caller_nid": "ui_test_mount_test_template_names_lists_summary_names", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L902"}, {"caller_nid": "ui_test_mount_test_template_names_lists_summary_names", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L902"}, {"caller_nid": "ui_test_mount_test_template_names_lists_summary_names", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L904"}, {"caller_nid": "ui_test_mount_test_template_names_lists_summary_names", "callee": "_template_names", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L906"}, {"caller_nid": "ui_test_mount_test_template_names_swallows_scan_failure", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L918"}, {"caller_nid": "ui_test_mount_test_template_names_swallows_scan_failure", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L919"}, {"caller_nid": "ui_test_mount_test_template_names_swallows_scan_failure", "callee": "_template_names", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L920"}, {"caller_nid": "ui_test_mount_test_template_names_swallows_scan_failure", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L921"}, {"caller_nid": "ui_test_mount_test_lims_projects_empty_without_config", "callee": "_lims_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L930"}, {"caller_nid": "ui_test_mount_test_lims_projects_empty_without_catalogue_path", "callee": "_lims_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L934"}, {"caller_nid": "ui_test_mount_test_lims_projects_empty_when_catalogue_missing", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L938"}, {"caller_nid": "ui_test_mount_test_lims_projects_empty_when_catalogue_missing", "callee": "_lims_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L939"}, {"caller_nid": "ui_test_mount_test_lims_projects_reads_offline_catalogue", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L946"}, {"caller_nid": "ui_test_mount_test_lims_projects_reads_offline_catalogue", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L947"}, {"caller_nid": "ui_test_mount_test_lims_projects_reads_offline_catalogue", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L948"}, {"caller_nid": "ui_test_mount_test_lims_projects_reads_offline_catalogue", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L950"}, {"caller_nid": "ui_test_mount_test_lims_projects_reads_offline_catalogue", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L952"}, {"caller_nid": "ui_test_mount_test_lims_projects_reads_offline_catalogue", "callee": "_lims_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L953"}, {"caller_nid": "ui_test_mount_test_lims_projects_swallows_read_failure", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L967"}, {"caller_nid": "ui_test_mount_test_lims_projects_swallows_read_failure", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L973"}, {"caller_nid": "ui_test_mount_test_lims_projects_swallows_read_failure", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L974"}, {"caller_nid": "ui_test_mount_test_lims_projects_swallows_read_failure", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L975"}, {"caller_nid": "ui_test_mount_test_lims_projects_swallows_read_failure", "callee": "_lims_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L976"}, {"caller_nid": "ui_test_mount_test_lims_projects_swallows_read_failure", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L977"}, {"caller_nid": "ui_test_mount_fakelimsclient_list_projects", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L992"}, {"caller_nid": "ui_test_mount_test_lims_projects_uses_live_lims", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L997"}, {"caller_nid": "ui_test_mount_test_lims_projects_uses_live_lims", "callee": "_lims_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L999"}, {"caller_nid": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1011"}, {"caller_nid": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", "callee": "_lims_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1013"}, {"caller_nid": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1021"}, {"caller_nid": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1022"}, {"caller_nid": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1023"}, {"caller_nid": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1025"}, {"caller_nid": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1029"}, {"caller_nid": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1033"}, {"caller_nid": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "callee": "_lims_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1034"}, {"caller_nid": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1044"}, {"caller_nid": "ui_test_mount_test_template_questions_map_empty_without_templates_dir", "callee": "_template_questions_map", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1053"}, {"caller_nid": "ui_test_mount_test_template_questions_map_resolves_questions", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1062"}, {"caller_nid": "ui_test_mount_test_template_questions_map_resolves_questions", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1062"}, {"caller_nid": "ui_test_mount_test_template_questions_map_resolves_questions", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1063"}, {"caller_nid": "ui_test_mount_test_template_questions_map_resolves_questions", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1069"}, {"caller_nid": "ui_test_mount_test_template_questions_map_resolves_questions", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1070"}, {"caller_nid": "ui_test_mount_test_template_questions_map_resolves_questions", "callee": "_template_questions_map", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1074"}, {"caller_nid": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1083"}, {"caller_nid": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1083"}, {"caller_nid": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1084"}, {"caller_nid": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1091"}, {"caller_nid": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1092"}, {"caller_nid": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "callee": "_template_questions_map", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1093"}, {"caller_nid": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1094"}, {"caller_nid": "ui_test_mount_test_await_session_awaits_pending_task", "callee": "_background", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1108"}, {"caller_nid": "ui_test_mount_test_await_session_awaits_pending_task", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1109"}, {"caller_nid": "ui_test_mount_test_await_session_awaits_pending_task", "callee": "_await_session", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1110"}, {"caller_nid": "ui_test_mount_test_await_session_without_pending_task", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1117"}, {"caller_nid": "ui_test_mount_test_await_session_without_pending_task", "callee": "_await_session", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1118"}, {"caller_nid": "ui_test_mount_test_run_creation_navigates_home_on_done", "callee": "_run_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1130"}, {"caller_nid": "ui_test_mount_test_run_creation_navigates_home_on_done", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1130"}, {"caller_nid": "ui_test_mount_test_run_creation_reports_failure_state", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1136"}, {"caller_nid": "ui_test_mount_test_run_creation_reports_failure_state", "callee": "_run_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1138"}, {"caller_nid": "ui_test_mount_test_run_creation_reports_failure_state", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1138"}, {"caller_nid": "ui_test_mount_test_run_creation_swallows_create_exception", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1147"}, {"caller_nid": "ui_test_mount_test_run_creation_swallows_create_exception", "callee": "_run_creation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1148"}, {"caller_nid": "ui_test_mount_test_run_creation_swallows_create_exception", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1149"}, {"caller_nid": "ui_test_mount_test_run_creation_swallows_create_exception", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1152"}, {"caller_nid": "ui_test_mount_test_submit_project_toasts_when_controller_missing", "callee": "_submit_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1162"}, {"caller_nid": "ui_test_mount_test_submit_project_toasts_when_controller_missing", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1162"}, {"caller_nid": "ui_test_mount_test_submit_project_toasts_without_template", "callee": "_submit_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1170"}, {"caller_nid": "ui_test_mount_test_submit_project_toasts_without_template", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1170"}, {"caller_nid": "ui_test_mount_test_submit_project_builds_request_and_runs", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1177"}, {"caller_nid": "ui_test_mount_test_submit_project_builds_request_and_runs", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1178"}, {"caller_nid": "ui_test_mount_test_submit_project_builds_request_and_runs", "callee": "_submit_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1186"}, {"caller_nid": "ui_test_mount_test_submit_project_builds_request_and_runs", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1187"}, {"caller_nid": "ui_test_mount_test_submit_run_toasts_when_controller_missing", "callee": "_submit_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1197"}, {"caller_nid": "ui_test_mount_test_submit_run_toasts_when_controller_missing", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1197"}, {"caller_nid": "ui_test_mount_test_submit_run_builds_request_and_runs", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1204"}, {"caller_nid": "ui_test_mount_test_submit_run_builds_request_and_runs", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1205"}, {"caller_nid": "ui_test_mount_test_submit_run_builds_request_and_runs", "callee": "_submit_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1212"}, {"caller_nid": "ui_test_mount_test_submit_run_builds_request_and_runs", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1213"}, {"caller_nid": "ui_test_mount_test_build_main_query_omits_empty_params", "callee": "_build_main_query", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1228"}, {"caller_nid": "ui_test_mount_test_build_main_query_omits_empty_params", "callee": "_build_main_query", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1229"}, {"caller_nid": "ui_test_mount_test_build_main_query_omits_empty_params", "callee": "_build_main_query", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1230"}, {"caller_nid": "ui_test_mount_test_build_main_query_omits_empty_params", "callee": "_build_main_query", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1231"}, {"caller_nid": "ui_test_mount_test_build_main_query_url_encodes_special_chars", "callee": "_build_main_query", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1238"}, {"caller_nid": "ui_test_mount_test_build_main_query_url_encodes_special_chars", "callee": "_build_main_query", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1242"}, {"caller_nid": "ui_test_mount_test_build_main_query_url_encodes_special_chars", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1242"}, {"caller_nid": "ui_test_mount_test_build_main_query_url_encodes_special_chars", "callee": "_build_main_query", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1243"}, {"caller_nid": "ui_test_mount_test_build_main_query_url_encodes_special_chars", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1243"}, {"caller_nid": "ui_test_mount_test_classify_node_returns_none_for_empty_selection", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1247"}, {"caller_nid": "ui_test_mount_test_classify_node_returns_none_for_empty_selection", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1248"}, {"caller_nid": "ui_test_mount_test_classify_node_discriminates_kinds", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1256"}, {"caller_nid": "ui_test_mount_test_classify_node_discriminates_kinds", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1257"}, {"caller_nid": "ui_test_mount_test_classify_node_discriminates_kinds", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1259"}, {"caller_nid": "ui_test_mount_test_classify_node_discriminates_kinds", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1260"}, {"caller_nid": "ui_test_mount_test_classify_node_discriminates_kinds", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1261"}, {"caller_nid": "ui_test_mount_test_classify_node_discriminates_kinds", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1262"}, {"caller_nid": "ui_test_mount_test_classify_node_discriminates_kinds", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1263"}, {"caller_nid": "ui_test_mount_test_classify_node_discriminates_kinds", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1269"}, {"caller_nid": "ui_test_mount_test_classify_node_rejects_unknown_root", "callee": "EquipmentNode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1281"}, {"caller_nid": "ui_test_mount_test_classify_node_rejects_unknown_root", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1282"}, {"caller_nid": "ui_test_mount_test_classify_node_rejects_unknown_root", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1283"}, {"caller_nid": "ui_test_mount_test_classify_node_rejects_unknown_root", "callee": "_classify_node", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1285"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_returns_empty_when_node_missing", "callee": "_build_metadata_payload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1289"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_returns_empty_when_node_missing", "callee": "_build_metadata_payload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1290"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_returns_empty_when_node_missing", "callee": "_build_metadata_payload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1291"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1296"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", "callee": "_build_metadata_payload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1304"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty", "callee": "_build_metadata_payload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1315"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1326"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1327"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1328"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1329"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1330"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1331"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", "callee": "_build_metadata_payload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1332"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1354"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1355"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1357"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1357"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1361"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1364"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1368"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1368"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1371"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1371"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1372"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "_build_metadata_payload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1373"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1373"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1380"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1386"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1387"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", "callee": "_build_metadata_payload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1388"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1388"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1389"}, {"caller_nid": "ui_test_mount_test_build_main_state_threads_selection_into_state", "callee": "_build_main_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1394"}, {"caller_nid": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1412"}, {"caller_nid": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform", "callee": "_open_in_os", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1413"}, {"caller_nid": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1418"}, {"caller_nid": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1425"}, {"caller_nid": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open", "callee": "_open_in_os", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1426"}, {"caller_nid": "ui_test_mount_test_open_in_os_darwin_invokes_open", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1432"}, {"caller_nid": "ui_test_mount_test_open_in_os_darwin_invokes_open", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1434"}, {"caller_nid": "ui_test_mount_test_open_in_os_darwin_invokes_open", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1434"}, {"caller_nid": "ui_test_mount_test_open_in_os_darwin_invokes_open", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1434"}, {"caller_nid": "ui_test_mount_test_open_in_os_darwin_invokes_open", "callee": "_open_in_os", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1435"}, {"caller_nid": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1441"}, {"caller_nid": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1446"}, {"caller_nid": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises", "callee": "_open_in_os", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1447"}, {"caller_nid": "ui_test_mount_clipboardspy_write", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1460"}, {"caller_nid": "ui_test_mount_uispy_init", "callee": "_Nav", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1477"}, {"caller_nid": "ui_test_mount_uispy_getattr", "callee": "AttributeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1483"}, {"caller_nid": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1491"}, {"caller_nid": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1491"}, {"caller_nid": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1493"}, {"caller_nid": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", "callee": "_file_context_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1494"}, {"caller_nid": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1502"}, {"caller_nid": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1504"}, {"caller_nid": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative", "callee": "_file_context_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1505"}, {"caller_nid": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1512"}, {"caller_nid": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard", "callee": "_file_context_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1513"}, {"caller_nid": "ui_test_mount_test_file_context_action_unknown_action_no_raise", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1520"}, {"caller_nid": "ui_test_mount_test_file_context_action_unknown_action_no_raise", "callee": "_file_context_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1521"}, {"caller_nid": "ui_test_mount_test_file_context_action_empty_path_toasts_negative", "callee": "_file_context_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1527"}, {"caller_nid": "ui_test_mount_test_file_context_action_empty_path_toasts_negative", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1527"}, {"caller_nid": "ui_test_mount_stubnassync_enqueue", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1540"}, {"caller_nid": "ui_test_mount_stubnassync_enqueue", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1541"}, {"caller_nid": "ui_test_mount_drain_background", "callee": "new_event_loop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1548"}, {"caller_nid": "ui_test_mount_drain_background", "callee": "run_until_complete", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1550"}, {"caller_nid": "ui_test_mount_drain_background", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1550"}, {"caller_nid": "ui_test_mount_drain_background", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1552"}, {"caller_nid": "ui_test_mount_drain_background", "callee": "run_until_complete", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1554"}, {"caller_nid": "ui_test_mount_drain_background", "callee": "gather", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1554"}, {"caller_nid": "ui_test_mount_drain_background", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1556"}, {"caller_nid": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", "callee": "_run_staging_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1564"}, {"caller_nid": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1566"}, {"caller_nid": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1569"}, {"caller_nid": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", "callee": "_run_staging_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1576"}, {"caller_nid": "ui_test_mount_test_run_staging_action_no_config_toasts_negative", "callee": "_run_staging_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1583"}, {"caller_nid": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1591"}, {"caller_nid": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1591"}, {"caller_nid": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", "callee": "_run_staging_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1594"}, {"caller_nid": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1595"}, {"caller_nid": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", "callee": "_run_staging_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1602"}, {"caller_nid": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1615"}, {"caller_nid": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", "callee": "_run_staging_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1618"}, {"caller_nid": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1619"}, {"caller_nid": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1622"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1639"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "callee": "_summary", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1643"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "callee": "_summary", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1644"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "callee": "_summary", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1645"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1648"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1648"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "callee": "_bulk_clear_verified", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1651"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1652"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1656"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1656"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns", "callee": "_bulk_clear_verified", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1663"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1674"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", "callee": "_bulk_clear_verified", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1677"}, {"caller_nid": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1678"}, {"caller_nid": "ui_test_mount_stubapp_init", "callee": "_Storage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1700"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection", "callee": "_drive_folder_feed", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1706"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1716"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1716"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", "callee": "_drive_folder_feed", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1718"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1732"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1732"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "callee": "FolderResponse", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1735"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "callee": "FolderEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1738"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "callee": "FolderFeed", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1748"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1752"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "callee": "_drive_folder_feed", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1755"}, {"caller_nid": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1756"}, {"caller_nid": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1776"}, {"caller_nid": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1777"}, {"caller_nid": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip", "callee": "_fetch_folder_async", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1778"}, {"caller_nid": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1792"}, {"caller_nid": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1793"}, {"caller_nid": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1795"}, {"caller_nid": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", "callee": "_fetch_folder_async", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1797"}, {"caller_nid": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1810"}, {"caller_nid": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions", "callee": "_fetch_folder_async", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1811"}, {"caller_nid": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", "callee": "_open_log_dialog", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1824"}, {"caller_nid": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1825"}, {"caller_nid": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1833"}, {"caller_nid": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", "callee": "_Queue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1844"}, {"caller_nid": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", "callee": "_open_log_dialog", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1845"}, {"caller_nid": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1846"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1863"}, {"caller_nid": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", "callee": "_build_metadata_payload", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1864"}, {"caller_nid": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1872"}, {"caller_nid": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1875"}, {"caller_nid": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host", "callee": "_metadata_for_relay_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1878"}, {"caller_nid": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back", "callee": "_metadata_for_relay_equipment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1888"}, {"caller_nid": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id", "callee": "_metadata_for_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1895"}, {"caller_nid": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir", "callee": "_count_dir_children", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1901"}, {"caller_nid": "ui_test_mount_test_count_dir_children_filters_by_prefix", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1906"}, {"caller_nid": "ui_test_mount_test_count_dir_children_filters_by_prefix", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1907"}, {"caller_nid": "ui_test_mount_test_count_dir_children_filters_by_prefix", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1908"}, {"caller_nid": "ui_test_mount_test_count_dir_children_filters_by_prefix", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1909"}, {"caller_nid": "ui_test_mount_test_count_dir_children_filters_by_prefix", "callee": "_count_dir_children", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1910"}, {"caller_nid": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1918"}, {"caller_nid": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1919"}, {"caller_nid": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure", "callee": "_metadata_for_run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1920"}, {"caller_nid": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1920"}, {"caller_nid": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1921"}, {"caller_nid": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", "callee": "_Bad", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1933"}, {"caller_nid": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", "callee": "_run_staging_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1935"}, {"caller_nid": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1936"}, {"caller_nid": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1948"}, {"caller_nid": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", "callee": "_run_staging_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1951"}, {"caller_nid": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1952"}, {"caller_nid": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1961"}, {"caller_nid": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", "callee": "_run_staging_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1964"}, {"caller_nid": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1965"}, {"caller_nid": "ui_test_mount_test_file_context_action_clipboard_failure_toasts", "callee": "_BadClipboard", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1979"}, {"caller_nid": "ui_test_mount_test_file_context_action_clipboard_failure_toasts", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1980"}, {"caller_nid": "ui_test_mount_test_file_context_action_clipboard_failure_toasts", "callee": "_file_context_action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py", "source_location": "L1981"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/aa3d6cd5a35952e567c97ff3cc510499c69e58f9de54dacd0307ff145af6f5c4.json b/graphify-out/cache/ast/aa3d6cd5a35952e567c97ff3cc510499c69e58f9de54dacd0307ff145af6f5c4.json deleted file mode 100644 index e3f2e41..0000000 --- a/graphify-out/cache/ast/aa3d6cd5a35952e567c97ff3cc510499c69e58f9de54dacd0307ff145af6f5c4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_10_schema_mismatch_py", "label": "test_flow_10_schema_mismatch.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L1"}, {"id": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "label": "test_flow_10_schema_mismatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L17"}, {"id": "e2e_test_flow_10_schema_mismatch_rationale_1", "label": "E2E flow 10: Schema-mismatch / migration prompt. Frontend Spec \u00a76.9 (schema-mis", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_10_schema_mismatch_py", "target": "tests_e2e_page_objects_problems_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_10_schema_mismatch_py", "target": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L17", "weight": 1.0}, {"source": "e2e_test_flow_10_schema_mismatch_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_10_schema_mismatch_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "callee": "ProblemsPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L18"}, {"caller_nid": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L19"}, {"caller_nid": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L23"}, {"caller_nid": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L23"}, {"caller_nid": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "callee": "inner_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L24"}, {"caller_nid": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L24"}, {"caller_nid": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "callee": "inner_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", "callee": "row_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py", "source_location": "L27"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/aba760dffddbe95cb3b1a6fa033b49ca02f337543b89dec20f4c1cf8a9a4a156.json b/graphify-out/cache/ast/aba760dffddbe95cb3b1a6fa033b49ca02f337543b89dec20f4c1cf8a9a4a156.json deleted file mode 100644 index abb67f6..0000000 --- a/graphify-out/cache/ast/aba760dffddbe95cb3b1a6fa033b49ca02f337543b89dec20f4c1cf8a9a4a156.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "label": "manager.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L1"}, {"id": "logging_manager_get_logger", "label": "get_logger()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L70"}, {"id": "logging_manager_configure_logging", "label": "configure_logging()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L88"}, {"id": "logging_manager_shutdown_logging", "label": "_shutdown_logging()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L155"}, {"id": "logging_manager_teardown_locked", "label": "_teardown_locked()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L170"}, {"id": "logging_manager_resolve_threshold", "label": "_resolve_threshold()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L189"}, {"id": "logging_manager_resolve_rotation", "label": "_resolve_rotation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L204"}, {"id": "logging_manager_resolve_local_root", "label": "_resolve_local_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L214"}, {"id": "logging_manager_build_real_handlers", "label": "_build_real_handlers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L225"}, {"id": "logging_manager_rationale_1", "label": "Canonical logger factory + configuration. Backend Spec \u00a716.2.1, \u00a716.2.2, \u00a716.2.5", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L1"}, {"id": "logging_manager_rationale_71", "label": "Return a logger for ``name``. The ONLY place in the codebase that may call", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L71"}, {"id": "logging_manager_rationale_89", "label": "Install the \u00a716.2.5 queue-based handler chain. Idempotent: calling this a s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L89"}, {"id": "logging_manager_rationale_156", "label": "Drain the queue, stop the listener thread, and detach the queue handler. Ca", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L156"}, {"id": "logging_manager_rationale_171", "label": "Tear down the active listener. Must be called with ``_state_lock`` held.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L171"}, {"id": "logging_manager_rationale_190", "label": "Return the numeric level threshold for the root logger. ``LoggingConfig`` a", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L190"}, {"id": "logging_manager_rationale_205", "label": "Return ``(central_log_max_mb, central_log_keep)`` from ``config`` or defaults.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L205"}, {"id": "logging_manager_rationale_215", "label": "Return the configured ``local_root`` for the equipment-scoped handler. Phas", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L215"}, {"id": "logging_manager_rationale_232", "label": "Build the listener's downstream handler chain. Order is fixed: equipment-sc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L232"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "logging_handlers", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "queue", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "exlab_wizard_logging_format", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "exlab_wizard_logging_handlers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "logging_manager_get_logger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "logging_manager_configure_logging", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L88", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "logging_manager_shutdown_logging", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L155", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "logging_manager_teardown_locked", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L170", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "logging_manager_resolve_threshold", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "logging_manager_resolve_rotation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L204", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "logging_manager_resolve_local_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L214", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "target": "logging_manager_build_real_handlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L225", "weight": 1.0}, {"source": "logging_manager_configure_logging", "target": "logging_manager_teardown_locked", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L116", "weight": 1.0}, {"source": "logging_manager_configure_logging", "target": "logging_manager_resolve_threshold", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L118", "weight": 1.0}, {"source": "logging_manager_configure_logging", "target": "logging_manager_resolve_rotation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L119", "weight": 1.0}, {"source": "logging_manager_configure_logging", "target": "logging_manager_build_real_handlers", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L125", "weight": 1.0}, {"source": "logging_manager_configure_logging", "target": "logging_manager_resolve_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L126", "weight": 1.0}, {"source": "logging_manager_shutdown_logging", "target": "logging_manager_teardown_locked", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L162", "weight": 1.0}, {"source": "logging_manager_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_manager_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L1", "weight": 1.0}, {"source": "logging_manager_rationale_71", "target": "logging_manager_get_logger", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L71", "weight": 1.0}, {"source": "logging_manager_rationale_89", "target": "logging_manager_configure_logging", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L89", "weight": 1.0}, {"source": "logging_manager_rationale_156", "target": "logging_manager_shutdown_logging", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L156", "weight": 1.0}, {"source": "logging_manager_rationale_171", "target": "logging_manager_teardown_locked", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L171", "weight": 1.0}, {"source": "logging_manager_rationale_190", "target": "logging_manager_resolve_threshold", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L190", "weight": 1.0}, {"source": "logging_manager_rationale_205", "target": "logging_manager_resolve_rotation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L205", "weight": 1.0}, {"source": "logging_manager_rationale_215", "target": "logging_manager_resolve_local_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L215", "weight": 1.0}, {"source": "logging_manager_rationale_232", "target": "logging_manager_build_real_handlers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L232", "weight": 1.0}], "raw_calls": [{"caller_nid": "logging_manager_get_logger", "callee": "getLogger", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L85"}, {"caller_nid": "logging_manager_configure_logging", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L121"}, {"caller_nid": "logging_manager_configure_logging", "callee": "QueueHandler", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L122"}, {"caller_nid": "logging_manager_configure_logging", "callee": "StructuredTagFormatter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L124"}, {"caller_nid": "logging_manager_configure_logging", "callee": "QueueListener", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L132"}, {"caller_nid": "logging_manager_configure_logging", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L137"}, {"caller_nid": "logging_manager_configure_logging", "callee": "getLogger", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L139"}, {"caller_nid": "logging_manager_configure_logging", "callee": "setLevel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L140"}, {"caller_nid": "logging_manager_configure_logging", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L143"}, {"caller_nid": "logging_manager_configure_logging", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L144"}, {"caller_nid": "logging_manager_configure_logging", "callee": "removeHandler", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L145"}, {"caller_nid": "logging_manager_configure_logging", "callee": "addHandler", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L146"}, {"caller_nid": "logging_manager_teardown_locked", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L177"}, {"caller_nid": "logging_manager_teardown_locked", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L179"}, {"caller_nid": "logging_manager_teardown_locked", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L180"}, {"caller_nid": "logging_manager_teardown_locked", "callee": "getLogger", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L183"}, {"caller_nid": "logging_manager_teardown_locked", "callee": "removeHandler", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L184"}, {"caller_nid": "logging_manager_resolve_threshold", "callee": "getLevelName", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L200"}, {"caller_nid": "logging_manager_resolve_threshold", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L200"}, {"caller_nid": "logging_manager_resolve_threshold", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L201"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "EquipmentScopedFileHandler", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L240"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "setFormatter", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L241"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L242"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "os_central_log_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L244"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "ensure_central_log_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L245"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "RotatingFileHandler", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L246"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "setFormatter", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L252"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L253"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "StreamHandler", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L255"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "setLevel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L256"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "setFormatter", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L257"}, {"caller_nid": "logging_manager_build_real_handlers", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py", "source_location": "L258"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/ac2a950c7b0dcc0e39a5cabab48403944f0b643b26e47d0a96bfdedaa0db4b3c.json b/graphify-out/cache/ast/ac2a950c7b0dcc0e39a5cabab48403944f0b643b26e47d0a96bfdedaa0db4b3c.json deleted file mode 100644 index 9e349d4..0000000 --- a/graphify-out/cache/ast/ac2a950c7b0dcc0e39a5cabab48403944f0b643b26e47d0a96bfdedaa0db4b3c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "label": "verifier.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L1"}, {"id": "sync_verifier_verifyresult", "label": "VerifyResult", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L42"}, {"id": "sync_verifier_from_check_result", "label": "from_check_result()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L72"}, {"id": "sync_verifier_verifier", "label": "Verifier", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L93"}, {"id": "sync_verifier_verifier_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L102"}, {"id": "sync_verifier_verifier_verify", "label": ".verify()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L109"}, {"id": "sync_verifier_rationale_1", "label": "SHA-256 verifier wrapper around ``rclone check --download``. Rclone-only NAS sy", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L1"}, {"id": "sync_verifier_rationale_43", "label": "Outcome of one ``rclone check --download`` pass against a remote. ``ok`` is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L43"}, {"id": "sync_verifier_rationale_73", "label": "Translate a successful ``rclone check`` into a :class:`VerifyResult`. `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L73"}, {"id": "sync_verifier_rationale_94", "label": "Verifier: ``rclone check`` wrapper, no Python SHA pipeline. Constructed wit", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L94"}, {"id": "sync_verifier_rationale_118", "label": "Run ``rclone check --download`` over ``files_from`` and translate. Rais", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L118"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "target": "exlab_wizard_sync_transports", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "target": "exlab_wizard_sync_transports_rclone", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "target": "sync_verifier_verifyresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "target": "sync_verifier_from_check_result", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "target": "sync_verifier_verifier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L93", "weight": 1.0}, {"source": "sync_verifier_verifier", "target": "sync_verifier_verifier_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L102", "weight": 1.0}, {"source": "sync_verifier_verifier", "target": "sync_verifier_verifier_verify", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L109", "weight": 1.0}, {"source": "sync_verifier_verifier_verify", "target": "sync_verifier_verifyresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L135", "weight": 1.0}, {"source": "sync_verifier_verifier_verify", "target": "sync_verifier_from_check_result", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L140", "weight": 1.0}, {"source": "sync_verifier_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_verifier_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_verifier_rationale_43", "target": "sync_verifier_verifyresult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L43", "weight": 1.0}, {"source": "sync_verifier_rationale_73", "target": "sync_verifier_verifyresult_from_check_result", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L73", "weight": 1.0}, {"source": "sync_verifier_rationale_94", "target": "sync_verifier_verifier", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L94", "weight": 1.0}, {"source": "sync_verifier_rationale_118", "target": "sync_verifier_verifier_verify", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L118", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_verifier_from_check_result", "callee": "cls", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L83"}, {"caller_nid": "sync_verifier_verifier_init", "callee": "_Driver", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L106"}, {"caller_nid": "sync_verifier_verifier_verify", "callee": "check", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L126"}, {"caller_nid": "sync_verifier_verifier_verify", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py", "source_location": "L134"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/acf0944bab5768740b8214277661cd10e30be7f9b93b79f28bd0ba81e348f9d5.json b/graphify-out/cache/ast/acf0944bab5768740b8214277661cd10e30be7f9b93b79f28bd0ba81e348f9d5.json deleted file mode 100644 index b8ea093..0000000 --- a/graphify-out/cache/ast/acf0944bab5768740b8214277661cd10e30be7f9b93b79f28bd0ba81e348f9d5.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "label": "test_flow_24_context_menus.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L1"}, {"id": "e2e_test_flow_24_context_menus_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L21"}, {"id": "e2e_test_flow_24_context_menus_open_context", "label": "_open_context()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L34"}, {"id": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", "label": "test_flow_24_owned_equipment_context_menu_items_render()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L39"}, {"id": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", "label": "test_flow_24_edit_equipment_deep_links_into_settings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L52"}, {"id": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", "label": "test_flow_24_remove_equipment_deep_links_into_settings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L63"}, {"id": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "label": "test_flow_24_received_equipment_has_no_context_menu()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L72"}, {"id": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "label": "test_flow_24_run_context_menu_items_render()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L85"}, {"id": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "label": "test_flow_24_file_list_row_context_menu()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L97"}, {"id": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "label": "test_flow_24_tombstone_row_has_no_open_in_os()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L112"}, {"id": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "label": "test_flow_24_keep_local_badge_and_toggle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L132"}, {"id": "e2e_test_flow_24_context_menus_rationale_1", "label": "E2E flow 24: right-click context menus (Redesign \u00a74.6 / decision 4A / \u00a79.1). Th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L1"}, {"id": "e2e_test_flow_24_context_menus_rationale_35", "label": "Open a NiceGUI ``ui.context_menu`` by right-clicking its anchor.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L35"}, {"id": "e2e_test_flow_24_context_menus_rationale_73", "label": "Decision 3: received-equipment nodes don't expose edit / remove.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L73"}, {"id": "e2e_test_flow_24_context_menus_rationale_98", "label": "Right-clicking a file-list row surfaces Open in OS / Copy path / Keep local.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L98"}, {"id": "e2e_test_flow_24_context_menus_rationale_113", "label": "An \"On NAS\" tombstone row has no local copy, so no Open-in-OS action. Opera", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L113"}, {"id": "e2e_test_flow_24_context_menus_rationale_133", "label": "A keep-local file shows the \"kept local\" badge; the toggle action fires. Op", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L133"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "target": "e2e_test_flow_24_context_menus_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "target": "e2e_test_flow_24_context_menus_open_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "target": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "target": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "target": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "target": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "target": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "target": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L97", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "target": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "target": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L132", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", "target": "e2e_test_flow_24_context_menus_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L40", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", "target": "e2e_test_flow_24_context_menus_open_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L43", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", "target": "e2e_test_flow_24_context_menus_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L53", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", "target": "e2e_test_flow_24_context_menus_open_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L56", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", "target": "e2e_test_flow_24_context_menus_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L64", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", "target": "e2e_test_flow_24_context_menus_open_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L66", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "target": "e2e_test_flow_24_context_menus_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L74", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "target": "e2e_test_flow_24_context_menus_open_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L77", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "target": "e2e_test_flow_24_context_menus_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L86", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "target": "e2e_test_flow_24_context_menus_open_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L89", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "target": "e2e_test_flow_24_context_menus_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L99", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "target": "e2e_test_flow_24_context_menus_open_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L106", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "target": "e2e_test_flow_24_context_menus_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L119", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "target": "e2e_test_flow_24_context_menus_open_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L124", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "target": "e2e_test_flow_24_context_menus_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L141", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "target": "e2e_test_flow_24_context_menus_open_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L150", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_24_context_menus_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_rationale_35", "target": "e2e_test_flow_24_context_menus_open_context", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L35", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_rationale_73", "target": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L73", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_rationale_98", "target": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L98", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_rationale_113", "target": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L113", "weight": 1.0}, {"source": "e2e_test_flow_24_context_menus_rationale_133", "target": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L133", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_24_context_menus_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L23"}, {"caller_nid": "e2e_test_flow_24_context_menus_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_24_context_menus_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_24_context_menus_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L30"}, {"caller_nid": "e2e_test_flow_24_context_menus_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_24_context_menus_open_context", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L41"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L42"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L44"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L44"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L47"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L47"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L54"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L55"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L57"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L57"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L58"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L65"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L67"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L67"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", "callee": "wait_for_url", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L68"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L75"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L76"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L80"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L80"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "callee": "is_visible", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L81"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L81"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L87"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L88"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L90"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L90"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L91"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L91"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L94"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L94"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L101"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L101"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L102"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L104"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L105"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L107"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L107"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L108"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L108"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L109"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L109"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L120"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L120"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L121"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L122"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L123"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L125"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L125"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L126"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L126"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L128"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L129"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L129"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L142"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L142"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L143"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L145"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L146"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L147"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L148"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L149"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L151"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L152"}, {"caller_nid": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py", "source_location": "L153"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/ae0b422f23c5468dcdec55282377f8fe6867494a59a63792ff36f27f64070e4b.json b/graphify-out/cache/ast/ae0b422f23c5468dcdec55282377f8fe6867494a59a63792ff36f27f64070e4b.json deleted file mode 100644 index 6a525e4..0000000 --- a/graphify-out/cache/ast/ae0b422f23c5468dcdec55282377f8fe6867494a59a63792ff36f27f64070e4b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_plugin_py", "label": "plugin.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L1"}, {"id": "crash_plugin_plugin_crashplugin", "label": "CrashPlugin", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L18"}, {"id": "plugin", "label": "Plugin", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "crash_plugin_plugin_crashplugin_can_handle", "label": ".can_handle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L26"}, {"id": "crash_plugin_plugin_crashplugin_transform", "label": ".transform()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L29"}, {"id": "crash_plugin_plugin_rationale_1", "label": "crash_plugin -- exercises subprocess crash containment. The plugin's ``transfor", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L1"}, {"id": "crash_plugin_plugin_rationale_19", "label": "Hard-exit the worker process before any file write.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L19"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_plugin_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_plugin_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_plugin_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_plugin_py", "target": "exlab_wizard_plugins", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_plugin_py", "target": "crash_plugin_plugin_crashplugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L18", "weight": 1.0}, {"source": "crash_plugin_plugin_crashplugin", "target": "plugin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L18", "weight": 1.0}, {"source": "crash_plugin_plugin_crashplugin", "target": "crash_plugin_plugin_crashplugin_can_handle", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L26", "weight": 1.0}, {"source": "crash_plugin_plugin_crashplugin", "target": "crash_plugin_plugin_crashplugin_transform", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L29", "weight": 1.0}, {"source": "crash_plugin_plugin_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_plugin_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L1", "weight": 1.0}, {"source": "crash_plugin_plugin_rationale_19", "target": "crash_plugin_plugin_crashplugin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L19", "weight": 1.0}], "raw_calls": [{"caller_nid": "crash_plugin_plugin_crashplugin_transform", "callee": "_exit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py", "source_location": "L34"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/aef50e7570a99c2a7dfd6594b6d83b5c13d7327d59f5767f183323bca6f87181.json b/graphify-out/cache/ast/aef50e7570a99c2a7dfd6594b6d83b5c13d7327d59f5767f183323bca6f87181.json deleted file mode 100644 index f30b594..0000000 --- a/graphify-out/cache/ast/aef50e7570a99c2a7dfd6594b6d83b5c13d7327d59f5767f183323bca6f87181.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_14_notifications_py", "label": "test_flow_14_notifications.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py", "source_location": "L1"}, {"id": "e2e_test_flow_14_notifications_test_flow_14_notifications", "label": "test_flow_14_notifications()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py", "source_location": "L26"}, {"id": "e2e_test_flow_14_notifications_rationale_1", "label": "E2E flow 14: Tray notifications + in-app toasts. Frontend Spec \u00a76.13 (notificat", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_14_notifications_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_14_notifications_py", "target": "e2e_test_flow_14_notifications_test_flow_14_notifications", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py", "source_location": "L26", "weight": 1.0}, {"source": "e2e_test_flow_14_notifications_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_14_notifications_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_14_notifications_test_flow_14_notifications", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py", "source_location": "L27"}, {"caller_nid": "e2e_test_flow_14_notifications_test_flow_14_notifications", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py", "source_location": "L28"}, {"caller_nid": "e2e_test_flow_14_notifications_test_flow_14_notifications", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_14_notifications_test_flow_14_notifications", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py", "source_location": "L29"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/aefdf2511cfcf156c020094d9b324b0dd1f1a90c5baa24e39adf4c614ec374d3.json b/graphify-out/cache/ast/aefdf2511cfcf156c020094d9b324b0dd1f1a90c5baa24e39adf4c614ec374d3.json deleted file mode 100644 index 6ed239d..0000000 --- a/graphify-out/cache/ast/aefdf2511cfcf156c020094d9b324b0dd1f1a90c5baa24e39adf4c614ec374d3.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_mock_lims_py", "label": "mock_lims.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L1"}, {"id": "fixtures_mock_lims_mocklimsstate", "label": "MockLimsState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L38"}, {"id": "fixtures_mock_lims_mocklimsstate_issue_session", "label": ".issue_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L53"}, {"id": "fixtures_mock_lims_mocklimsstate_is_valid_session", "label": ".is_valid_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L59"}, {"id": "fixtures_mock_lims_mocklimsstate_invalidate_sessions", "label": ".invalidate_sessions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L62"}, {"id": "fixtures_mock_lims_default_user", "label": "_default_user()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L69"}, {"id": "fixtures_mock_lims_default_project", "label": "_default_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L77"}, {"id": "fixtures_mock_lims_make_mock_lims_app", "label": "make_mock_lims_app()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L90"}, {"id": "fixtures_mock_lims_rationale_1", "label": "In-memory FastAPI fixture LIMS server used by the LIMS-client tests. The fixtur", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L1"}, {"id": "fixtures_mock_lims_rationale_39", "label": "Mutable per-app state. ``valid_email`` / ``valid_password`` are the credent", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L39"}, {"id": "fixtures_mock_lims_rationale_54", "label": "Mint a fresh opaque session token.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L54"}, {"id": "fixtures_mock_lims_rationale_63", "label": "Drop every issued session token. The next protected call sees a 401 and", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L63"}, {"id": "fixtures_mock_lims_rationale_97", "label": "Build a FastAPI app implementing the v1 LIMS read surface. Returns a fresh", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L97"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_mock_lims_py", "target": "secrets", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_mock_lims_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_mock_lims_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_mock_lims_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_mock_lims_py", "target": "fixtures_mock_lims_mocklimsstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L38", "weight": 1.0}, {"source": "fixtures_mock_lims_mocklimsstate", "target": "fixtures_mock_lims_mocklimsstate_issue_session", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L53", "weight": 1.0}, {"source": "fixtures_mock_lims_mocklimsstate", "target": "fixtures_mock_lims_mocklimsstate_is_valid_session", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L59", "weight": 1.0}, {"source": "fixtures_mock_lims_mocklimsstate", "target": "fixtures_mock_lims_mocklimsstate_invalidate_sessions", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_mock_lims_py", "target": "fixtures_mock_lims_default_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_mock_lims_py", "target": "fixtures_mock_lims_default_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_mock_lims_py", "target": "fixtures_mock_lims_make_mock_lims_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L90", "weight": 1.0}, {"source": "fixtures_mock_lims_make_mock_lims_app", "target": "fixtures_mock_lims_mocklimsstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L105", "weight": 1.0}, {"source": "fixtures_mock_lims_make_mock_lims_app", "target": "fixtures_mock_lims_default_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L108", "weight": 1.0}, {"source": "fixtures_mock_lims_make_mock_lims_app", "target": "fixtures_mock_lims_default_user", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L109", "weight": 1.0}, {"source": "fixtures_mock_lims_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_mock_lims_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L1", "weight": 1.0}, {"source": "fixtures_mock_lims_rationale_39", "target": "fixtures_mock_lims_mocklimsstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L39", "weight": 1.0}, {"source": "fixtures_mock_lims_rationale_54", "target": "fixtures_mock_lims_mocklimsstate_issue_session", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L54", "weight": 1.0}, {"source": "fixtures_mock_lims_rationale_63", "target": "fixtures_mock_lims_mocklimsstate_invalidate_sessions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L63", "weight": 1.0}, {"source": "fixtures_mock_lims_rationale_97", "target": "fixtures_mock_lims_make_mock_lims_app", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L97", "weight": 1.0}], "raw_calls": [{"caller_nid": "fixtures_mock_lims_mocklimsstate_issue_session", "callee": "token_hex", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L55"}, {"caller_nid": "fixtures_mock_lims_mocklimsstate_issue_session", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L56"}, {"caller_nid": "fixtures_mock_lims_mocklimsstate_invalidate_sessions", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L66"}, {"caller_nid": "fixtures_mock_lims_make_mock_lims_app", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L104"}, {"caller_nid": "fixtures_mock_lims_make_mock_lims_app", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L108"}, {"caller_nid": "fixtures_mock_lims_make_mock_lims_app", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L109"}, {"caller_nid": "fixtures_mock_lims_make_mock_lims_app", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L117"}, {"caller_nid": "fixtures_mock_lims_make_mock_lims_app", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L128"}, {"caller_nid": "fixtures_mock_lims_make_mock_lims_app", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L133"}, {"caller_nid": "fixtures_mock_lims_make_mock_lims_app", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py", "source_location": "L140"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/b03d5573617e6013bc7b746b2565c471a57ef1c07f0526b83e3c16d752513987.json b/graphify-out/cache/ast/b03d5573617e6013bc7b746b2565c471a57ef1c07f0526b83e3c16d752513987.json deleted file mode 100644 index dbc644e..0000000 --- a/graphify-out/cache/ast/b03d5573617e6013bc7b746b2565c471a57ef1c07f0526b83e3c16d752513987.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_12_orchestrator_mode_md", "label": "12_Orchestrator_Mode.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L1"}, {"id": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", "label": "12. Orchestrator Mode (Multi-Equipment Workstations)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L1"}, {"id": "design_spec_sections_12_orchestrator_mode_12_1_what_changes_in_orchestrator_mode", "label": "12.1 What Changes in Orchestrator Mode", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L7"}, {"id": "design_spec_sections_12_orchestrator_mode_12_2_configuration", "label": "12.2 Configuration", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L20"}, {"id": "design_spec_sections_12_orchestrator_mode_12_3_concurrent_run_handling", "label": "12.3 Concurrent Run Handling", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L24"}, {"id": "design_spec_sections_12_orchestrator_mode_12_4_logging_and_db_changes", "label": "12.4 Logging and DB Changes", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L28"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_12_orchestrator_mode_md", "target": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", "target": "design_spec_sections_12_orchestrator_mode_12_1_what_changes_in_orchestrator_mode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L7", "weight": 1.0}, {"source": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", "target": "design_spec_sections_12_orchestrator_mode_12_2_configuration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L20", "weight": 1.0}, {"source": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", "target": "design_spec_sections_12_orchestrator_mode_12_3_concurrent_run_handling", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L24", "weight": 1.0}, {"source": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", "target": "design_spec_sections_12_orchestrator_mode_12_4_logging_and_db_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md", "source_location": "L28", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/b0cb0fba6211abda3e6aa82d2de8d3dcb0467aa121c45016d8603d25377febef.json b/graphify-out/cache/ast/b0cb0fba6211abda3e6aa82d2de8d3dcb0467aa121c45016d8603d25377febef.json deleted file mode 100644 index 577efb9..0000000 --- a/graphify-out/cache/ast/b0cb0fba6211abda3e6aa82d2de8d3dcb0467aa121c45016d8603d25377febef.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_plugins_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/__init__.py", "source_location": "L1"}, {"id": "plugins_init_rationale_1", "label": "Integration tests for the plugin host. Backend Spec \u00a76.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/__init__.py", "source_location": "L1"}], "edges": [{"source": "plugins_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_plugins_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/b0e73ce3673079cfd7d46ceff4f849eb1b008fe0b9e250bd0aec0bea494e0fe8.json b/graphify-out/cache/ast/b0e73ce3673079cfd7d46ceff4f849eb1b008fe0b9e250bd0aec0bea494e0fe8.json deleted file mode 100644 index e62fd1c..0000000 --- a/graphify-out/cache/ast/b0e73ce3673079cfd7d46ceff4f849eb1b008fe0b9e250bd0aec0bea494e0fe8.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "label": "models.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L1"}, {"id": "config_models_parse_hhmm", "label": "_parse_hhmm()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L73"}, {"id": "config_models_pathsconfig", "label": "PathsConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L97"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "config_models_limsconfig", "label": "LIMSConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L112"}, {"id": "config_models_readmedefaultfield", "label": "READMEDefaultField", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L128"}, {"id": "config_models_id_matches_question_id_grammar", "label": "_id_matches_question_id_grammar()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L143"}, {"id": "config_models_serialize_type", "label": "_serialize_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L153"}, {"id": "config_models_choice_requires_non_empty_options", "label": "_choice_requires_non_empty_options()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L158"}, {"id": "config_models_readmeconfig", "label": "READMEConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L169"}, {"id": "config_models_bandwidthwindow", "label": "BandwidthWindow", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L182"}, {"id": "config_models_serialize_days", "label": "_serialize_days()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L192"}, {"id": "config_models_from_must_precede_to", "label": "_from_must_precede_to()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L196"}, {"id": "config_models_bandwidthconfig", "label": "BandwidthConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L205"}, {"id": "config_models_upload_mbps_positive_or_none", "label": "_upload_mbps_positive_or_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L215"}, {"id": "config_models_rclonesftptransport", "label": "RcloneSftpTransport", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L227"}, {"id": "config_models_rclonesmbtransport", "label": "RcloneSmbTransport", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L247"}, {"id": "config_models_transport_requires_keyring_password", "label": "transport_requires_keyring_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L276"}, {"id": "config_models_orchestratorstagingtransport", "label": "OrchestratorStagingTransport", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L288"}, {"id": "config_models_equipmentconfig", "label": "EquipmentConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L307"}, {"id": "config_models_serialize_sync_mode", "label": "_serialize_sync_mode()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L329"}, {"id": "config_models_validate_equipment_id", "label": "_validate_equipment_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L334"}, {"id": "config_models_sync_mode_dictates_transport", "label": "_sync_mode_dictates_transport()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L345"}, {"id": "config_models_nascleanupconfig", "label": "NASCleanupConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L375"}, {"id": "config_models_loggingconfig", "label": "LoggingConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L391"}, {"id": "config_models_normalize_and_validate_level", "label": "_normalize_and_validate_level()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L402"}, {"id": "config_models_operatorsconfig", "label": "OperatorsConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L422"}, {"id": "config_models_default_content_scan_extensions", "label": "_default_content_scan_extensions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L435"}, {"id": "config_models_validatorconfig", "label": "ValidatorConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L454"}, {"id": "config_models_extensions_must_start_with_dot", "label": "_extensions_must_start_with_dot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L466"}, {"id": "config_models_pluginsconfig", "label": "PluginsConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L479"}, {"id": "config_models_default_ignore_globs", "label": "_default_ignore_globs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L492"}, {"id": "config_models_syncconfig", "label": "SyncConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L496"}, {"id": "config_models_orchestratorstagingcleanup", "label": "OrchestratorStagingCleanup", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L513"}, {"id": "config_models_serialize_mode", "label": "_serialize_mode()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L524"}, {"id": "config_models_orchestratorconfig", "label": "OrchestratorConfig", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L529"}, {"id": "config_models_config", "label": "Config", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L554"}, {"id": "config_models_cross_field_invariants", "label": "_cross_field_invariants()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L572"}, {"id": "config_models_config_with_equipment_appended", "label": "config_with_equipment_appended()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L592"}, {"id": "config_models_rationale_1", "label": "Pydantic models that mirror ``config.yaml``. Backend Spec \u00a79. These models are", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L1"}, {"id": "config_models_rationale_74", "label": "Return ``datetime.time`` for a strict zero-padded ``HH:MM`` string. The wiz", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L74"}, {"id": "config_models_rationale_98", "label": "``paths:`` block. Templates / plugins / equipment-first local root.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L98"}, {"id": "config_models_rationale_113", "label": "``lims:`` block. Read-only LIMS endpoint plus offline catalogue path.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L113"}, {"id": "config_models_rationale_129", "label": "One operator-defined extra README field. Backend Spec \u00a79, \u00a710.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L129"}, {"id": "config_models_rationale_170", "label": "``readme:`` block. Lab-policy fields layered on top of the core set.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L170"}, {"id": "config_models_rationale_183", "label": "One ``{days, from, to}`` window. Backend Spec \u00a79.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L183"}, {"id": "config_models_rationale_206", "label": "``bandwidth:`` sub-block on a transport.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L206"}, {"id": "config_models_rationale_228", "label": "``transport:`` block for SFTP over SSH with password auth. The wizard invok", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L228"}, {"id": "config_models_rationale_248", "label": "``transport:`` block for an SMB share with password auth. The wizard invoke", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L248"}, {"id": "config_models_rationale_277", "label": "Return True when ``transport`` sources its credential from the keyring. Bot", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L277"}, {"id": "config_models_rationale_289", "label": "``orchestrator_staging_transport:`` -- staging hop only. Backend Spec \u00a713.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L289"}, {"id": "config_models_rationale_308", "label": "One ``equipment:`` list entry. Backend Spec \u00a79. ``sync_mode`` (Redesign Spe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L308"}, {"id": "config_models_rationale_376", "label": "``nas_cleanup:`` block. Local-copy retention after NAS verify.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L376"}, {"id": "config_models_rationale_392", "label": "``logging:`` block. Central app-log rotation + level.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L392"}, {"id": "config_models_rationale_423", "label": "``operators:`` block. Optional case-sensitive allowlist.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L423"}, {"id": "config_models_rationale_455", "label": "``validator:`` block. Content-scan tuning. Backend Spec \u00a78.1.1, \u00a711.8.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L455"}, {"id": "config_models_rationale_480", "label": "``plugins:`` block. Master opt-in for network-declaring plugins.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L480"}, {"id": "config_models_rationale_497", "label": "``sync:`` block. NAS sync engine kill-switch + retry / quiescence policy.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L497"}, {"id": "config_models_rationale_514", "label": "``orchestrator.staging_cleanup:`` sub-block. Backend Spec \u00a713.7.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L514"}, {"id": "config_models_rationale_530", "label": "``orchestrator:`` block. Backend Spec \u00a79, \u00a713. GUI/Orchestrator Redesign \u00a73", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L530"}, {"id": "config_models_rationale_555", "label": "Top-level ``config.yaml`` model. Mirrors \u00a79 verbatim.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L555"}, {"id": "config_models_rationale_593", "label": "Return a copy of ``config`` with ``equipment`` appended. The single place t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L593"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_parse_hhmm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L73", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_pathsconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L97", "weight": 1.0}, {"source": "config_models_pathsconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L97", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_limsconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L112", "weight": 1.0}, {"source": "config_models_limsconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_readmedefaultfield", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L128", "weight": 1.0}, {"source": "config_models_readmedefaultfield", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_id_matches_question_id_grammar", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L143", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_serialize_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L153", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_choice_requires_non_empty_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L158", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_readmeconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L169", "weight": 1.0}, {"source": "config_models_readmeconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L169", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_bandwidthwindow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L182", "weight": 1.0}, {"source": "config_models_bandwidthwindow", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L182", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_serialize_days", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L192", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_from_must_precede_to", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L196", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_bandwidthconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L205", "weight": 1.0}, {"source": "config_models_bandwidthconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L205", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_upload_mbps_positive_or_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L215", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_rclonesftptransport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L227", "weight": 1.0}, {"source": "config_models_rclonesftptransport", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L227", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_rclonesmbtransport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L247", "weight": 1.0}, {"source": "config_models_rclonesmbtransport", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L247", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_transport_requires_keyring_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L276", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_orchestratorstagingtransport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L288", "weight": 1.0}, {"source": "config_models_orchestratorstagingtransport", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L288", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_serialize_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L298", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_equipmentconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L307", "weight": 1.0}, {"source": "config_models_equipmentconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L307", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_serialize_sync_mode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L329", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_validate_equipment_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L334", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_sync_mode_dictates_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L345", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_nascleanupconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L375", "weight": 1.0}, {"source": "config_models_nascleanupconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L375", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_loggingconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L391", "weight": 1.0}, {"source": "config_models_loggingconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L391", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_normalize_and_validate_level", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L402", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_operatorsconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L422", "weight": 1.0}, {"source": "config_models_operatorsconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L422", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_default_content_scan_extensions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L435", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_validatorconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L454", "weight": 1.0}, {"source": "config_models_validatorconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L454", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_extensions_must_start_with_dot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L466", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_pluginsconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L479", "weight": 1.0}, {"source": "config_models_pluginsconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L479", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_default_ignore_globs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L492", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_syncconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L496", "weight": 1.0}, {"source": "config_models_syncconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L496", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_orchestratorstagingcleanup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L513", "weight": 1.0}, {"source": "config_models_orchestratorstagingcleanup", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L513", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_serialize_mode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L524", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_orchestratorconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L529", "weight": 1.0}, {"source": "config_models_orchestratorconfig", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L529", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L554", "weight": 1.0}, {"source": "config_models_config", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L554", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_cross_field_invariants", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L572", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "target": "config_models_config_with_equipment_appended", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L592", "weight": 1.0}, {"source": "config_models_from_must_precede_to", "target": "config_models_parse_hhmm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L197", "weight": 1.0}, {"source": "config_models_config_with_equipment_appended", "target": "config_models_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L606", "weight": 1.0}, {"source": "config_models_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_config_models_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L1", "weight": 1.0}, {"source": "config_models_rationale_74", "target": "config_models_parse_hhmm", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L74", "weight": 1.0}, {"source": "config_models_rationale_98", "target": "config_models_pathsconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L98", "weight": 1.0}, {"source": "config_models_rationale_113", "target": "config_models_limsconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L113", "weight": 1.0}, {"source": "config_models_rationale_129", "target": "config_models_readmedefaultfield", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L129", "weight": 1.0}, {"source": "config_models_rationale_170", "target": "config_models_readmeconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L170", "weight": 1.0}, {"source": "config_models_rationale_183", "target": "config_models_bandwidthwindow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L183", "weight": 1.0}, {"source": "config_models_rationale_206", "target": "config_models_bandwidthconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L206", "weight": 1.0}, {"source": "config_models_rationale_228", "target": "config_models_rclonesftptransport", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L228", "weight": 1.0}, {"source": "config_models_rationale_248", "target": "config_models_rclonesmbtransport", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L248", "weight": 1.0}, {"source": "config_models_rationale_277", "target": "config_models_transport_requires_keyring_password", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L277", "weight": 1.0}, {"source": "config_models_rationale_289", "target": "config_models_orchestratorstagingtransport", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L289", "weight": 1.0}, {"source": "config_models_rationale_308", "target": "config_models_equipmentconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L308", "weight": 1.0}, {"source": "config_models_rationale_376", "target": "config_models_nascleanupconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L376", "weight": 1.0}, {"source": "config_models_rationale_392", "target": "config_models_loggingconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L392", "weight": 1.0}, {"source": "config_models_rationale_423", "target": "config_models_operatorsconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L423", "weight": 1.0}, {"source": "config_models_rationale_455", "target": "config_models_validatorconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L455", "weight": 1.0}, {"source": "config_models_rationale_480", "target": "config_models_pluginsconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L480", "weight": 1.0}, {"source": "config_models_rationale_497", "target": "config_models_syncconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L497", "weight": 1.0}, {"source": "config_models_rationale_514", "target": "config_models_orchestratorstagingcleanup", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L514", "weight": 1.0}, {"source": "config_models_rationale_530", "target": "config_models_orchestratorconfig", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L530", "weight": 1.0}, {"source": "config_models_rationale_555", "target": "config_models_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L555", "weight": 1.0}, {"source": "config_models_rationale_593", "target": "config_models_config_with_equipment_appended", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L593", "weight": 1.0}], "raw_calls": [{"caller_nid": "config_models_parse_hhmm", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L82"}, {"caller_nid": "config_models_parse_hhmm", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L82"}, {"caller_nid": "config_models_parse_hhmm", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L84"}, {"caller_nid": "config_models_parse_hhmm", "callee": "fromisoformat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L86"}, {"caller_nid": "config_models_parse_hhmm", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L89"}, {"caller_nid": "config_models_id_matches_question_id_grammar", "callee": "fullmatch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L144"}, {"caller_nid": "config_models_id_matches_question_id_grammar", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L149"}, {"caller_nid": "config_models_choice_requires_non_empty_options", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L163"}, {"caller_nid": "config_models_from_must_precede_to", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L201"}, {"caller_nid": "config_models_upload_mbps_positive_or_none", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L218"}, {"caller_nid": "config_models_transport_requires_keyring_password", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L285"}, {"caller_nid": "config_models_validate_equipment_id", "callee": "canonicalize_equipment_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L340"}, {"caller_nid": "config_models_validate_equipment_id", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L342"}, {"caller_nid": "config_models_validate_equipment_id", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L342"}, {"caller_nid": "config_models_sync_mode_dictates_transport", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L350"}, {"caller_nid": "config_models_sync_mode_dictates_transport", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L356"}, {"caller_nid": "config_models_sync_mode_dictates_transport", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L363"}, {"caller_nid": "config_models_sync_mode_dictates_transport", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L366"}, {"caller_nid": "config_models_normalize_and_validate_level", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L403"}, {"caller_nid": "config_models_normalize_and_validate_level", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L404"}, {"caller_nid": "config_models_normalize_and_validate_level", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L405"}, {"caller_nid": "config_models_normalize_and_validate_level", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L406"}, {"caller_nid": "config_models_normalize_and_validate_level", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L406"}, {"caller_nid": "config_models_normalize_and_validate_level", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L410"}, {"caller_nid": "config_models_normalize_and_validate_level", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L413"}, {"caller_nid": "config_models_extensions_must_start_with_dot", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L468"}, {"caller_nid": "config_models_extensions_must_start_with_dot", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L470"}, {"caller_nid": "config_models_cross_field_invariants", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L575"}, {"caller_nid": "config_models_cross_field_invariants", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L579"}, {"caller_nid": "config_models_cross_field_invariants", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L580"}, {"caller_nid": "config_models_config_with_equipment_appended", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L610"}, {"caller_nid": "config_models_config_with_equipment_appended", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L611"}, {"caller_nid": "config_models_config_with_equipment_appended", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L614"}, {"caller_nid": "config_models_config_with_equipment_appended", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py", "source_location": "L614"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/b13c6caaf0baf565e08171a71c75e3b3a1cefb26aafeff0b71889f9808b50e23.json b/graphify-out/cache/ast/b13c6caaf0baf565e08171a71c75e3b3a1cefb26aafeff0b71889f9808b50e23.json deleted file mode 100644 index 49545c5..0000000 --- a/graphify-out/cache/ast/b13c6caaf0baf565e08171a71c75e3b3a1cefb26aafeff0b71889f9808b50e23.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "label": "test_keyboard.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L1"}, {"id": "ui_test_keyboard_test_all_documented_shortcuts_in_registry", "label": "test_all_documented_shortcuts_in_registry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L26"}, {"id": "ui_test_keyboard_test_new_project_combo_macos_and_other", "label": "test_new_project_combo_macos_and_other()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L43"}, {"id": "ui_test_keyboard_test_new_run_combo_macos_and_other", "label": "test_new_run_combo_macos_and_other()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L51"}, {"id": "ui_test_keyboard_test_new_test_run_combo_macos_and_other", "label": "test_new_test_run_combo_macos_and_other()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L59"}, {"id": "ui_test_keyboard_test_open_settings_uses_comma_key", "label": "test_open_settings_uses_comma_key()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L67"}, {"id": "ui_test_keyboard_test_refresh_tree_combo", "label": "test_refresh_tree_combo()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L75"}, {"id": "ui_test_keyboard_test_open_problems_combo", "label": "test_open_problems_combo()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L83"}, {"id": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash", "label": "test_focus_tree_search_is_unmodified_slash()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L91"}, {"id": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier", "label": "test_wizard_next_uses_enter_with_modifier()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L99"}, {"id": "ui_test_keyboard_test_wizard_cancel_uses_escape", "label": "test_wizard_cancel_uses_escape()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L107"}, {"id": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux", "label": "test_combo_for_current_os_returns_other_on_linux()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L115"}, {"id": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin", "label": "test_combo_for_current_os_returns_macos_on_darwin()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L123"}, {"id": "ui_test_keyboard_test_resolve_finds_known_combo_on_linux", "label": "test_resolve_finds_known_combo_on_linux()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L131"}, {"id": "ui_test_keyboard_test_resolve_returns_none_for_unknown_combo", "label": "test_resolve_returns_none_for_unknown_combo()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L139"}, {"id": "ui_test_keyboard_test_get_binding_raises_for_unknown", "label": "test_get_binding_raises_for_unknown()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L145"}, {"id": "ui_test_keyboard_test_registry_register_and_dispatch", "label": "test_registry_register_and_dispatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L155"}, {"id": "ui_test_keyboard_test_registry_dispatch_returns_false_when_unbound", "label": "test_registry_dispatch_returns_false_when_unbound()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L165"}, {"id": "ui_test_keyboard_test_registry_double_register_raises", "label": "test_registry_double_register_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L172"}, {"id": "ui_test_keyboard_test_keycombo_matches_returns_true_for_same_modifiers", "label": "test_keycombo_matches_returns_true_for_same_modifiers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L181"}, {"id": "ui_test_keyboard_test_descriptions_match_spec", "label": "test_descriptions_match_spec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L189"}, {"id": "ui_test_keyboard_rationale_1", "label": "Unit tests for :mod:`exlab_wizard.ui.keyboard`. The registry is intentionally s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L1"}, {"id": "ui_test_keyboard_rationale_27", "label": "Every Frontend \u00a73.7 row has a ShortcutBinding.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L27"}, {"id": "ui_test_keyboard_rationale_44", "label": "``Cmd+N`` on macOS, ``Ctrl+N`` elsewhere.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L44"}, {"id": "ui_test_keyboard_rationale_52", "label": "``Cmd+Shift+N`` / ``Ctrl+Shift+N``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L52"}, {"id": "ui_test_keyboard_rationale_60", "label": "``Cmd+Shift+T`` / ``Ctrl+Shift+T``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L60"}, {"id": "ui_test_keyboard_rationale_68", "label": "``Cmd+,`` / ``Ctrl+,``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L68"}, {"id": "ui_test_keyboard_rationale_76", "label": "``Cmd+R`` / ``Ctrl+R``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L76"}, {"id": "ui_test_keyboard_rationale_84", "label": "``Cmd+Shift+P`` / ``Ctrl+Shift+P``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L84"}, {"id": "ui_test_keyboard_rationale_92", "label": "``/`` focuses the tree search box.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L92"}, {"id": "ui_test_keyboard_rationale_100", "label": "``Cmd+Enter`` / ``Ctrl+Enter`` advances the wizard.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L100"}, {"id": "ui_test_keyboard_rationale_108", "label": "Esc cancels the wizard.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L108"}, {"id": "ui_test_keyboard_rationale_116", "label": "On non-darwin we return ``other``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L116"}, {"id": "ui_test_keyboard_rationale_124", "label": "On darwin we return ``macos``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L124"}, {"id": "ui_test_keyboard_rationale_132", "label": "Resolver returns the right shortcut id on non-darwin.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L132"}, {"id": "ui_test_keyboard_rationale_140", "label": "Unknown combos resolve to ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L140"}, {"id": "ui_test_keyboard_rationale_146", "label": "``get_binding`` raises ``KeyError`` for an unknown shortcut id.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L146"}, {"id": "ui_test_keyboard_rationale_156", "label": "``ShortcutRegistry`` dispatches the registered handler exactly once.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L156"}, {"id": "ui_test_keyboard_rationale_166", "label": "Dispatching an unbound shortcut returns ``False`` and runs no handler.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L166"}, {"id": "ui_test_keyboard_rationale_173", "label": "Two handlers per shortcut is forbidden.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L173"}, {"id": "ui_test_keyboard_rationale_182", "label": "``KeyCombo.matches`` is exact-match across modifiers and key.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L182"}, {"id": "ui_test_keyboard_rationale_190", "label": "Each binding has a non-empty description (Frontend \u00a73.7).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L190"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "exlab_wizard_ui_keyboard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_all_documented_shortcuts_in_registry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_new_project_combo_macos_and_other", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_new_run_combo_macos_and_other", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_new_test_run_combo_macos_and_other", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_open_settings_uses_comma_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_refresh_tree_combo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_open_problems_combo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L91", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L99", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_wizard_cancel_uses_escape", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L107", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L115", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_resolve_finds_known_combo_on_linux", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L131", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_resolve_returns_none_for_unknown_combo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L139", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_get_binding_raises_for_unknown", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L145", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_registry_register_and_dispatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L155", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_registry_dispatch_returns_false_when_unbound", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L165", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_registry_double_register_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L172", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_keycombo_matches_returns_true_for_same_modifiers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L181", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "target": "ui_test_keyboard_test_descriptions_match_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L189", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_keyboard_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_27", "target": "ui_test_keyboard_test_all_documented_shortcuts_in_registry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L27", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_44", "target": "ui_test_keyboard_test_new_project_combo_macos_and_other", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L44", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_52", "target": "ui_test_keyboard_test_new_run_combo_macos_and_other", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L52", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_60", "target": "ui_test_keyboard_test_new_test_run_combo_macos_and_other", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L60", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_68", "target": "ui_test_keyboard_test_open_settings_uses_comma_key", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L68", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_76", "target": "ui_test_keyboard_test_refresh_tree_combo", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L76", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_84", "target": "ui_test_keyboard_test_open_problems_combo", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L84", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_92", "target": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L92", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_100", "target": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L100", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_108", "target": "ui_test_keyboard_test_wizard_cancel_uses_escape", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L108", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_116", "target": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L116", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_124", "target": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L124", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_132", "target": "ui_test_keyboard_test_resolve_finds_known_combo_on_linux", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L132", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_140", "target": "ui_test_keyboard_test_resolve_returns_none_for_unknown_combo", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L140", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_146", "target": "ui_test_keyboard_test_get_binding_raises_for_unknown", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L146", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_156", "target": "ui_test_keyboard_test_registry_register_and_dispatch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L156", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_166", "target": "ui_test_keyboard_test_registry_dispatch_returns_false_when_unbound", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L166", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_173", "target": "ui_test_keyboard_test_registry_double_register_raises", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L173", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_182", "target": "ui_test_keyboard_test_keycombo_matches_returns_true_for_same_modifiers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L182", "weight": 1.0}, {"source": "ui_test_keyboard_rationale_190", "target": "ui_test_keyboard_test_descriptions_match_spec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L190", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_keyboard_test_all_documented_shortcuts_in_registry", "callee": "list_bindings", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L29"}, {"caller_nid": "ui_test_keyboard_test_new_project_combo_macos_and_other", "callee": "get_binding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L46"}, {"caller_nid": "ui_test_keyboard_test_new_project_combo_macos_and_other", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L47"}, {"caller_nid": "ui_test_keyboard_test_new_project_combo_macos_and_other", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L48"}, {"caller_nid": "ui_test_keyboard_test_new_run_combo_macos_and_other", "callee": "get_binding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L54"}, {"caller_nid": "ui_test_keyboard_test_new_run_combo_macos_and_other", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L55"}, {"caller_nid": "ui_test_keyboard_test_new_run_combo_macos_and_other", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L56"}, {"caller_nid": "ui_test_keyboard_test_new_test_run_combo_macos_and_other", "callee": "get_binding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L62"}, {"caller_nid": "ui_test_keyboard_test_new_test_run_combo_macos_and_other", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L63"}, {"caller_nid": "ui_test_keyboard_test_new_test_run_combo_macos_and_other", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L64"}, {"caller_nid": "ui_test_keyboard_test_open_settings_uses_comma_key", "callee": "get_binding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L70"}, {"caller_nid": "ui_test_keyboard_test_refresh_tree_combo", "callee": "get_binding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L78"}, {"caller_nid": "ui_test_keyboard_test_refresh_tree_combo", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L79"}, {"caller_nid": "ui_test_keyboard_test_refresh_tree_combo", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L80"}, {"caller_nid": "ui_test_keyboard_test_open_problems_combo", "callee": "get_binding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L86"}, {"caller_nid": "ui_test_keyboard_test_open_problems_combo", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L87"}, {"caller_nid": "ui_test_keyboard_test_open_problems_combo", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L88"}, {"caller_nid": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash", "callee": "get_binding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L94"}, {"caller_nid": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L95"}, {"caller_nid": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L96"}, {"caller_nid": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier", "callee": "get_binding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L102"}, {"caller_nid": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L103"}, {"caller_nid": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L104"}, {"caller_nid": "ui_test_keyboard_test_wizard_cancel_uses_escape", "callee": "get_binding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L110"}, {"caller_nid": "ui_test_keyboard_test_wizard_cancel_uses_escape", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L111"}, {"caller_nid": "ui_test_keyboard_test_wizard_cancel_uses_escape", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L112"}, {"caller_nid": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L118"}, {"caller_nid": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux", "callee": "combo_for_current_os", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L119"}, {"caller_nid": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L120"}, {"caller_nid": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L126"}, {"caller_nid": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin", "callee": "combo_for_current_os", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L127"}, {"caller_nid": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L128"}, {"caller_nid": "ui_test_keyboard_test_resolve_finds_known_combo_on_linux", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L134"}, {"caller_nid": "ui_test_keyboard_test_resolve_finds_known_combo_on_linux", "callee": "resolve", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L135"}, {"caller_nid": "ui_test_keyboard_test_resolve_returns_none_for_unknown_combo", "callee": "resolve", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L142"}, {"caller_nid": "ui_test_keyboard_test_get_binding_raises_for_unknown", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L148"}, {"caller_nid": "ui_test_keyboard_test_get_binding_raises_for_unknown", "callee": "get_binding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L152"}, {"caller_nid": "ui_test_keyboard_test_registry_register_and_dispatch", "callee": "ShortcutRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L158"}, {"caller_nid": "ui_test_keyboard_test_registry_register_and_dispatch", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L160"}, {"caller_nid": "ui_test_keyboard_test_registry_register_and_dispatch", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L160"}, {"caller_nid": "ui_test_keyboard_test_registry_register_and_dispatch", "callee": "dispatch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L161"}, {"caller_nid": "ui_test_keyboard_test_registry_dispatch_returns_false_when_unbound", "callee": "ShortcutRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L168"}, {"caller_nid": "ui_test_keyboard_test_registry_dispatch_returns_false_when_unbound", "callee": "dispatch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L169"}, {"caller_nid": "ui_test_keyboard_test_registry_double_register_raises", "callee": "ShortcutRegistry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L175"}, {"caller_nid": "ui_test_keyboard_test_registry_double_register_raises", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L176"}, {"caller_nid": "ui_test_keyboard_test_registry_double_register_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L177"}, {"caller_nid": "ui_test_keyboard_test_registry_double_register_raises", "callee": "register", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L178"}, {"caller_nid": "ui_test_keyboard_test_keycombo_matches_returns_true_for_same_modifiers", "callee": "KeyCombo", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L184"}, {"caller_nid": "ui_test_keyboard_test_keycombo_matches_returns_true_for_same_modifiers", "callee": "matches", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L185"}, {"caller_nid": "ui_test_keyboard_test_keycombo_matches_returns_true_for_same_modifiers", "callee": "matches", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L186"}, {"caller_nid": "ui_test_keyboard_test_descriptions_match_spec", "callee": "list_bindings", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py", "source_location": "L192"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/b258c288b2b62737fa6b67b063886aaa8194006d629550722b0ff2575bb156b6.json b/graphify-out/cache/ast/b258c288b2b62737fa6b67b063886aaa8194006d629550722b0ff2575bb156b6.json deleted file mode 100644 index 71560e8..0000000 --- a/graphify-out/cache/ast/b258c288b2b62737fa6b67b063886aaa8194006d629550722b0ff2575bb156b6.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "label": "test_orchestrator_lifecycle.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L1"}, {"id": "integration_test_orchestrator_lifecycle_handle", "label": "_Handle", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L41"}, {"id": "integration_test_orchestrator_lifecycle_stubjobrow", "label": "_StubJobRow", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L48"}, {"id": "integration_test_orchestrator_lifecycle_stubnassync", "label": "_StubNasSync", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L53"}, {"id": "integration_test_orchestrator_lifecycle_stubnassync_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L56"}, {"id": "integration_test_orchestrator_lifecycle_stubnassync_enqueue", "label": ".enqueue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L60"}, {"id": "integration_test_orchestrator_lifecycle_stubnassync_status", "label": ".status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L64"}, {"id": "integration_test_orchestrator_lifecycle_stubnassync_list_all", "label": ".list_all()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L67"}, {"id": "integration_test_orchestrator_lifecycle_enqueued_paths", "label": "enqueued_paths()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L73"}, {"id": "integration_test_orchestrator_lifecycle_make_config", "label": "_make_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L77"}, {"id": "integration_test_orchestrator_lifecycle_stage_run", "label": "_stage_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L104"}, {"id": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "label": "test_poller_enqueues_run_after_settle_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L116"}, {"id": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "label": "test_poller_skips_file_already_synced_at_current_signature()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L134"}, {"id": "integration_test_orchestrator_lifecycle_mark_run_synced", "label": "_mark_run_synced()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L161"}, {"id": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "label": "test_staging_endpoint_surfaces_run_with_rollup_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L170"}, {"id": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "label": "test_clear_endpoint_deletes_synced_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L187"}, {"id": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "label": "test_clear_endpoint_rejects_unsynced_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L210"}, {"id": "integration_test_orchestrator_lifecycle_rationale_1", "label": "Integration test for the orchestrator quiescence-sync lifecycle. Backend Spec \u00a7", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L1"}, {"id": "integration_test_orchestrator_lifecycle_rationale_54", "label": "In-memory sync client that records per-file enqueue + serves status/list_all.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L54"}, {"id": "integration_test_orchestrator_lifecycle_rationale_117", "label": "A staged run is enqueued only once its files settle for the window.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L117"}, {"id": "integration_test_orchestrator_lifecycle_rationale_135", "label": "A quiet file recorded in sync_state.json at its current signature is not re-", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L135"}, {"id": "integration_test_orchestrator_lifecycle_rationale_162", "label": "Write a fully-verified ``sync_state.json`` so the run rolls up to ``synced``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L162"}, {"id": "integration_test_orchestrator_lifecycle_rationale_171", "label": "``GET /staging`` reports the run with its ``sync_state.json`` rollup.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L171"}, {"id": "integration_test_orchestrator_lifecycle_rationale_188", "label": "``POST /staging/.../clear`` deletes a fully-``synced`` run's data files, ret", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L188"}, {"id": "integration_test_orchestrator_lifecycle_rationale_211", "label": "A run that is not fully ``synced`` cannot be cleared.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L211"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "fastapi_testclient", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "exlab_wizard_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "exlab_wizard_cache_sync_state_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "exlab_wizard_orchestrator_quiescence_poller", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_handle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_stubjobrow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_stubnassync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L53", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_stubnassync", "target": "integration_test_orchestrator_lifecycle_stubnassync_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L56", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_stubnassync", "target": "integration_test_orchestrator_lifecycle_stubnassync_enqueue", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L60", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_stubnassync", "target": "integration_test_orchestrator_lifecycle_stubnassync_status", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L64", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_stubnassync", "target": "integration_test_orchestrator_lifecycle_stubnassync_list_all", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_enqueued_paths", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L73", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_make_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_stage_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L104", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L134", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_mark_run_synced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L161", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L170", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L187", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "target": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L210", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_stubnassync_enqueue", "target": "integration_test_orchestrator_lifecycle_handle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L62", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_stubnassync_list_all", "target": "integration_test_orchestrator_lifecycle_stubjobrow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L69", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "target": "integration_test_orchestrator_lifecycle_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L118", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "target": "integration_test_orchestrator_lifecycle_stage_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L119", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "target": "integration_test_orchestrator_lifecycle_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L120", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "target": "integration_test_orchestrator_lifecycle_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L137", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "target": "integration_test_orchestrator_lifecycle_stage_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L138", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "target": "integration_test_orchestrator_lifecycle_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L148", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "target": "integration_test_orchestrator_lifecycle_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L172", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "target": "integration_test_orchestrator_lifecycle_stage_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L173", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "target": "integration_test_orchestrator_lifecycle_mark_run_synced", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L175", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "target": "integration_test_orchestrator_lifecycle_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L176", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "target": "integration_test_orchestrator_lifecycle_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L192", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "target": "integration_test_orchestrator_lifecycle_stage_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L193", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "target": "integration_test_orchestrator_lifecycle_mark_run_synced", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L195", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "target": "integration_test_orchestrator_lifecycle_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L196", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "target": "integration_test_orchestrator_lifecycle_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L212", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "target": "integration_test_orchestrator_lifecycle_stage_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L213", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "target": "integration_test_orchestrator_lifecycle_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L215", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_test_orchestrator_lifecycle_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L1", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_rationale_54", "target": "integration_test_orchestrator_lifecycle_stubnassync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L54", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_rationale_117", "target": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L117", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_rationale_135", "target": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L135", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_rationale_162", "target": "integration_test_orchestrator_lifecycle_mark_run_synced", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L162", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_rationale_171", "target": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L171", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_rationale_188", "target": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L188", "weight": 1.0}, {"source": "integration_test_orchestrator_lifecycle_rationale_211", "target": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L211", "weight": 1.0}], "raw_calls": [{"caller_nid": "integration_test_orchestrator_lifecycle_stubnassync_enqueue", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L61"}, {"caller_nid": "integration_test_orchestrator_lifecycle_stubnassync_enqueue", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L61"}, {"caller_nid": "integration_test_orchestrator_lifecycle_stubnassync_enqueue", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L62"}, {"caller_nid": "integration_test_orchestrator_lifecycle_stubnassync_status", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L65"}, {"caller_nid": "integration_test_orchestrator_lifecycle_stubnassync_status", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L65"}, {"caller_nid": "integration_test_orchestrator_lifecycle_stubnassync_list_all", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L69"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L78"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L79"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L79"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L81"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L84"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L86"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L91"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L95"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L97"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "OrchestratorStagingCleanup", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L98"}, {"caller_nid": "integration_test_orchestrator_lifecycle_make_config", "callee": "SyncConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L100"}, {"caller_nid": "integration_test_orchestrator_lifecycle_stage_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L106"}, {"caller_nid": "integration_test_orchestrator_lifecycle_stage_run", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L107"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "callee": "QuiescenceSyncPoller", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L121"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L122"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L126"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L128"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L130"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L139"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L141"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L142"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "callee": "QuiescenceSyncPoller", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L149"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L151"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", "callee": "poll_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L152"}, {"caller_nid": "integration_test_orchestrator_lifecycle_mark_run_synced", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L163"}, {"caller_nid": "integration_test_orchestrator_lifecycle_mark_run_synced", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L164"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L174"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L176"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L177"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L178"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L179"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L181"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L182"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L183"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L194"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L196"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L197"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L198"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L199"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L201"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L204"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L205"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L206"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L206"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L214"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L215"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L217"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L218"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L219"}, {"caller_nid": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py", "source_location": "L221"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/b262f447c830df3cf9cdbaacd6fcc672b6fd59bbe01e7c4fc7074da80b136117.json b/graphify-out/cache/ast/b262f447c830df3cf9cdbaacd6fcc672b6fd59bbe01e7c4fc7074da80b136117.json deleted file mode 100644 index e13dd41..0000000 --- a/graphify-out/cache/ast/b262f447c830df3cf9cdbaacd6fcc672b6fd59bbe01e7c4fc7074da80b136117.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_io_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/b2920a22263f7b824861bbc323b86654a84746a4f4bf3da4a39b8d6dda18f083.json b/graphify-out/cache/ast/b2920a22263f7b824861bbc323b86654a84746a4f4bf3da4a39b8d6dda18f083.json deleted file mode 100644 index b45ebfc..0000000 --- a/graphify-out/cache/ast/b2920a22263f7b824861bbc323b86654a84746a4f4bf3da4a39b8d6dda18f083.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_tree_context_menu_py", "label": "tree_context_menu.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L1"}, {"id": "components_tree_context_menu_render_equipment_context_menu", "label": "render_equipment_context_menu()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L50"}, {"id": "components_tree_context_menu_render_run_context_menu", "label": "render_run_context_menu()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L79"}, {"id": "components_tree_context_menu_rationale_1", "label": "Tree context-menu renderers. GUI/Orchestrator Redesign \u00a74.6 / decision 4A / \u00a79.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L1"}, {"id": "components_tree_context_menu_rationale_55", "label": "Render the right-click menu for an owned-equipment tree node. The callback", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L55"}, {"id": "components_tree_context_menu_rationale_84", "label": "Render the right-click menu for a run tree node. The callback receives ``(r", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L84"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_tree_context_menu_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_tree_context_menu_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_tree_context_menu_py", "target": "components_tree_context_menu_render_equipment_context_menu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_tree_context_menu_py", "target": "components_tree_context_menu_render_run_context_menu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L79", "weight": 1.0}, {"source": "components_tree_context_menu_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_tree_context_menu_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L1", "weight": 1.0}, {"source": "components_tree_context_menu_rationale_55", "target": "components_tree_context_menu_render_equipment_context_menu", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L55", "weight": 1.0}, {"source": "components_tree_context_menu_rationale_84", "target": "components_tree_context_menu_render_run_context_menu", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L84", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_tree_context_menu_render_equipment_context_menu", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L65"}, {"caller_nid": "components_tree_context_menu_render_equipment_context_menu", "callee": "context_menu", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L65"}, {"caller_nid": "components_tree_context_menu_render_equipment_context_menu", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L68"}, {"caller_nid": "components_tree_context_menu_render_equipment_context_menu", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L68"}, {"caller_nid": "components_tree_context_menu_render_equipment_context_menu", "callee": "menu_item", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L68"}, {"caller_nid": "components_tree_context_menu_render_equipment_context_menu", "callee": "on_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L70"}, {"caller_nid": "components_tree_context_menu_render_equipment_context_menu", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L72"}, {"caller_nid": "components_tree_context_menu_render_equipment_context_menu", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L72"}, {"caller_nid": "components_tree_context_menu_render_equipment_context_menu", "callee": "menu_item", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L72"}, {"caller_nid": "components_tree_context_menu_render_equipment_context_menu", "callee": "on_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L74"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L95"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "context_menu", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L95"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L98"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L98"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "menu_item", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L98"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "on_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L100"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L102"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L102"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "menu_item", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L102"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "on_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L104"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L106"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L106"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "menu_item", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L106"}, {"caller_nid": "components_tree_context_menu_render_run_context_menu", "callee": "on_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py", "source_location": "L108"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/b441ec664d873619eb52bbcc81abd9142f8eeda14f97117d15722fa24a4b4318.json b/graphify-out/cache/ast/b441ec664d873619eb52bbcc81abd9142f8eeda14f97117d15722fa24a4b4318.json deleted file mode 100644 index 8409f24..0000000 --- a/graphify-out/cache/ast/b441ec664d873619eb52bbcc81abd9142f8eeda14f97117d15722fa24a4b4318.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "label": "test_notifications.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L1"}, {"id": "ui_test_notifications_reset_state", "label": "_reset_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L25"}, {"id": "ui_test_notifications_test_notify_success_uses_positive_type", "label": "test_notify_success_uses_positive_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L33"}, {"id": "ui_test_notifications_test_notify_info_default_timeout", "label": "test_notify_info_default_timeout()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L45"}, {"id": "ui_test_notifications_test_notify_warning_extended_timeout", "label": "test_notify_warning_extended_timeout()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L54"}, {"id": "ui_test_notifications_test_notify_error_extended_timeout", "label": "test_notify_error_extended_timeout()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L63"}, {"id": "ui_test_notifications_test_notify_with_action_extends_to_12_seconds", "label": "test_notify_with_action_extends_to_12_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L72"}, {"id": "ui_test_notifications_test_show_banner_rejects_unknown_id", "label": "test_show_banner_rejects_unknown_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L85"}, {"id": "ui_test_notifications_test_show_banner_records_active", "label": "test_show_banner_records_active()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L97"}, {"id": "ui_test_notifications_test_clear_banner_removes_record", "label": "test_clear_banner_removes_record()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L111"}, {"id": "ui_test_notifications_test_banner_overflow_count_when_exceeding_two", "label": "test_banner_overflow_count_when_exceeding_two()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L124"}, {"id": "ui_test_notifications_test_field_errors_round_trip", "label": "test_field_errors_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L148"}, {"id": "ui_test_notifications_test_form_errors_round_trip", "label": "test_form_errors_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L157"}, {"id": "ui_test_notifications_test_banner_id_closed_set_matches_spec", "label": "test_banner_id_closed_set_matches_spec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L166"}, {"id": "ui_test_notifications_test_severity_closed_set_matches_spec", "label": "test_severity_closed_set_matches_spec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L178"}, {"id": "ui_test_notifications_test_container_id_closed_set_matches_spec", "label": "test_container_id_closed_set_matches_spec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L189"}, {"id": "ui_test_notifications_test_action_spec_is_frozen", "label": "test_action_spec_is_frozen()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L199"}, {"id": "ui_test_notifications_rationale_1", "label": "Unit tests for :mod:`exlab_wizard.ui.notifications`. The helpers all delegate t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L1"}, {"id": "ui_test_notifications_rationale_26", "label": "Clear in-memory banner / inline state between tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L26"}, {"id": "ui_test_notifications_rationale_34", "label": "``notify_success`` calls ``ui.notify(... type=\"positive\")``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L34"}, {"id": "ui_test_notifications_rationale_46", "label": "``notify_info`` uses the 4 s default.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L46"}, {"id": "ui_test_notifications_rationale_55", "label": "``notify_warning`` uses the 8 s default.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L55"}, {"id": "ui_test_notifications_rationale_64", "label": "``notify_error`` uses the 8 s default.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L64"}, {"id": "ui_test_notifications_rationale_73", "label": "When an action is attached, the timeout extends to 12 s.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L73"}, {"id": "ui_test_notifications_rationale_86", "label": "An out-of-set banner id raises ``ValueError``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L86"}, {"id": "ui_test_notifications_rationale_98", "label": "``show_banner`` records the banner under the right container.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L98"}, {"id": "ui_test_notifications_rationale_112", "label": "``clear_banner`` removes the active record.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L112"}, {"id": "ui_test_notifications_rationale_125", "label": "Frontend \u00a72.2.3: max 2 banners; 3rd collapses into a count.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L125"}, {"id": "ui_test_notifications_rationale_149", "label": "Inline field errors round-trip through register / get / clear.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L149"}, {"id": "ui_test_notifications_rationale_158", "label": "Inline form errors round-trip through register / get / clear.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L158"}, {"id": "ui_test_notifications_rationale_167", "label": "Frontend \u00a72.2.3: exactly five canonical banner ids.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L167"}, {"id": "ui_test_notifications_rationale_179", "label": "Severity matches DESIGN.md alerts table.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L179"}, {"id": "ui_test_notifications_rationale_190", "label": "ContainerId enumerates the three banner placement scopes.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L190"}, {"id": "ui_test_notifications_rationale_200", "label": "``ActionSpec`` is immutable so callbacks can't be swapped post-hoc.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L200"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "exlab_wizard_ui_notifications", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_reset_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_notify_success_uses_positive_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_notify_info_default_timeout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_notify_warning_extended_timeout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_notify_error_extended_timeout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_notify_with_action_extends_to_12_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_show_banner_rejects_unknown_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_show_banner_records_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L97", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_clear_banner_removes_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_banner_overflow_count_when_exceeding_two", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L124", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_field_errors_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L148", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_form_errors_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L157", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_banner_id_closed_set_matches_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L166", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_severity_closed_set_matches_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L178", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_container_id_closed_set_matches_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "target": "ui_test_notifications_test_action_spec_is_frozen", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L199", "weight": 1.0}, {"source": "ui_test_notifications_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_notifications_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_notifications_rationale_26", "target": "ui_test_notifications_reset_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L26", "weight": 1.0}, {"source": "ui_test_notifications_rationale_34", "target": "ui_test_notifications_test_notify_success_uses_positive_type", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L34", "weight": 1.0}, {"source": "ui_test_notifications_rationale_46", "target": "ui_test_notifications_test_notify_info_default_timeout", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L46", "weight": 1.0}, {"source": "ui_test_notifications_rationale_55", "target": "ui_test_notifications_test_notify_warning_extended_timeout", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L55", "weight": 1.0}, {"source": "ui_test_notifications_rationale_64", "target": "ui_test_notifications_test_notify_error_extended_timeout", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L64", "weight": 1.0}, {"source": "ui_test_notifications_rationale_73", "target": "ui_test_notifications_test_notify_with_action_extends_to_12_seconds", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L73", "weight": 1.0}, {"source": "ui_test_notifications_rationale_86", "target": "ui_test_notifications_test_show_banner_rejects_unknown_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L86", "weight": 1.0}, {"source": "ui_test_notifications_rationale_98", "target": "ui_test_notifications_test_show_banner_records_active", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L98", "weight": 1.0}, {"source": "ui_test_notifications_rationale_112", "target": "ui_test_notifications_test_clear_banner_removes_record", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L112", "weight": 1.0}, {"source": "ui_test_notifications_rationale_125", "target": "ui_test_notifications_test_banner_overflow_count_when_exceeding_two", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L125", "weight": 1.0}, {"source": "ui_test_notifications_rationale_149", "target": "ui_test_notifications_test_field_errors_round_trip", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L149", "weight": 1.0}, {"source": "ui_test_notifications_rationale_158", "target": "ui_test_notifications_test_form_errors_round_trip", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L158", "weight": 1.0}, {"source": "ui_test_notifications_rationale_167", "target": "ui_test_notifications_test_banner_id_closed_set_matches_spec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L167", "weight": 1.0}, {"source": "ui_test_notifications_rationale_179", "target": "ui_test_notifications_test_severity_closed_set_matches_spec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L179", "weight": 1.0}, {"source": "ui_test_notifications_rationale_190", "target": "ui_test_notifications_test_container_id_closed_set_matches_spec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L190", "weight": 1.0}, {"source": "ui_test_notifications_rationale_200", "target": "ui_test_notifications_test_action_spec_is_frozen", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L200", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_notifications_reset_state", "callee": "reset_for_tests", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L28"}, {"caller_nid": "ui_test_notifications_reset_state", "callee": "reset_for_tests", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L30"}, {"caller_nid": "ui_test_notifications_test_notify_success_uses_positive_type", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L36"}, {"caller_nid": "ui_test_notifications_test_notify_success_uses_positive_type", "callee": "notify_success", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L37"}, {"caller_nid": "ui_test_notifications_test_notify_success_uses_positive_type", "callee": "assert_called_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L38"}, {"caller_nid": "ui_test_notifications_test_notify_info_default_timeout", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L48"}, {"caller_nid": "ui_test_notifications_test_notify_info_default_timeout", "callee": "notify_info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L49"}, {"caller_nid": "ui_test_notifications_test_notify_warning_extended_timeout", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L57"}, {"caller_nid": "ui_test_notifications_test_notify_warning_extended_timeout", "callee": "notify_warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L58"}, {"caller_nid": "ui_test_notifications_test_notify_error_extended_timeout", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L66"}, {"caller_nid": "ui_test_notifications_test_notify_error_extended_timeout", "callee": "notify_error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L67"}, {"caller_nid": "ui_test_notifications_test_notify_with_action_extends_to_12_seconds", "callee": "ActionSpec", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L75"}, {"caller_nid": "ui_test_notifications_test_notify_with_action_extends_to_12_seconds", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L76"}, {"caller_nid": "ui_test_notifications_test_notify_with_action_extends_to_12_seconds", "callee": "notify_warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L77"}, {"caller_nid": "ui_test_notifications_test_show_banner_rejects_unknown_id", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L88"}, {"caller_nid": "ui_test_notifications_test_show_banner_rejects_unknown_id", "callee": "show_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L89"}, {"caller_nid": "ui_test_notifications_test_show_banner_records_active", "callee": "show_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L100"}, {"caller_nid": "ui_test_notifications_test_show_banner_records_active", "callee": "list_active_banners", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L106"}, {"caller_nid": "ui_test_notifications_test_show_banner_records_active", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L107"}, {"caller_nid": "ui_test_notifications_test_clear_banner_removes_record", "callee": "show_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L114"}, {"caller_nid": "ui_test_notifications_test_clear_banner_removes_record", "callee": "clear_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L120"}, {"caller_nid": "ui_test_notifications_test_clear_banner_removes_record", "callee": "list_active_banners", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L121"}, {"caller_nid": "ui_test_notifications_test_banner_overflow_count_when_exceeding_two", "callee": "show_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L127"}, {"caller_nid": "ui_test_notifications_test_banner_overflow_count_when_exceeding_two", "callee": "show_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L133"}, {"caller_nid": "ui_test_notifications_test_banner_overflow_count_when_exceeding_two", "callee": "show_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L139"}, {"caller_nid": "ui_test_notifications_test_banner_overflow_count_when_exceeding_two", "callee": "banner_overflow_count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L145"}, {"caller_nid": "ui_test_notifications_test_field_errors_round_trip", "callee": "notify_field_error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L151"}, {"caller_nid": "ui_test_notifications_test_field_errors_round_trip", "callee": "get_field_error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L152"}, {"caller_nid": "ui_test_notifications_test_field_errors_round_trip", "callee": "clear_field_error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L153"}, {"caller_nid": "ui_test_notifications_test_field_errors_round_trip", "callee": "get_field_error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L154"}, {"caller_nid": "ui_test_notifications_test_form_errors_round_trip", "callee": "notify_form_error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L160"}, {"caller_nid": "ui_test_notifications_test_form_errors_round_trip", "callee": "get_form_error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L161"}, {"caller_nid": "ui_test_notifications_test_form_errors_round_trip", "callee": "clear_form_errors", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L162"}, {"caller_nid": "ui_test_notifications_test_form_errors_round_trip", "callee": "get_form_error", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L163"}, {"caller_nid": "ui_test_notifications_test_action_spec_is_frozen", "callee": "ActionSpec", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L204"}, {"caller_nid": "ui_test_notifications_test_action_spec_is_frozen", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py", "source_location": "L205"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/b4cc0bda9c625ced78bbc96253257554f04907bee4085e625c0935b9f1d8d579.json b/graphify-out/cache/ast/b4cc0bda9c625ced78bbc96253257554f04907bee4085e625c0935b9f1d8d579.json deleted file mode 100644 index f288163..0000000 --- a/graphify-out/cache/ast/b4cc0bda9c625ced78bbc96253257554f04907bee4085e625c0935b9f1d8d579.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "label": "main.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L1"}, {"id": "pages_main_mainpagestate", "label": "MainPageState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L32"}, {"id": "pages_main_default_chips", "label": "_default_chips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L75"}, {"id": "pages_main_chip_state_to_tree_filters", "label": "chip_state_to_tree_filters()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L85"}, {"id": "pages_main_problems_badge_text", "label": "problems_badge_text()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L96"}, {"id": "pages_main_setup_incomplete_banner_props", "label": "setup_incomplete_banner_props()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L108"}, {"id": "pages_main_render_file_explorer_page", "label": "render_file_explorer_page()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L135"}, {"id": "pages_main_render_centre_file_list", "label": "_render_centre_file_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L421"}, {"id": "pages_main_render_right_pane", "label": "_render_right_pane()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L453"}, {"id": "pages_main_rationale_1", "label": "Main window (Frontend Spec \u00a73). Layout: * **Left drawer** -- search box + filt", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L1"}, {"id": "pages_main_rationale_33", "label": "Render state for the main page. GUI/Orchestrator Redesign \u00a74: the legacy tw", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L33"}, {"id": "pages_main_rationale_76", "label": "The three default chips on the left-tree filter strip (\u00a73.5.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L76"}, {"id": "pages_main_rationale_86", "label": "Translate a chip group state into a :class:`TreeFilters`.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L86"}, {"id": "pages_main_rationale_97", "label": "Return the count text shown on the Problems tab. Frontend \u00a73.2: hard count", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L97"}, {"id": "pages_main_rationale_109", "label": "Banner content for the setup-incomplete state (\u00a73.1.4). ``next_action`` is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L109"}, {"id": "pages_main_rationale_157", "label": "Render the rebuilt three-region file-explorer main window. GUI/Orchestrator", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L157"}, {"id": "pages_main_rationale_427", "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L427"}, {"id": "pages_main_rationale_459", "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L459"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "exlab_wizard_ui_components", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "exlab_wizard_ui_components_tree", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "exlab_wizard_ui_pages_staging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "pages_main_mainpagestate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "pages_main_default_chips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "pages_main_chip_state_to_tree_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "pages_main_problems_badge_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L96", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "pages_main_setup_incomplete_banner_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "pages_main_render_file_explorer_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "pages_main_render_centre_file_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L421", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "target": "pages_main_render_right_pane", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L453", "weight": 1.0}, {"source": "pages_main_render_file_explorer_page", "target": "pages_main_mainpagestate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L174", "weight": 1.0}, {"source": "pages_main_render_file_explorer_page", "target": "pages_main_setup_incomplete_banner_props", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L243", "weight": 1.0}, {"source": "pages_main_render_file_explorer_page", "target": "pages_main_default_chips", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L266", "weight": 1.0}, {"source": "pages_main_render_file_explorer_page", "target": "pages_main_chip_state_to_tree_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L269", "weight": 1.0}, {"source": "pages_main_render_file_explorer_page", "target": "pages_main_render_centre_file_list", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L299", "weight": 1.0}, {"source": "pages_main_render_file_explorer_page", "target": "pages_main_render_right_pane", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L369", "weight": 1.0}, {"source": "pages_main_render_right_pane", "target": "pages_main_problems_badge_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L473", "weight": 1.0}, {"source": "pages_main_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_main_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L1", "weight": 1.0}, {"source": "pages_main_rationale_33", "target": "pages_main_mainpagestate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L33", "weight": 1.0}, {"source": "pages_main_rationale_76", "target": "pages_main_default_chips", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L76", "weight": 1.0}, {"source": "pages_main_rationale_86", "target": "pages_main_chip_state_to_tree_filters", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L86", "weight": 1.0}, {"source": "pages_main_rationale_97", "target": "pages_main_problems_badge_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L97", "weight": 1.0}, {"source": "pages_main_rationale_109", "target": "pages_main_setup_incomplete_banner_props", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L109", "weight": 1.0}, {"source": "pages_main_rationale_157", "target": "pages_main_render_file_explorer_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L157", "weight": 1.0}, {"source": "pages_main_rationale_427", "target": "pages_main_render_centre_file_list", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L427", "weight": 1.0}, {"source": "pages_main_rationale_459", "target": "pages_main_render_right_pane", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L459", "weight": 1.0}], "raw_calls": [{"caller_nid": "pages_main_default_chips", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L79"}, {"caller_nid": "pages_main_default_chips", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L80"}, {"caller_nid": "pages_main_default_chips", "callee": "ChipDefinition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L81"}, {"caller_nid": "pages_main_chip_state_to_tree_filters", "callee": "TreeFilters", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L88"}, {"caller_nid": "pages_main_chip_state_to_tree_filters", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L89"}, {"caller_nid": "pages_main_chip_state_to_tree_filters", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L90"}, {"caller_nid": "pages_main_chip_state_to_tree_filters", "callee": "is_active", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L91"}, {"caller_nid": "pages_main_problems_badge_text", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L104"}, {"caller_nid": "pages_main_setup_incomplete_banner_props", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L126"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L184"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L184"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "header", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L184"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L192"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L192"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "space", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L196"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L198"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L198"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "on_open_new_project", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L198"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L201"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L201"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "on_open_new_run", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L201"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L204"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L204"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "on_open_new_test_run", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L204"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L211"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "tooltip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L213"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L214"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L214"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "on_open_add_equipment", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L214"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L222"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L222"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "on_open_operations", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L224"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L226"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L226"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "on_refresh", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L226"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L229"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L229"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "on_open_settings", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L229"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "render_breadcrumb", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L233"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "show_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L239"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "ActionSpec", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L244"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "clear_banner", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L251"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "banner_stack", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L252"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L263"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "splitter", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L263"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L264"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L264"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L264"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L265"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L265"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L265"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "filter_chips", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L266"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "build_tree", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L267"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L292"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L292"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L292"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L296"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L296"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L325"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L325"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L325"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "on_toggle_right_pane", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L325"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L338"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L338"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L348"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L348"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L356"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L356"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L360"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L360"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L366"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L366"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L377"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "footer", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L377"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L382"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L382"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "status_bar_segment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L388"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "status_bar_segment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L396"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "status_bar_segment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L401"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "status_bar_segment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L405"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L411"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "status_bar_segment", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L411"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L416"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L416"}, {"caller_nid": "pages_main_render_file_explorer_page", "callee": "on_clear_verified", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L416"}, {"caller_nid": "pages_main_render_centre_file_list", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L442"}, {"caller_nid": "pages_main_render_centre_file_list", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L442"}, {"caller_nid": "pages_main_render_centre_file_list", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L442"}, {"caller_nid": "pages_main_render_centre_file_list", "callee": "FileListState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L446"}, {"caller_nid": "pages_main_render_centre_file_list", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L448"}, {"caller_nid": "pages_main_render_centre_file_list", "callee": "render_file_list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L450"}, {"caller_nid": "pages_main_render_right_pane", "callee": "tabs", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L469"}, {"caller_nid": "pages_main_render_right_pane", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L470"}, {"caller_nid": "pages_main_render_right_pane", "callee": "tab", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L470"}, {"caller_nid": "pages_main_render_right_pane", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L471"}, {"caller_nid": "pages_main_render_right_pane", "callee": "tab", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L471"}, {"caller_nid": "pages_main_render_right_pane", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L475"}, {"caller_nid": "pages_main_render_right_pane", "callee": "tab_panels", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L475"}, {"caller_nid": "pages_main_render_right_pane", "callee": "tab_panel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L476"}, {"caller_nid": "pages_main_render_right_pane", "callee": "MetadataPaneState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L477"}, {"caller_nid": "pages_main_render_right_pane", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L480"}, {"caller_nid": "pages_main_render_right_pane", "callee": "render_metadata_pane", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L482"}, {"caller_nid": "pages_main_render_right_pane", "callee": "tab_panel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L486"}, {"caller_nid": "pages_main_render_right_pane", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L488"}, {"caller_nid": "pages_main_render_right_pane", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L488"}, {"caller_nid": "pages_main_render_right_pane", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py", "source_location": "L488"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/b7d24e03d822883a22089ccc237e35fba913275e752f5b099519283ff08e68aa.json b/graphify-out/cache/ast/b7d24e03d822883a22089ccc237e35fba913275e752f5b099519283ff08e68aa.json deleted file mode 100644 index d520c8f..0000000 --- a/graphify-out/cache/ast/b7d24e03d822883a22089ccc237e35fba913275e752f5b099519283ff08e68aa.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_index_md", "label": "index.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L1"}, {"id": "source_index_exlab_wizard_documentation", "label": "ExLab-Wizard documentation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L1"}, {"id": "source_index_codeblock_1", "label": "code:{toctree} (:maxdepth: 2)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L7"}, {"id": "source_index_what_is_exlab_wizard", "label": "What is ExLab-Wizard", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L16"}, {"id": "source_index_where_to_start", "label": "Where to start", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L26"}, {"id": "source_index_project_metadata", "label": "Project metadata", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L38"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_index_md", "target": "source_index_exlab_wizard_documentation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L1", "weight": 1.0}, {"source": "source_index_exlab_wizard_documentation", "target": "source_index_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L7", "weight": 1.0}, {"source": "source_index_exlab_wizard_documentation", "target": "source_index_what_is_exlab_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L16", "weight": 1.0}, {"source": "source_index_exlab_wizard_documentation", "target": "source_index_where_to_start", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L26", "weight": 1.0}, {"source": "source_index_exlab_wizard_documentation", "target": "source_index_project_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/index.md", "source_location": "L38", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/b7d89c6f634bfd2a8dc72984bb80c0d2f30816bdcfe601816e950e5637300e84.json b/graphify-out/cache/ast/b7d89c6f634bfd2a8dc72984bb80c0d2f30816bdcfe601816e950e5637300e84.json deleted file mode 100644 index 802f012..0000000 --- a/graphify-out/cache/ast/b7d89c6f634bfd2a8dc72984bb80c0d2f30816bdcfe601816e950e5637300e84.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "label": "test_atomic_write.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L1"}, {"id": "io_test_atomic_write_test_atomic_write_creates_file", "label": "test_atomic_write_creates_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L13"}, {"id": "io_test_atomic_write_test_atomic_write_overwrites_existing", "label": "test_atomic_write_overwrites_existing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L19"}, {"id": "io_test_atomic_write_test_atomic_write_leaves_no_temp_file_on_success", "label": "test_atomic_write_leaves_no_temp_file_on_success()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L26"}, {"id": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", "label": "test_atomic_write_cleans_up_temp_on_replace_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L33"}, {"id": "io_test_atomic_write_test_atomic_write_skip_fsync", "label": "test_atomic_write_skip_fsync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L48"}, {"id": "io_test_atomic_write_test_atomic_write_calls_fsync_by_default", "label": "test_atomic_write_calls_fsync_by_default()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L56"}, {"id": "io_test_atomic_write_rationale_1", "label": "Tests for ``exlab_wizard.io.atomic_write``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "target": "exlab_wizard_io_atomic_write", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "target": "io_test_atomic_write_test_atomic_write_creates_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "target": "io_test_atomic_write_test_atomic_write_overwrites_existing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "target": "io_test_atomic_write_test_atomic_write_leaves_no_temp_file_on_success", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "target": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "target": "io_test_atomic_write_test_atomic_write_skip_fsync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "target": "io_test_atomic_write_test_atomic_write_calls_fsync_by_default", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L56", "weight": 1.0}, {"source": "io_test_atomic_write_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_io_test_atomic_write_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "io_test_atomic_write_test_atomic_write_creates_file", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L15"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_creates_file", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L16"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_overwrites_existing", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L21"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_overwrites_existing", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L22"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_overwrites_existing", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L23"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_leaves_no_temp_file_on_success", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L28"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_leaves_no_temp_file_on_success", "callee": "iterdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L29"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", "callee": "OSError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L36"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L38"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L39"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L41"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L43"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L44"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", "callee": "iterdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L44"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_skip_fsync", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L50"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_skip_fsync", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L51"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_skip_fsync", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L53"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_calls_fsync_by_default", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L58"}, {"caller_nid": "io_test_atomic_write_test_atomic_write_calls_fsync_by_default", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py", "source_location": "L59"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/b8f38ab946c6f7012b76964913140b51259543594c39dbdecf40069089d0a04e.json b/graphify-out/cache/ast/b8f38ab946c6f7012b76964913140b51259543594c39dbdecf40069089d0a04e.json deleted file mode 100644 index 49ab1b8..0000000 --- a/graphify-out/cache/ast/b8f38ab946c6f7012b76964913140b51259543594c39dbdecf40069089d0a04e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_controller_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/__init__.py", "source_location": "L1"}, {"id": "controller_init_rationale_1", "label": "Integration tests for the controller package. Backend Spec \u00a74.7.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/__init__.py", "source_location": "L1"}], "edges": [{"source": "controller_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_controller_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/controller/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/b9d69361a309f735e17d85418bfe9bd4cf605f997c7820b20316ccb4f0a0b219.json b/graphify-out/cache/ast/b9d69361a309f735e17d85418bfe9bd4cf605f997c7820b20316ccb4f0a0b219.json deleted file mode 100644 index 4254861..0000000 --- a/graphify-out/cache/ast/b9d69361a309f735e17d85418bfe9bd4cf605f997c7820b20316ccb4f0a0b219.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_user_guide_08_problems_md", "label": "08_problems.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L1"}, {"id": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems", "label": "3.8 Review and Resolve Naming and Validation Problems", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L1"}, {"id": "user_guide_08_problems_capability_summary", "label": "Capability summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L3"}, {"id": "user_guide_08_problems_walkthrough", "label": "Walkthrough", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L17"}, {"id": "user_guide_08_problems_screenshots", "label": "Screenshots", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L33"}, {"id": "user_guide_08_problems_codeblock_1", "label": "code:{image} (:alt: Problems tab with one hard-tier finding visible)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L35"}, {"id": "user_guide_08_problems_related_material", "label": "Related material", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L40"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_user_guide_08_problems_md", "target": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L1", "weight": 1.0}, {"source": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems", "target": "user_guide_08_problems_capability_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L3", "weight": 1.0}, {"source": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems", "target": "user_guide_08_problems_walkthrough", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L17", "weight": 1.0}, {"source": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems", "target": "user_guide_08_problems_screenshots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L33", "weight": 1.0}, {"source": "user_guide_08_problems_screenshots", "target": "user_guide_08_problems_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L35", "weight": 1.0}, {"source": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems", "target": "user_guide_08_problems_related_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md", "source_location": "L40", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/bb3f33b0c415c6d6f2c7b9b6fdc96342dac2e2db128122803b7ff08e2ee046c4.json b/graphify-out/cache/ast/bb3f33b0c415c6d6f2c7b9b6fdc96342dac2e2db128122803b7ff08e2ee046c4.json deleted file mode 100644 index 391a36a..0000000 --- a/graphify-out/cache/ast/bb3f33b0c415c6d6f2c7b9b6fdc96342dac2e2db128122803b7ff08e2ee046c4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "label": "operations_modal.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L1"}, {"id": "components_operations_modal_operationrow", "label": "OperationRow", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L34"}, {"id": "components_operations_modal_from_session", "label": "from_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L46"}, {"id": "components_operations_modal_operation_columns", "label": "operation_columns()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L80"}, {"id": "components_operations_modal_sort_rows", "label": "sort_rows()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L93"}, {"id": "components_operations_modal_state_glyph", "label": "state_glyph()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L107"}, {"id": "components_operations_modal_operations_modal", "label": "operations_modal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L113"}, {"id": "components_operations_modal_rationale_1", "label": "In-flight operations panel (Frontend Spec \u00a79.5). A modal reachable from the Syn", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L1"}, {"id": "components_operations_modal_rationale_35", "label": "A single row in the operations panel.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L35"}, {"id": "components_operations_modal_rationale_47", "label": "Map a controller ``Session`` to a panel row. Collapses the \u00a74.7 state m", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L47"}, {"id": "components_operations_modal_rationale_81", "label": "Column definitions for the NiceGUI table (Frontend \u00a79.5).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L81"}, {"id": "components_operations_modal_rationale_94", "label": "Suspended rows first (oldest first), then running, then completed. Per Fron", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L94"}, {"id": "components_operations_modal_rationale_108", "label": "Map an operation state to its NiceGUI icon name.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L108"}, {"id": "components_operations_modal_rationale_120", "label": "Build the operations modal.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L120"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "target": "components_operations_modal_operationrow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "target": "components_operations_modal_from_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "target": "components_operations_modal_operation_columns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "target": "components_operations_modal_sort_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "target": "components_operations_modal_state_glyph", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L107", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "target": "components_operations_modal_operations_modal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L113", "weight": 1.0}, {"source": "components_operations_modal_operations_modal", "target": "components_operations_modal_sort_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L122", "weight": 1.0}, {"source": "components_operations_modal_operations_modal", "target": "components_operations_modal_operation_columns", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L124", "weight": 1.0}, {"source": "components_operations_modal_operations_modal", "target": "components_operations_modal_state_glyph", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L158", "weight": 1.0}, {"source": "components_operations_modal_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_operations_modal_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L1", "weight": 1.0}, {"source": "components_operations_modal_rationale_35", "target": "components_operations_modal_operationrow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L35", "weight": 1.0}, {"source": "components_operations_modal_rationale_47", "target": "components_operations_modal_operationrow_from_session", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L47", "weight": 1.0}, {"source": "components_operations_modal_rationale_81", "target": "components_operations_modal_operation_columns", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L81", "weight": 1.0}, {"source": "components_operations_modal_rationale_94", "target": "components_operations_modal_sort_rows", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L94", "weight": 1.0}, {"source": "components_operations_modal_rationale_108", "target": "components_operations_modal_state_glyph", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L108", "weight": 1.0}, {"source": "components_operations_modal_rationale_120", "target": "components_operations_modal_operations_modal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L120", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_operations_modal_from_session", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L68"}, {"caller_nid": "components_operations_modal_from_session", "callee": "cls", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L69"}, {"caller_nid": "components_operations_modal_from_session", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L72"}, {"caller_nid": "components_operations_modal_from_session", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L73"}, {"caller_nid": "components_operations_modal_from_session", "callee": "project_identifier", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L74"}, {"caller_nid": "components_operations_modal_from_session", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L75"}, {"caller_nid": "components_operations_modal_sort_rows", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L101"}, {"caller_nid": "components_operations_modal_sort_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L103"}, {"caller_nid": "components_operations_modal_state_glyph", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L110"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "dialog", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L133"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L136"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "card", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L136"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L144"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L144"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L152"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L152"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L152"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L158"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "icon", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L158"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L159"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L159"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L164"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L164"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L165"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L165"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L166"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L166"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L168"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L168"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L172"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L172"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "on_resume", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L174"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L176"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L176"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "on_cancel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L178"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L180"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L180"}, {"caller_nid": "components_operations_modal_operations_modal", "callee": "on_view_log", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py", "source_location": "L182"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/bb9e2069a361a850f2ceb3a1031c33bba916d4241276de9808bedb9c327a278d.json b/graphify-out/cache/ast/bb9e2069a361a850f2ceb3a1031c33bba916d4241276de9808bedb9c327a278d.json deleted file mode 100644 index 316f100..0000000 --- a/graphify-out/cache/ast/bb9e2069a361a850f2ceb3a1031c33bba916d4241276de9808bedb9c327a278d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_04_backend_architecture_md", "label": "04_Backend_Architecture.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L1"}, {"id": "design_spec_sections_04_backend_architecture_4_backend_architecture", "label": "4. Backend Architecture", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L1"}, {"id": "design_spec_sections_04_backend_architecture_4_1_deployment_model", "label": "4.1 Deployment Model", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L7"}, {"id": "design_spec_sections_04_backend_architecture_4_2_process_model", "label": "4.2 Process Model", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L35"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_1", "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L37"}, {"id": "design_spec_sections_04_backend_architecture_4_3_package_layout", "label": "4.3 Package Layout", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L78"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_2", "label": "code:block2 (exlab_wizard/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L80"}, {"id": "design_spec_sections_04_backend_architecture_4_3_1_the_constants_package", "label": "4.3.1 The `constants/` package", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L181"}, {"id": "design_spec_sections_04_backend_architecture_4_3_2_the_tray_and_window_packages", "label": "4.3.2 The `tray/` and `window/` packages", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L192"}, {"id": "design_spec_sections_04_backend_architecture_4_4_component_contracts", "label": "4.4 Component Contracts", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L220"}, {"id": "design_spec_sections_04_backend_architecture_4_4_1_creationcontroller", "label": "4.4.1 CreationController", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L224"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_3", "label": "code:python (class CreationController:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L226"}, {"id": "design_spec_sections_04_backend_architecture_4_4_2_templateengine", "label": "4.4.2 TemplateEngine", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L238"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_4", "label": "code:python (class TemplateEngine:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L240"}, {"id": "design_spec_sections_04_backend_architecture_4_4_3_pluginhost", "label": "4.4.3 PluginHost", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L248"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_5", "label": "code:python (class PluginHost:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L250"}, {"id": "design_spec_sections_04_backend_architecture_4_4_4_validator", "label": "4.4.4 Validator", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L265"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_6", "label": "code:python (class Validator:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L267"}, {"id": "design_spec_sections_04_backend_architecture_4_4_5_cachewriter", "label": "4.4.5 CacheWriter", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L276"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_7", "label": "code:python (class CacheWriter:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L285"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_8", "label": "code:python (# Inside CacheWriter.update_creation_atomic)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L301"}, {"id": "design_spec_sections_04_backend_architecture_4_4_6_nassyncclient_and_limsclient", "label": "4.4.6 NASSyncClient and LIMSClient", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L320"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_9", "label": "code:python (class NASSyncClient:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L324"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_10", "label": "code:python (class LIMSClient:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L334"}, {"id": "design_spec_sections_04_backend_architecture_4_4_7_sessionstore", "label": "4.4.7 SessionStore", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L345"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_11", "label": "code:python (class SessionStore:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L347"}, {"id": "design_spec_sections_04_backend_architecture_4_5_async_threading_model", "label": "4.5 Async / Threading Model", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L359"}, {"id": "design_spec_sections_04_backend_architecture_4_6_frontend_backend_protocol", "label": "4.6 Frontend \u2194 Backend Protocol", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L377"}, {"id": "design_spec_sections_04_backend_architecture_4_6_1_rest_surface_illustrative_subset_full_schema_lives_in_api_schemas_py", "label": "4.6.1 REST surface (illustrative subset; full schema lives in `api/schemas.py`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L381"}, {"id": "design_spec_sections_04_backend_architecture_4_6_2_websocket_events", "label": "4.6.2 WebSocket events", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L406"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_12", "label": "code:json ({ \"kind\": \"phase\", \"phase\": \"rendering_template\", )", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L410"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_13", "label": "code:json ({ \"kind\": \"snapshot\", \"findings\": [...], \"audit_at\": \"...\" })", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L424"}, {"id": "design_spec_sections_04_backend_architecture_4_6_3_api_versioning_health_and_error_envelope", "label": "4.6.3 API versioning, health, and error envelope", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L429"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_14", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L448"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_15", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L472"}, {"id": "design_spec_sections_04_backend_architecture_4_7_creation_session_state_machine", "label": "4.7 Creation-Session State Machine", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L512"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_16", "label": "code:block16 (create_project / create_run)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L514"}, {"id": "design_spec_sections_04_backend_architecture_4_7_1_sessionstate_phase_mapping", "label": "4.7.1 SessionState \u2192 Phase mapping", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L573"}, {"id": "design_spec_sections_04_backend_architecture_4_8_crash_recovery", "label": "4.8 Crash Recovery", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L593"}, {"id": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", "label": "4.9 First-Launch and Setup-Incomplete State", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L607"}, {"id": "design_spec_sections_04_backend_architecture_4_9_1_setup_states", "label": "4.9.1 Setup states", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L611"}, {"id": "design_spec_sections_04_backend_architecture_4_9_2_endpoint_gating", "label": "4.9.2 Endpoint gating", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L626"}, {"id": "design_spec_sections_04_backend_architecture_4_9_3_get_api_v1_setup_status_response_shape", "label": "4.9.3 `GET /api/v1/setup/status` response shape", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L643"}, {"id": "design_spec_sections_04_backend_architecture_codeblock_17", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L645"}, {"id": "design_spec_sections_04_backend_architecture_4_9_4_lims_unreachability_is_a_soft_block", "label": "4.9.4 LIMS unreachability is a soft block", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L659"}, {"id": "design_spec_sections_04_backend_architecture_4_9_5_initial_setup_ordering_informational", "label": "4.9.5 Initial setup ordering (informational)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L665"}, {"id": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", "label": "4.10 Testing Strategy", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L679"}, {"id": "design_spec_sections_04_backend_architecture_4_10_1_unit_tests_tests_unit", "label": "4.10.1 Unit tests (`tests/unit/`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L683"}, {"id": "design_spec_sections_04_backend_architecture_4_10_2_integration_tests_tests_integration", "label": "4.10.2 Integration tests (`tests/integration/`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L694"}, {"id": "design_spec_sections_04_backend_architecture_4_10_3_end_to_end_tests_tests_e2e", "label": "4.10.3 End-to-end tests (`tests/e2e/`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L707"}, {"id": "design_spec_sections_04_backend_architecture_4_10_4_test_fixtures_tests_fixtures", "label": "4.10.4 Test fixtures (`tests/fixtures/`)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L718"}, {"id": "design_spec_sections_04_backend_architecture_4_10_5_what_s_not_tested_at_each_layer", "label": "4.10.5 What's NOT tested at each layer", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L728"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_04_backend_architecture_md", "target": "design_spec_sections_04_backend_architecture_4_backend_architecture", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_backend_architecture", "target": "design_spec_sections_04_backend_architecture_4_1_deployment_model", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L7", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_backend_architecture", "target": "design_spec_sections_04_backend_architecture_4_2_process_model", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L35", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_2_process_model", "target": "design_spec_sections_04_backend_architecture_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L37", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_backend_architecture", "target": "design_spec_sections_04_backend_architecture_4_3_package_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L78", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_3_package_layout", "target": "design_spec_sections_04_backend_architecture_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L80", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_3_package_layout", "target": "design_spec_sections_04_backend_architecture_4_3_1_the_constants_package", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L181", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_3_package_layout", "target": "design_spec_sections_04_backend_architecture_4_3_2_the_tray_and_window_packages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L192", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_backend_architecture", "target": "design_spec_sections_04_backend_architecture_4_4_component_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L220", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", "target": "design_spec_sections_04_backend_architecture_4_4_1_creationcontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L224", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_1_creationcontroller", "target": "design_spec_sections_04_backend_architecture_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L226", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", "target": "design_spec_sections_04_backend_architecture_4_4_2_templateengine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L238", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_2_templateengine", "target": "design_spec_sections_04_backend_architecture_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L240", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", "target": "design_spec_sections_04_backend_architecture_4_4_3_pluginhost", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L248", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_3_pluginhost", "target": "design_spec_sections_04_backend_architecture_codeblock_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L250", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", "target": "design_spec_sections_04_backend_architecture_4_4_4_validator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L265", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_4_validator", "target": "design_spec_sections_04_backend_architecture_codeblock_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L267", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", "target": "design_spec_sections_04_backend_architecture_4_4_5_cachewriter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L276", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_5_cachewriter", "target": "design_spec_sections_04_backend_architecture_codeblock_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L285", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_5_cachewriter", "target": "design_spec_sections_04_backend_architecture_codeblock_8", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L301", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", "target": "design_spec_sections_04_backend_architecture_4_4_6_nassyncclient_and_limsclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L320", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_6_nassyncclient_and_limsclient", "target": "design_spec_sections_04_backend_architecture_codeblock_9", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L324", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_6_nassyncclient_and_limsclient", "target": "design_spec_sections_04_backend_architecture_codeblock_10", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L334", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", "target": "design_spec_sections_04_backend_architecture_4_4_7_sessionstore", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L345", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_4_7_sessionstore", "target": "design_spec_sections_04_backend_architecture_codeblock_11", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L347", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_backend_architecture", "target": "design_spec_sections_04_backend_architecture_4_5_async_threading_model", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L359", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_backend_architecture", "target": "design_spec_sections_04_backend_architecture_4_6_frontend_backend_protocol", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L377", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_6_frontend_backend_protocol", "target": "design_spec_sections_04_backend_architecture_4_6_1_rest_surface_illustrative_subset_full_schema_lives_in_api_schemas_py", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L381", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_6_frontend_backend_protocol", "target": "design_spec_sections_04_backend_architecture_4_6_2_websocket_events", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L406", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_6_2_websocket_events", "target": "design_spec_sections_04_backend_architecture_codeblock_12", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L410", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_6_2_websocket_events", "target": "design_spec_sections_04_backend_architecture_codeblock_13", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L424", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_6_frontend_backend_protocol", "target": "design_spec_sections_04_backend_architecture_4_6_3_api_versioning_health_and_error_envelope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L429", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_6_3_api_versioning_health_and_error_envelope", "target": "design_spec_sections_04_backend_architecture_codeblock_14", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L448", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_6_3_api_versioning_health_and_error_envelope", "target": "design_spec_sections_04_backend_architecture_codeblock_15", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L472", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_backend_architecture", "target": "design_spec_sections_04_backend_architecture_4_7_creation_session_state_machine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L512", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_7_creation_session_state_machine", "target": "design_spec_sections_04_backend_architecture_codeblock_16", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L514", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_7_creation_session_state_machine", "target": "design_spec_sections_04_backend_architecture_4_7_1_sessionstate_phase_mapping", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L573", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_backend_architecture", "target": "design_spec_sections_04_backend_architecture_4_8_crash_recovery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L593", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_backend_architecture", "target": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L607", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", "target": "design_spec_sections_04_backend_architecture_4_9_1_setup_states", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L611", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", "target": "design_spec_sections_04_backend_architecture_4_9_2_endpoint_gating", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L626", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", "target": "design_spec_sections_04_backend_architecture_4_9_3_get_api_v1_setup_status_response_shape", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L643", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_9_3_get_api_v1_setup_status_response_shape", "target": "design_spec_sections_04_backend_architecture_codeblock_17", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L645", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", "target": "design_spec_sections_04_backend_architecture_4_9_4_lims_unreachability_is_a_soft_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L659", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", "target": "design_spec_sections_04_backend_architecture_4_9_5_initial_setup_ordering_informational", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L665", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_backend_architecture", "target": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L679", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", "target": "design_spec_sections_04_backend_architecture_4_10_1_unit_tests_tests_unit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L683", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", "target": "design_spec_sections_04_backend_architecture_4_10_2_integration_tests_tests_integration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L694", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", "target": "design_spec_sections_04_backend_architecture_4_10_3_end_to_end_tests_tests_e2e", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L707", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", "target": "design_spec_sections_04_backend_architecture_4_10_4_test_fixtures_tests_fixtures", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L718", "weight": 1.0}, {"source": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", "target": "design_spec_sections_04_backend_architecture_4_10_5_what_s_not_tested_at_each_layer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md", "source_location": "L728", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/bc36b7e524d668c1e95a424be07f268f1fb651f8a923855df34ab90116b13740.json b/graphify-out/cache/ast/bc36b7e524d668c1e95a424be07f268f1fb651f8a923855df34ab90116b13740.json deleted file mode 100644 index a4bacbb..0000000 --- a/graphify-out/cache/ast/bc36b7e524d668c1e95a424be07f268f1fb651f8a923855df34ab90116b13740.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "label": "metadata_pane.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L1"}, {"id": "components_metadata_pane_metadatapanestate", "label": "MetadataPaneState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L29"}, {"id": "components_metadata_pane_render_metadata_pane", "label": "render_metadata_pane()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L38"}, {"id": "components_metadata_pane_kv", "label": "_kv()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L82"}, {"id": "components_metadata_pane_render_equipment", "label": "_render_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L92"}, {"id": "components_metadata_pane_render_received_equipment", "label": "_render_received_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L118"}, {"id": "components_metadata_pane_render_project", "label": "_render_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L138"}, {"id": "components_metadata_pane_render_runs_folder", "label": "_render_runs_folder()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L148"}, {"id": "components_metadata_pane_render_run", "label": "_render_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L163"}, {"id": "components_metadata_pane_render_received_run", "label": "_render_received_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L200"}, {"id": "components_metadata_pane_rationale_1", "label": "Node-type-aware metadata pane for the rebuilt main window. GUI/Orchestrator Red", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L1"}, {"id": "components_metadata_pane_rationale_30", "label": "Mutable state for the metadata pane.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L30"}, {"id": "components_metadata_pane_rationale_43", "label": "Render the right-pane Metadata content for ``state.selected_node``. Dispatc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L43"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "components_metadata_pane_metadatapanestate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "components_metadata_pane_render_metadata_pane", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "components_metadata_pane_kv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L82", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "components_metadata_pane_render_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "components_metadata_pane_render_received_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L118", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "components_metadata_pane_render_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L138", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "components_metadata_pane_render_runs_folder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L148", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "components_metadata_pane_render_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L163", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "target": "components_metadata_pane_render_received_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L200", "weight": 1.0}, {"source": "components_metadata_pane_render_metadata_pane", "target": "components_metadata_pane_render_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L66", "weight": 1.0}, {"source": "components_metadata_pane_render_metadata_pane", "target": "components_metadata_pane_render_received_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L68", "weight": 1.0}, {"source": "components_metadata_pane_render_metadata_pane", "target": "components_metadata_pane_render_project", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L70", "weight": 1.0}, {"source": "components_metadata_pane_render_metadata_pane", "target": "components_metadata_pane_render_runs_folder", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L72", "weight": 1.0}, {"source": "components_metadata_pane_render_metadata_pane", "target": "components_metadata_pane_render_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L74", "weight": 1.0}, {"source": "components_metadata_pane_render_metadata_pane", "target": "components_metadata_pane_render_received_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L76", "weight": 1.0}, {"source": "components_metadata_pane_render_equipment", "target": "components_metadata_pane_kv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L103", "weight": 1.0}, {"source": "components_metadata_pane_render_received_equipment", "target": "components_metadata_pane_kv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L133", "weight": 1.0}, {"source": "components_metadata_pane_render_project", "target": "components_metadata_pane_kv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L141", "weight": 1.0}, {"source": "components_metadata_pane_render_runs_folder", "target": "components_metadata_pane_kv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L159", "weight": 1.0}, {"source": "components_metadata_pane_render_run", "target": "components_metadata_pane_kv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L176", "weight": 1.0}, {"source": "components_metadata_pane_render_received_run", "target": "components_metadata_pane_kv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L203", "weight": 1.0}, {"source": "components_metadata_pane_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_metadata_pane_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L1", "weight": 1.0}, {"source": "components_metadata_pane_rationale_30", "target": "components_metadata_pane_metadatapanestate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L30", "weight": 1.0}, {"source": "components_metadata_pane_rationale_43", "target": "components_metadata_pane_render_metadata_pane", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L43", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_metadata_pane_render_metadata_pane", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L55"}, {"caller_nid": "components_metadata_pane_render_metadata_pane", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L55"}, {"caller_nid": "components_metadata_pane_render_metadata_pane", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L55"}, {"caller_nid": "components_metadata_pane_render_metadata_pane", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L55"}, {"caller_nid": "components_metadata_pane_render_metadata_pane", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L61"}, {"caller_nid": "components_metadata_pane_render_metadata_pane", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L61"}, {"caller_nid": "components_metadata_pane_render_metadata_pane", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L61"}, {"caller_nid": "components_metadata_pane_render_metadata_pane", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L78"}, {"caller_nid": "components_metadata_pane_render_metadata_pane", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L78"}, {"caller_nid": "components_metadata_pane_kv", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L87"}, {"caller_nid": "components_metadata_pane_kv", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L87"}, {"caller_nid": "components_metadata_pane_kv", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L88"}, {"caller_nid": "components_metadata_pane_kv", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L88"}, {"caller_nid": "components_metadata_pane_kv", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L89"}, {"caller_nid": "components_metadata_pane_kv", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L89"}, {"caller_nid": "components_metadata_pane_kv", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L89"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L99"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L99"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L99"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L99"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L103"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L104"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L105"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L106"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L107"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L108"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L109"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L109"}, {"caller_nid": "components_metadata_pane_render_equipment", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L109"}, {"caller_nid": "components_metadata_pane_render_received_equipment", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L125"}, {"caller_nid": "components_metadata_pane_render_received_equipment", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L125"}, {"caller_nid": "components_metadata_pane_render_received_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L125"}, {"caller_nid": "components_metadata_pane_render_received_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L125"}, {"caller_nid": "components_metadata_pane_render_received_equipment", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L129"}, {"caller_nid": "components_metadata_pane_render_received_equipment", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L129"}, {"caller_nid": "components_metadata_pane_render_received_equipment", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L129"}, {"caller_nid": "components_metadata_pane_render_received_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L133"}, {"caller_nid": "components_metadata_pane_render_received_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L134"}, {"caller_nid": "components_metadata_pane_render_received_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L135"}, {"caller_nid": "components_metadata_pane_render_project", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L141"}, {"caller_nid": "components_metadata_pane_render_project", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L142"}, {"caller_nid": "components_metadata_pane_render_project", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L143"}, {"caller_nid": "components_metadata_pane_render_project", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L144"}, {"caller_nid": "components_metadata_pane_render_project", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L145"}, {"caller_nid": "components_metadata_pane_render_runs_folder", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L156"}, {"caller_nid": "components_metadata_pane_render_runs_folder", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L156"}, {"caller_nid": "components_metadata_pane_render_runs_folder", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L159"}, {"caller_nid": "components_metadata_pane_render_runs_folder", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L160"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L172"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L172"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L172"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L172"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L176"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L177"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L178"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L179"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L180"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L181"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L182"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L184"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L184"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L184"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L185"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L186"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L186"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L186"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "on_run_staging_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L188"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L190"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L190"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L190"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "on_run_staging_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L192"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L194"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L194"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L194"}, {"caller_nid": "components_metadata_pane_render_run", "callee": "on_run_staging_action", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L196"}, {"caller_nid": "components_metadata_pane_render_received_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L203"}, {"caller_nid": "components_metadata_pane_render_received_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L204"}, {"caller_nid": "components_metadata_pane_render_received_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L205"}, {"caller_nid": "components_metadata_pane_render_received_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L206"}, {"caller_nid": "components_metadata_pane_render_received_run", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py", "source_location": "L207"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/bd45ec08aec0a1d2b6a9808d952aa6870ab01fc64770f74fcadc4189fb74979b.json b/graphify-out/cache/ast/bd45ec08aec0a1d2b6a9808d952aa6870ab01fc64770f74fcadc4189fb74979b.json deleted file mode 100644 index faa9a86..0000000 --- a/graphify-out/cache/ast/bd45ec08aec0a1d2b6a9808d952aa6870ab01fc64770f74fcadc4189fb74979b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "label": "test_storage_secret.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L1"}, {"id": "tray_test_storage_secret_test_generates_secret_on_first_call", "label": "test_generates_secret_on_first_call()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L23"}, {"id": "tray_test_storage_secret_test_idempotent_across_calls", "label": "test_idempotent_across_calls()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L31"}, {"id": "tray_test_storage_secret_test_secret_file_mode_is_0600", "label": "test_secret_file_mode_is_0600()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L38"}, {"id": "tray_test_storage_secret_test_regenerates_on_empty_file", "label": "test_regenerates_on_empty_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L45"}, {"id": "tray_test_storage_secret_test_regenerates_on_whitespace_only_file", "label": "test_regenerates_on_whitespace_only_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L53"}, {"id": "tray_test_storage_secret_test_creates_state_dir_if_missing", "label": "test_creates_state_dir_if_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L61"}, {"id": "tray_test_storage_secret_rationale_1", "label": "Tests for ``exlab_wizard.tray.storage_secret``. The secret backs NiceGUI's Star", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "stat", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "exlab_wizard_tray_storage_secret", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "tray_test_storage_secret_test_generates_secret_on_first_call", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "tray_test_storage_secret_test_idempotent_across_calls", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "tray_test_storage_secret_test_secret_file_mode_is_0600", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "tray_test_storage_secret_test_regenerates_on_empty_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "tray_test_storage_secret_test_regenerates_on_whitespace_only_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "target": "tray_test_storage_secret_test_creates_state_dir_if_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L61", "weight": 1.0}, {"source": "tray_test_storage_secret_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_tray_test_storage_secret_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_test_storage_secret_test_generates_secret_on_first_call", "callee": "load_or_create_storage_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L24"}, {"caller_nid": "tray_test_storage_secret_test_generates_secret_on_first_call", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L26"}, {"caller_nid": "tray_test_storage_secret_test_generates_secret_on_first_call", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L27"}, {"caller_nid": "tray_test_storage_secret_test_generates_secret_on_first_call", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L27"}, {"caller_nid": "tray_test_storage_secret_test_generates_secret_on_first_call", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L28"}, {"caller_nid": "tray_test_storage_secret_test_idempotent_across_calls", "callee": "load_or_create_storage_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L32"}, {"caller_nid": "tray_test_storage_secret_test_idempotent_across_calls", "callee": "load_or_create_storage_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L33"}, {"caller_nid": "tray_test_storage_secret_test_secret_file_mode_is_0600", "callee": "load_or_create_storage_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L39"}, {"caller_nid": "tray_test_storage_secret_test_secret_file_mode_is_0600", "callee": "S_IMODE", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L41"}, {"caller_nid": "tray_test_storage_secret_test_secret_file_mode_is_0600", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L41"}, {"caller_nid": "tray_test_storage_secret_test_regenerates_on_empty_file", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L47"}, {"caller_nid": "tray_test_storage_secret_test_regenerates_on_empty_file", "callee": "load_or_create_storage_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L48"}, {"caller_nid": "tray_test_storage_secret_test_regenerates_on_empty_file", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L50"}, {"caller_nid": "tray_test_storage_secret_test_regenerates_on_empty_file", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L50"}, {"caller_nid": "tray_test_storage_secret_test_regenerates_on_whitespace_only_file", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L55"}, {"caller_nid": "tray_test_storage_secret_test_regenerates_on_whitespace_only_file", "callee": "load_or_create_storage_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L56"}, {"caller_nid": "tray_test_storage_secret_test_regenerates_on_whitespace_only_file", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L58"}, {"caller_nid": "tray_test_storage_secret_test_regenerates_on_whitespace_only_file", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L58"}, {"caller_nid": "tray_test_storage_secret_test_creates_state_dir_if_missing", "callee": "load_or_create_storage_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L63"}, {"caller_nid": "tray_test_storage_secret_test_creates_state_dir_if_missing", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py", "source_location": "L64"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/bd660bac88e19770c77103f86d66b60b77a222c293d08ac5b68b6a7488baf94f.json b/graphify-out/cache/ast/bd660bac88e19770c77103f86d66b60b77a222c293d08ac5b68b6a7488baf94f.json deleted file mode 100644 index 28a2eb1..0000000 --- a/graphify-out/cache/ast/bd660bac88e19770c77103f86d66b60b77a222c293d08ac5b68b6a7488baf94f.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_constants_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/__init__.py", "source_location": "L1"}, {"id": "constants_init_rationale_1", "label": "Unit tests for ``exlab_wizard.constants``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/__init__.py", "source_location": "L1"}], "edges": [{"source": "constants_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_constants_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/bd88efd40e699f4c1435e769d9d025d985d2ff63e7af95bacb7591a35d58bba2.json b/graphify-out/cache/ast/bd88efd40e699f4c1435e769d9d025d985d2ff63e7af95bacb7591a35d58bba2.json deleted file mode 100644 index 4dc84bd..0000000 --- a/graphify-out/cache/ast/bd88efd40e699f4c1435e769d9d025d985d2ff63e7af95bacb7591a35d58bba2.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "label": "test_templates_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L1"}, {"id": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content", "label": "test_create_template_scaffolds_dir_with_manifest_and_content()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L35"}, {"id": "ui_test_templates_page_test_create_template_strips_whitespace_from_name", "label": "test_create_template_strips_whitespace_from_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L50"}, {"id": "ui_test_templates_page_test_create_template_writes_description_into_manifest", "label": "test_create_template_writes_description_into_manifest()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L55"}, {"id": "ui_test_templates_page_test_create_run_template_records_run_scope", "label": "test_create_run_template_records_run_scope()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L69"}, {"id": "ui_test_templates_page_test_create_project_template_omits_run_scope_key", "label": "test_create_project_template_omits_run_scope_key()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L81"}, {"id": "ui_test_templates_page_test_create_template_rejects_empty_name", "label": "test_create_template_rejects_empty_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L92"}, {"id": "ui_test_templates_page_test_create_template_rejects_unknown_type", "label": "test_create_template_rejects_unknown_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L97"}, {"id": "ui_test_templates_page_test_create_run_template_requires_run_scope", "label": "test_create_run_template_requires_run_scope()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L102"}, {"id": "ui_test_templates_page_test_create_run_template_rejects_invalid_run_scope", "label": "test_create_run_template_rejects_invalid_run_scope()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L107"}, {"id": "ui_test_templates_page_test_create_template_rejects_duplicate_name", "label": "test_create_template_rejects_duplicate_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L112"}, {"id": "ui_test_templates_page_test_scaffolded_project_template_resolves_with_engine", "label": "test_scaffolded_project_template_resolves_with_engine()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L123"}, {"id": "ui_test_templates_page_test_scaffolded_run_template_resolves_with_engine", "label": "test_scaffolded_run_template_resolves_with_engine()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L139"}, {"id": "ui_test_templates_page_test_list_templates_returns_empty_for_missing_dir", "label": "test_list_templates_returns_empty_for_missing_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L156"}, {"id": "ui_test_templates_page_test_list_templates_returns_empty_for_dir_with_no_templates", "label": "test_list_templates_returns_empty_for_dir_with_no_templates()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L160"}, {"id": "ui_test_templates_page_test_list_templates_summarizes_each_template", "label": "test_list_templates_summarizes_each_template()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L166"}, {"id": "ui_test_templates_page_test_list_templates_is_sorted", "label": "test_list_templates_is_sorted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L189"}, {"id": "ui_test_templates_page_test_list_templates_skips_dirs_without_manifest", "label": "test_list_templates_skips_dirs_without_manifest()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L199"}, {"id": "ui_test_templates_page_test_list_templates_filters_by_template_type", "label": "test_list_templates_filters_by_template_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L209"}, {"id": "ui_test_templates_page_test_list_templates_skips_malformed_manifest", "label": "test_list_templates_skips_malformed_manifest()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L225"}, {"id": "ui_test_templates_page_test_list_templates_skips_non_mapping_manifest", "label": "test_list_templates_skips_non_mapping_manifest()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L237"}, {"id": "ui_test_templates_page_rationale_1", "label": "Tests for the template-manager page helpers. ``render_template_manager`` render", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "yaml", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "exlab_wizard_api_app", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "exlab_wizard_template_copier_driver", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "exlab_wizard_ui_pages_templates", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_create_template_strips_whitespace_from_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_create_template_writes_description_into_manifest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_create_run_template_records_run_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_create_project_template_omits_run_scope_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_create_template_rejects_empty_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_create_template_rejects_unknown_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L97", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_create_run_template_requires_run_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_create_run_template_rejects_invalid_run_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L107", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_create_template_rejects_duplicate_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_scaffolded_project_template_resolves_with_engine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_scaffolded_run_template_resolves_with_engine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L139", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_list_templates_returns_empty_for_missing_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L156", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_list_templates_returns_empty_for_dir_with_no_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L160", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_list_templates_summarizes_each_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L166", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_list_templates_is_sorted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_list_templates_skips_dirs_without_manifest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L199", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_list_templates_filters_by_template_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L209", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_list_templates_skips_malformed_manifest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L225", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "target": "ui_test_templates_page_test_list_templates_skips_non_mapping_manifest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L237", "weight": 1.0}, {"source": "ui_test_templates_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_templates_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L38"}, {"caller_nid": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L41"}, {"caller_nid": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L43"}, {"caller_nid": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content", "callee": "iterdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L45"}, {"caller_nid": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L46"}, {"caller_nid": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L47"}, {"caller_nid": "ui_test_templates_page_test_create_template_strips_whitespace_from_name", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L51"}, {"caller_nid": "ui_test_templates_page_test_create_template_writes_description_into_manifest", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L58"}, {"caller_nid": "ui_test_templates_page_test_create_template_writes_description_into_manifest", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L64"}, {"caller_nid": "ui_test_templates_page_test_create_template_writes_description_into_manifest", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L64"}, {"caller_nid": "ui_test_templates_page_test_create_run_template_records_run_scope", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L70"}, {"caller_nid": "ui_test_templates_page_test_create_run_template_records_run_scope", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L76"}, {"caller_nid": "ui_test_templates_page_test_create_run_template_records_run_scope", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L76"}, {"caller_nid": "ui_test_templates_page_test_create_project_template_omits_run_scope_key", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L82"}, {"caller_nid": "ui_test_templates_page_test_create_project_template_omits_run_scope_key", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L83"}, {"caller_nid": "ui_test_templates_page_test_create_project_template_omits_run_scope_key", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L83"}, {"caller_nid": "ui_test_templates_page_test_create_template_rejects_empty_name", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L93"}, {"caller_nid": "ui_test_templates_page_test_create_template_rejects_empty_name", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L94"}, {"caller_nid": "ui_test_templates_page_test_create_template_rejects_unknown_type", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L98"}, {"caller_nid": "ui_test_templates_page_test_create_template_rejects_unknown_type", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L99"}, {"caller_nid": "ui_test_templates_page_test_create_run_template_requires_run_scope", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L103"}, {"caller_nid": "ui_test_templates_page_test_create_run_template_requires_run_scope", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L104"}, {"caller_nid": "ui_test_templates_page_test_create_run_template_rejects_invalid_run_scope", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L108"}, {"caller_nid": "ui_test_templates_page_test_create_run_template_rejects_invalid_run_scope", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L109"}, {"caller_nid": "ui_test_templates_page_test_create_template_rejects_duplicate_name", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L113"}, {"caller_nid": "ui_test_templates_page_test_create_template_rejects_duplicate_name", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L114"}, {"caller_nid": "ui_test_templates_page_test_create_template_rejects_duplicate_name", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L115"}, {"caller_nid": "ui_test_templates_page_test_scaffolded_project_template_resolves_with_engine", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L126"}, {"caller_nid": "ui_test_templates_page_test_scaffolded_project_template_resolves_with_engine", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L132"}, {"caller_nid": "ui_test_templates_page_test_scaffolded_project_template_resolves_with_engine", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L132"}, {"caller_nid": "ui_test_templates_page_test_scaffolded_run_template_resolves_with_engine", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L140"}, {"caller_nid": "ui_test_templates_page_test_scaffolded_run_template_resolves_with_engine", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L146"}, {"caller_nid": "ui_test_templates_page_test_scaffolded_run_template_resolves_with_engine", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L146"}, {"caller_nid": "ui_test_templates_page_test_list_templates_returns_empty_for_missing_dir", "callee": "list_templates", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L157"}, {"caller_nid": "ui_test_templates_page_test_list_templates_returns_empty_for_dir_with_no_templates", "callee": "list_templates", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L163"}, {"caller_nid": "ui_test_templates_page_test_list_templates_summarizes_each_template", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L167"}, {"caller_nid": "ui_test_templates_page_test_list_templates_summarizes_each_template", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L168"}, {"caller_nid": "ui_test_templates_page_test_list_templates_summarizes_each_template", "callee": "list_templates", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L176"}, {"caller_nid": "ui_test_templates_page_test_list_templates_summarizes_each_template", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L179"}, {"caller_nid": "ui_test_templates_page_test_list_templates_summarizes_each_template", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L179"}, {"caller_nid": "ui_test_templates_page_test_list_templates_is_sorted", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L191"}, {"caller_nid": "ui_test_templates_page_test_list_templates_is_sorted", "callee": "list_templates", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L192"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_dirs_without_manifest", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L200"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_dirs_without_manifest", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L201"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_dirs_without_manifest", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L202"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_dirs_without_manifest", "callee": "list_templates", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L204"}, {"caller_nid": "ui_test_templates_page_test_list_templates_filters_by_template_type", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L210"}, {"caller_nid": "ui_test_templates_page_test_list_templates_filters_by_template_type", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L211"}, {"caller_nid": "ui_test_templates_page_test_list_templates_filters_by_template_type", "callee": "list_templates", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L218"}, {"caller_nid": "ui_test_templates_page_test_list_templates_filters_by_template_type", "callee": "list_templates", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L219"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_malformed_manifest", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L226"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_malformed_manifest", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L228"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_malformed_manifest", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L230"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_malformed_manifest", "callee": "list_templates", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L232"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_non_mapping_manifest", "callee": "create_template", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L238"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_non_mapping_manifest", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L240"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_non_mapping_manifest", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L242"}, {"caller_nid": "ui_test_templates_page_test_list_templates_skips_non_mapping_manifest", "callee": "list_templates", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py", "source_location": "L244"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/be5526f9cfb4738898c4a046d1bcabc259134bb2b34904ff7b67b2d0906a449e.json b/graphify-out/cache/ast/be5526f9cfb4738898c4a046d1bcabc259134bb2b34904ff7b67b2d0906a449e.json deleted file mode 100644 index eed6a25..0000000 --- a/graphify-out/cache/ast/be5526f9cfb4738898c4a046d1bcabc259134bb2b34904ff7b67b2d0906a449e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_storage_secret_py", "label": "storage_secret.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L1"}, {"id": "tray_storage_secret_load_or_create_storage_secret", "label": "load_or_create_storage_secret()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L31"}, {"id": "tray_storage_secret_rationale_1", "label": "Per-installation NiceGUI ``storage_secret`` token. Backend Spec \u00a715.3. NiceGUI'", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L1"}, {"id": "tray_storage_secret_rationale_32", "label": "Return the per-installation storage secret, generating it if absent. The fi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L32"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_storage_secret_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_storage_secret_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_storage_secret_py", "target": "secrets", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_storage_secret_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_storage_secret_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_storage_secret_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_storage_secret_py", "target": "tray_storage_secret_load_or_create_storage_secret", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L31", "weight": 1.0}, {"source": "tray_storage_secret_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_storage_secret_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_storage_secret_rationale_32", "target": "tray_storage_secret_load_or_create_storage_secret", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L32", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L39"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L40"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L42"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L42"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L44"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L48"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "token_hex", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L50"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L51"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L52"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L52"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L53"}, {"caller_nid": "tray_storage_secret_load_or_create_storage_secret", "callee": "chmod", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py", "source_location": "L54"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/bff13b61ff48374033a988c00dc037140fe522272f4374b077a369524e20366d.json b/graphify-out/cache/ast/bff13b61ff48374033a988c00dc037140fe522272f4374b077a369524e20366d.json deleted file mode 100644 index e46ff3d..0000000 --- a/graphify-out/cache/ast/bff13b61ff48374033a988c00dc037140fe522272f4374b077a369524e20366d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_07_sync_and_database_integration_md", "label": "07_Sync_and_Database_Integration.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L1"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", "label": "7. Sync and Database Integration", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L1"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "label": "7.1 NAS Sync (Internal Module)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L7"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_1_component_model", "label": "7.1.1 Component model", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L13"}, {"id": "design_spec_sections_07_sync_and_database_integration_codeblock_1", "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L17"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_2_job_lifecycle", "label": "7.1.2 Job lifecycle", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L41"}, {"id": "design_spec_sections_07_sync_and_database_integration_codeblock_2", "label": "code:block2 (QUEUED \u2192 RUNNING \u2192 AWAITING_VERIFY \u2192 VERIFIED \u2192 CLEANUP_ELIG)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L45"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_3_transport_drivers", "label": "7.1.3 Transport drivers", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L63"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_4_hash_verification", "label": "7.1.4 Hash verification", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L73"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_5_retry_policy", "label": "7.1.5 Retry policy", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L84"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_6_cleanup_safety_interlocks", "label": "7.1.6 Cleanup safety interlocks", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L95"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_7_bandwidth_limiting", "label": "7.1.7 Bandwidth limiting", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L108"}, {"id": "design_spec_sections_07_sync_and_database_integration_codeblock_3", "label": "code:yaml (equipment:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L112"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_8_credential_storage", "label": "7.1.8 Credential storage", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L128"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_9_what_nassync_does_not_do", "label": "7.1.9 What NASSync does not do", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L132"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_1_10_cache_file_syncing_and_metadata_only_retention_on_cleanup", "label": "7.1.10 Cache file syncing and metadata-only retention on cleanup", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L139"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "label": "7.2 LIMS Integration", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L149"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_0_empirical_facts_about_the_lims", "label": "7.2.0 Empirical facts about the LIMS", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L155"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_1_project_mapping_mapping_b_committed", "label": "7.2.1 Project mapping (Mapping B, committed)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L166"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_2_run_level_lims_integration_deferred_to_v1_x", "label": "7.2.2 Run-level LIMS integration (deferred to v1.x)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L176"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_3_limsclient_interface_v1", "label": "7.2.3 `LIMSClient` interface (v1)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L184"}, {"id": "design_spec_sections_07_sync_and_database_integration_codeblock_4", "label": "code:python (class LIMSClient:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L186"}, {"id": "design_spec_sections_07_sync_and_database_integration_codeblock_5", "label": "code:python (@dataclass(frozen=True))", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L199"}, {"id": "design_spec_sections_07_sync_and_database_integration_codeblock_6", "label": "code:python (@dataclass(frozen=True))", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L215"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_4_project_cache_and_offline_behavior", "label": "7.2.4 Project cache and offline behavior", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L229"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_5_authentication_cookie_session", "label": "7.2.5 Authentication (cookie session)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L241"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_6_asks_for_the_lims_team_deferred", "label": "7.2.6 Asks for the LIMS team (deferred)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L252"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_7_v1_x_run_level_record_specification_target", "label": "7.2.7 v1.x run-level record (specification target)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L263"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_8_what_exlab_wizard_does_not_write_to_lims_in_v1", "label": "7.2.8 What ExLab-Wizard does not write to LIMS in v1", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L293"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", "label": "7.2.9 Offline Catalogue (NAS-shared LIMS project list)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L304"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_9_1_file_location_and_format", "label": "7.2.9.1 File location and format", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L310"}, {"id": "design_spec_sections_07_sync_and_database_integration_codeblock_7", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L316"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_9_2_producer_behavior", "label": "7.2.9.2 Producer behavior", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L338"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_9_3_consumer_behavior", "label": "7.2.9.3 Consumer behavior", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L350"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_9_4_failure_modes", "label": "7.2.9.4 Failure modes", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L369"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_9_5_security_and_trust", "label": "7.2.9.5 Security and trust", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L380"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_2_9_6_out_of_scope_for_v1", "label": "7.2.9.6 Out of scope for v1", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L386"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_3_pre_sync_gate", "label": "7.3 Pre-Sync Gate", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L393"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", "label": "7.4 Credential Storage (OS Keyring)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L409"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_4_1_keyring_entry_naming_convention", "label": "7.4.1 Keyring entry naming convention", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L421"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_4_2_settings_ui_for_credentials", "label": "7.4.2 Settings UI for credentials", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L435"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_4_3_credential_lifecycle", "label": "7.4.3 Credential lifecycle", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L439"}, {"id": "design_spec_sections_07_sync_and_database_integration_7_4_4_fallback_when_no_keyring_backend_is_available", "label": "7.4.4 Fallback when no keyring backend is available", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L447"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_07_sync_and_database_integration_md", "target": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L7", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "target": "design_spec_sections_07_sync_and_database_integration_7_1_1_component_model", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L13", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_1_component_model", "target": "design_spec_sections_07_sync_and_database_integration_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L17", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "target": "design_spec_sections_07_sync_and_database_integration_7_1_2_job_lifecycle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L41", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_2_job_lifecycle", "target": "design_spec_sections_07_sync_and_database_integration_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L45", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "target": "design_spec_sections_07_sync_and_database_integration_7_1_3_transport_drivers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L63", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "target": "design_spec_sections_07_sync_and_database_integration_7_1_4_hash_verification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L73", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "target": "design_spec_sections_07_sync_and_database_integration_7_1_5_retry_policy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L84", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "target": "design_spec_sections_07_sync_and_database_integration_7_1_6_cleanup_safety_interlocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L95", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "target": "design_spec_sections_07_sync_and_database_integration_7_1_7_bandwidth_limiting", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L108", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_7_bandwidth_limiting", "target": "design_spec_sections_07_sync_and_database_integration_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L112", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "target": "design_spec_sections_07_sync_and_database_integration_7_1_8_credential_storage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L128", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "target": "design_spec_sections_07_sync_and_database_integration_7_1_9_what_nassync_does_not_do", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L132", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", "target": "design_spec_sections_07_sync_and_database_integration_7_1_10_cache_file_syncing_and_metadata_only_retention_on_cleanup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L139", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L149", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_0_empirical_facts_about_the_lims", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L155", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_1_project_mapping_mapping_b_committed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L166", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_2_run_level_lims_integration_deferred_to_v1_x", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L176", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_3_limsclient_interface_v1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L184", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_3_limsclient_interface_v1", "target": "design_spec_sections_07_sync_and_database_integration_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L186", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_3_limsclient_interface_v1", "target": "design_spec_sections_07_sync_and_database_integration_codeblock_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L199", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_3_limsclient_interface_v1", "target": "design_spec_sections_07_sync_and_database_integration_codeblock_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L215", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_4_project_cache_and_offline_behavior", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L229", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_5_authentication_cookie_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L241", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_6_asks_for_the_lims_team_deferred", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L252", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_7_v1_x_run_level_record_specification_target", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L263", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_8_what_exlab_wizard_does_not_write_to_lims_in_v1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L293", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L304", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_1_file_location_and_format", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L310", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_9_1_file_location_and_format", "target": "design_spec_sections_07_sync_and_database_integration_codeblock_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L316", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_2_producer_behavior", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L338", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_3_consumer_behavior", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L350", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_4_failure_modes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L369", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_5_security_and_trust", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L380", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_6_out_of_scope_for_v1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L386", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_3_pre_sync_gate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L393", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", "target": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L409", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", "target": "design_spec_sections_07_sync_and_database_integration_7_4_1_keyring_entry_naming_convention", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L421", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", "target": "design_spec_sections_07_sync_and_database_integration_7_4_2_settings_ui_for_credentials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L435", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", "target": "design_spec_sections_07_sync_and_database_integration_7_4_3_credential_lifecycle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L439", "weight": 1.0}, {"source": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", "target": "design_spec_sections_07_sync_and_database_integration_7_4_4_fallback_when_no_keyring_backend_is_available", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", "source_location": "L447", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/bff5a9662e5bdb10de703834dcb1c08ca257abf3cf3aeeb72b61dd7b288993b4.json b/graphify-out/cache/ast/bff5a9662e5bdb10de703834dcb1c08ca257abf3cf3aeeb72b61dd7b288993b4.json deleted file mode 100644 index 939f6a1..0000000 --- a/graphify-out/cache/ast/bff5a9662e5bdb10de703834dcb1c08ca257abf3cf3aeeb72b61dd7b288993b4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_hello_plugin_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/__init__.py", "source_location": "L1"}, {"id": "hello_plugin_init_rationale_1", "label": "hello_plugin -- canonical scaffold from Backend Spec \u00a76.5. The ``Plugin`` re-ex", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_hello_plugin_init_py", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_hello_plugin_plugin_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/__init__.py", "source_location": "L7", "weight": 1.0}, {"source": "hello_plugin_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_hello_plugin_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/c00d14a1b682c32742d250eb16cc8f53122058c31566c0a1875289a52f7dac14.json b/graphify-out/cache/ast/c00d14a1b682c32742d250eb16cc8f53122058c31566c0a1875289a52f7dac14.json deleted file mode 100644 index 9a88e13..0000000 --- a/graphify-out/cache/ast/c00d14a1b682c32742d250eb16cc8f53122058c31566c0a1875289a52f7dac14.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/c089a4ee9d5d0dd59833432a6b49d75995d367c1273be4065f381ca5983ca18b.json b/graphify-out/cache/ast/c089a4ee9d5d0dd59833432a6b49d75995d367c1273be4065f381ca5983ca18b.json deleted file mode 100644 index 4831792..0000000 --- a/graphify-out/cache/ast/c089a4ee9d5d0dd59833432a6b49d75995d367c1273be4065f381ca5983ca18b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "label": "test_main.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L1"}, {"id": "window_test_main_write_server_json", "label": "_write_server_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L24"}, {"id": "window_test_main_test_read_server_handshake_returns_none_when_missing", "label": "test_read_server_handshake_returns_none_when_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L36"}, {"id": "window_test_main_test_read_server_handshake_returns_handshake", "label": "test_read_server_handshake_returns_handshake()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L40"}, {"id": "window_test_main_test_read_server_handshake_returns_none_on_invalid_json", "label": "test_read_server_handshake_returns_none_on_invalid_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L48"}, {"id": "window_test_main_test_read_server_handshake_returns_none_on_missing_keys", "label": "test_read_server_handshake_returns_none_on_missing_keys()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L53"}, {"id": "window_test_main_test_main_returns_stale_when_no_state_file", "label": "test_main_returns_stale_when_no_state_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L58"}, {"id": "window_test_main_test_main_returns_stale_on_dead_pid", "label": "test_main_returns_stale_on_dead_pid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L67"}, {"id": "window_test_main_test_main_hands_off_with_live_state", "label": "test_main_hands_off_with_live_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L75"}, {"id": "window_test_main_test_is_pid_alive_for_self", "label": "test_is_pid_alive_for_self()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L89"}, {"id": "window_test_main_test_is_pid_alive_rejects_zero", "label": "test_is_pid_alive_rejects_zero()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L93"}, {"id": "window_test_main_test_is_pid_alive_for_dead_pid", "label": "test_is_pid_alive_for_dead_pid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L98"}, {"id": "window_test_main_test_is_pid_alive_falls_through_to_default", "label": "test_is_pid_alive_falls_through_to_default()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L103"}, {"id": "window_test_main_test_default_state_dir_is_used", "label": "test_default_state_dir_is_used()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L117"}, {"id": "window_test_main_test_default_handoff_invokes_run_window", "label": "test_default_handoff_invokes_run_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L123"}, {"id": "window_test_main_test_argv_is_ignored", "label": "test_argv_is_ignored()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L139"}, {"id": "window_test_main_test_server_handshake_round_trip", "label": "test_server_handshake_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L145"}, {"id": "window_test_main_test_posix_is_pid_alive_handles_permission", "label": "test_posix_is_pid_alive_handles_permission()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L152"}, {"id": "window_test_main_test_posix_is_pid_alive_handles_dead_pid", "label": "test_posix_is_pid_alive_handles_dead_pid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L163"}, {"id": "window_test_main_test_is_pid_alive_dispatches_to_windows", "label": "test_is_pid_alive_dispatches_to_windows()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L173"}, {"id": "window_test_main_rationale_1", "label": "Tests for :mod:`exlab_wizard.window.main`. Backend Spec \u00a715.3.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L1"}, {"id": "window_test_main_rationale_104", "label": "Default ``pid_alive`` lookup uses ``is_pid_alive``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L104"}, {"id": "window_test_main_rationale_153", "label": "A foreign-uid live PID counts as alive.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L153"}, {"id": "window_test_main_rationale_174", "label": "When sys.platform is 'win32' the windows implementation runs.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L174"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "exlab_wizard_window_main", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_write_server_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_read_server_handshake_returns_none_when_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_read_server_handshake_returns_handshake", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_read_server_handshake_returns_none_on_invalid_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_read_server_handshake_returns_none_on_missing_keys", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_main_returns_stale_when_no_state_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_main_returns_stale_on_dead_pid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_main_hands_off_with_live_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_is_pid_alive_for_self", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_is_pid_alive_rejects_zero", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_is_pid_alive_for_dead_pid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_is_pid_alive_falls_through_to_default", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_default_state_dir_is_used", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L117", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_default_handoff_invokes_run_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_argv_is_ignored", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L139", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_server_handshake_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L145", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_posix_is_pid_alive_handles_permission", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_posix_is_pid_alive_handles_dead_pid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L163", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "target": "window_test_main_test_is_pid_alive_dispatches_to_windows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L173", "weight": 1.0}, {"source": "window_test_main_test_read_server_handshake_returns_handshake", "target": "window_test_main_write_server_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L41", "weight": 1.0}, {"source": "window_test_main_test_main_returns_stale_on_dead_pid", "target": "window_test_main_write_server_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L68", "weight": 1.0}, {"source": "window_test_main_test_main_hands_off_with_live_state", "target": "window_test_main_write_server_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L76", "weight": 1.0}, {"source": "window_test_main_test_is_pid_alive_falls_through_to_default", "target": "window_test_main_write_server_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L105", "weight": 1.0}, {"source": "window_test_main_test_default_handoff_invokes_run_window", "target": "window_test_main_write_server_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L126", "weight": 1.0}, {"source": "window_test_main_test_argv_is_ignored", "target": "window_test_main_write_server_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L140", "weight": 1.0}, {"source": "window_test_main_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_window_test_main_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L1", "weight": 1.0}, {"source": "window_test_main_rationale_104", "target": "window_test_main_test_is_pid_alive_falls_through_to_default", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L104", "weight": 1.0}, {"source": "window_test_main_rationale_153", "target": "window_test_main_test_posix_is_pid_alive_handles_permission", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L153", "weight": 1.0}, {"source": "window_test_main_rationale_174", "target": "window_test_main_test_is_pid_alive_dispatches_to_windows", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L174", "weight": 1.0}], "raw_calls": [{"caller_nid": "window_test_main_write_server_json", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L25"}, {"caller_nid": "window_test_main_write_server_json", "callee": "getpid", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L28"}, {"caller_nid": "window_test_main_write_server_json", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L32"}, {"caller_nid": "window_test_main_write_server_json", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L32"}, {"caller_nid": "window_test_main_test_read_server_handshake_returns_none_when_missing", "callee": "read_server_handshake", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L37"}, {"caller_nid": "window_test_main_test_read_server_handshake_returns_handshake", "callee": "read_server_handshake", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L42"}, {"caller_nid": "window_test_main_test_read_server_handshake_returns_handshake", "callee": "getpid", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L45"}, {"caller_nid": "window_test_main_test_read_server_handshake_returns_none_on_invalid_json", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L49"}, {"caller_nid": "window_test_main_test_read_server_handshake_returns_none_on_invalid_json", "callee": "read_server_handshake", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L50"}, {"caller_nid": "window_test_main_test_read_server_handshake_returns_none_on_missing_keys", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L54"}, {"caller_nid": "window_test_main_test_read_server_handshake_returns_none_on_missing_keys", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L54"}, {"caller_nid": "window_test_main_test_read_server_handshake_returns_none_on_missing_keys", "callee": "read_server_handshake", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L55"}, {"caller_nid": "window_test_main_test_main_returns_stale_when_no_state_file", "callee": "main", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L61"}, {"caller_nid": "window_test_main_test_main_returns_stale_when_no_state_file", "callee": "readouterr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L63"}, {"caller_nid": "window_test_main_test_main_returns_stale_on_dead_pid", "callee": "main", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L69"}, {"caller_nid": "window_test_main_test_main_returns_stale_on_dead_pid", "callee": "readouterr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L71"}, {"caller_nid": "window_test_main_test_main_hands_off_with_live_state", "callee": "main", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L83"}, {"caller_nid": "window_test_main_test_main_hands_off_with_live_state", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L85"}, {"caller_nid": "window_test_main_test_is_pid_alive_for_self", "callee": "is_pid_alive", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L90"}, {"caller_nid": "window_test_main_test_is_pid_alive_for_self", "callee": "getpid", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L90"}, {"caller_nid": "window_test_main_test_is_pid_alive_rejects_zero", "callee": "is_pid_alive", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L94"}, {"caller_nid": "window_test_main_test_is_pid_alive_rejects_zero", "callee": "is_pid_alive", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L95"}, {"caller_nid": "window_test_main_test_is_pid_alive_for_dead_pid", "callee": "is_pid_alive", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L100"}, {"caller_nid": "window_test_main_test_is_pid_alive_falls_through_to_default", "callee": "main", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L112"}, {"caller_nid": "window_test_main_test_default_state_dir_is_used", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L118"}, {"caller_nid": "window_test_main_test_default_state_dir_is_used", "callee": "main", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L119"}, {"caller_nid": "window_test_main_test_default_handoff_invokes_run_window", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L133"}, {"caller_nid": "window_test_main_test_default_handoff_invokes_run_window", "callee": "main", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L134"}, {"caller_nid": "window_test_main_test_argv_is_ignored", "callee": "main", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L141"}, {"caller_nid": "window_test_main_test_server_handshake_round_trip", "callee": "ServerHandshake", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L146"}, {"caller_nid": "window_test_main_test_posix_is_pid_alive_handles_permission", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L155"}, {"caller_nid": "window_test_main_test_posix_is_pid_alive_handles_permission", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L159"}, {"caller_nid": "window_test_main_test_posix_is_pid_alive_handles_permission", "callee": "_posix_is_pid_alive", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L160"}, {"caller_nid": "window_test_main_test_posix_is_pid_alive_handles_dead_pid", "callee": "skip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L165"}, {"caller_nid": "window_test_main_test_posix_is_pid_alive_handles_dead_pid", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L169"}, {"caller_nid": "window_test_main_test_posix_is_pid_alive_handles_dead_pid", "callee": "_posix_is_pid_alive", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L170"}, {"caller_nid": "window_test_main_test_is_pid_alive_dispatches_to_windows", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L177"}, {"caller_nid": "window_test_main_test_is_pid_alive_dispatches_to_windows", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L178"}, {"caller_nid": "window_test_main_test_is_pid_alive_dispatches_to_windows", "callee": "is_pid_alive", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py", "source_location": "L179"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c09ae9cccfe1f51a237a41bb478297f75c1a1ed7d22b52597badbd5906cf19cd.json b/graphify-out/cache/ast/c09ae9cccfe1f51a237a41bb478297f75c1a1ed7d22b52597badbd5906cf19cd.json deleted file mode 100644 index 2fe5591..0000000 --- a/graphify-out/cache/ast/c09ae9cccfe1f51a237a41bb478297f75c1a1ed7d22b52597badbd5906cf19cd.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "label": "main_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L1"}, {"id": "page_objects_main_page_mainpage", "label": "MainPage", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L15"}, {"id": "page_objects_main_page_mainpage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L18"}, {"id": "page_objects_main_page_tree", "label": "tree()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L22"}, {"id": "page_objects_main_page_setup_incomplete_banner", "label": "setup_incomplete_banner()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L27"}, {"id": "page_objects_main_page_toolbar_new_project", "label": "toolbar_new_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L32"}, {"id": "page_objects_main_page_toolbar_new_run", "label": "toolbar_new_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L37"}, {"id": "page_objects_main_page_toolbar_new_test_run", "label": "toolbar_new_test_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L42"}, {"id": "page_objects_main_page_toolbar_settings", "label": "toolbar_settings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L47"}, {"id": "page_objects_main_page_toolbar_refresh", "label": "toolbar_refresh()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L52"}, {"id": "page_objects_main_page_toolbar_add_equipment", "label": "toolbar_add_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L57"}, {"id": "page_objects_main_page_search_box", "label": "search_box()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L62"}, {"id": "page_objects_main_page_tab_metadata", "label": "tab_metadata()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L67"}, {"id": "page_objects_main_page_tab_problems", "label": "tab_problems()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L72"}, {"id": "page_objects_main_page_toggle_right_pane", "label": "toggle_right_pane()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L77"}, {"id": "page_objects_main_page_footer_clear_verified", "label": "footer_clear_verified()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L82"}, {"id": "page_objects_main_page_footer_staging_segment", "label": "footer_staging_segment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L87"}, {"id": "page_objects_main_page_rationale_1", "label": "Page object for the main window. Frontend Spec \u00a76. Selectors target ``data-test", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L1"}, {"id": "page_objects_main_page_rationale_16", "label": "Page object for the main window. Frontend Spec \u00a76.1, \u00a76.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L16"}, {"id": "page_objects_main_page_rationale_23", "label": "The left-pane project / session tree (\u00a76.2.1).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L23"}, {"id": "page_objects_main_page_rationale_28", "label": "Banner shown while the setup gate is open (\u00a76.2.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L28"}, {"id": "page_objects_main_page_rationale_33", "label": "Toolbar button that opens the new-project wizard (\u00a76.2.2).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L33"}, {"id": "page_objects_main_page_rationale_38", "label": "Toolbar button that opens the new-run wizard (\u00a76.2.2).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L38"}, {"id": "page_objects_main_page_rationale_43", "label": "Toolbar button that opens the new-test-run wizard (\u00a76.2.2).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L43"}, {"id": "page_objects_main_page_rationale_48", "label": "Toolbar button that opens the settings dialog (\u00a76.2.2).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L48"}, {"id": "page_objects_main_page_rationale_53", "label": "Toolbar refresh button (\u00a76.2.2).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L53"}, {"id": "page_objects_main_page_rationale_58", "label": "Toolbar Add-Equipment button (Redesign \u00a74 / \u00a76).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L58"}, {"id": "page_objects_main_page_rationale_63", "label": "The tree search input (\u00a76.2.1).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L63"}, {"id": "page_objects_main_page_rationale_68", "label": "Metadata tab (Redesign \u00a74.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L68"}, {"id": "page_objects_main_page_rationale_73", "label": "Problems tab (\u00a76.2.3 / Redesign \u00a74.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L73"}, {"id": "page_objects_main_page_rationale_78", "label": "Right-pane collapse toggle (Redesign \u00a74).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L78"}, {"id": "page_objects_main_page_rationale_83", "label": "Footer bulk Clear-verified button (Redesign \u00a74.6).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L83"}, {"id": "page_objects_main_page_rationale_88", "label": "Footer Staging status segment (Redesign \u00a74.6).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L88"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "playwright_sync_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_mainpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L15", "weight": 1.0}, {"source": "page_objects_main_page_mainpage", "target": "page_objects_main_page_mainpage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_setup_incomplete_banner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_toolbar_new_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_toolbar_new_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_toolbar_new_test_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_toolbar_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_toolbar_refresh", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_toolbar_add_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_search_box", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_tab_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_tab_problems", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_toggle_right_pane", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_footer_clear_verified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L82", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "target": "page_objects_main_page_footer_staging_segment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L87", "weight": 1.0}, {"source": "page_objects_main_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_page_objects_main_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L1", "weight": 1.0}, {"source": "page_objects_main_page_rationale_16", "target": "page_objects_main_page_mainpage", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L16", "weight": 1.0}, {"source": "page_objects_main_page_rationale_23", "target": "page_objects_main_page_mainpage_tree", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L23", "weight": 1.0}, {"source": "page_objects_main_page_rationale_28", "target": "page_objects_main_page_mainpage_setup_incomplete_banner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L28", "weight": 1.0}, {"source": "page_objects_main_page_rationale_33", "target": "page_objects_main_page_mainpage_toolbar_new_project", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L33", "weight": 1.0}, {"source": "page_objects_main_page_rationale_38", "target": "page_objects_main_page_mainpage_toolbar_new_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L38", "weight": 1.0}, {"source": "page_objects_main_page_rationale_43", "target": "page_objects_main_page_mainpage_toolbar_new_test_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L43", "weight": 1.0}, {"source": "page_objects_main_page_rationale_48", "target": "page_objects_main_page_mainpage_toolbar_settings", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L48", "weight": 1.0}, {"source": "page_objects_main_page_rationale_53", "target": "page_objects_main_page_mainpage_toolbar_refresh", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L53", "weight": 1.0}, {"source": "page_objects_main_page_rationale_58", "target": "page_objects_main_page_mainpage_toolbar_add_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L58", "weight": 1.0}, {"source": "page_objects_main_page_rationale_63", "target": "page_objects_main_page_mainpage_search_box", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L63", "weight": 1.0}, {"source": "page_objects_main_page_rationale_68", "target": "page_objects_main_page_mainpage_tab_metadata", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L68", "weight": 1.0}, {"source": "page_objects_main_page_rationale_73", "target": "page_objects_main_page_mainpage_tab_problems", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L73", "weight": 1.0}, {"source": "page_objects_main_page_rationale_78", "target": "page_objects_main_page_mainpage_toggle_right_pane", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L78", "weight": 1.0}, {"source": "page_objects_main_page_rationale_83", "target": "page_objects_main_page_mainpage_footer_clear_verified", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L83", "weight": 1.0}, {"source": "page_objects_main_page_rationale_88", "target": "page_objects_main_page_mainpage_footer_staging_segment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L88", "weight": 1.0}], "raw_calls": [{"caller_nid": "page_objects_main_page_tree", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L24"}, {"caller_nid": "page_objects_main_page_setup_incomplete_banner", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L29"}, {"caller_nid": "page_objects_main_page_toolbar_new_project", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L34"}, {"caller_nid": "page_objects_main_page_toolbar_new_run", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L39"}, {"caller_nid": "page_objects_main_page_toolbar_new_test_run", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L44"}, {"caller_nid": "page_objects_main_page_toolbar_settings", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L49"}, {"caller_nid": "page_objects_main_page_toolbar_refresh", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L54"}, {"caller_nid": "page_objects_main_page_toolbar_add_equipment", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L59"}, {"caller_nid": "page_objects_main_page_search_box", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L64"}, {"caller_nid": "page_objects_main_page_tab_metadata", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L69"}, {"caller_nid": "page_objects_main_page_tab_problems", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L74"}, {"caller_nid": "page_objects_main_page_toggle_right_pane", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L79"}, {"caller_nid": "page_objects_main_page_footer_clear_verified", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L84"}, {"caller_nid": "page_objects_main_page_footer_staging_segment", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py", "source_location": "L89"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c0aa11307030d8525d7754285a35ee9558655cbe650092ea966f9737eec00459.json b/graphify-out/cache/ast/c0aa11307030d8525d7754285a35ee9558655cbe650092ea966f9737eec00459.json deleted file mode 100644 index 98ebe96..0000000 --- a/graphify-out/cache/ast/c0aa11307030d8525d7754285a35ee9558655cbe650092ea966f9737eec00459.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_plugin_guide_worked_examples_md", "label": "worked_examples.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L1"}, {"id": "plugin_guide_worked_examples_worked_examples", "label": "Worked Examples", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L1"}, {"id": "plugin_guide_worked_examples_hello_plugin", "label": "Hello plugin", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L8"}, {"id": "plugin_guide_worked_examples_xlsx_field_filler", "label": "xlsx_field_filler", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L19"}, {"id": "plugin_guide_worked_examples_docx_variable_replacer", "label": "docx_variable_replacer", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L39"}, {"id": "plugin_guide_worked_examples_where_to_look_in_the_codebase", "label": "Where to look in the codebase", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L49"}, {"id": "plugin_guide_worked_examples_codeblock_1", "label": "code:block1 (pip install -e .[plugin-examples])", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L62"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_plugin_guide_worked_examples_md", "target": "plugin_guide_worked_examples_worked_examples", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L1", "weight": 1.0}, {"source": "plugin_guide_worked_examples_worked_examples", "target": "plugin_guide_worked_examples_hello_plugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L8", "weight": 1.0}, {"source": "plugin_guide_worked_examples_worked_examples", "target": "plugin_guide_worked_examples_xlsx_field_filler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L19", "weight": 1.0}, {"source": "plugin_guide_worked_examples_worked_examples", "target": "plugin_guide_worked_examples_docx_variable_replacer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L39", "weight": 1.0}, {"source": "plugin_guide_worked_examples_worked_examples", "target": "plugin_guide_worked_examples_where_to_look_in_the_codebase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L49", "weight": 1.0}, {"source": "plugin_guide_worked_examples_where_to_look_in_the_codebase", "target": "plugin_guide_worked_examples_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md", "source_location": "L62", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/c1d03d80a653f6296e7ffa5021f0fed84b4ed8b67ae92ee68ad9f53d1bbedf28.json b/graphify-out/cache/ast/c1d03d80a653f6296e7ffa5021f0fed84b4ed8b67ae92ee68ad9f53d1bbedf28.json deleted file mode 100644 index 519fb42..0000000 --- a/graphify-out/cache/ast/c1d03d80a653f6296e7ffa5021f0fed84b4ed8b67ae92ee68ad9f53d1bbedf28.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "label": "test_main.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L1"}, {"id": "tray_test_main_stubserverrunner", "label": "_StubServerRunner", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L15"}, {"id": "tray_test_main_stubserverrunner_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L16"}, {"id": "tray_test_main_stubserverrunner_start", "label": ".start()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L22"}, {"id": "tray_test_main_stubserverrunner_stop", "label": ".stop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L26"}, {"id": "tray_test_main_stubwindowlauncher", "label": "_StubWindowLauncher", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L30"}, {"id": "tray_test_main_stubwindowlauncher_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L31"}, {"id": "tray_test_main_stubwindowlauncher_open", "label": ".open()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L35"}, {"id": "tray_test_main_stubwindowlauncher_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L38"}, {"id": "tray_test_main_stubquitcoordinator", "label": "_StubQuitCoordinator", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L42"}, {"id": "tray_test_main_stubquitcoordinator_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L43"}, {"id": "tray_test_main_stubquitcoordinator_quit", "label": ".quit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L46"}, {"id": "tray_test_main_stubstatusticker", "label": "_StubStatusTicker", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L51"}, {"id": "tray_test_main_stubstatusticker_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L52"}, {"id": "tray_test_main_stubstatusticker_start", "label": ".start()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L57"}, {"id": "tray_test_main_stubstatusticker_stop", "label": ".stop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L60"}, {"id": "tray_test_main_stubstatusticker_tick_once", "label": ".tick_once()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L63"}, {"id": "tray_test_main_stubbus", "label": "_StubBus", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L68"}, {"id": "tray_test_main_stubbus_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L69"}, {"id": "tray_test_main_stubbus_cancel_all", "label": ".cancel_all()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L72"}, {"id": "tray_test_main_stubautostart", "label": "_StubAutostart", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L76"}, {"id": "tray_test_main_make_tray", "label": "_make_tray()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L80"}, {"id": "tray_test_main_test_start_server_calls_runner", "label": "test_start_server_calls_runner()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L91"}, {"id": "tray_test_main_test_open_window_delegates", "label": "test_open_window_delegates()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L98"}, {"id": "tray_test_main_test_request_quit_runs_coordinator", "label": "test_request_quit_runs_coordinator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L104"}, {"id": "tray_test_main_test_request_quit_calls_icon_stop_when_set", "label": "test_request_quit_calls_icon_stop_when_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L110"}, {"id": "tray_test_main_test_request_quit_handles_icon_stop_error", "label": "test_request_quit_handles_icon_stop_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L118"}, {"id": "tray_test_main_test_shutdown_tears_components_down", "label": "test_shutdown_tears_components_down()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L126"}, {"id": "tray_test_main_test_run_wires_icon_and_invokes_run_loop", "label": "test_run_wires_icon_and_invokes_run_loop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L135"}, {"id": "tray_test_main_test_build_default_components", "label": "test_build_default_components()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L166"}, {"id": "tray_test_main_test_main_uses_run_helper", "label": "test_main_uses_run_helper()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L178"}, {"id": "tray_test_main_test_main_handles_keyboard_interrupt", "label": "test_main_handles_keyboard_interrupt()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L201"}, {"id": "tray_test_main_test_run_returns_one_on_icon_failure", "label": "test_run_returns_one_on_icon_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L218"}, {"id": "tray_test_main_test_request_quit_uses_running_loop_when_present", "label": "test_request_quit_uses_running_loop_when_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L232"}, {"id": "tray_test_main_test_build_default_app", "label": "test_build_default_app()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L269"}, {"id": "tray_test_main_test_build_default_components_falls_back_to_default_app", "label": "test_build_default_components_falls_back_to_default_app()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L302"}, {"id": "tray_test_main_test_parse_argv_defaults_no_smoke", "label": "test_parse_argv_defaults_no_smoke()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L314"}, {"id": "tray_test_main_test_parse_argv_smoke_flag", "label": "test_parse_argv_smoke_flag()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L323"}, {"id": "tray_test_main_test_parse_argv_no_autostart_prompt_silently_accepted", "label": "test_parse_argv_no_autostart_prompt_silently_accepted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L331"}, {"id": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", "label": "test_run_smoke_starts_server_and_stops_on_signal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L339"}, {"id": "tray_test_main_test_main_smoke_dispatches_to_run_smoke", "label": "test_main_smoke_dispatches_to_run_smoke()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L376"}, {"id": "tray_test_main_test_parse_argv_version_flag", "label": "test_parse_argv_version_flag()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L397"}, {"id": "tray_test_main_test_main_version_prints_version_and_exits_zero", "label": "test_main_version_prints_version_and_exits_zero()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L405"}, {"id": "tray_test_main_test_parse_argv_defaults_no_test_flags", "label": "test_parse_argv_defaults_no_test_flags()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L423"}, {"id": "tray_test_main_test_parse_argv_test_flag", "label": "test_parse_argv_test_flag()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L432"}, {"id": "tray_test_main_test_parse_argv_test_with_samples", "label": "test_parse_argv_test_with_samples()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L440"}, {"id": "tray_test_main_test_parse_argv_samples_without_test_errors", "label": "test_parse_argv_samples_without_test_errors()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L448"}, {"id": "tray_test_main_test_mode_env", "label": "test_mode_env()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L462"}, {"id": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "label": "test_main_test_flag_sets_env_and_bootstraps_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L487"}, {"id": "tray_test_main_test_main_test_does_not_overwrite_existing_config", "label": "test_main_test_does_not_overwrite_existing_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L524"}, {"id": "tray_test_main_test_main_test_with_samples_adds_equipment", "label": "test_main_test_with_samples_adds_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L539"}, {"id": "tray_test_main_test_main_without_test_does_not_set_env", "label": "test_main_without_test_does_not_set_env()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L555"}, {"id": "tray_test_main_rationale_1", "label": "Tests for :mod:`exlab_wizard.tray.main`. Backend Spec \u00a74.3.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L1"}, {"id": "tray_test_main_rationale_179", "label": "``main()`` builds default components and calls :meth:`TrayApp.run`.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L179"}, {"id": "tray_test_main_rationale_235", "label": "``asyncio.run`` raises RuntimeError when a loop is running. The tray's ``re", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L235"}, {"id": "tray_test_main_rationale_270", "label": "``_build_default_app`` builds deps, calls ``create_app``, mounts NiceGUI.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L270"}, {"id": "tray_test_main_rationale_305", "label": "When ``app`` is None, the helper calls ``_build_default_app``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L305"}, {"id": "tray_test_main_rationale_315", "label": "No flags -> ``smoke`` is False, ``no_autostart_prompt`` is False.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L315"}, {"id": "tray_test_main_rationale_324", "label": "``--smoke`` sets the smoke flag.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L324"}, {"id": "tray_test_main_rationale_332", "label": "``--no-autostart-prompt`` is silently accepted (reserved).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L332"}, {"id": "tray_test_main_rationale_342", "label": "``_run_smoke`` boots the server, blocks on a stop event, and stops cleanly.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L342"}, {"id": "tray_test_main_rationale_379", "label": "``main([\"--smoke\"])`` calls ``_run_smoke`` instead of the icon loop.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L379"}, {"id": "tray_test_main_rationale_398", "label": "``--version`` sets the version flag.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L398"}, {"id": "tray_test_main_rationale_408", "label": "``main([\"--version\"])`` prints the package version and returns 0.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L408"}, {"id": "tray_test_main_rationale_424", "label": "No flags -> both test-mode flags are False.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L424"}, {"id": "tray_test_main_rationale_451", "label": "``--add-test-samples`` alone must be rejected via parser.error (exit 2).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L451"}, {"id": "tray_test_main_rationale_463", "label": "Sandbox ``main([\"--test\", ...])`` into ``tmp_path``. Redirects ``Path.home(", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L463"}, {"id": "tray_test_main_rationale_488", "label": "``main([\"--test\"])`` sets EXLAB_WIZARD_TEST_MODE=1 and writes a starter config.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L488"}, {"id": "tray_test_main_rationale_525", "label": "Re-running ``--test`` must preserve any edits the user made in-session.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L525"}, {"id": "tray_test_main_rationale_556", "label": "Sanity: running without --test leaves the env var unset and writes no test confi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L556"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "exlab_wizard_tray_main", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_stubserverrunner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L15", "weight": 1.0}, {"source": "tray_test_main_stubserverrunner", "target": "tray_test_main_stubserverrunner_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L16", "weight": 1.0}, {"source": "tray_test_main_stubserverrunner", "target": "tray_test_main_stubserverrunner_start", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L22", "weight": 1.0}, {"source": "tray_test_main_stubserverrunner", "target": "tray_test_main_stubserverrunner_stop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_stubwindowlauncher", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L30", "weight": 1.0}, {"source": "tray_test_main_stubwindowlauncher", "target": "tray_test_main_stubwindowlauncher_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L31", "weight": 1.0}, {"source": "tray_test_main_stubwindowlauncher", "target": "tray_test_main_stubwindowlauncher_open", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L35", "weight": 1.0}, {"source": "tray_test_main_stubwindowlauncher", "target": "tray_test_main_stubwindowlauncher_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_stubquitcoordinator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L42", "weight": 1.0}, {"source": "tray_test_main_stubquitcoordinator", "target": "tray_test_main_stubquitcoordinator_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L43", "weight": 1.0}, {"source": "tray_test_main_stubquitcoordinator", "target": "tray_test_main_stubquitcoordinator_quit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_stubstatusticker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L51", "weight": 1.0}, {"source": "tray_test_main_stubstatusticker", "target": "tray_test_main_stubstatusticker_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L52", "weight": 1.0}, {"source": "tray_test_main_stubstatusticker", "target": "tray_test_main_stubstatusticker_start", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L57", "weight": 1.0}, {"source": "tray_test_main_stubstatusticker", "target": "tray_test_main_stubstatusticker_stop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L60", "weight": 1.0}, {"source": "tray_test_main_stubstatusticker", "target": "tray_test_main_stubstatusticker_tick_once", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_stubbus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L68", "weight": 1.0}, {"source": "tray_test_main_stubbus", "target": "tray_test_main_stubbus_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L69", "weight": 1.0}, {"source": "tray_test_main_stubbus", "target": "tray_test_main_stubbus_cancel_all", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_stubautostart", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_make_tray", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_start_server_calls_runner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L91", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_open_window_delegates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_request_quit_runs_coordinator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L104", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_request_quit_calls_icon_stop_when_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L110", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_request_quit_handles_icon_stop_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L118", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_shutdown_tears_components_down", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L126", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_run_wires_icon_and_invokes_run_loop", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_build_default_components", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L166", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_main_uses_run_helper", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L178", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_main_handles_keyboard_interrupt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L201", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_run_returns_one_on_icon_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L218", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_request_quit_uses_running_loop_when_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L232", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_build_default_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L269", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_build_default_components_falls_back_to_default_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L302", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_parse_argv_defaults_no_smoke", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L314", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_parse_argv_smoke_flag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L323", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_parse_argv_no_autostart_prompt_silently_accepted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L331", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L339", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_main_smoke_dispatches_to_run_smoke", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L376", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_parse_argv_version_flag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L397", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_main_version_prints_version_and_exits_zero", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L405", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_parse_argv_defaults_no_test_flags", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L423", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_parse_argv_test_flag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L432", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_parse_argv_test_with_samples", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L440", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_parse_argv_samples_without_test_errors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L448", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_mode_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L462", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L487", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_main_test_does_not_overwrite_existing_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L524", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_main_test_with_samples_adds_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L539", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "target": "tray_test_main_test_main_without_test_does_not_set_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L555", "weight": 1.0}, {"source": "tray_test_main_make_tray", "target": "tray_test_main_stubserverrunner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L82", "weight": 1.0}, {"source": "tray_test_main_make_tray", "target": "tray_test_main_stubwindowlauncher", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L83", "weight": 1.0}, {"source": "tray_test_main_make_tray", "target": "tray_test_main_stubquitcoordinator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L84", "weight": 1.0}, {"source": "tray_test_main_make_tray", "target": "tray_test_main_stubstatusticker", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L85", "weight": 1.0}, {"source": "tray_test_main_make_tray", "target": "tray_test_main_stubbus", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L86", "weight": 1.0}, {"source": "tray_test_main_make_tray", "target": "tray_test_main_stubautostart", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L87", "weight": 1.0}, {"source": "tray_test_main_test_start_server_calls_runner", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L92", "weight": 1.0}, {"source": "tray_test_main_test_open_window_delegates", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L99", "weight": 1.0}, {"source": "tray_test_main_test_request_quit_runs_coordinator", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L105", "weight": 1.0}, {"source": "tray_test_main_test_request_quit_calls_icon_stop_when_set", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L111", "weight": 1.0}, {"source": "tray_test_main_test_request_quit_handles_icon_stop_error", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L119", "weight": 1.0}, {"source": "tray_test_main_test_shutdown_tears_components_down", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L127", "weight": 1.0}, {"source": "tray_test_main_test_run_wires_icon_and_invokes_run_loop", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L136", "weight": 1.0}, {"source": "tray_test_main_test_main_handles_keyboard_interrupt", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L207", "weight": 1.0}, {"source": "tray_test_main_test_run_returns_one_on_icon_failure", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L219", "weight": 1.0}, {"source": "tray_test_main_test_request_quit_uses_running_loop_when_present", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L244", "weight": 1.0}, {"source": "tray_test_main_test_mode_env", "target": "tray_test_main_make_tray", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L482", "weight": 1.0}, {"source": "tray_test_main_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_tray_test_main_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_test_main_rationale_179", "target": "tray_test_main_test_main_uses_run_helper", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L179", "weight": 1.0}, {"source": "tray_test_main_rationale_235", "target": "tray_test_main_test_request_quit_uses_running_loop_when_present", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L235", "weight": 1.0}, {"source": "tray_test_main_rationale_270", "target": "tray_test_main_test_build_default_app", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L270", "weight": 1.0}, {"source": "tray_test_main_rationale_305", "target": "tray_test_main_test_build_default_components_falls_back_to_default_app", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L305", "weight": 1.0}, {"source": "tray_test_main_rationale_315", "target": "tray_test_main_test_parse_argv_defaults_no_smoke", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L315", "weight": 1.0}, {"source": "tray_test_main_rationale_324", "target": "tray_test_main_test_parse_argv_smoke_flag", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L324", "weight": 1.0}, {"source": "tray_test_main_rationale_332", "target": "tray_test_main_test_parse_argv_no_autostart_prompt_silently_accepted", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L332", "weight": 1.0}, {"source": "tray_test_main_rationale_342", "target": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L342", "weight": 1.0}, {"source": "tray_test_main_rationale_379", "target": "tray_test_main_test_main_smoke_dispatches_to_run_smoke", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L379", "weight": 1.0}, {"source": "tray_test_main_rationale_398", "target": "tray_test_main_test_parse_argv_version_flag", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L398", "weight": 1.0}, {"source": "tray_test_main_rationale_408", "target": "tray_test_main_test_main_version_prints_version_and_exits_zero", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L408", "weight": 1.0}, {"source": "tray_test_main_rationale_424", "target": "tray_test_main_test_parse_argv_defaults_no_test_flags", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L424", "weight": 1.0}, {"source": "tray_test_main_rationale_451", "target": "tray_test_main_test_parse_argv_samples_without_test_errors", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L451", "weight": 1.0}, {"source": "tray_test_main_rationale_463", "target": "tray_test_main_test_mode_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L463", "weight": 1.0}, {"source": "tray_test_main_rationale_488", "target": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L488", "weight": 1.0}, {"source": "tray_test_main_rationale_525", "target": "tray_test_main_test_main_test_does_not_overwrite_existing_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L525", "weight": 1.0}, {"source": "tray_test_main_rationale_556", "target": "tray_test_main_test_main_without_test_does_not_set_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L556", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_test_main_make_tray", "callee": "TrayApp", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L81"}, {"caller_nid": "tray_test_main_test_start_server_calls_runner", "callee": "start_server", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L93"}, {"caller_nid": "tray_test_main_test_open_window_delegates", "callee": "open_window", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L100"}, {"caller_nid": "tray_test_main_test_request_quit_runs_coordinator", "callee": "request_quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L106"}, {"caller_nid": "tray_test_main_test_request_quit_calls_icon_stop_when_set", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L112"}, {"caller_nid": "tray_test_main_test_request_quit_calls_icon_stop_when_set", "callee": "request_quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L114"}, {"caller_nid": "tray_test_main_test_request_quit_calls_icon_stop_when_set", "callee": "assert_called_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L115"}, {"caller_nid": "tray_test_main_test_request_quit_handles_icon_stop_error", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L120"}, {"caller_nid": "tray_test_main_test_request_quit_handles_icon_stop_error", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L121"}, {"caller_nid": "tray_test_main_test_request_quit_handles_icon_stop_error", "callee": "request_quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L123"}, {"caller_nid": "tray_test_main_test_shutdown_tears_components_down", "callee": "shutdown", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L128"}, {"caller_nid": "tray_test_main_test_run_wires_icon_and_invokes_run_loop", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L146"}, {"caller_nid": "tray_test_main_test_run_wires_icon_and_invokes_run_loop", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L153"}, {"caller_nid": "tray_test_main_test_build_default_components", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L168"}, {"caller_nid": "tray_test_main_test_build_default_components", "callee": "_FakeApp", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L170"}, {"caller_nid": "tray_test_main_test_build_default_components", "callee": "_build_default_components", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L171"}, {"caller_nid": "tray_test_main_test_build_default_components", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L172"}, {"caller_nid": "tray_test_main_test_main_uses_run_helper", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L182"}, {"caller_nid": "tray_test_main_test_main_uses_run_helper", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L183"}, {"caller_nid": "tray_test_main_test_main_uses_run_helper", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L192"}, {"caller_nid": "tray_test_main_test_main_uses_run_helper", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L195"}, {"caller_nid": "tray_test_main_test_main_uses_run_helper", "callee": "main", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L196"}, {"caller_nid": "tray_test_main_test_main_handles_keyboard_interrupt", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L204"}, {"caller_nid": "tray_test_main_test_main_handles_keyboard_interrupt", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L205"}, {"caller_nid": "tray_test_main_test_main_handles_keyboard_interrupt", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L207"}, {"caller_nid": "tray_test_main_test_main_handles_keyboard_interrupt", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L213"}, {"caller_nid": "tray_test_main_test_main_handles_keyboard_interrupt", "callee": "main", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L214"}, {"caller_nid": "tray_test_main_test_run_returns_one_on_icon_failure", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L221"}, {"caller_nid": "tray_test_main_test_run_returns_one_on_icon_failure", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L222"}, {"caller_nid": "tray_test_main_test_run_returns_one_on_icon_failure", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L224"}, {"caller_nid": "tray_test_main_test_run_returns_one_on_icon_failure", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L228"}, {"caller_nid": "tray_test_main_test_request_quit_uses_running_loop_when_present", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L252"}, {"caller_nid": "tray_test_main_test_request_quit_uses_running_loop_when_present", "callee": "_FakeLoop", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L263"}, {"caller_nid": "tray_test_main_test_request_quit_uses_running_loop_when_present", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L264"}, {"caller_nid": "tray_test_main_test_request_quit_uses_running_loop_when_present", "callee": "request_quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L265"}, {"caller_nid": "tray_test_main_test_build_default_app", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L273"}, {"caller_nid": "tray_test_main_test_build_default_app", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L274"}, {"caller_nid": "tray_test_main_test_build_default_app", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L285"}, {"caller_nid": "tray_test_main_test_build_default_app", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L286"}, {"caller_nid": "tray_test_main_test_build_default_app", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L290"}, {"caller_nid": "tray_test_main_test_build_default_app", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L294"}, {"caller_nid": "tray_test_main_test_build_default_app", "callee": "_build_default_app", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L296"}, {"caller_nid": "tray_test_main_test_build_default_components_falls_back_to_default_app", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L308"}, {"caller_nid": "tray_test_main_test_build_default_components_falls_back_to_default_app", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L308"}, {"caller_nid": "tray_test_main_test_build_default_components_falls_back_to_default_app", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L309"}, {"caller_nid": "tray_test_main_test_build_default_components_falls_back_to_default_app", "callee": "_build_default_components", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L310"}, {"caller_nid": "tray_test_main_test_parse_argv_defaults_no_smoke", "callee": "_parse_argv", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L318"}, {"caller_nid": "tray_test_main_test_parse_argv_smoke_flag", "callee": "_parse_argv", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L327"}, {"caller_nid": "tray_test_main_test_parse_argv_no_autostart_prompt_silently_accepted", "callee": "_parse_argv", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L335"}, {"caller_nid": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L361"}, {"caller_nid": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L362"}, {"caller_nid": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L362"}, {"caller_nid": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", "callee": "Event", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L366"}, {"caller_nid": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L367"}, {"caller_nid": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L368"}, {"caller_nid": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", "callee": "_run_smoke", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L370"}, {"caller_nid": "tray_test_main_test_main_smoke_dispatches_to_run_smoke", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L382"}, {"caller_nid": "tray_test_main_test_main_smoke_dispatches_to_run_smoke", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L383"}, {"caller_nid": "tray_test_main_test_main_smoke_dispatches_to_run_smoke", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L391"}, {"caller_nid": "tray_test_main_test_main_smoke_dispatches_to_run_smoke", "callee": "main", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L392"}, {"caller_nid": "tray_test_main_test_parse_argv_version_flag", "callee": "_parse_argv", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L401"}, {"caller_nid": "tray_test_main_test_main_version_prints_version_and_exits_zero", "callee": "main", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L412"}, {"caller_nid": "tray_test_main_test_main_version_prints_version_and_exits_zero", "callee": "readouterr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L414"}, {"caller_nid": "tray_test_main_test_main_version_prints_version_and_exits_zero", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L415"}, {"caller_nid": "tray_test_main_test_parse_argv_defaults_no_test_flags", "callee": "_parse_argv", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L427"}, {"caller_nid": "tray_test_main_test_parse_argv_test_flag", "callee": "_parse_argv", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L435"}, {"caller_nid": "tray_test_main_test_parse_argv_test_with_samples", "callee": "_parse_argv", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L443"}, {"caller_nid": "tray_test_main_test_parse_argv_samples_without_test_errors", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L454"}, {"caller_nid": "tray_test_main_test_parse_argv_samples_without_test_errors", "callee": "_parse_argv", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L455"}, {"caller_nid": "tray_test_main_test_parse_argv_samples_without_test_errors", "callee": "readouterr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L457"}, {"caller_nid": "tray_test_main_test_mode_env", "callee": "delenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L475"}, {"caller_nid": "tray_test_main_test_mode_env", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L476"}, {"caller_nid": "tray_test_main_test_mode_env", "callee": "classmethod", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L476"}, {"caller_nid": "tray_test_main_test_mode_env", "callee": "delenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L478"}, {"caller_nid": "tray_test_main_test_mode_env", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L479"}, {"caller_nid": "tray_test_main_test_mode_env", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L481"}, {"caller_nid": "tray_test_main_test_mode_env", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L482"}, {"caller_nid": "tray_test_main_test_mode_env", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L483"}, {"caller_nid": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "callee": "main", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L498"}, {"caller_nid": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L504"}, {"caller_nid": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L508"}, {"caller_nid": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L510"}, {"caller_nid": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L511"}, {"caller_nid": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L512"}, {"caller_nid": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L513"}, {"caller_nid": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L521"}, {"caller_nid": "tray_test_main_test_main_test_does_not_overwrite_existing_config", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L529"}, {"caller_nid": "tray_test_main_test_main_test_does_not_overwrite_existing_config", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L531"}, {"caller_nid": "tray_test_main_test_main_test_does_not_overwrite_existing_config", "callee": "main", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L533"}, {"caller_nid": "tray_test_main_test_main_test_does_not_overwrite_existing_config", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L536"}, {"caller_nid": "tray_test_main_test_main_test_with_samples_adds_equipment", "callee": "main", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L544"}, {"caller_nid": "tray_test_main_test_main_test_with_samples_adds_equipment", "callee": "load_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L546"}, {"caller_nid": "tray_test_main_test_main_test_with_samples_adds_equipment", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L547"}, {"caller_nid": "tray_test_main_test_main_without_test_does_not_set_env", "callee": "main", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L560"}, {"caller_nid": "tray_test_main_test_main_without_test_does_not_set_env", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py", "source_location": "L562"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c1e00219d81f69d17b41e0507d84fd8980bd02a669f7131a999d8fd74bdd405d.json b/graphify-out/cache/ast/c1e00219d81f69d17b41e0507d84fd8980bd02a669f7131a999d8fd74bdd405d.json deleted file mode 100644 index 429a74c..0000000 --- a/graphify-out/cache/ast/c1e00219d81f69d17b41e0507d84fd8980bd02a669f7131a999d8fd74bdd405d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "label": "test_pywebview_app.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L1"}, {"id": "window_test_pywebview_app_hs", "label": "_hs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L20"}, {"id": "window_test_pywebview_app_test_build_window_url_uses_loopback", "label": "test_build_window_url_uses_loopback()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L24"}, {"id": "window_test_pywebview_app_test_is_debug_enabled_default", "label": "test_is_debug_enabled_default()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L28"}, {"id": "window_test_pywebview_app_test_is_debug_enabled_truthy", "label": "test_is_debug_enabled_truthy()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L34"}, {"id": "window_test_pywebview_app_test_is_debug_enabled_falsy", "label": "test_is_debug_enabled_falsy()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L40"}, {"id": "window_test_pywebview_app_test_run_window_calls_create_and_start", "label": "test_run_window_calls_create_and_start()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L45"}, {"id": "window_test_pywebview_app_test_run_window_passes_debug_when_env_var_set", "label": "test_run_window_passes_debug_when_env_var_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L64"}, {"id": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "label": "test_run_window_with_only_create_window_uses_default_start()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L77"}, {"id": "window_test_pywebview_app_test_window_title_constant", "label": "test_window_title_constant()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L97"}, {"id": "window_test_pywebview_app_test_import_webview_returns_module", "label": "test_import_webview_returns_module()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L101"}, {"id": "window_test_pywebview_app_rationale_1", "label": "Tests for :mod:`exlab_wizard.window.pywebview_app`. Backend Spec \u00a715.3.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L1"}, {"id": "window_test_pywebview_app_rationale_80", "label": "When ``start`` is omitted the lazy import path is taken.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L80"}, {"id": "window_test_pywebview_app_rationale_102", "label": "The lazy-import helper imports ``webview`` when called.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L102"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "exlab_wizard_window_main", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "exlab_wizard_window_pywebview_app", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "window_test_pywebview_app_hs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "window_test_pywebview_app_test_build_window_url_uses_loopback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "window_test_pywebview_app_test_is_debug_enabled_default", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "window_test_pywebview_app_test_is_debug_enabled_truthy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "window_test_pywebview_app_test_is_debug_enabled_falsy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "window_test_pywebview_app_test_run_window_calls_create_and_start", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "window_test_pywebview_app_test_run_window_passes_debug_when_env_var_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "window_test_pywebview_app_test_window_title_constant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L97", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "target": "window_test_pywebview_app_test_import_webview_returns_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L101", "weight": 1.0}, {"source": "window_test_pywebview_app_test_build_window_url_uses_loopback", "target": "window_test_pywebview_app_hs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L25", "weight": 1.0}, {"source": "window_test_pywebview_app_test_run_window_calls_create_and_start", "target": "window_test_pywebview_app_hs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L55", "weight": 1.0}, {"source": "window_test_pywebview_app_test_run_window_passes_debug_when_env_var_set", "target": "window_test_pywebview_app_hs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L73", "weight": 1.0}, {"source": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "target": "window_test_pywebview_app_hs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L91", "weight": 1.0}, {"source": "window_test_pywebview_app_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_window_test_pywebview_app_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L1", "weight": 1.0}, {"source": "window_test_pywebview_app_rationale_80", "target": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L80", "weight": 1.0}, {"source": "window_test_pywebview_app_rationale_102", "target": "window_test_pywebview_app_test_import_webview_returns_module", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L102", "weight": 1.0}], "raw_calls": [{"caller_nid": "window_test_pywebview_app_hs", "callee": "ServerHandshake", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L21"}, {"caller_nid": "window_test_pywebview_app_test_build_window_url_uses_loopback", "callee": "build_window_url", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L25"}, {"caller_nid": "window_test_pywebview_app_test_is_debug_enabled_default", "callee": "delenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L29"}, {"caller_nid": "window_test_pywebview_app_test_is_debug_enabled_default", "callee": "is_debug_enabled", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L30"}, {"caller_nid": "window_test_pywebview_app_test_is_debug_enabled_truthy", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L35"}, {"caller_nid": "window_test_pywebview_app_test_is_debug_enabled_truthy", "callee": "is_debug_enabled", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L36"}, {"caller_nid": "window_test_pywebview_app_test_is_debug_enabled_falsy", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L41"}, {"caller_nid": "window_test_pywebview_app_test_is_debug_enabled_falsy", "callee": "is_debug_enabled", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L42"}, {"caller_nid": "window_test_pywebview_app_test_run_window_calls_create_and_start", "callee": "run_window", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L55"}, {"caller_nid": "window_test_pywebview_app_test_run_window_passes_debug_when_env_var_set", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L67"}, {"caller_nid": "window_test_pywebview_app_test_run_window_passes_debug_when_env_var_set", "callee": "run_window", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L73"}, {"caller_nid": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L82"}, {"caller_nid": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L86"}, {"caller_nid": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L87"}, {"caller_nid": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L90"}, {"caller_nid": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "callee": "run_window", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L91"}, {"caller_nid": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L93"}, {"caller_nid": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L94"}, {"caller_nid": "window_test_pywebview_app_test_import_webview_returns_module", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L105"}, {"caller_nid": "window_test_pywebview_app_test_import_webview_returns_module", "callee": "setitem", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L106"}, {"caller_nid": "window_test_pywebview_app_test_import_webview_returns_module", "callee": "_import_webview", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py", "source_location": "L109"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c2aa0e24618ec920c49259f1054e4ba37795731b1a38badc0260e34204b07c6c.json b/graphify-out/cache/ast/c2aa0e24618ec920c49259f1054e4ba37795731b1a38badc0260e34204b07c6c.json deleted file mode 100644 index b2740bc..0000000 --- a/graphify-out/cache/ast/c2aa0e24618ec920c49259f1054e4ba37795731b1a38badc0260e34204b07c6c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "label": "_test_app.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L1"}, {"id": "e2e_test_app_teststate", "label": "TestState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L67"}, {"id": "e2e_test_app_read_query", "label": "_read_query()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L102"}, {"id": "e2e_test_app_classify_test_node", "label": "_classify_test_node()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L109"}, {"id": "e2e_test_app_seeded_metadata_payload", "label": "_seeded_metadata_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L129"}, {"id": "e2e_test_app_feed_rows", "label": "_feed_rows()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L189"}, {"id": "e2e_test_app_seeded_file_entries", "label": "_seeded_file_entries()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L209"}, {"id": "e2e_test_app_build_test_app", "label": "build_test_app()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L236"}, {"id": "e2e_test_app_create_app_factory", "label": "create_app_factory()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L898"}, {"id": "e2e_test_app_rationale_1", "label": "E2E test app wiring (Phase 16 follow-up). Builds a FastAPI app via :func:`exlab", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L1"}, {"id": "e2e_test_app_rationale_68", "label": "Mutable cross-request state for the e2e harness.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L68"}, {"id": "e2e_test_app_rationale_103", "label": "Parse a request URL's query string into a multi-value mapping.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L103"}, {"id": "e2e_test_app_rationale_110", "label": "Same shape classifier the production mount uses, for seeded ids. Returns ``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L110"}, {"id": "e2e_test_app_rationale_130", "label": "Per-node-kind hardcoded payloads the test app threads into the production re", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L130"}, {"id": "e2e_test_app_rationale_192", "label": "Return a node's feed as normalized 5-tuples. ``(name, size, sync_status, ke", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L192"}, {"id": "e2e_test_app_rationale_210", "label": "Build the centre-pane file rows the test flows assert on. Returns a default", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L210"}, {"id": "e2e_test_app_rationale_237", "label": "Construct the FastAPI app and mount the NiceGUI test surface.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L237"}, {"id": "e2e_test_app_rationale_899", "label": "uvicorn ``--factory`` entrypoint.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L899"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "urllib_parse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_ui_notifications", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "exlab_wizard_ui_pages", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "e2e_test_app_teststate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "e2e_test_app_read_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "e2e_test_app_classify_test_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L109", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "e2e_test_app_seeded_metadata_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L129", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "e2e_test_app_feed_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "e2e_test_app_seeded_file_entries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L209", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "e2e_test_app_build_test_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L236", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "target": "e2e_test_app_create_app_factory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L898", "weight": 1.0}, {"source": "e2e_test_app_seeded_file_entries", "target": "e2e_test_app_feed_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L220", "weight": 1.0}, {"source": "e2e_test_app_build_test_app", "target": "e2e_test_app_teststate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L243", "weight": 1.0}, {"source": "e2e_test_app_create_app_factory", "target": "e2e_test_app_build_test_app", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L900", "weight": 1.0}, {"source": "e2e_test_app_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_app_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_app_rationale_68", "target": "e2e_test_app_teststate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L68", "weight": 1.0}, {"source": "e2e_test_app_rationale_103", "target": "e2e_test_app_read_query", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L103", "weight": 1.0}, {"source": "e2e_test_app_rationale_110", "target": "e2e_test_app_classify_test_node", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L110", "weight": 1.0}, {"source": "e2e_test_app_rationale_130", "target": "e2e_test_app_seeded_metadata_payload", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L130", "weight": 1.0}, {"source": "e2e_test_app_rationale_192", "target": "e2e_test_app_feed_rows", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L192", "weight": 1.0}, {"source": "e2e_test_app_rationale_210", "target": "e2e_test_app_seeded_file_entries", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L210", "weight": 1.0}, {"source": "e2e_test_app_rationale_237", "target": "e2e_test_app_build_test_app", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L237", "weight": 1.0}, {"source": "e2e_test_app_rationale_899", "target": "e2e_test_app_create_app_factory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L899", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_app_read_query", "callee": "parse_qs", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L106"}, {"caller_nid": "e2e_test_app_read_query", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L106"}, {"caller_nid": "e2e_test_app_seeded_metadata_payload", "callee": "rsplit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L153"}, {"caller_nid": "e2e_test_app_seeded_metadata_payload", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L164"}, {"caller_nid": "e2e_test_app_seeded_metadata_payload", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L165"}, {"caller_nid": "e2e_test_app_feed_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L198"}, {"caller_nid": "e2e_test_app_feed_rows", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L200"}, {"caller_nid": "e2e_test_app_feed_rows", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L203"}, {"caller_nid": "e2e_test_app_seeded_file_entries", "callee": "FileListEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L222"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L242"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "register_static_assets", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L249"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L254"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L280"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L461"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L485"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L507"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L529"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L580"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L630"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L740"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L785"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L818"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L849"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L875"}, {"caller_nid": "e2e_test_app_build_test_app", "callee": "run_with", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py", "source_location": "L889"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c38c16140086303461310fb09aa09409c8bf6d1638c36f5935c510c0f880a3fd.json b/graphify-out/cache/ast/c38c16140086303461310fb09aa09409c8bf6d1638c36f5935c510c0f880a3fd.json deleted file mode 100644 index 35e5f04..0000000 --- a/graphify-out/cache/ast/c38c16140086303461310fb09aa09409c8bf6d1638c36f5935c510c0f880a3fd.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_05_browse_view_sync_icons_py", "label": "test_flow_05_browse_view_sync_icons.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L1"}, {"id": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "label": "test_flow_05_sync_icons_render_in_tree()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L20"}, {"id": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_static_assets_serve_200", "label": "test_flow_05_sync_icons_static_assets_serve_200()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L47"}, {"id": "e2e_test_flow_05_browse_view_sync_icons_rationale_1", "label": "E2E flow 05b: per-run sync icons in the browse tree. Verifies that the project", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L1"}, {"id": "e2e_test_flow_05_browse_view_sync_icons_rationale_48", "label": "The ``/assets`` mount serves both SVGs as 200 OK.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L48"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_05_browse_view_sync_icons_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_05_browse_view_sync_icons_py", "target": "tests_e2e_page_objects_main_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_05_browse_view_sync_icons_py", "target": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_05_browse_view_sync_icons_py", "target": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_static_assets_serve_200", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L47", "weight": 1.0}, {"source": "e2e_test_flow_05_browse_view_sync_icons_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_05_browse_view_sync_icons_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_flow_05_browse_view_sync_icons_rationale_48", "target": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_static_assets_serve_200", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L48", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "MainPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L21"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L23"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L24"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L26"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L36"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L41"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "count", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L42"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L42"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_static_assets_serve_200", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L51"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_static_assets_serve_200", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L54"}, {"caller_nid": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_static_assets_serve_200", "callee": "lstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py", "source_location": "L54"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c3945dba187a1852f57a1b7acc8a485fe05fe2220437d7617eb8231d2cfceacf.json b/graphify-out/cache/ast/c3945dba187a1852f57a1b7acc8a485fe05fe2220437d7617eb8231d2cfceacf.json deleted file mode 100644 index bbdf9c8..0000000 --- a/graphify-out/cache/ast/c3945dba187a1852f57a1b7acc8a485fe05fe2220437d7617eb8231d2cfceacf.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "label": "bandwidth_schedule_editor.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L1"}, {"id": "components_bandwidth_schedule_editor_schedulewindow", "label": "ScheduleWindow", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L31"}, {"id": "components_bandwidth_schedule_editor_bandwidthschedule", "label": "BandwidthSchedule", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L41"}, {"id": "components_bandwidth_schedule_editor_validate_window", "label": "validate_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L49"}, {"id": "components_bandwidth_schedule_editor_find_overlaps", "label": "find_overlaps()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L63"}, {"id": "components_bandwidth_schedule_editor_schedule_props", "label": "schedule_props()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L81"}, {"id": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "label": "bandwidth_schedule_editor()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L101"}, {"id": "components_bandwidth_schedule_editor_rationale_1", "label": "Bandwidth schedule editor (Frontend Spec \u00a77.7.3). Lives inside the Equipment Ad", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L1"}, {"id": "components_bandwidth_schedule_editor_rationale_32", "label": "One row in the schedule table.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L32"}, {"id": "components_bandwidth_schedule_editor_rationale_42", "label": "The full editor state.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L42"}, {"id": "components_bandwidth_schedule_editor_rationale_50", "label": "Return an error string if ``window`` is invalid, else ``None``. Time string", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L50"}, {"id": "components_bandwidth_schedule_editor_rationale_64", "label": "Return pairs of indices whose Days and time ranges overlap. Pairs are retur", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L64"}, {"id": "components_bandwidth_schedule_editor_rationale_82", "label": "Compute renderable props for a :class:`BandwidthSchedule`.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L82"}, {"id": "components_bandwidth_schedule_editor_rationale_102", "label": "Build the schedule editor.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L102"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "target": "components_bandwidth_schedule_editor_schedulewindow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "target": "components_bandwidth_schedule_editor_bandwidthschedule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "target": "components_bandwidth_schedule_editor_validate_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "target": "components_bandwidth_schedule_editor_find_overlaps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "target": "components_bandwidth_schedule_editor_schedule_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "target": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L101", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_schedule_props", "target": "components_bandwidth_schedule_editor_validate_window", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L93", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_schedule_props", "target": "components_bandwidth_schedule_editor_find_overlaps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L97", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "target": "components_bandwidth_schedule_editor_schedule_props", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L104", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "target": "components_bandwidth_schedule_editor_validate_window", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L139", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L1", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_rationale_32", "target": "components_bandwidth_schedule_editor_schedulewindow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L32", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_rationale_42", "target": "components_bandwidth_schedule_editor_bandwidthschedule", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L42", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_rationale_50", "target": "components_bandwidth_schedule_editor_validate_window", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L50", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_rationale_64", "target": "components_bandwidth_schedule_editor_find_overlaps", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L64", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_rationale_82", "target": "components_bandwidth_schedule_editor_schedule_props", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L82", "weight": 1.0}, {"source": "components_bandwidth_schedule_editor_rationale_102", "target": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L102", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_bandwidth_schedule_editor_find_overlaps", "callee": "enumerate", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L70"}, {"caller_nid": "components_bandwidth_schedule_editor_find_overlaps", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L71"}, {"caller_nid": "components_bandwidth_schedule_editor_find_overlaps", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L71"}, {"caller_nid": "components_bandwidth_schedule_editor_find_overlaps", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L73"}, {"caller_nid": "components_bandwidth_schedule_editor_find_overlaps", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L73"}, {"caller_nid": "components_bandwidth_schedule_editor_find_overlaps", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L77"}, {"caller_nid": "components_bandwidth_schedule_editor_schedule_props", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L89"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L110"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L110"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L110"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L112"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L112"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L119"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L119"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "radio", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L120"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "number", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L127"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "enumerate", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L131"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L132"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L132"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L133"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L133"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L134"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L135"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L136"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L141"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L141"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L143"}, {"caller_nid": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", "source_location": "L143"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c3c1e9947d9da61ec2f1e01ab47eebf85122cebbe7a1f76a99dcab8f16208a66.json b/graphify-out/cache/ast/c3c1e9947d9da61ec2f1e01ab47eebf85122cebbe7a1f76a99dcab8f16208a66.json deleted file mode 100644 index 27569a2..0000000 --- a/graphify-out/cache/ast/c3c1e9947d9da61ec2f1e01ab47eebf85122cebbe7a1f76a99dcab8f16208a66.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "label": "generator.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L1"}, {"id": "readme_generator_corefields", "label": "CoreFields", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L96"}, {"id": "readme_generator_templatefielddecl", "label": "TemplateFieldDecl", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L110"}, {"id": "readme_generator_customfield", "label": "CustomField", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L128"}, {"id": "readme_generator_systemfields", "label": "SystemFields", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L140"}, {"id": "readme_generator_readmecontext", "label": "ReadmeContext", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L153"}, {"id": "readme_generator_readmegenerator", "label": "ReadmeGenerator", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L176"}, {"id": "readme_generator_readmegenerator_generate", "label": ".generate()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L179"}, {"id": "readme_generator_readmegenerator_generate_sync", "label": "._generate_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L197"}, {"id": "readme_generator_validate", "label": "_validate()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L228"}, {"id": "readme_generator_validate_core_fields", "label": "_validate_core_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L247"}, {"id": "readme_generator_reject_core_redeclaration", "label": "_reject_core_redeclaration()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L270"}, {"id": "readme_generator_validate_required_fields", "label": "_validate_required_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L283"}, {"id": "readme_generator_validate_field_id_uniqueness", "label": "_validate_field_id_uniqueness()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L298"}, {"id": "readme_generator_validate_typed_fields", "label": "_validate_typed_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L313"}, {"id": "readme_generator_check_value_type", "label": "_check_value_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L335"}, {"id": "readme_generator_validate_custom_field_labels", "label": "_validate_custom_field_labels()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L378"}, {"id": "readme_generator_is_present", "label": "_is_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L397"}, {"id": "readme_generator_core_fields_dict", "label": "_core_fields_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L418"}, {"id": "readme_generator_custom_fields_list", "label": "_custom_fields_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L422"}, {"id": "readme_generator_system_fields_dict", "label": "_system_fields_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L426"}, {"id": "readme_generator_build_front_matter", "label": "_build_front_matter()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L438"}, {"id": "readme_generator_render_readme_bytes", "label": "_render_readme_bytes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L458"}, {"id": "readme_generator_build_readme_fields", "label": "_build_readme_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L476"}, {"id": "readme_generator_rationale_1", "label": "README generator. Backend Spec \u00a710 / \u00a711.4. Renders ``README.md`` (YAML front m", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L1"}, {"id": "readme_generator_rationale_97", "label": "Mandatory core fields (User Interaction Spec \u00a72). All three are non-empty (", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L97"}, {"id": "readme_generator_rationale_111", "label": "Field declaration from a template's ``_exlab_readme.fields`` list or from ``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L111"}, {"id": "readme_generator_rationale_129", "label": "An ad-hoc user-added field. Backend Spec \u00a710.4. Custom fields are plain str", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L129"}, {"id": "readme_generator_rationale_141", "label": "Auto-populated, non-editable system fields. Backend Spec \u00a710.6.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L141"}, {"id": "readme_generator_rationale_154", "label": "Inputs to :class:`ReadmeGenerator`. Composed by the controller. The control", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L154"}, {"id": "readme_generator_rationale_177", "label": "Renders ``README.md`` + ``readme_fields.json``. Backend Spec \u00a710.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L177"}, {"id": "readme_generator_rationale_180", "label": "Validate ``ctx``, write both files, return ``(readme, cache)``. The des", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L180"}, {"id": "readme_generator_rationale_229", "label": "Run every validation gate. Raises on the first failure. Order matches the s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L229"}, {"id": "readme_generator_rationale_319", "label": "Per-type validation. Spec \u00a710.3 type semantics. Skips fields whose value is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L319"}, {"id": "readme_generator_rationale_379", "label": "Ensure custom labels do not shadow any layer's field id. The four-layer set", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L379"}, {"id": "readme_generator_rationale_398", "label": "Return True iff ``value`` carries a non-empty piece of content. Strings are", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L398"}, {"id": "readme_generator_rationale_439", "label": "Build the ordered front matter dict for ``yaml.safe_dump``. Order matches t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L439"}, {"id": "readme_generator_rationale_459", "label": "Render the full README markdown into UTF-8 bytes. ``yaml.safe_dump`` is con", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L459"}, {"id": "readme_generator_rationale_481", "label": "Build the typed :class:`ReadmeFieldsJson` payload for the cache file.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L481"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "yaml", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "exlab_wizard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L65", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_corefields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L96", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_templatefielddecl", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L110", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_customfield", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_systemfields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L140", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_readmecontext", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L153", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_readmegenerator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L176", "weight": 1.0}, {"source": "readme_generator_readmegenerator", "target": "readme_generator_readmegenerator_generate", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L179", "weight": 1.0}, {"source": "readme_generator_readmegenerator", "target": "readme_generator_readmegenerator_generate_sync", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L197", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_validate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L228", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_validate_core_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L247", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_reject_core_redeclaration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L270", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_validate_required_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L283", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_validate_field_id_uniqueness", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L298", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_validate_typed_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L313", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_check_value_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L335", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_validate_custom_field_labels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L378", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_is_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L397", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_core_fields_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L418", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_custom_fields_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L422", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_system_fields_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L426", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_build_front_matter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L438", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_render_readme_bytes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L458", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "target": "readme_generator_build_readme_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L476", "weight": 1.0}, {"source": "readme_generator_readmegenerator_generate_sync", "target": "readme_generator_validate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L198", "weight": 1.0}, {"source": "readme_generator_readmegenerator_generate_sync", "target": "readme_generator_build_front_matter", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L206", "weight": 1.0}, {"source": "readme_generator_readmegenerator_generate_sync", "target": "readme_generator_render_readme_bytes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L207", "weight": 1.0}, {"source": "readme_generator_readmegenerator_generate_sync", "target": "readme_generator_build_readme_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L208", "weight": 1.0}, {"source": "readme_generator_validate", "target": "readme_generator_validate_core_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L236", "weight": 1.0}, {"source": "readme_generator_validate", "target": "readme_generator_reject_core_redeclaration", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L237", "weight": 1.0}, {"source": "readme_generator_validate", "target": "readme_generator_validate_required_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L239", "weight": 1.0}, {"source": "readme_generator_validate", "target": "readme_generator_validate_field_id_uniqueness", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L241", "weight": 1.0}, {"source": "readme_generator_validate", "target": "readme_generator_validate_typed_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L242", "weight": 1.0}, {"source": "readme_generator_validate", "target": "readme_generator_validate_custom_field_labels", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L244", "weight": 1.0}, {"source": "readme_generator_validate_required_fields", "target": "readme_generator_is_present", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L294", "weight": 1.0}, {"source": "readme_generator_validate_typed_fields", "target": "readme_generator_is_present", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L330", "weight": 1.0}, {"source": "readme_generator_validate_typed_fields", "target": "readme_generator_check_value_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L332", "weight": 1.0}, {"source": "readme_generator_build_front_matter", "target": "readme_generator_core_fields_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L450", "weight": 1.0}, {"source": "readme_generator_build_front_matter", "target": "readme_generator_custom_fields_list", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L453", "weight": 1.0}, {"source": "readme_generator_build_front_matter", "target": "readme_generator_system_fields_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L454", "weight": 1.0}, {"source": "readme_generator_build_readme_fields", "target": "readme_generator_core_fields_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L485", "weight": 1.0}, {"source": "readme_generator_build_readme_fields", "target": "readme_generator_custom_fields_list", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L488", "weight": 1.0}, {"source": "readme_generator_build_readme_fields", "target": "readme_generator_system_fields_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L489", "weight": 1.0}, {"source": "readme_generator_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_readme_generator_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L1", "weight": 1.0}, {"source": "readme_generator_rationale_97", "target": "readme_generator_corefields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L97", "weight": 1.0}, {"source": "readme_generator_rationale_111", "target": "readme_generator_templatefielddecl", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L111", "weight": 1.0}, {"source": "readme_generator_rationale_129", "target": "readme_generator_customfield", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L129", "weight": 1.0}, {"source": "readme_generator_rationale_141", "target": "readme_generator_systemfields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L141", "weight": 1.0}, {"source": "readme_generator_rationale_154", "target": "readme_generator_readmecontext", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L154", "weight": 1.0}, {"source": "readme_generator_rationale_177", "target": "readme_generator_readmegenerator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L177", "weight": 1.0}, {"source": "readme_generator_rationale_180", "target": "readme_generator_readmegenerator_generate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L180", "weight": 1.0}, {"source": "readme_generator_rationale_229", "target": "readme_generator_validate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L229", "weight": 1.0}, {"source": "readme_generator_rationale_319", "target": "readme_generator_validate_typed_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L319", "weight": 1.0}, {"source": "readme_generator_rationale_379", "target": "readme_generator_validate_custom_field_labels", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L379", "weight": 1.0}, {"source": "readme_generator_rationale_398", "target": "readme_generator_is_present", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L398", "weight": 1.0}, {"source": "readme_generator_rationale_439", "target": "readme_generator_build_front_matter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L439", "weight": 1.0}, {"source": "readme_generator_rationale_459", "target": "readme_generator_render_readme_bytes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L459", "weight": 1.0}, {"source": "readme_generator_rationale_481", "target": "readme_generator_build_readme_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L481", "weight": 1.0}], "raw_calls": [{"caller_nid": "readme_generator_readmegenerator_generate", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L191"}, {"caller_nid": "readme_generator_readmegenerator_generate_sync", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L201"}, {"caller_nid": "readme_generator_readmegenerator_generate_sync", "callee": "cache_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L201"}, {"caller_nid": "readme_generator_readmegenerator_generate_sync", "callee": "readme_fields_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L202"}, {"caller_nid": "readme_generator_readmegenerator_generate_sync", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L204"}, {"caller_nid": "readme_generator_readmegenerator_generate_sync", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L209"}, {"caller_nid": "readme_generator_readmegenerator_generate_sync", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L211"}, {"caller_nid": "readme_generator_readmegenerator_generate_sync", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L212"}, {"caller_nid": "readme_generator_readmegenerator_generate_sync", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L214"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L248"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L249"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L250"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L253"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L255"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L257"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L259"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L260"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L261"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L263"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L264"}, {"caller_nid": "readme_generator_validate_core_fields", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L266"}, {"caller_nid": "readme_generator_reject_core_redeclaration", "callee": "TemplateCoreFieldRedeclaredError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L277"}, {"caller_nid": "readme_generator_validate_required_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L293"}, {"caller_nid": "readme_generator_validate_required_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L295"}, {"caller_nid": "readme_generator_validate_field_id_uniqueness", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L307"}, {"caller_nid": "readme_generator_validate_typed_fields", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L325"}, {"caller_nid": "readme_generator_validate_typed_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L326"}, {"caller_nid": "readme_generator_check_value_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L337"}, {"caller_nid": "readme_generator_check_value_type", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L339"}, {"caller_nid": "readme_generator_check_value_type", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L342"}, {"caller_nid": "readme_generator_check_value_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L343"}, {"caller_nid": "readme_generator_check_value_type", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L344"}, {"caller_nid": "readme_generator_check_value_type", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L348"}, {"caller_nid": "readme_generator_check_value_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L349"}, {"caller_nid": "readme_generator_check_value_type", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L350"}, {"caller_nid": "readme_generator_check_value_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L353"}, {"caller_nid": "readme_generator_check_value_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L355"}, {"caller_nid": "readme_generator_check_value_type", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L360"}, {"caller_nid": "readme_generator_check_value_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L361"}, {"caller_nid": "readme_generator_check_value_type", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L363"}, {"caller_nid": "readme_generator_check_value_type", "callee": "parse_utc_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L366"}, {"caller_nid": "readme_generator_check_value_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L368"}, {"caller_nid": "readme_generator_check_value_type", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L374"}, {"caller_nid": "readme_generator_check_value_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L375"}, {"caller_nid": "readme_generator_check_value_type", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L375"}, {"caller_nid": "readme_generator_validate_custom_field_labels", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L386"}, {"caller_nid": "readme_generator_validate_custom_field_labels", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L387"}, {"caller_nid": "readme_generator_validate_custom_field_labels", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L388"}, {"caller_nid": "readme_generator_validate_custom_field_labels", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L391"}, {"caller_nid": "readme_generator_validate_custom_field_labels", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L393"}, {"caller_nid": "readme_generator_is_present", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L406"}, {"caller_nid": "readme_generator_is_present", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L408"}, {"caller_nid": "readme_generator_is_present", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L409"}, {"caller_nid": "readme_generator_is_present", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L409"}, {"caller_nid": "readme_generator_is_present", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L410"}, {"caller_nid": "readme_generator_system_fields_dict", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L428"}, {"caller_nid": "readme_generator_system_fields_dict", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L430"}, {"caller_nid": "readme_generator_system_fields_dict", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L431"}, {"caller_nid": "readme_generator_build_front_matter", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L451"}, {"caller_nid": "readme_generator_build_front_matter", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L452"}, {"caller_nid": "readme_generator_render_readme_bytes", "callee": "safe_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L465"}, {"caller_nid": "readme_generator_render_readme_bytes", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L473"}, {"caller_nid": "readme_generator_build_readme_fields", "callee": "ReadmeFieldsJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L482"}, {"caller_nid": "readme_generator_build_readme_fields", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L486"}, {"caller_nid": "readme_generator_build_readme_fields", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py", "source_location": "L487"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c561f3b8e7d9a799ad21dff204b7f18bb887fd0e8ec4230f4aa9aff7c3b9c154.json b/graphify-out/cache/ast/c561f3b8e7d9a799ad21dff204b7f18bb887fd0e8ec4230f4aa9aff7c3b9c154.json deleted file mode 100644 index 650b480..0000000 --- a/graphify-out/cache/ast/c561f3b8e7d9a799ad21dff204b7f18bb887fd0e8ec4230f4aa9aff7c3b9c154.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_smoke_py", "label": "test_smoke.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L1"}, {"id": "e2e_test_smoke_test_root_url_responds_with_html", "label": "test_root_url_responds_with_html()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L15"}, {"id": "e2e_test_smoke_rationale_1", "label": "E2E smoke flow. Confirms the Phase 16 e2e harness can drive a real browser agai", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L1"}, {"id": "e2e_test_smoke_rationale_16", "label": "Smoke: navigate to / and confirm the e2e harness is wired up. The Phase 16", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L16"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_smoke_py", "target": "e2e_test_smoke_test_root_url_responds_with_html", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L15", "weight": 1.0}, {"source": "e2e_test_smoke_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_smoke_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_smoke_rationale_16", "target": "e2e_test_smoke_test_root_url_responds_with_html", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L16", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_smoke_test_root_url_responds_with_html", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L25"}, {"caller_nid": "e2e_test_smoke_test_root_url_responds_with_html", "callee": "title", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L26"}, {"caller_nid": "e2e_test_smoke_test_root_url_responds_with_html", "callee": "inner_html", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L28"}, {"caller_nid": "e2e_test_smoke_test_root_url_responds_with_html", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py", "source_location": "L29"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c5b1a48e199e8af7aecc3a82029a8fdb91667faa67d8a2a5b1f92fd085dcc71e.json b/graphify-out/cache/ast/c5b1a48e199e8af7aecc3a82029a8fdb91667faa67d8a2a5b1f92fd085dcc71e.json deleted file mode 100644 index ba755ac..0000000 --- a/graphify-out/cache/ast/c5b1a48e199e8af7aecc3a82029a8fdb91667faa67d8a2a5b1f92fd085dcc71e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "label": "staging.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L1"}, {"id": "pages_staging_stagingdockstate", "label": "StagingDockState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L86"}, {"id": "pages_staging_format_bytes", "label": "format_bytes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L106"}, {"id": "pages_staging_format_elapsed", "label": "format_elapsed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L126"}, {"id": "pages_staging_state_pill_props", "label": "state_pill_props()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L142"}, {"id": "pages_staging_row_props", "label": "row_props()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L158"}, {"id": "pages_staging_run_label", "label": "_run_label()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L177"}, {"id": "pages_staging_render_staging_dock", "label": "render_staging_dock()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L189"}, {"id": "pages_staging_invoke", "label": "_invoke()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L309"}, {"id": "pages_staging_rationale_1", "label": "Orchestrator staging panel (Frontend Spec \u00a73.9, Backend \u00a713.8). A bottom-dock p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L1"}, {"id": "pages_staging_rationale_87", "label": "Render state for the staging panel. ``rows`` is the list of staging rows pu", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L87"}, {"id": "pages_staging_rationale_107", "label": "Render ``value`` as a binary unit string (KiB / MiB / ...). Returns a compa", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L107"}, {"id": "pages_staging_rationale_127", "label": "Render ``seconds`` as a compact \"Hh Mm Ss\" / \"Mm Ss\" / \"Ss\" string.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L127"}, {"id": "pages_staging_rationale_143", "label": "Static badge props for a staging-state pill. Returns ``{label, color, backg", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L143"}, {"id": "pages_staging_rationale_159", "label": "Render-ready dict for one table row. Exposed for unit tests so the pure for", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L159"}, {"id": "pages_staging_rationale_178", "label": "Return the leaf segment of ``run_path`` for the Run column.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L178"}, {"id": "pages_staging_rationale_190", "label": "Render the bottom-dock staging panel. Returns the NiceGUI element when the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L190"}, {"id": "pages_staging_rationale_310", "label": "Best-effort invoke a callback; ignore None so unit tests stay simple.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L310"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "exlab_wizard_orchestrator_staging_query", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "pages_staging_stagingdockstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "pages_staging_format_bytes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L106", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "pages_staging_format_elapsed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L126", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "pages_staging_state_pill_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L142", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "pages_staging_row_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L158", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "pages_staging_run_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L177", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "pages_staging_render_staging_dock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "target": "pages_staging_invoke", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L309", "weight": 1.0}, {"source": "pages_staging_row_props", "target": "pages_staging_state_pill_props", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L166", "weight": 1.0}, {"source": "pages_staging_row_props", "target": "pages_staging_run_label", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L168", "weight": 1.0}, {"source": "pages_staging_row_props", "target": "pages_staging_format_bytes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L171", "weight": 1.0}, {"source": "pages_staging_row_props", "target": "pages_staging_format_elapsed", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L172", "weight": 1.0}, {"source": "pages_staging_render_staging_dock", "target": "pages_staging_row_props", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L203", "weight": 1.0}, {"source": "pages_staging_render_staging_dock", "target": "pages_staging_invoke", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L228", "weight": 1.0}, {"source": "pages_staging_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_staging_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L1", "weight": 1.0}, {"source": "pages_staging_rationale_87", "target": "pages_staging_stagingdockstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L87", "weight": 1.0}, {"source": "pages_staging_rationale_107", "target": "pages_staging_format_bytes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L107", "weight": 1.0}, {"source": "pages_staging_rationale_127", "target": "pages_staging_format_elapsed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L127", "weight": 1.0}, {"source": "pages_staging_rationale_143", "target": "pages_staging_state_pill_props", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L143", "weight": 1.0}, {"source": "pages_staging_rationale_159", "target": "pages_staging_row_props", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L159", "weight": 1.0}, {"source": "pages_staging_rationale_178", "target": "pages_staging_run_label", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L178", "weight": 1.0}, {"source": "pages_staging_rationale_190", "target": "pages_staging_render_staging_dock", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L190", "weight": 1.0}, {"source": "pages_staging_rationale_310", "target": "pages_staging_invoke", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L310", "weight": 1.0}], "raw_calls": [{"caller_nid": "pages_staging_format_bytes", "callee": "float", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L116"}, {"caller_nid": "pages_staging_format_bytes", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L118"}, {"caller_nid": "pages_staging_format_bytes", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L122"}, {"caller_nid": "pages_staging_format_elapsed", "callee": "divmod", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L132"}, {"caller_nid": "pages_staging_format_elapsed", "callee": "divmod", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L135"}, {"caller_nid": "pages_staging_format_elapsed", "callee": "divmod", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L138"}, {"caller_nid": "pages_staging_state_pill_props", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L150"}, {"caller_nid": "pages_staging_run_label", "callee": "rsplit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L181"}, {"caller_nid": "pages_staging_run_label", "callee": "rstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L181"}, {"caller_nid": "pages_staging_run_label", "callee": "replace", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L181"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L207"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L207"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L207"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L217"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L217"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L217"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L218"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L218"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "space", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L224"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "sum", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L225"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L226"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L226"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L226"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L235"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L235"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L235"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L244"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L244"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "enumerate", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L251"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L254"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L254"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L254"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L254"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L261"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L261"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L266"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L266"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L271"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L271"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L276"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L276"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L276"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L281"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L281"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L286"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L286"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L291"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L291"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L292"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L292"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L296"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L296"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "disable", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L301"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L302"}, {"caller_nid": "pages_staging_render_staging_dock", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L302"}, {"caller_nid": "pages_staging_invoke", "callee": "handler", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py", "source_location": "L313"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c5cfc55f7d6c7af348317f7255f7fe343a426ff681d70b208e323dba89407678.json b/graphify-out/cache/ast/c5cfc55f7d6c7af348317f7255f7fe343a426ff681d70b208e323dba89407678.json deleted file mode 100644 index 53b3e89..0000000 --- a/graphify-out/cache/ast/c5cfc55f7d6c7af348317f7255f7fe343a426ff681d70b208e323dba89407678.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "label": "test_yaml_files.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L1"}, {"id": "io_test_yaml_files_test_load_yaml_manifest_returns_dict", "label": "test_load_yaml_manifest_returns_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L13"}, {"id": "io_test_yaml_files_test_load_yaml_manifest_empty_file_returns_empty_dict", "label": "test_load_yaml_manifest_empty_file_returns_empty_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L19"}, {"id": "io_test_yaml_files_test_load_yaml_manifest_non_dict_returns_empty_dict", "label": "test_load_yaml_manifest_non_dict_returns_empty_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L25"}, {"id": "io_test_yaml_files_test_load_yaml_manifest_propagates_yaml_error", "label": "test_load_yaml_manifest_propagates_yaml_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L32"}, {"id": "io_test_yaml_files_test_load_yaml_manifest_missing_file_raises", "label": "test_load_yaml_manifest_missing_file_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L39"}, {"id": "io_test_yaml_files_rationale_1", "label": "Tests for ``exlab_wizard.io.yaml_files``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L1"}, {"id": "io_test_yaml_files_rationale_26", "label": "A YAML file with a top-level scalar/list is not a manifest.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L26"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "target": "yaml", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "target": "exlab_wizard_io_yaml_files", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "target": "io_test_yaml_files_test_load_yaml_manifest_returns_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "target": "io_test_yaml_files_test_load_yaml_manifest_empty_file_returns_empty_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "target": "io_test_yaml_files_test_load_yaml_manifest_non_dict_returns_empty_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "target": "io_test_yaml_files_test_load_yaml_manifest_propagates_yaml_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "target": "io_test_yaml_files_test_load_yaml_manifest_missing_file_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L39", "weight": 1.0}, {"source": "io_test_yaml_files_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_io_test_yaml_files_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L1", "weight": 1.0}, {"source": "io_test_yaml_files_rationale_26", "target": "io_test_yaml_files_test_load_yaml_manifest_non_dict_returns_empty_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L26", "weight": 1.0}], "raw_calls": [{"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_returns_dict", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L15"}, {"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_returns_dict", "callee": "load_yaml_manifest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L16"}, {"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_empty_file_returns_empty_dict", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L21"}, {"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_empty_file_returns_empty_dict", "callee": "load_yaml_manifest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L22"}, {"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_non_dict_returns_empty_dict", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L28"}, {"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_non_dict_returns_empty_dict", "callee": "load_yaml_manifest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L29"}, {"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_propagates_yaml_error", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L34"}, {"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_propagates_yaml_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L35"}, {"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_propagates_yaml_error", "callee": "load_yaml_manifest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L36"}, {"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_missing_file_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L40"}, {"caller_nid": "io_test_yaml_files_test_load_yaml_manifest_missing_file_raises", "callee": "load_yaml_manifest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py", "source_location": "L41"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c66341cdf3b228813e0ac6b4b1c5c9f4b1b73f97172b4e1813a3aaea988a07ab.json b/graphify-out/cache/ast/c66341cdf3b228813e0ac6b4b1c5c9f4b1b73f97172b4e1813a3aaea988a07ab.json deleted file mode 100644 index f56d9d0..0000000 --- a/graphify-out/cache/ast/c66341cdf3b228813e0ac6b4b1c5c9f4b1b73f97172b4e1813a3aaea988a07ab.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py", "source_location": "L1"}, {"id": "constants_init_rationale_1", "label": "Public re-exports for the ``exlab_wizard.constants`` package. Callers should im", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_init_py", "target": "exlab_wizard_constants_app", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_init_py", "target": "exlab_wizard_constants_enums", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_init_py", "target": "exlab_wizard_constants_filenames", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_init_py", "target": "exlab_wizard_constants_keyring", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py", "source_location": "L68", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_init_py", "target": "exlab_wizard_constants_limits", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_init_py", "target": "exlab_wizard_constants_patterns", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py", "source_location": "L104", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_init_py", "target": "exlab_wizard_constants_schema_versions", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py", "source_location": "L139", "weight": 1.0}, {"source": "constants_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_constants_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/c676c06bcfd2abd5c9408555b4e4d563f38606b41453fe5524f3aeb7e6302523.json b/graphify-out/cache/ast/c676c06bcfd2abd5c9408555b4e4d563f38606b41453fe5524f3aeb7e6302523.json deleted file mode 100644 index 8b33e92..0000000 --- a/graphify-out/cache/ast/c676c06bcfd2abd5c9408555b4e4d563f38606b41453fe5524f3aeb7e6302523.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "label": "test_errors.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L1"}, {"id": "api_test_errors_bare_request", "label": "_bare_request()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L33"}, {"id": "api_test_errors_test_build_envelope_includes_required_fields", "label": "test_build_envelope_includes_required_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L45"}, {"id": "api_test_errors_test_build_envelope_drops_optional_fields_when_absent", "label": "test_build_envelope_drops_optional_fields_when_absent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L64"}, {"id": "api_test_errors_test_unknown_code_falls_back_to_internal_error", "label": "test_unknown_code_falls_back_to_internal_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L70"}, {"id": "api_test_errors_test_extract_trace_id_uses_header_when_present", "label": "test_extract_trace_id_uses_header_when_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L75"}, {"id": "api_test_errors_test_extract_trace_id_generates_when_missing", "label": "test_extract_trace_id_generates_when_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L87"}, {"id": "api_test_errors_test_error_response_sets_trace_id_header", "label": "test_error_response_sets_trace_id_header()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L93"}, {"id": "api_test_errors_test_required_codes_are_registered", "label": "test_required_codes_are_registered()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L105"}, {"id": "api_test_errors_test_register_exception_handlers_catches_exlab_validation", "label": "test_register_exception_handlers_catches_exlab_validation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L129"}, {"id": "api_test_errors_pydanticbody", "label": "_PydanticBody", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L147"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation", "label": "test_register_exception_handlers_catches_pydantic_validation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L154"}, {"id": "api_test_errors_test_register_exception_handlers_catches_keyring_error", "label": "test_register_exception_handlers_catches_keyring_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L170"}, {"id": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch", "label": "test_register_exception_handlers_catches_schema_major_mismatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L184"}, {"id": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete", "label": "test_register_exception_handlers_catches_setup_incomplete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L199"}, {"id": "api_test_errors_test_register_exception_handlers_catches_config_error", "label": "test_register_exception_handlers_catches_config_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L217"}, {"id": "api_test_errors_test_register_exception_handlers_catches_template_load_error", "label": "test_register_exception_handlers_catches_template_load_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L231"}, {"id": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared", "label": "test_register_exception_handlers_catches_template_core_field_redeclared()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L245"}, {"id": "api_test_errors_test_generic_handler_returns_internal_error", "label": "test_generic_handler_returns_internal_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L259"}, {"id": "api_test_errors_rationale_1", "label": "Unit tests for the ``exlab_wizard.api.errors`` envelope helpers.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L1"}, {"id": "api_test_errors_rationale_34", "label": "Build a minimal Starlette Request for handler tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L34"}, {"id": "api_test_errors_rationale_106", "label": "Every code in \u00a74.6.3's table must be in :data:`ERROR_CODES`.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L106"}, {"id": "api_test_errors_rationale_148", "label": "Module-level body class so FastAPI treats ``body: _PydanticBody`` as a JSON", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L148"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "fastapi_testclient", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "starlette_requests", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "exlab_wizard_api_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_bare_request", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_build_envelope_includes_required_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_build_envelope_drops_optional_fields_when_absent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_unknown_code_falls_back_to_internal_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_extract_trace_id_uses_header_when_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_extract_trace_id_generates_when_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_error_response_sets_trace_id_header", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_required_codes_are_registered", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L105", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_register_exception_handlers_catches_exlab_validation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L129", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_pydanticbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L147", "weight": 1.0}, {"source": "api_test_errors_pydanticbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L147", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L154", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_register_exception_handlers_catches_keyring_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L170", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L184", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L199", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_register_exception_handlers_catches_config_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L217", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_register_exception_handlers_catches_template_load_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L231", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L245", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "target": "api_test_errors_test_generic_handler_returns_internal_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L259", "weight": 1.0}, {"source": "api_test_errors_test_extract_trace_id_generates_when_missing", "target": "api_test_errors_bare_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L88", "weight": 1.0}, {"source": "api_test_errors_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_errors_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L1", "weight": 1.0}, {"source": "api_test_errors_rationale_34", "target": "api_test_errors_bare_request", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L34", "weight": 1.0}, {"source": "api_test_errors_rationale_106", "target": "api_test_errors_test_required_codes_are_registered", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L106", "weight": 1.0}, {"source": "api_test_errors_rationale_148", "target": "api_test_errors_pydanticbody", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L148", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_errors_bare_request", "callee": "Request", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L42"}, {"caller_nid": "api_test_errors_test_build_envelope_includes_required_fields", "callee": "build_error_envelope", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L46"}, {"caller_nid": "api_test_errors_test_build_envelope_drops_optional_fields_when_absent", "callee": "build_error_envelope", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L65"}, {"caller_nid": "api_test_errors_test_unknown_code_falls_back_to_internal_error", "callee": "build_error_envelope", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L71"}, {"caller_nid": "api_test_errors_test_extract_trace_id_uses_header_when_present", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L80"}, {"caller_nid": "api_test_errors_test_extract_trace_id_uses_header_when_present", "callee": "lower", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L80"}, {"caller_nid": "api_test_errors_test_extract_trace_id_uses_header_when_present", "callee": "Request", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L83"}, {"caller_nid": "api_test_errors_test_extract_trace_id_uses_header_when_present", "callee": "extract_or_create_trace_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L84"}, {"caller_nid": "api_test_errors_test_extract_trace_id_generates_when_missing", "callee": "extract_or_create_trace_id", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L89"}, {"caller_nid": "api_test_errors_test_extract_trace_id_generates_when_missing", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L90"}, {"caller_nid": "api_test_errors_test_error_response_sets_trace_id_header", "callee": "error_response", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L94"}, {"caller_nid": "api_test_errors_test_error_response_sets_trace_id_header", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L101"}, {"caller_nid": "api_test_errors_test_error_response_sets_trace_id_header", "callee": "bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L101"}, {"caller_nid": "api_test_errors_test_required_codes_are_registered", "callee": "issubset", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L126"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_exlab_validation", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L130"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_exlab_validation", "callee": "register_exception_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L131"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_exlab_validation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L133"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_exlab_validation", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L139"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_exlab_validation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L140"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_exlab_validation", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L142"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L155"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation", "callee": "register_exception_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L156"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L158"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L162"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L163"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L165"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_keyring_error", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L171"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_keyring_error", "callee": "register_exception_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L172"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_keyring_error", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L174"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_keyring_error", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L178"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_keyring_error", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L179"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_keyring_error", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L181"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L185"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch", "callee": "register_exception_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L186"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L188"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L192"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L193"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L194"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L200"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete", "callee": "register_exception_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L201"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L203"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L209"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L210"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L212"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_config_error", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L218"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_config_error", "callee": "register_exception_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L219"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_config_error", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L221"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_config_error", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L225"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_config_error", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L226"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_config_error", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L228"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_load_error", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L232"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_load_error", "callee": "register_exception_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L233"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_load_error", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L235"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_load_error", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L239"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_load_error", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L240"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_load_error", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L242"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L246"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared", "callee": "register_exception_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L247"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L249"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L253"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L254"}, {"caller_nid": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L255"}, {"caller_nid": "api_test_errors_test_generic_handler_returns_internal_error", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L260"}, {"caller_nid": "api_test_errors_test_generic_handler_returns_internal_error", "callee": "register_exception_handlers", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L261"}, {"caller_nid": "api_test_errors_test_generic_handler_returns_internal_error", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L263"}, {"caller_nid": "api_test_errors_test_generic_handler_returns_internal_error", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L270"}, {"caller_nid": "api_test_errors_test_generic_handler_returns_internal_error", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L271"}, {"caller_nid": "api_test_errors_test_generic_handler_returns_internal_error", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py", "source_location": "L273"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c6d78c468b45618f3d0010b66a1d0f113eddb4d3c807b37da1f6b36ebe924844.json b/graphify-out/cache/ast/c6d78c468b45618f3d0010b66a1d0f113eddb4d3c807b37da1f6b36ebe924844.json deleted file mode 100644 index 92bac5e..0000000 --- a/graphify-out/cache/ast/c6d78c468b45618f3d0010b66a1d0f113eddb4d3c807b37da1f6b36ebe924844.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "label": "test_findings.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L1"}, {"id": "validator_test_findings_make_finding", "label": "_make_finding()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L23"}, {"id": "validator_test_findings_test_finding_instantiation_with_all_fields", "label": "test_finding_instantiation_with_all_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L45"}, {"id": "validator_test_findings_test_finding_minimum_required_fields", "label": "test_finding_minimum_required_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L58"}, {"id": "validator_test_findings_test_finding_is_frozen", "label": "test_finding_is_frozen()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L74"}, {"id": "validator_test_findings_test_to_dict_contains_all_spec_keys", "label": "test_to_dict_contains_all_spec_keys()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L86"}, {"id": "validator_test_findings_test_to_dict_values_match_field_values", "label": "test_to_dict_values_match_field_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L103"}, {"id": "validator_test_findings_test_to_dict_from_dict_round_trip_identity", "label": "test_to_dict_from_dict_round_trip_identity()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L113"}, {"id": "validator_test_findings_test_from_dict_accepts_minimal_payload", "label": "test_from_dict_accepts_minimal_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L119"}, {"id": "validator_test_findings_test_from_dict_ignores_unknown_keys", "label": "test_from_dict_ignores_unknown_keys()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L135"}, {"id": "validator_test_findings_test_to_dict_preserves_none_matched_token", "label": "test_to_dict_preserves_none_matched_token()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L149"}, {"id": "validator_test_findings_test_finding_is_hashable", "label": "test_finding_is_hashable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L169"}, {"id": "validator_test_findings_test_findings_in_set_dedupe_by_value", "label": "test_findings_in_set_dedupe_by_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L176"}, {"id": "validator_test_findings_test_findings_in_set_distinguish_by_value", "label": "test_findings_in_set_distinguish_by_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L184"}, {"id": "validator_test_findings_test_findings_can_be_sorted_by_to_dict_key", "label": "test_findings_can_be_sorted_by_to_dict_key()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L198"}, {"id": "validator_test_findings_test_findings_sort_by_tier_then_rule_then_path", "label": "test_findings_sort_by_tier_then_rule_then_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L206"}, {"id": "validator_test_findings_test_equality_with_same_field_values", "label": "test_equality_with_same_field_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L224"}, {"id": "validator_test_findings_test_inequality_when_one_field_differs", "label": "test_inequality_when_one_field_differs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L230"}, {"id": "validator_test_findings_test_finding_equality_is_not_identity", "label": "test_finding_equality_is_not_identity()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L236"}, {"id": "validator_test_findings_test_audit_mode_flags_round_trip", "label": "test_audit_mode_flags_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L243"}, {"id": "validator_test_findings_rationale_1", "label": "Unit tests for ``exlab_wizard.validator.findings``. The :class:`Finding` datacl", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L1"}, {"id": "validator_test_findings_rationale_24", "label": "Return a canonical Finding matching the \u00a711.8 example payload.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L24"}, {"id": "validator_test_findings_rationale_59", "label": "The five non-default fields are required; the rest default.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L59"}, {"id": "validator_test_findings_rationale_75", "label": "Findings are frozen so they can be hashed / put in sets.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L75"}, {"id": "validator_test_findings_rationale_120", "label": "Optional fields default if missing from the payload.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L120"}, {"id": "validator_test_findings_rationale_136", "label": "Unknown keys in a future-minor payload are not lethal.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L136"}, {"id": "validator_test_findings_rationale_150", "label": "``matched_token`` of ``None`` survives the round-trip as ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L150"}, {"id": "validator_test_findings_rationale_177", "label": "Two findings with identical field values collapse in a set.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L177"}, {"id": "validator_test_findings_rationale_185", "label": "Different field values produce distinct set entries.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L185"}, {"id": "validator_test_findings_rationale_199", "label": "Findings sort lexicographically when keyed by their dict shape.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L199"}, {"id": "validator_test_findings_rationale_207", "label": "The expected three-key sort produces hard-first ordering.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L207"}, {"id": "validator_test_findings_rationale_244", "label": "The audit-mode-only flags (synced_under_prior_policy / override_active) surv", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L244"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "exlab_wizard_validator_findings", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_make_finding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_finding_instantiation_with_all_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_finding_minimum_required_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_finding_is_frozen", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L74", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_to_dict_contains_all_spec_keys", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_to_dict_values_match_field_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_to_dict_from_dict_round_trip_identity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L113", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_from_dict_accepts_minimal_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L119", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_from_dict_ignores_unknown_keys", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_to_dict_preserves_none_matched_token", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L149", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_finding_is_hashable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L169", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_findings_in_set_dedupe_by_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L176", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_findings_in_set_distinguish_by_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L184", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_findings_can_be_sorted_by_to_dict_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L198", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_findings_sort_by_tier_then_rule_then_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L206", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_equality_with_same_field_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L224", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_inequality_when_one_field_differs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L230", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_finding_equality_is_not_identity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L236", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "target": "validator_test_findings_test_audit_mode_flags_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L243", "weight": 1.0}, {"source": "validator_test_findings_test_finding_instantiation_with_all_fields", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L46", "weight": 1.0}, {"source": "validator_test_findings_test_finding_is_frozen", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L76", "weight": 1.0}, {"source": "validator_test_findings_test_to_dict_contains_all_spec_keys", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L87", "weight": 1.0}, {"source": "validator_test_findings_test_to_dict_values_match_field_values", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L104", "weight": 1.0}, {"source": "validator_test_findings_test_to_dict_from_dict_round_trip_identity", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L114", "weight": 1.0}, {"source": "validator_test_findings_test_finding_is_hashable", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L170", "weight": 1.0}, {"source": "validator_test_findings_test_findings_in_set_dedupe_by_value", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L178", "weight": 1.0}, {"source": "validator_test_findings_test_findings_in_set_distinguish_by_value", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L187", "weight": 1.0}, {"source": "validator_test_findings_test_findings_can_be_sorted_by_to_dict_key", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L200", "weight": 1.0}, {"source": "validator_test_findings_test_findings_sort_by_tier_then_rule_then_path", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L208", "weight": 1.0}, {"source": "validator_test_findings_test_equality_with_same_field_values", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L225", "weight": 1.0}, {"source": "validator_test_findings_test_inequality_when_one_field_differs", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L231", "weight": 1.0}, {"source": "validator_test_findings_test_finding_equality_is_not_identity", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L237", "weight": 1.0}, {"source": "validator_test_findings_test_audit_mode_flags_round_trip", "target": "validator_test_findings_make_finding", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L247", "weight": 1.0}, {"source": "validator_test_findings_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_validator_test_findings_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L1", "weight": 1.0}, {"source": "validator_test_findings_rationale_24", "target": "validator_test_findings_make_finding", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L24", "weight": 1.0}, {"source": "validator_test_findings_rationale_59", "target": "validator_test_findings_test_finding_minimum_required_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L59", "weight": 1.0}, {"source": "validator_test_findings_rationale_75", "target": "validator_test_findings_test_finding_is_frozen", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L75", "weight": 1.0}, {"source": "validator_test_findings_rationale_120", "target": "validator_test_findings_test_from_dict_accepts_minimal_payload", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L120", "weight": 1.0}, {"source": "validator_test_findings_rationale_136", "target": "validator_test_findings_test_from_dict_ignores_unknown_keys", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L136", "weight": 1.0}, {"source": "validator_test_findings_rationale_150", "target": "validator_test_findings_test_to_dict_preserves_none_matched_token", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L150", "weight": 1.0}, {"source": "validator_test_findings_rationale_177", "target": "validator_test_findings_test_findings_in_set_dedupe_by_value", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L177", "weight": 1.0}, {"source": "validator_test_findings_rationale_185", "target": "validator_test_findings_test_findings_in_set_distinguish_by_value", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L185", "weight": 1.0}, {"source": "validator_test_findings_rationale_199", "target": "validator_test_findings_test_findings_can_be_sorted_by_to_dict_key", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L199", "weight": 1.0}, {"source": "validator_test_findings_rationale_207", "target": "validator_test_findings_test_findings_sort_by_tier_then_rule_then_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L207", "weight": 1.0}, {"source": "validator_test_findings_rationale_244", "target": "validator_test_findings_test_audit_mode_flags_round_trip", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L244", "weight": 1.0}], "raw_calls": [{"caller_nid": "validator_test_findings_make_finding", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L36"}, {"caller_nid": "validator_test_findings_make_finding", "callee": "Finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L37"}, {"caller_nid": "validator_test_findings_test_finding_minimum_required_fields", "callee": "Finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L60"}, {"caller_nid": "validator_test_findings_test_finding_is_frozen", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L77"}, {"caller_nid": "validator_test_findings_test_to_dict_contains_all_spec_keys", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L88"}, {"caller_nid": "validator_test_findings_test_to_dict_contains_all_spec_keys", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L100"}, {"caller_nid": "validator_test_findings_test_to_dict_values_match_field_values", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L105"}, {"caller_nid": "validator_test_findings_test_to_dict_from_dict_round_trip_identity", "callee": "from_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L115"}, {"caller_nid": "validator_test_findings_test_to_dict_from_dict_round_trip_identity", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L115"}, {"caller_nid": "validator_test_findings_test_from_dict_accepts_minimal_payload", "callee": "from_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L128"}, {"caller_nid": "validator_test_findings_test_from_dict_ignores_unknown_keys", "callee": "from_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L145"}, {"caller_nid": "validator_test_findings_test_to_dict_preserves_none_matched_token", "callee": "Finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L151"}, {"caller_nid": "validator_test_findings_test_to_dict_preserves_none_matched_token", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L159"}, {"caller_nid": "validator_test_findings_test_to_dict_preserves_none_matched_token", "callee": "from_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L161"}, {"caller_nid": "validator_test_findings_test_finding_is_hashable", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L173"}, {"caller_nid": "validator_test_findings_test_finding_is_hashable", "callee": "hash", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L173"}, {"caller_nid": "validator_test_findings_test_findings_in_set_dedupe_by_value", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L181"}, {"caller_nid": "validator_test_findings_test_findings_in_set_distinguish_by_value", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L190"}, {"caller_nid": "validator_test_findings_test_findings_can_be_sorted_by_to_dict_key", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L202"}, {"caller_nid": "validator_test_findings_test_findings_sort_by_tier_then_rule_then_path", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L215"}, {"caller_nid": "validator_test_findings_test_audit_mode_flags_round_trip", "callee": "from_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L248"}, {"caller_nid": "validator_test_findings_test_audit_mode_flags_round_trip", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py", "source_location": "L248"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c6f25fddd40f87e5a927b6362d45621e3ddf18cbdf8786369d8a6e8eca3b9f8d.json b/graphify-out/cache/ast/c6f25fddd40f87e5a927b6362d45621e3ddf18cbdf8786369d8a6e8eca3b9f8d.json deleted file mode 100644 index 1dc617b..0000000 --- a/graphify-out/cache/ast/c6f25fddd40f87e5a927b6362d45621e3ddf18cbdf8786369d8a6e8eca3b9f8d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "label": "test_pyinstaller_smoke.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L1"}, {"id": "integration_test_pyinstaller_smoke_test_tray_main_imports", "label": "test_tray_main_imports()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L61"}, {"id": "integration_test_pyinstaller_smoke_test_window_main_imports", "label": "test_window_main_imports()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L71"}, {"id": "integration_test_pyinstaller_smoke_test_cli_main_imports", "label": "test_cli_main_imports()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L77"}, {"id": "integration_test_pyinstaller_smoke_test_version_exposed_and_well_formed", "label": "test_version_exposed_and_well_formed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L91"}, {"id": "integration_test_pyinstaller_smoke_test_version_matches_pyproject", "label": "test_version_matches_pyproject()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L105"}, {"id": "integration_test_pyinstaller_smoke_test_pyproject_scripts_match_expected", "label": "test_pyproject_scripts_match_expected()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L123"}, {"id": "integration_test_pyinstaller_smoke_test_spec_file_is_valid_python", "label": "test_spec_file_is_valid_python()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L138"}, {"id": "integration_test_pyinstaller_smoke_test_spec_references_entry_executable", "label": "test_spec_references_entry_executable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L150"}, {"id": "integration_test_pyinstaller_smoke_test_spec_references_entry_script", "label": "test_spec_references_entry_script()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L164"}, {"id": "integration_test_pyinstaller_smoke_test_spec_uses_merge_directive", "label": "test_spec_uses_merge_directive()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L174"}, {"id": "integration_test_pyinstaller_smoke_test_spec_lists_required_hidden_imports", "label": "test_spec_lists_required_hidden_imports()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L189"}, {"id": "integration_test_pyinstaller_smoke_test_spec_declares_macos_bundle_identifier", "label": "test_spec_declares_macos_bundle_identifier()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L198"}, {"id": "integration_test_pyinstaller_smoke_test_workflow_is_valid_yaml", "label": "test_workflow_is_valid_yaml()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L209"}, {"id": "integration_test_pyinstaller_smoke_test_workflow_matrix_lists_all_v1_targets", "label": "test_workflow_matrix_lists_all_v1_targets()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L218"}, {"id": "integration_test_pyinstaller_smoke_test_workflow_runs_pyinstaller_and_smoke", "label": "test_workflow_runs_pyinstaller_and_smoke()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L227"}, {"id": "integration_test_pyinstaller_smoke_test_internal_templates_dir_exists", "label": "test_internal_templates_dir_exists()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L246"}, {"id": "integration_test_pyinstaller_smoke_test_internal_plugins_dir_exists", "label": "test_internal_plugins_dir_exists()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L252"}, {"id": "integration_test_pyinstaller_smoke_test_local_build_scripts_exist", "label": "test_local_build_scripts_exist()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L263"}, {"id": "integration_test_pyinstaller_smoke_test_workflow_does_not_run_on_branch_push", "label": "test_workflow_does_not_run_on_branch_push()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L283"}, {"id": "integration_test_pyinstaller_smoke_test_workflow_pull_request_targets_main_only", "label": "test_workflow_pull_request_targets_main_only()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L299"}, {"id": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress", "label": "test_workflow_concurrency_cancels_in_progress()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L310"}, {"id": "integration_test_pyinstaller_smoke_rationale_1", "label": "Structural smoke tests for the PyInstaller distribution. Phase 15. The actual `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L1"}, {"id": "integration_test_pyinstaller_smoke_rationale_62", "label": "``exlab_wizard.tray.main:main`` must import cleanly. PyInstaller's static a", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L62"}, {"id": "integration_test_pyinstaller_smoke_rationale_72", "label": "``exlab_wizard.window.main:main`` must import cleanly.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L72"}, {"id": "integration_test_pyinstaller_smoke_rationale_78", "label": "``exlab_wizard.__main__:main`` must import cleanly. This is the operator-fa", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L78"}, {"id": "integration_test_pyinstaller_smoke_rationale_92", "label": "``exlab_wizard.__version__`` is a non-empty SemVer string. Backend Spec \u00a715", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L92"}, {"id": "integration_test_pyinstaller_smoke_rationale_106", "label": "``__version__`` mirrors ``[project] version`` in ``pyproject.toml``. Drift", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L106"}, {"id": "integration_test_pyinstaller_smoke_rationale_124", "label": "``[project.scripts]`` lists exactly the three \u00a715.3 entry points.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L124"}, {"id": "integration_test_pyinstaller_smoke_rationale_139", "label": "``exlab_wizard.spec`` parses as Python source. The file is interpreted by P", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L139"}, {"id": "integration_test_pyinstaller_smoke_rationale_151", "label": "The spec names each of the three \u00a715.1 executables.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L151"}, {"id": "integration_test_pyinstaller_smoke_rationale_165", "label": "The spec names the three entry-point script paths. PyInstaller resolves the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L165"}, {"id": "integration_test_pyinstaller_smoke_rationale_175", "label": "The spec uses PyInstaller's ``MERGE`` directive (Backend Spec \u00a715.1). ``MER", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L175"}, {"id": "integration_test_pyinstaller_smoke_rationale_190", "label": "The spec declares hidden imports for libs PyInstaller misses. Backend Spec", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L190"}, {"id": "integration_test_pyinstaller_smoke_rationale_199", "label": "The spec sets the macOS ``CFBundleIdentifier`` (\u00a715.1).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L199"}, {"id": "integration_test_pyinstaller_smoke_rationale_210", "label": "``.github/workflows/build.yml`` parses as YAML.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L210"}, {"id": "integration_test_pyinstaller_smoke_rationale_219", "label": "The matrix covers the three v1 runners (Linux, Windows, mac arm64).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L219"}, {"id": "integration_test_pyinstaller_smoke_rationale_228", "label": "The workflow runs ``pyinstaller exlab_wizard.spec`` and a version probe. Ba", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L228"}, {"id": "integration_test_pyinstaller_smoke_rationale_247", "label": "``_internal/templates/`` is checked into the repo (\u00a715.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L247"}, {"id": "integration_test_pyinstaller_smoke_rationale_253", "label": "``_internal/plugins/`` is checked into the repo (\u00a715.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L253"}, {"id": "integration_test_pyinstaller_smoke_rationale_264", "label": "Both POSIX and Windows wrappers are committed. These mirror the CI build st", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L264"}, {"id": "integration_test_pyinstaller_smoke_rationale_284", "label": "Build matrix is reserved for the merge gate, not every branch push. Branch", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L284"}, {"id": "integration_test_pyinstaller_smoke_rationale_300", "label": "``pull_request`` is gated on ``main`` so PRs to other branches don't run.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L300"}, {"id": "integration_test_pyinstaller_smoke_rationale_311", "label": "Superseded runs on the same ref are auto-cancelled. Without ``cancel-in-pro", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L311"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "ast", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "importlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "tomllib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "yaml", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_tray_main_imports", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_window_main_imports", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L71", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_cli_main_imports", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_version_exposed_and_well_formed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L91", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_version_matches_pyproject", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L105", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_pyproject_scripts_match_expected", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_spec_file_is_valid_python", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L138", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_spec_references_entry_executable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L150", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_spec_references_entry_script", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L164", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_spec_uses_merge_directive", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L174", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_spec_lists_required_hidden_imports", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L189", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_spec_declares_macos_bundle_identifier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L198", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_workflow_is_valid_yaml", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L209", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_workflow_matrix_lists_all_v1_targets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L218", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_workflow_runs_pyinstaller_and_smoke", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L227", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_internal_templates_dir_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L246", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_internal_plugins_dir_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L252", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_local_build_scripts_exist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L263", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_workflow_does_not_run_on_branch_push", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L283", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_workflow_pull_request_targets_main_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L299", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "target": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L310", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_test_pyinstaller_smoke_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L1", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_62", "target": "integration_test_pyinstaller_smoke_test_tray_main_imports", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L62", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_72", "target": "integration_test_pyinstaller_smoke_test_window_main_imports", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L72", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_78", "target": "integration_test_pyinstaller_smoke_test_cli_main_imports", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L78", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_92", "target": "integration_test_pyinstaller_smoke_test_version_exposed_and_well_formed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L92", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_106", "target": "integration_test_pyinstaller_smoke_test_version_matches_pyproject", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L106", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_124", "target": "integration_test_pyinstaller_smoke_test_pyproject_scripts_match_expected", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L124", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_139", "target": "integration_test_pyinstaller_smoke_test_spec_file_is_valid_python", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L139", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_151", "target": "integration_test_pyinstaller_smoke_test_spec_references_entry_executable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L151", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_165", "target": "integration_test_pyinstaller_smoke_test_spec_references_entry_script", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L165", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_175", "target": "integration_test_pyinstaller_smoke_test_spec_uses_merge_directive", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L175", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_190", "target": "integration_test_pyinstaller_smoke_test_spec_lists_required_hidden_imports", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L190", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_199", "target": "integration_test_pyinstaller_smoke_test_spec_declares_macos_bundle_identifier", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L199", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_210", "target": "integration_test_pyinstaller_smoke_test_workflow_is_valid_yaml", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L210", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_219", "target": "integration_test_pyinstaller_smoke_test_workflow_matrix_lists_all_v1_targets", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L219", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_228", "target": "integration_test_pyinstaller_smoke_test_workflow_runs_pyinstaller_and_smoke", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L228", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_247", "target": "integration_test_pyinstaller_smoke_test_internal_templates_dir_exists", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L247", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_253", "target": "integration_test_pyinstaller_smoke_test_internal_plugins_dir_exists", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L253", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_264", "target": "integration_test_pyinstaller_smoke_test_local_build_scripts_exist", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L264", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_284", "target": "integration_test_pyinstaller_smoke_test_workflow_does_not_run_on_branch_push", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L284", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_300", "target": "integration_test_pyinstaller_smoke_test_workflow_pull_request_targets_main_only", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L300", "weight": 1.0}, {"source": "integration_test_pyinstaller_smoke_rationale_311", "target": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L311", "weight": 1.0}], "raw_calls": [{"caller_nid": "integration_test_pyinstaller_smoke_test_tray_main_imports", "callee": "import_module", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L67"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_tray_main_imports", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L68"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_tray_main_imports", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L68"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_window_main_imports", "callee": "import_module", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L73"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_window_main_imports", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L74"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_window_main_imports", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L74"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_cli_main_imports", "callee": "import_module", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L82"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_cli_main_imports", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L83"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_cli_main_imports", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L83"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_version_exposed_and_well_formed", "callee": "import_module", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L97"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_version_exposed_and_well_formed", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L98"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_version_exposed_and_well_formed", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L99"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_version_exposed_and_well_formed", "callee": "fullmatch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L100"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_version_matches_pyproject", "callee": "import_module", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L112"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_version_matches_pyproject", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L113"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_version_matches_pyproject", "callee": "load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L114"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_pyproject_scripts_match_expected", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L125"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_pyproject_scripts_match_expected", "callee": "load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L126"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_spec_file_is_valid_python", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L144"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_spec_file_is_valid_python", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L145"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_spec_file_is_valid_python", "callee": "parse", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L146"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_spec_file_is_valid_python", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L146"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_spec_references_entry_executable", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L152"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_spec_references_entry_script", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L170"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_spec_uses_merge_directive", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L181"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_spec_lists_required_hidden_imports", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L194"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_spec_declares_macos_bundle_identifier", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L200"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_is_valid_yaml", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L211"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_is_valid_yaml", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L212"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_is_valid_yaml", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L213"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_is_valid_yaml", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L214"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_matrix_lists_all_v1_targets", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L220"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_matrix_lists_all_v1_targets", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L221"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_runs_pyinstaller_and_smoke", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L235"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_internal_templates_dir_exists", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L248"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_internal_templates_dir_exists", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L249"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_internal_plugins_dir_exists", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L254"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_internal_plugins_dir_exists", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L255"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_local_build_scripts_exist", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L271"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_local_build_scripts_exist", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L272"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_local_build_scripts_exist", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L275"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_does_not_run_on_branch_push", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L290"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_does_not_run_on_branch_push", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L291"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_pull_request_targets_main_only", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L301"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_pull_request_targets_main_only", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L302"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_pull_request_targets_main_only", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L305"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_pull_request_targets_main_only", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L306"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L317"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L318"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L319"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L321"}, {"caller_nid": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py", "source_location": "L325"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/c6f3fbd466c11742e82f4acc17b86bbbcbe092dab5f4c9773a95c235a29d524f.json b/graphify-out/cache/ast/c6f3fbd466c11742e82f4acc17b86bbbcbe092dab5f4c9773a95c235a29d524f.json deleted file mode 100644 index 07dfbc1..0000000 --- a/graphify-out/cache/ast/c6f3fbd466c11742e82f4acc17b86bbbcbe092dab5f4c9773a95c235a29d524f.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L1"}, {"id": "tray_init_rationale_1", "label": "Tray application package. Backend Spec \u00a74.3.2. Public API: * :class:`Autostart", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_init_py", "target": "exlab_wizard_tray_autostart", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_init_py", "target": "exlab_wizard_tray_icon", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_init_py", "target": "exlab_wizard_tray_main", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_init_py", "target": "exlab_wizard_tray_notifications", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_init_py", "target": "exlab_wizard_tray_quit_coordinator", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_init_py", "target": "exlab_wizard_tray_server_runner", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_init_py", "target": "exlab_wizard_tray_status", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_init_py", "target": "exlab_wizard_tray_window_launcher", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L31", "weight": 1.0}, {"source": "tray_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/c965dd8fed3e571410077da1071f8dc0885c0aeeb6a5e30193db89146298f3ba.json b/graphify-out/cache/ast/c965dd8fed3e571410077da1071f8dc0885c0aeeb6a5e30193db89146298f3ba.json deleted file mode 100644 index fb6b2bd..0000000 --- a/graphify-out/cache/ast/c965dd8fed3e571410077da1071f8dc0885c0aeeb6a5e30193db89146298f3ba.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/__init__.py", "source_location": "L1"}, {"id": "lims_init_rationale_1", "label": "LIMS integration package. Backend Spec \u00a77.2 + \u00a77.4. Public surface: - :class:`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_init_py", "target": "exlab_wizard_lims_cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/__init__.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_init_py", "target": "exlab_wizard_lims_catalogue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/__init__.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_init_py", "target": "exlab_wizard_lims_client", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/__init__.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_init_py", "target": "exlab_wizard_lims_keyring_store", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/__init__.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_init_py", "target": "exlab_wizard_lims_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/__init__.py", "source_location": "L19", "weight": 1.0}, {"source": "lims_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/c9e5534cbcedc29c8b3a12c0ad39c2c4a2e3edc9265a806b45ebb1d3843f452e.json b/graphify-out/cache/ast/c9e5534cbcedc29c8b3a12c0ad39c2c4a2e3edc9265a806b45ebb1d3843f452e.json deleted file mode 100644 index 53a793b..0000000 --- a/graphify-out/cache/ast/c9e5534cbcedc29c8b3a12c0ad39c2c4a2e3edc9265a806b45ebb1d3843f452e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_policy_violation_plugin_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/__init__.py", "source_location": "L1"}, {"id": "policy_violation_plugin_init_rationale_1", "label": "policy_violation_plugin -- writes to a forbidden path (Backend Spec \u00a76.1.5).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_policy_violation_plugin_init_py", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "policy_violation_plugin_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_policy_violation_plugin_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/cd274a1b39c2bb74250ddb1f59e2bf63110adca15ba382f03ce9900064d39f7e.json b/graphify-out/cache/ast/cd274a1b39c2bb74250ddb1f59e2bf63110adca15ba382f03ce9900064d39f7e.json deleted file mode 100644 index dd34707..0000000 --- a/graphify-out/cache/ast/cd274a1b39c2bb74250ddb1f59e2bf63110adca15ba382f03ce9900064d39f7e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_plugin_py", "label": "plugin.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L1"}, {"id": "timeout_plugin_plugin_timeoutplugin", "label": "TimeoutPlugin", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L19"}, {"id": "plugin", "label": "Plugin", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "timeout_plugin_plugin_timeoutplugin_can_handle", "label": ".can_handle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L27"}, {"id": "timeout_plugin_plugin_timeoutplugin_transform", "label": ".transform()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L30"}, {"id": "timeout_plugin_plugin_rationale_1", "label": "timeout_plugin -- exercises Backend Spec \u00a76.3.4 timeout enforcement. The plugin", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L1"}, {"id": "timeout_plugin_plugin_rationale_20", "label": "Hang past the declared timeout. Never reaches its file write.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L20"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_plugin_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_plugin_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_plugin_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_plugin_py", "target": "exlab_wizard_plugins", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_plugin_py", "target": "timeout_plugin_plugin_timeoutplugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L19", "weight": 1.0}, {"source": "timeout_plugin_plugin_timeoutplugin", "target": "plugin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L19", "weight": 1.0}, {"source": "timeout_plugin_plugin_timeoutplugin", "target": "timeout_plugin_plugin_timeoutplugin_can_handle", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L27", "weight": 1.0}, {"source": "timeout_plugin_plugin_timeoutplugin", "target": "timeout_plugin_plugin_timeoutplugin_transform", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L30", "weight": 1.0}, {"source": "timeout_plugin_plugin_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_timeout_plugin_plugin_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L1", "weight": 1.0}, {"source": "timeout_plugin_plugin_rationale_20", "target": "timeout_plugin_plugin_timeoutplugin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L20", "weight": 1.0}], "raw_calls": [{"caller_nid": "timeout_plugin_plugin_timeoutplugin_transform", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L34"}, {"caller_nid": "timeout_plugin_plugin_timeoutplugin_transform", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L35"}, {"caller_nid": "timeout_plugin_plugin_timeoutplugin_transform", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", "source_location": "L36"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/ce88a182e305a27e28f8a9c5a7e7026a2e01163b926b84697af9cc39cb223cc6.json b/graphify-out/cache/ast/ce88a182e305a27e28f8a9c5a7e7026a2e01163b926b84697af9cc39cb223cc6.json deleted file mode 100644 index 976ed12..0000000 --- a/graphify-out/cache/ast/ce88a182e305a27e28f8a9c5a7e7026a2e01163b926b84697af9cc39cb223cc6.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "label": "equipment.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L1"}, {"id": "cache_equipment_equipmentcachewriter", "label": "EquipmentCacheWriter", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L63"}, {"id": "cache_equipment_equipmentcachewriter_write_equipment", "label": ".write_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L73"}, {"id": "cache_equipment_equipmentcachewriter_read_equipment", "label": ".read_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L91"}, {"id": "cache_equipment_equipmentcachewriter_write_test_runs_marker", "label": ".write_test_runs_marker()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L106"}, {"id": "cache_equipment_write_equipment_sync", "label": "_write_equipment_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L127"}, {"id": "cache_equipment_read_equipment_sync", "label": "_read_equipment_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L151"}, {"id": "cache_equipment_equipmentcachewriter_read_test_runs_marker", "label": ".read_test_runs_marker()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L154"}, {"id": "cache_equipment_read_test_runs_marker_sync", "label": "_read_test_runs_marker_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L163"}, {"id": "cache_equipment_write_test_runs_marker_sync", "label": "_write_test_runs_marker_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L167"}, {"id": "cache_equipment_read_existing_first_seen_at", "label": "_read_existing_first_seen_at()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L183"}, {"id": "cache_equipment_rationale_1", "label": "Writer for ``equipment.json`` (registry) and ``test_runs.json`` (marker). Backe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L1"}, {"id": "cache_equipment_rationale_64", "label": "Writer for ``equipment.json`` and ``test_runs.json``. Instances are statele", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L64"}, {"id": "cache_equipment_rationale_74", "label": "Write or rewrite the per-equipment ``equipment.json`` file. Stamping ru", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L74"}, {"id": "cache_equipment_rationale_92", "label": "Read and decode an existing ``equipment.json`` file. Uses ``msgspec.jso", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L92"}, {"id": "cache_equipment_rationale_107", "label": "Write the ``test_runs.json`` marker file. Idempotent per \u00a711.4.2: if th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L107"}, {"id": "cache_equipment_rationale_155", "label": "Read and decode a ``test_runs.json`` marker file. Raises ``SchemaMajorM", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L155"}, {"id": "cache_equipment_rationale_184", "label": "Return the on-disk ``first_seen_at`` if the file exists. Returns ``None`` w", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L184"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "filelock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "exlab_wizard_cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "cache_equipment_equipmentcachewriter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L63", "weight": 1.0}, {"source": "cache_equipment_equipmentcachewriter", "target": "cache_equipment_equipmentcachewriter_write_equipment", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L73", "weight": 1.0}, {"source": "cache_equipment_equipmentcachewriter", "target": "cache_equipment_equipmentcachewriter_read_equipment", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L91", "weight": 1.0}, {"source": "cache_equipment_equipmentcachewriter", "target": "cache_equipment_equipmentcachewriter_write_test_runs_marker", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L106", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "cache_equipment_write_equipment_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L127", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "cache_equipment_read_equipment_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L151", "weight": 1.0}, {"source": "cache_equipment_equipmentcachewriter", "target": "cache_equipment_equipmentcachewriter_read_test_runs_marker", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L154", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "cache_equipment_read_test_runs_marker_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L163", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "cache_equipment_write_test_runs_marker_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L167", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "target": "cache_equipment_read_existing_first_seen_at", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L183", "weight": 1.0}, {"source": "cache_equipment_write_equipment_sync", "target": "cache_equipment_read_existing_first_seen_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L131", "weight": 1.0}, {"source": "cache_equipment_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_equipment_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L1", "weight": 1.0}, {"source": "cache_equipment_rationale_64", "target": "cache_equipment_equipmentcachewriter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L64", "weight": 1.0}, {"source": "cache_equipment_rationale_74", "target": "cache_equipment_equipmentcachewriter_write_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L74", "weight": 1.0}, {"source": "cache_equipment_rationale_92", "target": "cache_equipment_equipmentcachewriter_read_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L92", "weight": 1.0}, {"source": "cache_equipment_rationale_107", "target": "cache_equipment_equipmentcachewriter_write_test_runs_marker", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L107", "weight": 1.0}, {"source": "cache_equipment_rationale_155", "target": "cache_equipment_equipmentcachewriter_read_test_runs_marker", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L155", "weight": 1.0}, {"source": "cache_equipment_rationale_184", "target": "cache_equipment_read_existing_first_seen_at", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L184", "weight": 1.0}], "raw_calls": [{"caller_nid": "cache_equipment_equipmentcachewriter_write_equipment", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L89"}, {"caller_nid": "cache_equipment_equipmentcachewriter_read_equipment", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L104"}, {"caller_nid": "cache_equipment_equipmentcachewriter_write_test_runs_marker", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L120"}, {"caller_nid": "cache_equipment_write_equipment_sync", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L128"}, {"caller_nid": "cache_equipment_write_equipment_sync", "callee": "FileLock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L129"}, {"caller_nid": "cache_equipment_write_equipment_sync", "callee": "lock_path_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L129"}, {"caller_nid": "cache_equipment_write_equipment_sync", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L130"}, {"caller_nid": "cache_equipment_write_equipment_sync", "callee": "replace", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L134"}, {"caller_nid": "cache_equipment_write_equipment_sync", "callee": "replace", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L143"}, {"caller_nid": "cache_equipment_write_equipment_sync", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L148"}, {"caller_nid": "cache_equipment_write_equipment_sync", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L148"}, {"caller_nid": "cache_equipment_read_equipment_sync", "callee": "read_msgspec_json", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L152"}, {"caller_nid": "cache_equipment_equipmentcachewriter_read_test_runs_marker", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L160"}, {"caller_nid": "cache_equipment_read_test_runs_marker_sync", "callee": "read_msgspec_json", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L164"}, {"caller_nid": "cache_equipment_write_test_runs_marker_sync", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L168"}, {"caller_nid": "cache_equipment_write_test_runs_marker_sync", "callee": "FileLock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L169"}, {"caller_nid": "cache_equipment_write_test_runs_marker_sync", "callee": "lock_path_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L169"}, {"caller_nid": "cache_equipment_write_test_runs_marker_sync", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L170"}, {"caller_nid": "cache_equipment_write_test_runs_marker_sync", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L175"}, {"caller_nid": "cache_equipment_write_test_runs_marker_sync", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L175"}, {"caller_nid": "cache_equipment_read_existing_first_seen_at", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L193"}, {"caller_nid": "cache_equipment_read_existing_first_seen_at", "callee": "read_msgspec_json", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L196"}, {"caller_nid": "cache_equipment_read_existing_first_seen_at", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py", "source_location": "L203"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/cec009f15dba93600ffae68bdc63c0383f9788568cbe3998d56674863161a30d.json b/graphify-out/cache/ast/cec009f15dba93600ffae68bdc63c0383f9788568cbe3998d56674863161a30d.json deleted file mode 100644 index b1d457b..0000000 --- a/graphify-out/cache/ast/cec009f15dba93600ffae68bdc63c0383f9788568cbe3998d56674863161a30d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_user_guide_03_create_project_md", "label": "03_create_project.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L1"}, {"id": "user_guide_03_create_project_3_1_create_a_new_project", "label": "3.1 Create a New Project", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L1"}, {"id": "user_guide_03_create_project_capability_summary", "label": "Capability summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L3"}, {"id": "user_guide_03_create_project_walkthrough", "label": "Walkthrough", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L17"}, {"id": "user_guide_03_create_project_screenshots", "label": "Screenshots", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L30"}, {"id": "user_guide_03_create_project_codeblock_1", "label": "code:{image} (:alt: New project wizard, initial render)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L36"}, {"id": "user_guide_03_create_project_related_material", "label": "Related material", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L41"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_user_guide_03_create_project_md", "target": "user_guide_03_create_project_3_1_create_a_new_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L1", "weight": 1.0}, {"source": "user_guide_03_create_project_3_1_create_a_new_project", "target": "user_guide_03_create_project_capability_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L3", "weight": 1.0}, {"source": "user_guide_03_create_project_3_1_create_a_new_project", "target": "user_guide_03_create_project_walkthrough", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L17", "weight": 1.0}, {"source": "user_guide_03_create_project_3_1_create_a_new_project", "target": "user_guide_03_create_project_screenshots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L30", "weight": 1.0}, {"source": "user_guide_03_create_project_screenshots", "target": "user_guide_03_create_project_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L36", "weight": 1.0}, {"source": "user_guide_03_create_project_3_1_create_a_new_project", "target": "user_guide_03_create_project_related_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md", "source_location": "L41", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/cfb39dc003f1ba7c80b00cb0068d0dcc4ec7088ec5fcfc04907996de80149b1f.json b/graphify-out/cache/ast/cfb39dc003f1ba7c80b00cb0068d0dcc4ec7088ec5fcfc04907996de80149b1f.json deleted file mode 100644 index 2ff1a1c..0000000 --- a/graphify-out/cache/ast/cfb39dc003f1ba7c80b00cb0068d0dcc4ec7088ec5fcfc04907996de80149b1f.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_constants_test_keyring_py", "label": "test_keyring.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L1"}, {"id": "constants_test_keyring_test_keyring_service_literal", "label": "test_keyring_service_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L13"}, {"id": "constants_test_keyring_test_keyring_username_lims_literal", "label": "test_keyring_username_lims_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L18"}, {"id": "constants_test_keyring_test_keyring_username_nas_template_literal", "label": "test_keyring_username_nas_template_literal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L23"}, {"id": "constants_test_keyring_test_keyring_nas_username_formats_template", "label": "test_keyring_nas_username_formats_template()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L28"}, {"id": "constants_test_keyring_test_keyring_nas_username_handles_various_ids", "label": "test_keyring_nas_username_handles_various_ids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L33"}, {"id": "constants_test_keyring_test_keyring_re_exported_from_package", "label": "test_keyring_re_exported_from_package()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L46"}, {"id": "constants_test_keyring_rationale_1", "label": "Verify the keyring service / username conventions. These literals are committed", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_keyring_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_keyring_py", "target": "constants_test_keyring_test_keyring_service_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_keyring_py", "target": "constants_test_keyring_test_keyring_username_lims_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_keyring_py", "target": "constants_test_keyring_test_keyring_username_nas_template_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_keyring_py", "target": "constants_test_keyring_test_keyring_nas_username_formats_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_keyring_py", "target": "constants_test_keyring_test_keyring_nas_username_handles_various_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_constants_test_keyring_py", "target": "constants_test_keyring_test_keyring_re_exported_from_package", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L46", "weight": 1.0}, {"source": "constants_test_keyring_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_constants_test_keyring_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "constants_test_keyring_test_keyring_nas_username_formats_template", "callee": "keyring_nas_username", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L30"}, {"caller_nid": "constants_test_keyring_test_keyring_nas_username_handles_various_ids", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L42"}, {"caller_nid": "constants_test_keyring_test_keyring_nas_username_handles_various_ids", "callee": "keyring_nas_username", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L43"}, {"caller_nid": "constants_test_keyring_test_keyring_re_exported_from_package", "callee": "keyring_nas_username", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py", "source_location": "L52"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/d039f946bc6ea50234ef8cb4385285811623f4d2d7b9de357e4fc2d461066bdc.json b/graphify-out/cache/ast/d039f946bc6ea50234ef8cb4385285811623f4d2d7b9de357e4fc2d461066bdc.json deleted file mode 100644 index 94177c4..0000000 --- a/graphify-out/cache/ast/d039f946bc6ea50234ef8cb4385285811623f4d2d7b9de357e4fc2d461066bdc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "label": "rules.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L1"}, {"id": "validator_rules_check_unresolved_placeholder", "label": "check_unresolved_placeholder()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L83"}, {"id": "validator_rules_scan_for_placeholders", "label": "_scan_for_placeholders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L122"}, {"id": "validator_rules_check_illegal_filesystem_character", "label": "check_illegal_filesystem_character()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L185"}, {"id": "validator_rules_scan_for_illegal_chars", "label": "_scan_for_illegal_chars()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L210"}, {"id": "validator_rules_check_reserved_filesystem_name", "label": "check_reserved_filesystem_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L269"}, {"id": "validator_rules_check_unsafe_project_name", "label": "check_unsafe_project_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L305"}, {"id": "validator_rules_check_mode_prefix_mismatch", "label": "check_mode_prefix_mismatch()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L339"}, {"id": "validator_rules_check_orphan", "label": "check_orphan()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L429"}, {"id": "validator_rules_check_missing_required_field", "label": "check_missing_required_field()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L465"}, {"id": "validator_rules_lookup_field_value", "label": "_lookup_field_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L503"}, {"id": "validator_rules_check_malformed_yaml_front_matter", "label": "check_malformed_yaml_front_matter()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L520"}, {"id": "validator_rules_rationale_1", "label": "Validator rule functions. Backend Spec \u00a78.1. This module is a pure-function lib", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L1"}, {"id": "validator_rules_rationale_89", "label": "\u00a78.1.1: detect angle-bracket and Jinja placeholder tokens. Hard-tier. Uses", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L89"}, {"id": "validator_rules_rationale_127", "label": "Return one finding per placeholder match in ``text``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L127"}, {"id": "validator_rules_rationale_190", "label": "\u00a78.1.2: detect Windows-illegal characters in any segment / file name. Illeg", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L190"}, {"id": "validator_rules_rationale_211", "label": "Return one finding per illegal character / trailing-rule violation in ``name``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L211"}, {"id": "validator_rules_rationale_270", "label": "\u00a78.1.2: detect Windows reserved names (``CON``, ``PRN``, ``AUX``, ``NUL``, `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L270"}, {"id": "validator_rules_rationale_306", "label": "\u00a73.2: flag a project directory whose name is not a safe path segment. The p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L306"}, {"id": "validator_rules_rationale_345", "label": "\u00a78.1.3: detect three-way disagreement between ``run_kind``, leaf prefix, and", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L345"}, {"id": "validator_rules_rationale_430", "label": "\u00a78.1.4: detect missing ``creation.json`` at project / run level (NOT equipme", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L430"}, {"id": "validator_rules_rationale_470", "label": "\u00a78.1.5: detect required README fields that are absent or empty. Soft-tier.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L470"}, {"id": "validator_rules_rationale_504", "label": "Return the first non-missing value for ``field_id`` across layers. A missin", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L504"}, {"id": "validator_rules_rationale_521", "label": "\u00a78.1: detect malformed YAML front matter at the head of a Markdown file.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L521"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "yaml", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_check_unresolved_placeholder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_scan_for_placeholders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L122", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_check_illegal_filesystem_character", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L185", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_scan_for_illegal_chars", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L210", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_check_reserved_filesystem_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L269", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_check_unsafe_project_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L305", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_check_mode_prefix_mismatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L339", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_check_orphan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L429", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_check_missing_required_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L465", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_lookup_field_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L503", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "target": "validator_rules_check_malformed_yaml_front_matter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L520", "weight": 1.0}, {"source": "validator_rules_check_unresolved_placeholder", "target": "validator_rules_scan_for_placeholders", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L103", "weight": 1.0}, {"source": "validator_rules_check_illegal_filesystem_character", "target": "validator_rules_scan_for_illegal_chars", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L202", "weight": 1.0}, {"source": "validator_rules_check_missing_required_field", "target": "validator_rules_lookup_field_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L487", "weight": 1.0}, {"source": "validator_rules_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_validator_rules_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L1", "weight": 1.0}, {"source": "validator_rules_rationale_89", "target": "validator_rules_check_unresolved_placeholder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L89", "weight": 1.0}, {"source": "validator_rules_rationale_127", "target": "validator_rules_scan_for_placeholders", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L127", "weight": 1.0}, {"source": "validator_rules_rationale_190", "target": "validator_rules_check_illegal_filesystem_character", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L190", "weight": 1.0}, {"source": "validator_rules_rationale_211", "target": "validator_rules_scan_for_illegal_chars", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L211", "weight": 1.0}, {"source": "validator_rules_rationale_270", "target": "validator_rules_check_reserved_filesystem_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L270", "weight": 1.0}, {"source": "validator_rules_rationale_306", "target": "validator_rules_check_unsafe_project_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L306", "weight": 1.0}, {"source": "validator_rules_rationale_345", "target": "validator_rules_check_mode_prefix_mismatch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L345", "weight": 1.0}, {"source": "validator_rules_rationale_430", "target": "validator_rules_check_orphan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L430", "weight": 1.0}, {"source": "validator_rules_rationale_470", "target": "validator_rules_check_missing_required_field", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L470", "weight": 1.0}, {"source": "validator_rules_rationale_504", "target": "validator_rules_lookup_field_value", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L504", "weight": 1.0}, {"source": "validator_rules_rationale_521", "target": "validator_rules_check_malformed_yaml_front_matter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L521", "weight": 1.0}], "raw_calls": [{"caller_nid": "validator_rules_check_unresolved_placeholder", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L102"}, {"caller_nid": "validator_rules_check_unresolved_placeholder", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L107"}, {"caller_nid": "validator_rules_check_unresolved_placeholder", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L109"}, {"caller_nid": "validator_rules_check_unresolved_placeholder", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L110"}, {"caller_nid": "validator_rules_check_unresolved_placeholder", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L110"}, {"caller_nid": "validator_rules_check_unresolved_placeholder", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L111"}, {"caller_nid": "validator_rules_check_unresolved_placeholder", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L117"}, {"caller_nid": "validator_rules_scan_for_placeholders", "callee": "finditer", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L130"}, {"caller_nid": "validator_rules_scan_for_placeholders", "callee": "group", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L131"}, {"caller_nid": "validator_rules_scan_for_placeholders", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L132"}, {"caller_nid": "validator_rules_scan_for_placeholders", "callee": "finditer", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L145"}, {"caller_nid": "validator_rules_scan_for_placeholders", "callee": "group", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L146"}, {"caller_nid": "validator_rules_scan_for_placeholders", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L147"}, {"caller_nid": "validator_rules_scan_for_placeholders", "callee": "finditer", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L161"}, {"caller_nid": "validator_rules_scan_for_placeholders", "callee": "group", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L162"}, {"caller_nid": "validator_rules_scan_for_placeholders", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L163"}, {"caller_nid": "validator_rules_check_illegal_filesystem_character", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L202"}, {"caller_nid": "validator_rules_check_illegal_filesystem_character", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L205"}, {"caller_nid": "validator_rules_scan_for_illegal_chars", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L214"}, {"caller_nid": "validator_rules_scan_for_illegal_chars", "callee": "ord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L219"}, {"caller_nid": "validator_rules_scan_for_illegal_chars", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L220"}, {"caller_nid": "validator_rules_scan_for_illegal_chars", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L221"}, {"caller_nid": "validator_rules_scan_for_illegal_chars", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L232"}, {"caller_nid": "validator_rules_scan_for_illegal_chars", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L233"}, {"caller_nid": "validator_rules_scan_for_illegal_chars", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L246"}, {"caller_nid": "validator_rules_scan_for_illegal_chars", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L247"}, {"caller_nid": "validator_rules_check_reserved_filesystem_name", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L283"}, {"caller_nid": "validator_rules_check_reserved_filesystem_name", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L284"}, {"caller_nid": "validator_rules_check_reserved_filesystem_name", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L286"}, {"caller_nid": "validator_rules_check_unsafe_project_name", "callee": "project_name_violations", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L320"}, {"caller_nid": "validator_rules_check_unsafe_project_name", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L321"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "is_test_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L363"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "is_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L364"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L380"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "_make_finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L381"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L388"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "_make_finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L389"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L396"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "_make_finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L397"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L398"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L405"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "_make_finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L406"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L413"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "_make_finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L414"}, {"caller_nid": "validator_rules_check_mode_prefix_mismatch", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L415"}, {"caller_nid": "validator_rules_check_orphan", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L443"}, {"caller_nid": "validator_rules_check_orphan", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L443"}, {"caller_nid": "validator_rules_check_orphan", "callee": "capitalize", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L450"}, {"caller_nid": "validator_rules_check_missing_required_field", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L482"}, {"caller_nid": "validator_rules_check_missing_required_field", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L483"}, {"caller_nid": "validator_rules_check_missing_required_field", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L484"}, {"caller_nid": "validator_rules_check_missing_required_field", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L489"}, {"caller_nid": "validator_rules_check_malformed_yaml_front_matter", "callee": "splitlines", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L528"}, {"caller_nid": "validator_rules_check_malformed_yaml_front_matter", "callee": "rstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L529"}, {"caller_nid": "validator_rules_check_malformed_yaml_front_matter", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L533"}, {"caller_nid": "validator_rules_check_malformed_yaml_front_matter", "callee": "min", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L533"}, {"caller_nid": "validator_rules_check_malformed_yaml_front_matter", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L533"}, {"caller_nid": "validator_rules_check_malformed_yaml_front_matter", "callee": "rstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L534"}, {"caller_nid": "validator_rules_check_malformed_yaml_front_matter", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L554"}, {"caller_nid": "validator_rules_check_malformed_yaml_front_matter", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py", "source_location": "L556"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/d14954473452cae68ef2e8bfbd8f8c30bb886d88342a7ae4e0b31193224885b5.json b/graphify-out/cache/ast/d14954473452cae68ef2e8bfbd8f8c30bb886d88342a7ae4e0b31193224885b5.json deleted file mode 100644 index 2671d0c..0000000 --- a/graphify-out/cache/ast/d14954473452cae68ef2e8bfbd8f8c30bb886d88342a7ae4e0b31193224885b5.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "label": "stub_rclone.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L1"}, {"id": "fixtures_stub_rclone_parse_copy_args", "label": "_parse_copy_args()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L54"}, {"id": "fixtures_stub_rclone_is_flag_value", "label": "_is_flag_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L66"}, {"id": "fixtures_stub_rclone_emit_combined", "label": "_emit_combined()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L84"}, {"id": "fixtures_stub_rclone_flag_value", "label": "_flag_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L113"}, {"id": "fixtures_stub_rclone_dump_env", "label": "_dump_env()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L124"}, {"id": "fixtures_stub_rclone_require_env", "label": "_require_env()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L135"}, {"id": "fixtures_stub_rclone_main", "label": "main()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L166"}, {"id": "fixtures_stub_rclone_rationale_55", "label": "Return ``(local, remote_spec)`` from a ``rclone copy`` argv.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L55"}, {"id": "fixtures_stub_rclone_rationale_67", "label": "Return True if ``arg`` is the value-half of a ``--flag value`` pair.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L67"}, {"id": "fixtures_stub_rclone_rationale_85", "label": "Write `` `` per file in ``--files-from`` to ``--combined``. `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L85"}, {"id": "fixtures_stub_rclone_rationale_114", "label": "Return the value following ``flag`` in ``argv`` or ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L114"}, {"id": "fixtures_stub_rclone_rationale_125", "label": "When ``STUB_RCLONE_ENV_DUMP`` is set, write the rclone-prefixed env.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L125"}, {"id": "fixtures_stub_rclone_rationale_136", "label": "Enforce ``STUB_RCLONE_REQUIRE_ENV``; return 0 if satisfied else 3. Confirms", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L136"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "fixtures_stub_rclone_parse_copy_args", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "fixtures_stub_rclone_is_flag_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L66", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "fixtures_stub_rclone_emit_combined", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L84", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "fixtures_stub_rclone_flag_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L113", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "fixtures_stub_rclone_dump_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L124", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "fixtures_stub_rclone_require_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_stub_rclone_py", "target": "fixtures_stub_rclone_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L166", "weight": 1.0}, {"source": "fixtures_stub_rclone_parse_copy_args", "target": "fixtures_stub_rclone_is_flag_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L59", "weight": 1.0}, {"source": "fixtures_stub_rclone_emit_combined", "target": "fixtures_stub_rclone_flag_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L91", "weight": 1.0}, {"source": "fixtures_stub_rclone_main", "target": "fixtures_stub_rclone_dump_env", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L171", "weight": 1.0}, {"source": "fixtures_stub_rclone_main", "target": "fixtures_stub_rclone_require_env", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L201", "weight": 1.0}, {"source": "fixtures_stub_rclone_main", "target": "fixtures_stub_rclone_emit_combined", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L234", "weight": 1.0}, {"source": "fixtures_stub_rclone_main", "target": "fixtures_stub_rclone_parse_copy_args", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L255", "weight": 1.0}, {"source": "fixtures_stub_rclone_rationale_55", "target": "fixtures_stub_rclone_parse_copy_args", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L55", "weight": 1.0}, {"source": "fixtures_stub_rclone_rationale_67", "target": "fixtures_stub_rclone_is_flag_value", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L67", "weight": 1.0}, {"source": "fixtures_stub_rclone_rationale_85", "target": "fixtures_stub_rclone_emit_combined", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L85", "weight": 1.0}, {"source": "fixtures_stub_rclone_rationale_114", "target": "fixtures_stub_rclone_flag_value", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L114", "weight": 1.0}, {"source": "fixtures_stub_rclone_rationale_125", "target": "fixtures_stub_rclone_dump_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L125", "weight": 1.0}, {"source": "fixtures_stub_rclone_rationale_136", "target": "fixtures_stub_rclone_require_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L136", "weight": 1.0}], "raw_calls": [{"caller_nid": "fixtures_stub_rclone_parse_copy_args", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L56"}, {"caller_nid": "fixtures_stub_rclone_parse_copy_args", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L57"}, {"caller_nid": "fixtures_stub_rclone_parse_copy_args", "callee": "exit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L58"}, {"caller_nid": "fixtures_stub_rclone_parse_copy_args", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L59"}, {"caller_nid": "fixtures_stub_rclone_parse_copy_args", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L60"}, {"caller_nid": "fixtures_stub_rclone_parse_copy_args", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L61"}, {"caller_nid": "fixtures_stub_rclone_parse_copy_args", "callee": "exit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L62"}, {"caller_nid": "fixtures_stub_rclone_is_flag_value", "callee": "index", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L78"}, {"caller_nid": "fixtures_stub_rclone_emit_combined", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L94"}, {"caller_nid": "fixtures_stub_rclone_emit_combined", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L100"}, {"caller_nid": "fixtures_stub_rclone_emit_combined", "callee": "splitlines", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L101"}, {"caller_nid": "fixtures_stub_rclone_emit_combined", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L101"}, {"caller_nid": "fixtures_stub_rclone_emit_combined", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L101"}, {"caller_nid": "fixtures_stub_rclone_emit_combined", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L102"}, {"caller_nid": "fixtures_stub_rclone_emit_combined", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L105"}, {"caller_nid": "fixtures_stub_rclone_emit_combined", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L107"}, {"caller_nid": "fixtures_stub_rclone_emit_combined", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L107"}, {"caller_nid": "fixtures_stub_rclone_emit_combined", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L109"}, {"caller_nid": "fixtures_stub_rclone_flag_value", "callee": "index", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L116"}, {"caller_nid": "fixtures_stub_rclone_flag_value", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L119"}, {"caller_nid": "fixtures_stub_rclone_dump_env", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L126"}, {"caller_nid": "fixtures_stub_rclone_dump_env", "callee": "open", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L129"}, {"caller_nid": "fixtures_stub_rclone_dump_env", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L130"}, {"caller_nid": "fixtures_stub_rclone_dump_env", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L130"}, {"caller_nid": "fixtures_stub_rclone_dump_env", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L131"}, {"caller_nid": "fixtures_stub_rclone_dump_env", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L132"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L142"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L145"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L145"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L145"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L145"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L147"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L149"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L150"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "rsplit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L150"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L154"}, {"caller_nid": "fixtures_stub_rclone_require_env", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L160"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L167"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "open", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L169"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L170"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L170"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L173"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L174"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L176"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L183"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L184"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L191"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L194"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L196"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L196"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L208"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L211"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L218"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L218"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L220"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L222"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L222"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L228"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L231"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L242"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L245"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L248"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L252"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L257"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L259"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L261"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L264"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "lstrip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L264"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L265"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L266"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "iterdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L267"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L269"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "copytree", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L270"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "copy2", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L272"}, {"caller_nid": "fixtures_stub_rclone_main", "callee": "copy2", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py", "source_location": "L274"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/d1d135598d171747295aaeba1a29beeea4f5ecdf5ee5684f8eb28142b2ab1494.json b/graphify-out/cache/ast/d1d135598d171747295aaeba1a29beeea4f5ecdf5ee5684f8eb28142b2ab1494.json deleted file mode 100644 index d85f9e8..0000000 --- a/graphify-out/cache/ast/d1d135598d171747295aaeba1a29beeea4f5ecdf5ee5684f8eb28142b2ab1494.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "label": "test_live_reload.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L1"}, {"id": "tray_test_live_reload_stub_configure_logging", "label": "_stub_configure_logging()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L40"}, {"id": "tray_test_live_reload_equipment", "label": "_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L54"}, {"id": "tray_test_live_reload_config", "label": "_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L70"}, {"id": "tray_test_live_reload_recordingcomponent", "label": "_RecordingComponent", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L86"}, {"id": "tray_test_live_reload_recordingcomponent_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L89"}, {"id": "tray_test_live_reload_recordingcomponent_apply_config", "label": ".apply_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L93"}, {"id": "tray_test_live_reload_recordingvalidator", "label": "_RecordingValidator", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L98"}, {"id": "tray_test_live_reload_recordingvalidator_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L99"}, {"id": "tray_test_live_reload_recordingvalidator_reconfigure", "label": ".reconfigure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L102"}, {"id": "tray_test_live_reload_asyncstub", "label": "_AsyncStub", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L106"}, {"id": "tray_test_live_reload_asyncstub_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L109"}, {"id": "tray_test_live_reload_asyncstub_start", "label": ".start()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L116"}, {"id": "tray_test_live_reload_running_deps", "label": "_running_deps()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L120"}, {"id": "tray_test_live_reload_test_reconfigures_existing_components_in_place", "label": "test_reconfigures_existing_components_in_place()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L136"}, {"id": "tray_test_live_reload_test_skips_logging_reconfigure_when_unchanged", "label": "test_skips_logging_reconfigure_when_unchanged()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L150"}, {"id": "tray_test_live_reload_test_component_failure_is_isolated", "label": "test_component_failure_is_isolated()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L156"}, {"id": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", "label": "test_rebuilds_lims_only_on_endpoint_change()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L182"}, {"id": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", "label": "test_rebuilds_plugin_host_only_on_dir_change()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L201"}, {"id": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "label": "test_builds_and_starts_components_on_fresh_install()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L226"}, {"id": "tray_test_live_reload_rationale_1", "label": "Tests for the live config-reload coordinator (no tray relaunch). ``exlab_wizard", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L1"}, {"id": "tray_test_live_reload_rationale_41", "label": "Stub the real logging reconfigure so tests don't churn global handlers. Ret", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L41"}, {"id": "tray_test_live_reload_rationale_87", "label": "Stub controller / nas_sync / poller recording ``apply_config`` calls.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L87"}, {"id": "tray_test_live_reload_rationale_107", "label": "Fresh-built nas_sync / poller stub with async init / start.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L107"}, {"id": "tray_test_live_reload_rationale_121", "label": "Build a deps bundle whose config-dependent components already exist.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L121"}, {"id": "tray_test_live_reload_rationale_157", "label": "One component raising must not abort the rest, and config still lands.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L157"}, {"id": "tray_test_live_reload_rationale_229", "label": "On a first save the absent components are built and their async bring-up is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L229"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "exlab_wizard_api_app", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "exlab_wizard_api_app", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "exlab_wizard_tray", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "exlab_wizard_tray_dependencies", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_stub_configure_logging", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_recordingcomponent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L86", "weight": 1.0}, {"source": "tray_test_live_reload_recordingcomponent", "target": "tray_test_live_reload_recordingcomponent_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L89", "weight": 1.0}, {"source": "tray_test_live_reload_recordingcomponent", "target": "tray_test_live_reload_recordingcomponent_apply_config", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_recordingvalidator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L98", "weight": 1.0}, {"source": "tray_test_live_reload_recordingvalidator", "target": "tray_test_live_reload_recordingvalidator_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L99", "weight": 1.0}, {"source": "tray_test_live_reload_recordingvalidator", "target": "tray_test_live_reload_recordingvalidator_reconfigure", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_asyncstub", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L106", "weight": 1.0}, {"source": "tray_test_live_reload_asyncstub", "target": "tray_test_live_reload_asyncstub_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L109", "weight": 1.0}, {"source": "tray_test_live_reload_asyncstub", "target": "tray_test_live_reload_asyncstub_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L113", "weight": 1.0}, {"source": "tray_test_live_reload_asyncstub", "target": "tray_test_live_reload_asyncstub_start", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_running_deps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L120", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_test_reconfigures_existing_components_in_place", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L136", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_test_skips_logging_reconfigure_when_unchanged", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L150", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_test_component_failure_is_isolated", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L156", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L182", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L201", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "target": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L226", "weight": 1.0}, {"source": "tray_test_live_reload_config", "target": "tray_test_live_reload_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L82", "weight": 1.0}, {"source": "tray_test_live_reload_running_deps", "target": "tray_test_live_reload_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L123", "weight": 1.0}, {"source": "tray_test_live_reload_running_deps", "target": "tray_test_live_reload_recordingvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L124", "weight": 1.0}, {"source": "tray_test_live_reload_running_deps", "target": "tray_test_live_reload_recordingcomponent", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L125", "weight": 1.0}, {"source": "tray_test_live_reload_test_reconfigures_existing_components_in_place", "target": "tray_test_live_reload_running_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L137", "weight": 1.0}, {"source": "tray_test_live_reload_test_reconfigures_existing_components_in_place", "target": "tray_test_live_reload_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L138", "weight": 1.0}, {"source": "tray_test_live_reload_test_reconfigures_existing_components_in_place", "target": "tray_test_live_reload_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L138", "weight": 1.0}, {"source": "tray_test_live_reload_test_skips_logging_reconfigure_when_unchanged", "target": "tray_test_live_reload_running_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L151", "weight": 1.0}, {"source": "tray_test_live_reload_test_skips_logging_reconfigure_when_unchanged", "target": "tray_test_live_reload_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L152", "weight": 1.0}, {"source": "tray_test_live_reload_test_component_failure_is_isolated", "target": "tray_test_live_reload_running_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L164", "weight": 1.0}, {"source": "tray_test_live_reload_test_component_failure_is_isolated", "target": "tray_test_live_reload_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L166", "weight": 1.0}, {"source": "tray_test_live_reload_test_component_failure_is_isolated", "target": "tray_test_live_reload_equipment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L166", "weight": 1.0}, {"source": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", "target": "tray_test_live_reload_running_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L185", "weight": 1.0}, {"source": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", "target": "tray_test_live_reload_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L186", "weight": 1.0}, {"source": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", "target": "tray_test_live_reload_running_deps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L204", "weight": 1.0}, {"source": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", "target": "tray_test_live_reload_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L205", "weight": 1.0}, {"source": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "target": "tray_test_live_reload_asyncstub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L231", "weight": 1.0}, {"source": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "target": "tray_test_live_reload_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L242", "weight": 1.0}, {"source": "tray_test_live_reload_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_tray_test_live_reload_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_test_live_reload_rationale_41", "target": "tray_test_live_reload_stub_configure_logging", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L41", "weight": 1.0}, {"source": "tray_test_live_reload_rationale_87", "target": "tray_test_live_reload_recordingcomponent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L87", "weight": 1.0}, {"source": "tray_test_live_reload_rationale_107", "target": "tray_test_live_reload_asyncstub", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L107", "weight": 1.0}, {"source": "tray_test_live_reload_rationale_121", "target": "tray_test_live_reload_running_deps", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L121", "weight": 1.0}, {"source": "tray_test_live_reload_rationale_157", "target": "tray_test_live_reload_test_component_failure_is_isolated", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L157", "weight": 1.0}, {"source": "tray_test_live_reload_rationale_229", "target": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L229", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_test_live_reload_stub_configure_logging", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L47"}, {"caller_nid": "tray_test_live_reload_stub_configure_logging", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L49"}, {"caller_nid": "tray_test_live_reload_equipment", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L55"}, {"caller_nid": "tray_test_live_reload_equipment", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L60"}, {"caller_nid": "tray_test_live_reload_equipment", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L65"}, {"caller_nid": "tray_test_live_reload_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L78"}, {"caller_nid": "tray_test_live_reload_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L79"}, {"caller_nid": "tray_test_live_reload_config", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L80"}, {"caller_nid": "tray_test_live_reload_config", "callee": "LoggingConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L81"}, {"caller_nid": "tray_test_live_reload_config", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L82"}, {"caller_nid": "tray_test_live_reload_recordingcomponent_apply_config", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L94"}, {"caller_nid": "tray_test_live_reload_recordingcomponent_apply_config", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L95"}, {"caller_nid": "tray_test_live_reload_recordingvalidator_reconfigure", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L103"}, {"caller_nid": "tray_test_live_reload_running_deps", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L122"}, {"caller_nid": "tray_test_live_reload_test_reconfigures_existing_components_in_place", "callee": "apply_live_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L140"}, {"caller_nid": "tray_test_live_reload_test_skips_logging_reconfigure_when_unchanged", "callee": "apply_live_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L152"}, {"caller_nid": "tray_test_live_reload_test_component_failure_is_isolated", "callee": "_Boom", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L165"}, {"caller_nid": "tray_test_live_reload_test_component_failure_is_isolated", "callee": "apply_live_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L168"}, {"caller_nid": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L184"}, {"caller_nid": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L184"}, {"caller_nid": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", "callee": "apply_live_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L191"}, {"caller_nid": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L196"}, {"caller_nid": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", "callee": "apply_live_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L197"}, {"caller_nid": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L203"}, {"caller_nid": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L203"}, {"caller_nid": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", "callee": "apply_live_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L209"}, {"caller_nid": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L215"}, {"caller_nid": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", "callee": "apply_live_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L216"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L233"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L234"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L235"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L236"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L237"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L238"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L240"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L241"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "apply_live_config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L244"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L255"}, {"caller_nid": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py", "source_location": "L256"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/d2807dc8f4867e3f8bf428f731a83f4c9725eed5daf28ecc85fd8e216460a85a.json b/graphify-out/cache/ast/d2807dc8f4867e3f8bf428f731a83f4c9725eed5daf28ecc85fd8e216460a85a.json deleted file mode 100644 index e0adf55..0000000 --- a/graphify-out/cache/ast/d2807dc8f4867e3f8bf428f731a83f4c9725eed5daf28ecc85fd8e216460a85a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_11_cache_folders_md", "label": "11_Cache_Folders.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L1"}, {"id": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "label": "11. `.exlab-wizard` Cache Folders", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L1"}, {"id": "design_spec_sections_11_cache_folders_11_1_folder_placement", "label": "11.1 Folder Placement", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L7"}, {"id": "design_spec_sections_11_cache_folders_codeblock_1", "label": "code:block1 (/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L9"}, {"id": "design_spec_sections_11_cache_folders_11_2_file_inventory_per_level", "label": "11.2 File Inventory per Level", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L50"}, {"id": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", "label": "11.3 `creation.json` Schema", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L93"}, {"id": "design_spec_sections_11_cache_folders_codeblock_2", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L97"}, {"id": "design_spec_sections_11_cache_folders_codeblock_3", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L167"}, {"id": "design_spec_sections_11_cache_folders_codeblock_4", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L181"}, {"id": "design_spec_sections_11_cache_folders_codeblock_5", "label": "code:block5 ({ entry \u2208 validation_overrides)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L206"}, {"id": "design_spec_sections_11_cache_folders_codeblock_6", "label": "code:block6 (\"paths\": {)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L220"}, {"id": "design_spec_sections_11_cache_folders_schema_version_history", "label": "Schema-version history", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L227"}, {"id": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", "label": "11.4 `readme_fields.json` Schema", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L243"}, {"id": "design_spec_sections_11_cache_folders_codeblock_7", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L249"}, {"id": "design_spec_sections_11_cache_folders_11_4_1_equipment_json_schema", "label": "11.4.1 `equipment.json` Schema", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L285"}, {"id": "design_spec_sections_11_cache_folders_codeblock_8", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L287"}, {"id": "design_spec_sections_11_cache_folders_11_4_2_test_runs_json_schema", "label": "11.4.2 `test_runs.json` Schema", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L311"}, {"id": "design_spec_sections_11_cache_folders_codeblock_9", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L313"}, {"id": "design_spec_sections_11_cache_folders_11_4_3_runs_json_schema", "label": "11.4.3 `runs.json` Schema", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L327"}, {"id": "design_spec_sections_11_cache_folders_codeblock_10", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L329"}, {"id": "design_spec_sections_11_cache_folders_11_5_wizard_hostname_log_format", "label": "11.5 `wizard..log` Format", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L343"}, {"id": "design_spec_sections_11_cache_folders_codeblock_11", "label": "code:block11 (2026-04-17T14:31:55Z [INFO ] [host:labpc-04] [equip:CONFOCAL)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L351"}, {"id": "design_spec_sections_11_cache_folders_11_5_1_log_levels_rotation_and_the_central_app_log", "label": "11.5.1 Log Levels, Rotation, and the Central App Log", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L366"}, {"id": "design_spec_sections_11_cache_folders_11_6_nas_sync_behavior_for_cache_files", "label": "11.6 NAS Sync Behavior for Cache Files", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L397"}, {"id": "design_spec_sections_11_cache_folders_11_7_discovery_and_validation_use_cases", "label": "11.7 Discovery and Validation Use Cases", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L401"}, {"id": "design_spec_sections_11_cache_folders_11_8_validator_engine_and_problem_query_contract", "label": "11.8 Validator Engine and Problem Query Contract", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L413"}, {"id": "design_spec_sections_11_cache_folders_codeblock_12", "label": "code:json ({)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L430"}, {"id": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", "label": "11.9 Schema Versioning and Migration Policy", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L452"}, {"id": "design_spec_sections_11_cache_folders_11_9_1_versioning_rules", "label": "11.9.1 Versioning rules", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L456"}, {"id": "design_spec_sections_11_cache_folders_11_9_2_reader_policy", "label": "11.9.2 Reader policy", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L462"}, {"id": "design_spec_sections_11_cache_folders_11_9_3_writer_policy", "label": "11.9.3 Writer policy", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L472"}, {"id": "design_spec_sections_11_cache_folders_11_9_4_cross_major_migration_v1_v2", "label": "11.9.4 Cross-major migration (v1 \u2192 v2)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L480"}, {"id": "design_spec_sections_11_cache_folders_11_9_5_directory_layout_migration_v0_5_v0_6", "label": "11.9.5 Directory-layout migration (v0.5 \u2192 v0.6)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L488"}, {"id": "design_spec_sections_11_cache_folders_11_9_6_what_about_config_yaml", "label": "11.9.6 What about `config.yaml`?", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L492"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_11_cache_folders_md", "target": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "target": "design_spec_sections_11_cache_folders_11_1_folder_placement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L7", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_1_folder_placement", "target": "design_spec_sections_11_cache_folders_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L9", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "target": "design_spec_sections_11_cache_folders_11_2_file_inventory_per_level", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L50", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "target": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L93", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", "target": "design_spec_sections_11_cache_folders_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L97", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", "target": "design_spec_sections_11_cache_folders_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L167", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", "target": "design_spec_sections_11_cache_folders_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L181", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", "target": "design_spec_sections_11_cache_folders_codeblock_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L206", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", "target": "design_spec_sections_11_cache_folders_codeblock_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L220", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", "target": "design_spec_sections_11_cache_folders_schema_version_history", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L227", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "target": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L243", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", "target": "design_spec_sections_11_cache_folders_codeblock_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L249", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", "target": "design_spec_sections_11_cache_folders_11_4_1_equipment_json_schema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L285", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_4_1_equipment_json_schema", "target": "design_spec_sections_11_cache_folders_codeblock_8", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L287", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", "target": "design_spec_sections_11_cache_folders_11_4_2_test_runs_json_schema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L311", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_4_2_test_runs_json_schema", "target": "design_spec_sections_11_cache_folders_codeblock_9", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L313", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", "target": "design_spec_sections_11_cache_folders_11_4_3_runs_json_schema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L327", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_4_3_runs_json_schema", "target": "design_spec_sections_11_cache_folders_codeblock_10", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L329", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "target": "design_spec_sections_11_cache_folders_11_5_wizard_hostname_log_format", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L343", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_5_wizard_hostname_log_format", "target": "design_spec_sections_11_cache_folders_codeblock_11", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L351", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_5_wizard_hostname_log_format", "target": "design_spec_sections_11_cache_folders_11_5_1_log_levels_rotation_and_the_central_app_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L366", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "target": "design_spec_sections_11_cache_folders_11_6_nas_sync_behavior_for_cache_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L397", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "target": "design_spec_sections_11_cache_folders_11_7_discovery_and_validation_use_cases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L401", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "target": "design_spec_sections_11_cache_folders_11_8_validator_engine_and_problem_query_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L413", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_8_validator_engine_and_problem_query_contract", "target": "design_spec_sections_11_cache_folders_codeblock_12", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L430", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", "target": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L452", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", "target": "design_spec_sections_11_cache_folders_11_9_1_versioning_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L456", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", "target": "design_spec_sections_11_cache_folders_11_9_2_reader_policy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L462", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", "target": "design_spec_sections_11_cache_folders_11_9_3_writer_policy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L472", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", "target": "design_spec_sections_11_cache_folders_11_9_4_cross_major_migration_v1_v2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L480", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", "target": "design_spec_sections_11_cache_folders_11_9_5_directory_layout_migration_v0_5_v0_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L488", "weight": 1.0}, {"source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", "target": "design_spec_sections_11_cache_folders_11_9_6_what_about_config_yaml", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md", "source_location": "L492", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/d28b89683a6d9bca90429a5edefa4bef48e27424d7f61e4ee4ac2d5e36daf441.json b/graphify-out/cache/ast/d28b89683a6d9bca90429a5edefa4bef48e27424d7f61e4ee4ac2d5e36daf441.json deleted file mode 100644 index e7ff067..0000000 --- a/graphify-out/cache/ast/d28b89683a6d9bca90429a5edefa4bef48e27424d7f61e4ee4ac2d5e36daf441.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_lims_exlab_v1_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/d30fe50e4aae5ef516aa371daf052e12040237e5cbc26764b433c01e7db121cf.json b/graphify-out/cache/ast/d30fe50e4aae5ef516aa371daf052e12040237e5cbc26764b433c01e7db121cf.json deleted file mode 100644 index 5f9c44a..0000000 --- a/graphify-out/cache/ast/d30fe50e4aae5ef516aa371daf052e12040237e5cbc26764b433c01e7db121cf.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_16_logging_md", "label": "16_Logging.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L1"}, {"id": "design_spec_sections_16_logging_16_logging_architecture", "label": "16. Logging Architecture", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L1"}, {"id": "design_spec_sections_16_logging_16_1_goals", "label": "16.1 Goals", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L14"}, {"id": "design_spec_sections_16_logging_16_2_the_logging_package", "label": "16.2 The `logging/` package", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L23"}, {"id": "design_spec_sections_16_logging_codeblock_1", "label": "code:block1 (exlab_wizard/logging/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L25"}, {"id": "design_spec_sections_16_logging_16_2_1_the_get_logger_name_entry_point", "label": "16.2.1 The `get_logger(name)` entry point", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L34"}, {"id": "design_spec_sections_16_logging_codeblock_2", "label": "code:python (from exlab_wizard.logging import get_logger)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L38"}, {"id": "design_spec_sections_16_logging_16_2_2_configure_logging_config_at_startup", "label": "16.2.2 `configure_logging(config)` at startup", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L55"}, {"id": "design_spec_sections_16_logging_codeblock_3", "label": "code:python (from exlab_wizard.logging import configure_logging)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L59"}, {"id": "design_spec_sections_16_logging_16_2_3_context_vars", "label": "16.2.3 Context vars", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L72"}, {"id": "design_spec_sections_16_logging_codeblock_4", "label": "code:python (from exlab_wizard.logging.context import set_run_context, cl)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L76"}, {"id": "design_spec_sections_16_logging_16_2_4_equipment_scoped_handlers", "label": "16.2.4 Equipment-scoped handlers", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L91"}, {"id": "design_spec_sections_16_logging_16_2_5_non_blocking_emit_via_queuehandler_queuelistener", "label": "16.2.5 Non-blocking emit via `QueueHandler` + `QueueListener`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L102"}, {"id": "design_spec_sections_16_logging_16_3_log_file_layout_where_to_look_quick_reference", "label": "16.3 Log file layout (where-to-look quick reference)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L114"}, {"id": "design_spec_sections_16_logging_16_4_format", "label": "16.4 Format", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L132"}, {"id": "design_spec_sections_16_logging_codeblock_5", "label": "code:block5 ( [] [host:] [equi)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L136"}, {"id": "design_spec_sections_16_logging_16_5_levels_and_configuration", "label": "16.5 Levels and configuration", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L154"}, {"id": "design_spec_sections_16_logging_16_6_rotation", "label": "16.6 Rotation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L169"}, {"id": "design_spec_sections_16_logging_16_7_debugging_recipes", "label": "16.7 Debugging recipes", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L185"}, {"id": "design_spec_sections_16_logging_16_7_1_a_run_failed_what_happened", "label": "16.7.1 \"A run failed; what happened?\"", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L189"}, {"id": "design_spec_sections_16_logging_16_7_2_sync_is_failing_for_many_runs", "label": "16.7.2 \"Sync is failing for many runs\"", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L195"}, {"id": "design_spec_sections_16_logging_16_7_3_a_plugin_is_misbehaving_in_production", "label": "16.7.3 \"A plugin is misbehaving in production\"", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L201"}, {"id": "design_spec_sections_16_logging_16_7_4_i_don_t_trust_my_config_what_s_actually_loaded", "label": "16.7.4 \"I don't trust my config; what's actually loaded?\"", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L209"}, {"id": "design_spec_sections_16_logging_16_7_5_increase_verbosity_for_one_debug_session", "label": "16.7.5 \"Increase verbosity for one debug session\"", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L214"}, {"id": "design_spec_sections_16_logging_16_8_plugin_worker_logging", "label": "16.8 Plugin worker logging", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L223"}, {"id": "design_spec_sections_16_logging_16_9_operator_facing_log_access", "label": "16.9 Operator-facing log access", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L237"}, {"id": "design_spec_sections_16_logging_16_10_anti_patterns", "label": "16.10 Anti-patterns", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L247"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_16_logging_md", "target": "design_spec_sections_16_logging_16_logging_architecture", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_logging_architecture", "target": "design_spec_sections_16_logging_16_1_goals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L14", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_logging_architecture", "target": "design_spec_sections_16_logging_16_2_the_logging_package", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L23", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_2_the_logging_package", "target": "design_spec_sections_16_logging_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L25", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_2_the_logging_package", "target": "design_spec_sections_16_logging_16_2_1_the_get_logger_name_entry_point", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L34", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_2_1_the_get_logger_name_entry_point", "target": "design_spec_sections_16_logging_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L38", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_2_the_logging_package", "target": "design_spec_sections_16_logging_16_2_2_configure_logging_config_at_startup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L55", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_2_2_configure_logging_config_at_startup", "target": "design_spec_sections_16_logging_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L59", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_2_the_logging_package", "target": "design_spec_sections_16_logging_16_2_3_context_vars", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L72", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_2_3_context_vars", "target": "design_spec_sections_16_logging_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L76", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_2_the_logging_package", "target": "design_spec_sections_16_logging_16_2_4_equipment_scoped_handlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L91", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_2_the_logging_package", "target": "design_spec_sections_16_logging_16_2_5_non_blocking_emit_via_queuehandler_queuelistener", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L102", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_logging_architecture", "target": "design_spec_sections_16_logging_16_3_log_file_layout_where_to_look_quick_reference", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L114", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_logging_architecture", "target": "design_spec_sections_16_logging_16_4_format", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L132", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_4_format", "target": "design_spec_sections_16_logging_codeblock_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L136", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_logging_architecture", "target": "design_spec_sections_16_logging_16_5_levels_and_configuration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L154", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_logging_architecture", "target": "design_spec_sections_16_logging_16_6_rotation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L169", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_logging_architecture", "target": "design_spec_sections_16_logging_16_7_debugging_recipes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L185", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_7_debugging_recipes", "target": "design_spec_sections_16_logging_16_7_1_a_run_failed_what_happened", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L189", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_7_debugging_recipes", "target": "design_spec_sections_16_logging_16_7_2_sync_is_failing_for_many_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L195", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_7_debugging_recipes", "target": "design_spec_sections_16_logging_16_7_3_a_plugin_is_misbehaving_in_production", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L201", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_7_debugging_recipes", "target": "design_spec_sections_16_logging_16_7_4_i_don_t_trust_my_config_what_s_actually_loaded", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L209", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_7_debugging_recipes", "target": "design_spec_sections_16_logging_16_7_5_increase_verbosity_for_one_debug_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L214", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_logging_architecture", "target": "design_spec_sections_16_logging_16_8_plugin_worker_logging", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L223", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_logging_architecture", "target": "design_spec_sections_16_logging_16_9_operator_facing_log_access", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L237", "weight": 1.0}, {"source": "design_spec_sections_16_logging_16_logging_architecture", "target": "design_spec_sections_16_logging_16_10_anti_patterns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md", "source_location": "L247", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/d48ef0da17fcf722cb1325c2d7b3ac287d85c1a072c7a308b781b4bd307020b9.json b/graphify-out/cache/ast/d48ef0da17fcf722cb1325c2d7b3ac287d85c1a072c7a308b781b4bd307020b9.json deleted file mode 100644 index b5c1ae0..0000000 --- a/graphify-out/cache/ast/d48ef0da17fcf722cb1325c2d7b3ac287d85c1a072c7a308b781b4bd307020b9.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/__init__.py", "source_location": "L1"}, {"id": "client_init_rationale_1", "label": "Client-side abstractions used by the rebuilt main window. GUI/Orchestrator Rede", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/__init__.py", "source_location": "L1"}], "edges": [{"source": "client_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_client_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/d4d31440db0409a286ac0c73acab9be81e723de98d1578d027918d8e1cf9591d.json b/graphify-out/cache/ast/d4d31440db0409a286ac0c73acab9be81e723de98d1578d027918d8e1cf9591d.json deleted file mode 100644 index 6960b87..0000000 --- a/graphify-out/cache/ast/d4d31440db0409a286ac0c73acab9be81e723de98d1578d027918d8e1cf9591d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/__init__.py", "source_location": "L1"}, {"id": "ui_init_rationale_1", "label": "UI package re-exports (Backend Spec \u00a74.3, Frontend Spec \u00a72). Public surface: *", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_init_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/__init__.py", "source_location": "L13", "weight": 1.0}, {"source": "ui_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/d4f7af8077e16b8a65e3771929ee7415946d829b0918517630766c4adffe7dfc.json b/graphify-out/cache/ast/d4f7af8077e16b8a65e3771929ee7415946d829b0918517630766c4adffe7dfc.json deleted file mode 100644 index 5e7933f..0000000 --- a/graphify-out/cache/ast/d4f7af8077e16b8a65e3771929ee7415946d829b0918517630766c4adffe7dfc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "label": "test_window_launcher.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L1"}, {"id": "tray_test_window_launcher_python_window_argv", "label": "_python_window_argv()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L18"}, {"id": "tray_test_window_launcher_test_open_spawns_subprocess", "label": "test_open_spawns_subprocess()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L29"}, {"id": "tray_test_window_launcher_test_close_terminates_subprocess", "label": "test_close_terminates_subprocess()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L42"}, {"id": "tray_test_window_launcher_test_close_is_idempotent", "label": "test_close_is_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L53"}, {"id": "tray_test_window_launcher_test_open_focuses_existing", "label": "test_open_focuses_existing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L60"}, {"id": "tray_test_window_launcher_test_resolve_window_executable_prefers_env_var", "label": "test_resolve_window_executable_prefers_env_var()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L71"}, {"id": "tray_test_window_launcher_test_resolve_window_executable_uses_path", "label": "test_resolve_window_executable_uses_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L76"}, {"id": "tray_test_window_launcher_test_resolve_window_executable_falls_back_to_module", "label": "test_resolve_window_executable_falls_back_to_module()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L85"}, {"id": "tray_test_window_launcher_test_window_executable_override", "label": "test_window_executable_override()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L95"}, {"id": "tray_test_window_launcher_test_argv_falls_through_resolve_helper", "label": "test_argv_falls_through_resolve_helper()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L103"}, {"id": "tray_test_window_launcher_test_pid_is_none_before_open", "label": "test_pid_is_none_before_open()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L113"}, {"id": "tray_test_window_launcher_test_close_kills_unresponsive_process", "label": "test_close_kills_unresponsive_process()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L119"}, {"id": "tray_test_window_launcher_rationale_1", "label": "Tests for :mod:`exlab_wizard.tray.window_launcher`. Backend Spec \u00a74.3.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L1"}, {"id": "tray_test_window_launcher_rationale_19", "label": "Return an argv that runs a tiny window stand-in (a sleep).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L19"}, {"id": "tray_test_window_launcher_rationale_104", "label": "Default constructor with no override delegates to the resolver.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L104"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "exlab_wizard_tray_window_launcher", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_python_window_argv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_open_spawns_subprocess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_close_terminates_subprocess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_close_is_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_open_focuses_existing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_resolve_window_executable_prefers_env_var", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L71", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_resolve_window_executable_uses_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_resolve_window_executable_falls_back_to_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_window_executable_override", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L95", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_argv_falls_through_resolve_helper", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_pid_is_none_before_open", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L113", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "target": "tray_test_window_launcher_test_close_kills_unresponsive_process", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L119", "weight": 1.0}, {"source": "tray_test_window_launcher_test_open_spawns_subprocess", "target": "tray_test_window_launcher_python_window_argv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L31", "weight": 1.0}, {"source": "tray_test_window_launcher_test_close_terminates_subprocess", "target": "tray_test_window_launcher_python_window_argv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L44", "weight": 1.0}, {"source": "tray_test_window_launcher_test_open_focuses_existing", "target": "tray_test_window_launcher_python_window_argv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L62", "weight": 1.0}, {"source": "tray_test_window_launcher_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_tray_test_window_launcher_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_test_window_launcher_rationale_19", "target": "tray_test_window_launcher_python_window_argv", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L19", "weight": 1.0}, {"source": "tray_test_window_launcher_rationale_104", "target": "tray_test_window_launcher_test_argv_falls_through_resolve_helper", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L104", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_test_window_launcher_test_open_spawns_subprocess", "callee": "WindowLauncher", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L30"}, {"caller_nid": "tray_test_window_launcher_test_open_spawns_subprocess", "callee": "object", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L32"}, {"caller_nid": "tray_test_window_launcher_test_open_spawns_subprocess", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L33"}, {"caller_nid": "tray_test_window_launcher_test_open_spawns_subprocess", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L36"}, {"caller_nid": "tray_test_window_launcher_test_open_spawns_subprocess", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L38"}, {"caller_nid": "tray_test_window_launcher_test_close_terminates_subprocess", "callee": "WindowLauncher", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L43"}, {"caller_nid": "tray_test_window_launcher_test_close_terminates_subprocess", "callee": "object", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L44"}, {"caller_nid": "tray_test_window_launcher_test_close_terminates_subprocess", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L45"}, {"caller_nid": "tray_test_window_launcher_test_close_terminates_subprocess", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L48"}, {"caller_nid": "tray_test_window_launcher_test_close_is_idempotent", "callee": "WindowLauncher", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L54"}, {"caller_nid": "tray_test_window_launcher_test_close_is_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L55"}, {"caller_nid": "tray_test_window_launcher_test_close_is_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L56"}, {"caller_nid": "tray_test_window_launcher_test_open_focuses_existing", "callee": "WindowLauncher", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L61"}, {"caller_nid": "tray_test_window_launcher_test_open_focuses_existing", "callee": "object", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L62"}, {"caller_nid": "tray_test_window_launcher_test_open_focuses_existing", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L63"}, {"caller_nid": "tray_test_window_launcher_test_open_focuses_existing", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L65"}, {"caller_nid": "tray_test_window_launcher_test_open_focuses_existing", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L66"}, {"caller_nid": "tray_test_window_launcher_test_open_focuses_existing", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L67"}, {"caller_nid": "tray_test_window_launcher_test_open_focuses_existing", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L68"}, {"caller_nid": "tray_test_window_launcher_test_open_focuses_existing", "callee": "getMessage", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L68"}, {"caller_nid": "tray_test_window_launcher_test_resolve_window_executable_prefers_env_var", "callee": "setenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L72"}, {"caller_nid": "tray_test_window_launcher_test_resolve_window_executable_prefers_env_var", "callee": "_resolve_window_executable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L73"}, {"caller_nid": "tray_test_window_launcher_test_resolve_window_executable_uses_path", "callee": "delenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L77"}, {"caller_nid": "tray_test_window_launcher_test_resolve_window_executable_uses_path", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L78"}, {"caller_nid": "tray_test_window_launcher_test_resolve_window_executable_uses_path", "callee": "_resolve_window_executable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L82"}, {"caller_nid": "tray_test_window_launcher_test_resolve_window_executable_falls_back_to_module", "callee": "delenv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L88"}, {"caller_nid": "tray_test_window_launcher_test_resolve_window_executable_falls_back_to_module", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L89"}, {"caller_nid": "tray_test_window_launcher_test_resolve_window_executable_falls_back_to_module", "callee": "_resolve_window_executable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L90"}, {"caller_nid": "tray_test_window_launcher_test_window_executable_override", "callee": "WindowLauncher", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L96"}, {"caller_nid": "tray_test_window_launcher_test_window_executable_override", "callee": "_argv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L100"}, {"caller_nid": "tray_test_window_launcher_test_argv_falls_through_resolve_helper", "callee": "WindowLauncher", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L105"}, {"caller_nid": "tray_test_window_launcher_test_argv_falls_through_resolve_helper", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L106"}, {"caller_nid": "tray_test_window_launcher_test_argv_falls_through_resolve_helper", "callee": "_argv", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L110"}, {"caller_nid": "tray_test_window_launcher_test_pid_is_none_before_open", "callee": "WindowLauncher", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L114"}, {"caller_nid": "tray_test_window_launcher_test_close_kills_unresponsive_process", "callee": "WindowLauncher", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L120"}, {"caller_nid": "tray_test_window_launcher_test_close_kills_unresponsive_process", "callee": "_ZombieProc", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L146"}, {"caller_nid": "tray_test_window_launcher_test_close_kills_unresponsive_process", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py", "source_location": "L148"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/d55c110e167e4907f0a2e08bb216c5b9a78d4182b72b3af5ac69448a05607bfb.json b/graphify-out/cache/ast/d55c110e167e4907f0a2e08bb216c5b9a78d4182b72b3af5ac69448a05607bfb.json deleted file mode 100644 index 35dc12b..0000000 --- a/graphify-out/cache/ast/d55c110e167e4907f0a2e08bb216c5b9a78d4182b72b3af5ac69448a05607bfb.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_user_guide_07_orchestrator_md", "label": "07_orchestrator.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L1"}, {"id": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging", "label": "3.7 Monitor Orchestrator Staging", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L1"}, {"id": "user_guide_07_orchestrator_capability_summary", "label": "Capability summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L3"}, {"id": "user_guide_07_orchestrator_walkthrough", "label": "Walkthrough", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L16"}, {"id": "user_guide_07_orchestrator_screenshots", "label": "Screenshots", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L29"}, {"id": "user_guide_07_orchestrator_codeblock_1", "label": "code:{image} (:alt: Staging dock with one row in the staging state)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L31"}, {"id": "user_guide_07_orchestrator_codeblock_2", "label": "code:{image} (:alt: Main window with the orchestrator staging panel enable)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L36"}, {"id": "user_guide_07_orchestrator_related_material", "label": "Related material", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L41"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_user_guide_07_orchestrator_md", "target": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L1", "weight": 1.0}, {"source": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging", "target": "user_guide_07_orchestrator_capability_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L3", "weight": 1.0}, {"source": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging", "target": "user_guide_07_orchestrator_walkthrough", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L16", "weight": 1.0}, {"source": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging", "target": "user_guide_07_orchestrator_screenshots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L29", "weight": 1.0}, {"source": "user_guide_07_orchestrator_screenshots", "target": "user_guide_07_orchestrator_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L31", "weight": 1.0}, {"source": "user_guide_07_orchestrator_screenshots", "target": "user_guide_07_orchestrator_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L36", "weight": 1.0}, {"source": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging", "target": "user_guide_07_orchestrator_related_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md", "source_location": "L41", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/d7033176f0b9ac2ec38d6ff94e6d13d55167fd4cd99fe182b9679f5bfe79d4b0.json b/graphify-out/cache/ast/d7033176f0b9ac2ec38d6ff94e6d13d55167fd4cd99fe182b9679f5bfe79d4b0.json deleted file mode 100644 index 4e639fe..0000000 --- a/graphify-out/cache/ast/d7033176f0b9ac2ec38d6ff94e6d13d55167fd4cd99fe182b9679f5bfe79d4b0.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "label": "notifications.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L1"}, {"id": "tray_notifications_notify", "label": "notify()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L50"}, {"id": "tray_notifications_default_notifier", "label": "_default_notifier()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L70"}, {"id": "tray_notifications_noop_notifier", "label": "_noop_notifier()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L80"}, {"id": "tray_notifications_bucket", "label": "_Bucket", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L90"}, {"id": "tray_notifications_notificationbus", "label": "NotificationBus", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L99"}, {"id": "tray_notifications_notificationbus_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L108"}, {"id": "tray_notifications_notificationbus_emit", "label": ".emit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L125"}, {"id": "tray_notifications_notificationbus_flush_pending", "label": ".flush_pending()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L153"}, {"id": "tray_notifications_notificationbus_cancel_all", "label": ".cancel_all()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L166"}, {"id": "tray_notifications_notificationbus_flush", "label": "._flush()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L178"}, {"id": "tray_notifications_coalesced_message", "label": "_coalesced_message()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L192"}, {"id": "tray_notifications_rationale_1", "label": "OS notifications via plyer with 5-second coalescing. Backend Spec \u00a715.7.3. Two", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L1"}, {"id": "tray_notifications_rationale_56", "label": "Fire a plyer notification (or an injected stub). ``notifier`` defaults to `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L56"}, {"id": "tray_notifications_rationale_71", "label": "Resolve the plyer notifier lazily; safe even when plyer's backend errors.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L71"}, {"id": "tray_notifications_rationale_91", "label": "Per-trigger coalescing bucket.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L91"}, {"id": "tray_notifications_rationale_100", "label": "Coalescing layer over :func:`notify`. The launcher constructs one bus and t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L100"}, {"id": "tray_notifications_rationale_126", "label": "Submit a notification trigger. If the window is foregrounded the call i", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L126"}, {"id": "tray_notifications_rationale_154", "label": "Drain every active bucket synchronously. Returns the bucket count. Used", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L154"}, {"id": "tray_notifications_rationale_167", "label": "Cancel every active timer without firing the notifications.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L167"}, {"id": "tray_notifications_rationale_193", "label": "Render the coalesced summary string for a burst of ``count`` events.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L193"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "tray_notifications_notify", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "tray_notifications_default_notifier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "tray_notifications_noop_notifier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L80", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "tray_notifications_bucket", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "tray_notifications_notificationbus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L99", "weight": 1.0}, {"source": "tray_notifications_notificationbus", "target": "tray_notifications_notificationbus_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L108", "weight": 1.0}, {"source": "tray_notifications_notificationbus", "target": "tray_notifications_notificationbus_emit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L125", "weight": 1.0}, {"source": "tray_notifications_notificationbus", "target": "tray_notifications_notificationbus_flush_pending", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L153", "weight": 1.0}, {"source": "tray_notifications_notificationbus", "target": "tray_notifications_notificationbus_cancel_all", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L166", "weight": 1.0}, {"source": "tray_notifications_notificationbus", "target": "tray_notifications_notificationbus_flush", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L178", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "target": "tray_notifications_coalesced_message", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L192", "weight": 1.0}, {"source": "tray_notifications_notify", "target": "tray_notifications_default_notifier", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L63", "weight": 1.0}, {"source": "tray_notifications_notificationbus_emit", "target": "tray_notifications_bucket", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L141", "weight": 1.0}, {"source": "tray_notifications_notificationbus_flush_pending", "target": "tray_notifications_notificationbus_flush", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L163", "weight": 1.0}, {"source": "tray_notifications_notificationbus_flush", "target": "tray_notifications_coalesced_message", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L188", "weight": 1.0}, {"source": "tray_notifications_notificationbus_flush", "target": "tray_notifications_notify", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L189", "weight": 1.0}, {"source": "tray_notifications_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_tray_notifications_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_notifications_rationale_56", "target": "tray_notifications_notify", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L56", "weight": 1.0}, {"source": "tray_notifications_rationale_71", "target": "tray_notifications_default_notifier", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L71", "weight": 1.0}, {"source": "tray_notifications_rationale_91", "target": "tray_notifications_bucket", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L91", "weight": 1.0}, {"source": "tray_notifications_rationale_100", "target": "tray_notifications_notificationbus", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L100", "weight": 1.0}, {"source": "tray_notifications_rationale_126", "target": "tray_notifications_notificationbus_emit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L126", "weight": 1.0}, {"source": "tray_notifications_rationale_154", "target": "tray_notifications_notificationbus_flush_pending", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L154", "weight": 1.0}, {"source": "tray_notifications_rationale_167", "target": "tray_notifications_notificationbus_cancel_all", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L167", "weight": 1.0}, {"source": "tray_notifications_rationale_193", "target": "tray_notifications_coalesced_message", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L193", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_notifications_notify", "callee": "fn", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L65"}, {"caller_nid": "tray_notifications_notify", "callee": "exception", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L67"}, {"caller_nid": "tray_notifications_noop_notifier", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L81"}, {"caller_nid": "tray_notifications_notificationbus_init", "callee": "float", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L117"}, {"caller_nid": "tray_notifications_notificationbus_init", "callee": "Lock", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L119"}, {"caller_nid": "tray_notifications_notificationbus_emit", "callee": "_is_foreground", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L134"}, {"caller_nid": "tray_notifications_notificationbus_emit", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L135"}, {"caller_nid": "tray_notifications_notificationbus_emit", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L139"}, {"caller_nid": "tray_notifications_notificationbus_emit", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L145"}, {"caller_nid": "tray_notifications_notificationbus_emit", "callee": "Timer", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L146"}, {"caller_nid": "tray_notifications_notificationbus_emit", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L148"}, {"caller_nid": "tray_notifications_notificationbus_flush_pending", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L161"}, {"caller_nid": "tray_notifications_notificationbus_flush_pending", "callee": "keys", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L161"}, {"caller_nid": "tray_notifications_notificationbus_flush_pending", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L164"}, {"caller_nid": "tray_notifications_notificationbus_cancel_all", "callee": "values", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L169"}, {"caller_nid": "tray_notifications_notificationbus_cancel_all", "callee": "cancel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L171"}, {"caller_nid": "tray_notifications_notificationbus_cancel_all", "callee": "clear", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L172"}, {"caller_nid": "tray_notifications_notificationbus_flush", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L180"}, {"caller_nid": "tray_notifications_notificationbus_flush", "callee": "cancel", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py", "source_location": "L184"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/d76e29c53767405f18ffebfb133d434a46c2b38ec110c4a227e75dd0b1625c10.json b/graphify-out/cache/ast/d76e29c53767405f18ffebfb133d434a46c2b38ec110c4a227e75dd0b1625c10.json deleted file mode 100644 index 0df3bcf..0000000 --- a/graphify-out/cache/ast/d76e29c53767405f18ffebfb133d434a46c2b38ec110c4a227e75dd0b1625c10.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_io_yaml_files_py", "label": "yaml_files.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L1"}, {"id": "io_yaml_files_load_yaml_manifest", "label": "load_yaml_manifest()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L20"}, {"id": "io_yaml_files_rationale_1", "label": "Shared YAML manifest reader (PyYAML safe-load). Used for read-only manifests wh", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L1"}, {"id": "io_yaml_files_rationale_21", "label": "Read and ``safe_load`` a YAML manifest into a plain dict. Raises ``FileNotF", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L21"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_yaml_files_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_yaml_files_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_yaml_files_py", "target": "yaml", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_yaml_files_py", "target": "io_yaml_files_load_yaml_manifest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L20", "weight": 1.0}, {"source": "io_yaml_files_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_io_yaml_files_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L1", "weight": 1.0}, {"source": "io_yaml_files_rationale_21", "target": "io_yaml_files_load_yaml_manifest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L21", "weight": 1.0}], "raw_calls": [{"caller_nid": "io_yaml_files_load_yaml_manifest", "callee": "safe_load", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L28"}, {"caller_nid": "io_yaml_files_load_yaml_manifest", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L28"}, {"caller_nid": "io_yaml_files_load_yaml_manifest", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py", "source_location": "L29"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/d7faaf4a2f9cc8b6887e77a49bb7651ff547e9c0e83e0e210904c46616bb8985.json b/graphify-out/cache/ast/d7faaf4a2f9cc8b6887e77a49bb7651ff547e9c0e83e0e210904c46616bb8985.json deleted file mode 100644 index 9d9d871..0000000 --- a/graphify-out/cache/ast/d7faaf4a2f9cc8b6887e77a49bb7651ff547e9c0e83e0e210904c46616bb8985.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "label": "test_nas_client.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L1"}, {"id": "sync_test_nas_client_build_config", "label": "_build_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L55"}, {"id": "sync_test_nas_client_make_creation", "label": "_make_creation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L86"}, {"id": "sync_test_nas_client_populate_run", "label": "_populate_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L106"}, {"id": "sync_test_nas_client_make_push_factory", "label": "_make_push_factory()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L119"}, {"id": "sync_test_nas_client_writer", "label": "writer()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L136"}, {"id": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "label": "test_enqueue_blocks_run_with_hard_finding_no_override()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L145"}, {"id": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "label": "test_enqueue_clean_run_creates_queued_row()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L176"}, {"id": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "label": "test_enqueue_with_active_override_unblocks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L206"}, {"id": "sync_test_nas_client_test_status_returns_none_when_no_job", "label": "test_status_returns_none_when_no_job()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L254"}, {"id": "sync_test_nas_client_test_retry_resets_failed_to_queued", "label": "test_retry_resets_failed_to_queued()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L275"}, {"id": "sync_test_nas_client_test_force_verify_returns_self_consistent", "label": "test_force_verify_returns_self_consistent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L310"}, {"id": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "label": "test_worker_drives_to_verified_and_marks_synced()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L334"}, {"id": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "label": "test_worker_terminal_failed_on_auth_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L376"}, {"id": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "label": "test_enqueue_existing_failed_resets_to_queued()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L402"}, {"id": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "label": "test_enqueue_idempotent_for_already_queued_row()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L435"}, {"id": "sync_test_nas_client_test_close_is_idempotent", "label": "test_close_is_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L469"}, {"id": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "label": "test_mark_cleaned_writes_cleaned_to_creation_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L487"}, {"id": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", "label": "test_mark_cleaned_is_noop_when_creation_json_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L509"}, {"id": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "label": "test_enqueue_with_files_inserts_subset()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L536"}, {"id": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "label": "test_enqueue_requeues_terminal_job_with_new_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L564"}, {"id": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "label": "test_enqueue_noops_active_job_with_new_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L599"}, {"id": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "label": "test_apply_config_swaps_equipment_map()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L636"}, {"id": "sync_test_nas_client_rationale_1", "label": "Unit tests for ``exlab_wizard.sync.nas_client.NASSyncClient``. Backend Spec \u00a77.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L1"}, {"id": "sync_test_nas_client_rationale_107", "label": "Build a clean run directory with a creation.json under EQ1/PROJ-0042/.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L107"}, {"id": "sync_test_nas_client_rationale_122", "label": "A push callable factory that yields deterministic outcomes for tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L122"}, {"id": "sync_test_nas_client_rationale_148", "label": "A run path containing ```` is gated and not queued.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L148"}, {"id": "sync_test_nas_client_rationale_209", "label": "A run with placeholder findings + matching active overrides is queued.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L209"}, {"id": "sync_test_nas_client_rationale_337", "label": "A successful push -> AWAITING_VERIFY -> VERIFIED -> sync_status='synced'.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L337"}, {"id": "sync_test_nas_client_rationale_405", "label": "Re-enqueueing a FAILED row resets it back to QUEUED.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L405"}, {"id": "sync_test_nas_client_rationale_438", "label": "Enqueueing twice for the same path returns the same job id.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L438"}, {"id": "sync_test_nas_client_rationale_490", "label": "``_mark_cleaned`` flips ``creation.json.sync_status`` to ``\"cleaned\"``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L490"}, {"id": "sync_test_nas_client_rationale_512", "label": "With ``retain_cache=False`` the cache dir is gone; ``_mark_cleaned`` no-ops.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L512"}, {"id": "sync_test_nas_client_rationale_537", "label": "``enqueue(run, files=[...])`` stores the subset on the queue row.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L537"}, {"id": "sync_test_nas_client_rationale_567", "label": "A terminal (FAILED) job is re-armed in QUEUED with a fresh file subset.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L567"}, {"id": "sync_test_nas_client_rationale_602", "label": "An active (QUEUED) job is left untouched when re-enqueued with new files.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L602"}, {"id": "sync_test_nas_client_rationale_637", "label": "A live config swap rebuilds the equipment lookup in place.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L637"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "exlab_wizard_sync_nas_client", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "exlab_wizard_sync_queue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "exlab_wizard_sync_transports", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "tests_unit_sync_helpers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_build_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_make_creation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_populate_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L106", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_make_push_factory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L119", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_writer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L136", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L145", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L176", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L206", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_status_returns_none_when_no_job", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L254", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_retry_resets_failed_to_queued", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L275", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_force_verify_returns_self_consistent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L310", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L334", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L376", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L402", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L435", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_close_is_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L469", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L487", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L509", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L536", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L564", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L599", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "target": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L636", "weight": 1.0}, {"source": "sync_test_nas_client_populate_run", "target": "sync_test_nas_client_make_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L114", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L149", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "target": "sync_test_nas_client_make_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L155", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L163", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L177", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L178", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L185", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L210", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "target": "sync_test_nas_client_make_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L236", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L244", "weight": 1.0}, {"source": "sync_test_nas_client_test_status_returns_none_when_no_job", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L255", "weight": 1.0}, {"source": "sync_test_nas_client_test_status_returns_none_when_no_job", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L261", "weight": 1.0}, {"source": "sync_test_nas_client_test_retry_resets_failed_to_queued", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L276", "weight": 1.0}, {"source": "sync_test_nas_client_test_retry_resets_failed_to_queued", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L277", "weight": 1.0}, {"source": "sync_test_nas_client_test_retry_resets_failed_to_queued", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L285", "weight": 1.0}, {"source": "sync_test_nas_client_test_force_verify_returns_self_consistent", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L311", "weight": 1.0}, {"source": "sync_test_nas_client_test_force_verify_returns_self_consistent", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L312", "weight": 1.0}, {"source": "sync_test_nas_client_test_force_verify_returns_self_consistent", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L319", "weight": 1.0}, {"source": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L338", "weight": 1.0}, {"source": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L339", "weight": 1.0}, {"source": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L346", "weight": 1.0}, {"source": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L377", "weight": 1.0}, {"source": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L378", "weight": 1.0}, {"source": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L385", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L406", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L407", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L414", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L439", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L440", "weight": 1.0}, {"source": "sync_test_nas_client_test_close_is_idempotent", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L470", "weight": 1.0}, {"source": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L491", "weight": 1.0}, {"source": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L492", "weight": 1.0}, {"source": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L513", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L538", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L539", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L568", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L569", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L576", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L603", "weight": 1.0}, {"source": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "target": "sync_test_nas_client_populate_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L604", "weight": 1.0}, {"source": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "target": "sync_test_nas_client_build_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L639", "weight": 1.0}, {"source": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "target": "sync_test_nas_client_make_push_factory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L643", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_sync_test_nas_client_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_107", "target": "sync_test_nas_client_populate_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L107", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_122", "target": "sync_test_nas_client_make_push_factory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L122", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_148", "target": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L148", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_209", "target": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L209", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_337", "target": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L337", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_405", "target": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L405", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_438", "target": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L438", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_490", "target": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L490", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_512", "target": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L512", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_537", "target": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L537", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_567", "target": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L567", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_602", "target": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L602", "weight": 1.0}, {"source": "sync_test_nas_client_rationale_637", "target": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L637", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_test_nas_client_build_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L56"}, {"caller_nid": "sync_test_nas_client_build_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L57"}, {"caller_nid": "sync_test_nas_client_build_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L60"}, {"caller_nid": "sync_test_nas_client_build_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L63"}, {"caller_nid": "sync_test_nas_client_build_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L66"}, {"caller_nid": "sync_test_nas_client_build_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L68"}, {"caller_nid": "sync_test_nas_client_build_config", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L73"}, {"caller_nid": "sync_test_nas_client_build_config", "callee": "NASCleanupConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L77"}, {"caller_nid": "sync_test_nas_client_make_creation", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L87"}, {"caller_nid": "sync_test_nas_client_make_creation", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L93"}, {"caller_nid": "sync_test_nas_client_make_creation", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L94"}, {"caller_nid": "sync_test_nas_client_make_creation", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L101"}, {"caller_nid": "sync_test_nas_client_make_creation", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L101"}, {"caller_nid": "sync_test_nas_client_populate_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L109"}, {"caller_nid": "sync_test_nas_client_populate_run", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L110"}, {"caller_nid": "sync_test_nas_client_populate_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L112"}, {"caller_nid": "sync_test_nas_client_populate_run", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L115"}, {"caller_nid": "sync_test_nas_client_populate_run", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L115"}, {"caller_nid": "sync_test_nas_client_writer", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L137"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L151"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L153"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L156"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L156"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L158"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L161"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L165"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L167"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L170"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L170"}, {"caller_nid": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L173"}, {"caller_nid": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L180"}, {"caller_nid": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L183"}, {"caller_nid": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L187"}, {"caller_nid": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L189"}, {"caller_nid": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "callee": "status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L193"}, {"caller_nid": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L203"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L212"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L214"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L217"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L218"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "override_entry_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L226"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "OverrideEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L227"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L237"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L237"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L239"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L242"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L246"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L248"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L251"}, {"caller_nid": "sync_test_nas_client_test_status_returns_none_when_no_job", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L256"}, {"caller_nid": "sync_test_nas_client_test_status_returns_none_when_no_job", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L259"}, {"caller_nid": "sync_test_nas_client_test_status_returns_none_when_no_job", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L263"}, {"caller_nid": "sync_test_nas_client_test_status_returns_none_when_no_job", "callee": "status", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L265"}, {"caller_nid": "sync_test_nas_client_test_status_returns_none_when_no_job", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L267"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L279"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L282"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L288"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L290"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L292"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L293"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L296"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L298"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "retry", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L300"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L301"}, {"caller_nid": "sync_test_nas_client_test_retry_resets_failed_to_queued", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L307"}, {"caller_nid": "sync_test_nas_client_test_force_verify_returns_self_consistent", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L314"}, {"caller_nid": "sync_test_nas_client_test_force_verify_returns_self_consistent", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L317"}, {"caller_nid": "sync_test_nas_client_test_force_verify_returns_self_consistent", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L321"}, {"caller_nid": "sync_test_nas_client_test_force_verify_returns_self_consistent", "callee": "force_verify", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L323"}, {"caller_nid": "sync_test_nas_client_test_force_verify_returns_self_consistent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L326"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L341"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L344"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "local_check_factory", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L350"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L355"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L357"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L358"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L359"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L366"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L368"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L370"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L370"}, {"caller_nid": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L373"}, {"caller_nid": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L380"}, {"caller_nid": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L383"}, {"caller_nid": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L388"}, {"caller_nid": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L390"}, {"caller_nid": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L391"}, {"caller_nid": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L392"}, {"caller_nid": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L395"}, {"caller_nid": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L397"}, {"caller_nid": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L399"}, {"caller_nid": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L409"}, {"caller_nid": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L412"}, {"caller_nid": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L417"}, {"caller_nid": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L419"}, {"caller_nid": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L420"}, {"caller_nid": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L421"}, {"caller_nid": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L424"}, {"caller_nid": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L426"}, {"caller_nid": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L428"}, {"caller_nid": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L432"}, {"caller_nid": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L452"}, {"caller_nid": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L455"}, {"caller_nid": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L460"}, {"caller_nid": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L462"}, {"caller_nid": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L463"}, {"caller_nid": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L466"}, {"caller_nid": "sync_test_nas_client_test_close_is_idempotent", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L471"}, {"caller_nid": "sync_test_nas_client_test_close_is_idempotent", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L474"}, {"caller_nid": "sync_test_nas_client_test_close_is_idempotent", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L477"}, {"caller_nid": "sync_test_nas_client_test_close_is_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L478"}, {"caller_nid": "sync_test_nas_client_test_close_is_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L479"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L493"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L496"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L499"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "callee": "_mark_cleaned", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L501"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L503"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L503"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L506"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L515"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L517"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L520"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L523"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", "callee": "_mark_cleaned", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L526"}, {"caller_nid": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L528"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L545"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L548"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L553"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L555"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "callee": "get_by_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L557"}, {"caller_nid": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L561"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L571"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L574"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L579"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L581"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L582"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L583"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L586"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "fail", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L588"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L590"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "get_by_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L592"}, {"caller_nid": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L596"}, {"caller_nid": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L610"}, {"caller_nid": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L613"}, {"caller_nid": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L618"}, {"caller_nid": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L620"}, {"caller_nid": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "callee": "enqueue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L621"}, {"caller_nid": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "callee": "get_by_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L624"}, {"caller_nid": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L628"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "NASSyncClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L638"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L641"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L642"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L645"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L647"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L648"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L648"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L650"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L653"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L655"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L660"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "apply_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L665"}, {"caller_nid": "sync_test_nas_client_test_apply_config_swaps_equipment_map", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py", "source_location": "L669"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/d815b109fb73b6284ca20783d4c9a09495a184c3acf2e578c2f85d00328a9fa4.json b/graphify-out/cache/ast/d815b109fb73b6284ca20783d4c9a09495a184c3acf2e578c2f85d00328a9fa4.json deleted file mode 100644 index 586f613..0000000 --- a/graphify-out/cache/ast/d815b109fb73b6284ca20783d4c9a09495a184c3acf2e578c2f85d00328a9fa4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "label": "test_validator_determinism.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L1"}, {"id": "integration_test_validator_determinism_build_creation_json_dict", "label": "_build_creation_json_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L49"}, {"id": "integration_test_validator_determinism_write_creation_json", "label": "_write_creation_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L83"}, {"id": "integration_test_validator_determinism_build_fixture_tree", "label": "_build_fixture_tree()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L89"}, {"id": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "label": "test_audit_two_calls_return_byte_identical_finding_lists()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L164"}, {"id": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "label": "test_audit_byte_identical_with_query_problems_alias()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L221"}, {"id": "integration_test_validator_determinism_rationale_1", "label": "Integration test: ``Validator.audit`` is byte-deterministic across runs. Backen", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L1"}, {"id": "integration_test_validator_determinism_rationale_90", "label": "Construct a tree with several findings in stable on-disk shape. The tree co", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L90"}, {"id": "integration_test_validator_determinism_rationale_165", "label": "Spec \u00a711.8 determinism: two ``audit`` calls produce identical findings. The", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L165"}, {"id": "integration_test_validator_determinism_rationale_222", "label": "``audit`` and ``query_problems`` produce byte-identical outputs. This is th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L222"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "exlab_wizard_validator_findings", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "integration_test_validator_determinism_build_creation_json_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L49", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "integration_test_validator_determinism_write_creation_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "integration_test_validator_determinism_build_fixture_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L164", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "target": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L221", "weight": 1.0}, {"source": "integration_test_validator_determinism_build_fixture_tree", "target": "integration_test_validator_determinism_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L112", "weight": 1.0}, {"source": "integration_test_validator_determinism_build_fixture_tree", "target": "integration_test_validator_determinism_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L112", "weight": 1.0}, {"source": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "target": "integration_test_validator_determinism_build_fixture_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L175", "weight": 1.0}, {"source": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "target": "integration_test_validator_determinism_build_fixture_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L229", "weight": 1.0}, {"source": "integration_test_validator_determinism_rationale_1", "target": "users_alex_projects_exlabwizard_tests_integration_test_validator_determinism_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L1", "weight": 1.0}, {"source": "integration_test_validator_determinism_rationale_90", "target": "integration_test_validator_determinism_build_fixture_tree", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L90", "weight": 1.0}, {"source": "integration_test_validator_determinism_rationale_165", "target": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L165", "weight": 1.0}, {"source": "integration_test_validator_determinism_rationale_222", "target": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L222", "weight": 1.0}], "raw_calls": [{"caller_nid": "integration_test_validator_determinism_write_creation_json", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L85"}, {"caller_nid": "integration_test_validator_determinism_write_creation_json", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L86"}, {"caller_nid": "integration_test_validator_determinism_write_creation_json", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L86"}, {"caller_nid": "integration_test_validator_determinism_write_creation_json", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L86"}, {"caller_nid": "integration_test_validator_determinism_build_fixture_tree", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L111"}, {"caller_nid": "integration_test_validator_determinism_build_fixture_tree", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L118"}, {"caller_nid": "integration_test_validator_determinism_build_fixture_tree", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L124"}, {"caller_nid": "integration_test_validator_determinism_build_fixture_tree", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L134"}, {"caller_nid": "integration_test_validator_determinism_build_fixture_tree", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L141"}, {"caller_nid": "integration_test_validator_determinism_build_fixture_tree", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L144"}, {"caller_nid": "integration_test_validator_determinism_build_fixture_tree", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L149"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L177"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L190"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L195"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L196"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L205"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L205"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "zip", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L206"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L207"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L208"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L214"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L215"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L216"}, {"caller_nid": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L217"}, {"caller_nid": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L230"}, {"caller_nid": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L231"}, {"caller_nid": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L236"}, {"caller_nid": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "callee": "query_problems", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L237"}, {"caller_nid": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L240"}, {"caller_nid": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L240"}, {"caller_nid": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L241"}, {"caller_nid": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", "callee": "to_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py", "source_location": "L241"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/d9dc45e17622b92b9e7745976978d836e68505c30793342048149bce1c6123e3.json b/graphify-out/cache/ast/d9dc45e17622b92b9e7745976978d836e68505c30793342048149bce1c6123e3.json deleted file mode 100644 index 7f348f3..0000000 --- a/graphify-out/cache/ast/d9dc45e17622b92b9e7745976978d836e68505c30793342048149bce1c6123e3.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "label": "file_list.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L1"}, {"id": "components_file_list_filelistentry", "label": "FileListEntry", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L38"}, {"id": "components_file_list_fileliststate", "label": "FileListState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L58"}, {"id": "components_file_list_filelistdiff", "label": "FileListDiff", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L68"}, {"id": "components_file_list_diff_file_lists", "label": "diff_file_lists()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L76"}, {"id": "components_file_list_render_file_list", "label": "render_file_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L112"}, {"id": "components_file_list_render_header", "label": "_render_header()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L155"}, {"id": "components_file_list_render_row", "label": "_render_row()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L180"}, {"id": "components_file_list_rationale_1", "label": "Live file-list component for the rebuilt main window. GUI/Orchestrator Redesign", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L1"}, {"id": "components_file_list_rationale_39", "label": "One row in the centre-pane file list. ``keep_local`` mirrors the file's ``s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L39"}, {"id": "components_file_list_rationale_59", "label": "Mutable state for the file list, consumed by the renderer.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L59"}, {"id": "components_file_list_rationale_69", "label": "Result of comparing two successive folder-list snapshots.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L69"}, {"id": "components_file_list_rationale_80", "label": "Return additions / removals / modifications between two snapshots. Pure fun", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L80"}, {"id": "components_file_list_rationale_118", "label": "Render the centre-pane file list. Pure render function. Double-clicking a f", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L118"}, {"id": "components_file_list_rationale_156", "label": "Render the file-list column header row (Name / Size / Modified / Status).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L156"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "exlab_wizard_ui_components_sync_status_icon", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "exlab_wizard_ui_pages_staging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "components_file_list_filelistentry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "components_file_list_fileliststate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "components_file_list_filelistdiff", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L68", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "components_file_list_diff_file_lists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "components_file_list_render_file_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "components_file_list_render_header", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L155", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "target": "components_file_list_render_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L180", "weight": 1.0}, {"source": "components_file_list_diff_file_lists", "target": "components_file_list_filelistdiff", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L105", "weight": 1.0}, {"source": "components_file_list_render_file_list", "target": "components_file_list_render_header", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L143", "weight": 1.0}, {"source": "components_file_list_render_file_list", "target": "components_file_list_render_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L146", "weight": 1.0}, {"source": "components_file_list_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_file_list_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L1", "weight": 1.0}, {"source": "components_file_list_rationale_39", "target": "components_file_list_filelistentry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L39", "weight": 1.0}, {"source": "components_file_list_rationale_59", "target": "components_file_list_fileliststate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L59", "weight": 1.0}, {"source": "components_file_list_rationale_69", "target": "components_file_list_filelistdiff", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L69", "weight": 1.0}, {"source": "components_file_list_rationale_80", "target": "components_file_list_diff_file_lists", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L80", "weight": 1.0}, {"source": "components_file_list_rationale_118", "target": "components_file_list_render_file_list", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L118", "weight": 1.0}, {"source": "components_file_list_rationale_156", "target": "components_file_list_render_header", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L156", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_file_list_diff_file_lists", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L89"}, {"caller_nid": "components_file_list_diff_file_lists", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L90"}, {"caller_nid": "components_file_list_diff_file_lists", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L91"}, {"caller_nid": "components_file_list_diff_file_lists", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L91"}, {"caller_nid": "components_file_list_diff_file_lists", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L92"}, {"caller_nid": "components_file_list_diff_file_lists", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L92"}, {"caller_nid": "components_file_list_diff_file_lists", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L94"}, {"caller_nid": "components_file_list_diff_file_lists", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L104"}, {"caller_nid": "components_file_list_diff_file_lists", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L108"}, {"caller_nid": "components_file_list_render_file_list", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L130"}, {"caller_nid": "components_file_list_render_file_list", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L130"}, {"caller_nid": "components_file_list_render_file_list", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L130"}, {"caller_nid": "components_file_list_render_file_list", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L132"}, {"caller_nid": "components_file_list_render_file_list", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L132"}, {"caller_nid": "components_file_list_render_file_list", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L132"}, {"caller_nid": "components_file_list_render_file_list", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L137"}, {"caller_nid": "components_file_list_render_file_list", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L137"}, {"caller_nid": "components_file_list_render_file_list", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L137"}, {"caller_nid": "components_file_list_render_file_list", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L137"}, {"caller_nid": "components_file_list_render_file_list", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L142"}, {"caller_nid": "components_file_list_render_file_list", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L144"}, {"caller_nid": "components_file_list_render_header", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L166"}, {"caller_nid": "components_file_list_render_header", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L166"}, {"caller_nid": "components_file_list_render_header", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L166"}, {"caller_nid": "components_file_list_render_header", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L176"}, {"caller_nid": "components_file_list_render_header", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L176"}, {"caller_nid": "components_file_list_render_header", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L176"}, {"caller_nid": "components_file_list_render_header", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L177"}, {"caller_nid": "components_file_list_render_row", "callee": "format_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L192"}, {"caller_nid": "components_file_list_render_row", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L192"}, {"caller_nid": "components_file_list_render_row", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L202"}, {"caller_nid": "components_file_list_render_row", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L202"}, {"caller_nid": "components_file_list_render_row", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L202"}, {"caller_nid": "components_file_list_render_row", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L208"}, {"caller_nid": "components_file_list_render_row", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L208"}, {"caller_nid": "components_file_list_render_row", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L208"}, {"caller_nid": "components_file_list_render_row", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L209"}, {"caller_nid": "components_file_list_render_row", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L211"}, {"caller_nid": "components_file_list_render_row", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L211"}, {"caller_nid": "components_file_list_render_row", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L211"}, {"caller_nid": "components_file_list_render_row", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L216"}, {"caller_nid": "components_file_list_render_row", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L216"}, {"caller_nid": "components_file_list_render_row", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L217"}, {"caller_nid": "components_file_list_render_row", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L218"}, {"caller_nid": "components_file_list_render_row", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L218"}, {"caller_nid": "components_file_list_render_row", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L219"}, {"caller_nid": "components_file_list_render_row", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L220"}, {"caller_nid": "components_file_list_render_row", "callee": "element", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L220"}, {"caller_nid": "components_file_list_render_row", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L221"}, {"caller_nid": "components_file_list_render_row", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L223"}, {"caller_nid": "components_file_list_render_row", "callee": "context_menu", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L223"}, {"caller_nid": "components_file_list_render_row", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L229"}, {"caller_nid": "components_file_list_render_row", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L229"}, {"caller_nid": "components_file_list_render_row", "callee": "menu_item", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L229"}, {"caller_nid": "components_file_list_render_row", "callee": "on_context_menu", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L231"}, {"caller_nid": "components_file_list_render_row", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L233"}, {"caller_nid": "components_file_list_render_row", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L233"}, {"caller_nid": "components_file_list_render_row", "callee": "menu_item", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L233"}, {"caller_nid": "components_file_list_render_row", "callee": "on_context_menu", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L235"}, {"caller_nid": "components_file_list_render_row", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L238"}, {"caller_nid": "components_file_list_render_row", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L238"}, {"caller_nid": "components_file_list_render_row", "callee": "menu_item", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L238"}, {"caller_nid": "components_file_list_render_row", "callee": "on_context_menu", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py", "source_location": "L240"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/d9f5576bb88ed5ba36c780dd555ee1b5c0a5548947ce1c887be092f2d0b61768.json b/graphify-out/cache/ast/d9f5576bb88ed5ba36c780dd555ee1b5c0a5548947ce1c887be092f2d0b61768.json deleted file mode 100644 index 3235a18..0000000 --- a/graphify-out/cache/ast/d9f5576bb88ed5ba36c780dd555ee1b5c0a5548947ce1c887be092f2d0b61768.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "label": "test_keyring_store.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L1"}, {"id": "lims_test_keyring_store_inmemorykeyring", "label": "_InMemoryKeyring", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L25"}, {"id": "lims_test_keyring_store_inmemorykeyring_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L30"}, {"id": "lims_test_keyring_store_inmemorykeyring_get_password", "label": ".get_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L33"}, {"id": "lims_test_keyring_store_inmemorykeyring_set_password", "label": ".set_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L36"}, {"id": "lims_test_keyring_store_inmemorykeyring_delete_password", "label": ".delete_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L39"}, {"id": "lims_test_keyring_store_brokenkeyring", "label": "_BrokenKeyring", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L45"}, {"id": "lims_test_keyring_store_brokenkeyring_get_password", "label": ".get_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L50"}, {"id": "lims_test_keyring_store_brokenkeyring_set_password", "label": ".set_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L53"}, {"id": "lims_test_keyring_store_brokenkeyring_delete_password", "label": ".delete_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L56"}, {"id": "lims_test_keyring_store_swap_keyring", "label": "_swap_keyring()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L61"}, {"id": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", "label": "test_set_get_delete_via_os_keyring()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L70"}, {"id": "lims_test_keyring_store_test_get_returns_none_for_missing", "label": "test_get_returns_none_for_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L79"}, {"id": "lims_test_keyring_store_test_delete_missing_is_silent", "label": "test_delete_missing_is_silent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L85"}, {"id": "lims_test_keyring_store_test_is_keyring_available_true", "label": "test_is_keyring_available_true()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L93"}, {"id": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend", "label": "test_is_keyring_available_false_on_broken_backend()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L99"}, {"id": "lims_test_keyring_store_test_fallback_round_trip", "label": "test_fallback_round_trip()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L105"}, {"id": "lims_test_keyring_store_test_fallback_delete", "label": "test_fallback_delete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L122"}, {"id": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", "label": "test_fallback_wrong_passphrase_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L138"}, {"id": "lims_test_keyring_store_test_fallback_no_passphrase_raises", "label": "test_fallback_no_passphrase_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L155"}, {"id": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", "label": "test_fallback_empty_passphrase_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L162"}, {"id": "lims_test_keyring_store_test_fallback_file_format_integrity", "label": "test_fallback_file_format_integrity()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L169"}, {"id": "lims_test_keyring_store_test_fallback_corrupt_file_raises", "label": "test_fallback_corrupt_file_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L185"}, {"id": "lims_test_keyring_store_test_fallback_unsupported_version_raises", "label": "test_fallback_unsupported_version_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L198"}, {"id": "lims_test_keyring_store_test_fallback_missing_fields_raises", "label": "test_fallback_missing_fields_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L212"}, {"id": "lims_test_keyring_store_test_fallback_set_then_overwrite", "label": "test_fallback_set_then_overwrite()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L224"}, {"id": "lims_test_keyring_store_test_keyring_set_failure_falls_back", "label": "test_keyring_set_failure_falls_back()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L236"}, {"id": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception", "label": "test_is_keyring_available_false_on_unexpected_exception()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L249"}, {"id": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", "label": "test_fallback_get_when_no_secrets_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L269"}, {"id": "lims_test_keyring_store_test_fallback_delete_when_no_file", "label": "test_fallback_delete_when_no_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L281"}, {"id": "lims_test_keyring_store_test_fallback_delete_when_username_absent", "label": "test_fallback_delete_when_username_absent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L292"}, {"id": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "label": "test_load_fallback_unreadable_path_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L306"}, {"id": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "label": "test_fallback_plaintext_must_be_object()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L324"}, {"id": "lims_test_keyring_store_test_envelope_must_be_object", "label": "test_envelope_must_be_object()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L360"}, {"id": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", "label": "test_get_consults_fallback_when_keyring_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L373"}, {"id": "lims_test_keyring_store_rationale_1", "label": "Tests for :class:`exlab_wizard.lims.keyring_store.KeyringStore`. The OS-keyring", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L1"}, {"id": "lims_test_keyring_store_rationale_26", "label": "Trivial in-memory keyring backend used to drive the OS-keyring path.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L26"}, {"id": "lims_test_keyring_store_rationale_46", "label": "Keyring backend that raises on every operation.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L46"}, {"id": "lims_test_keyring_store_rationale_106", "label": "Set + get via the encrypted fallback (no OS keyring).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L106"}, {"id": "lims_test_keyring_store_rationale_170", "label": "The fallback file is a JSON envelope with version, salt, ciphertext.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L170"}, {"id": "lims_test_keyring_store_rationale_225", "label": "A second ``set_password`` overwrites the prior secret.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L225"}, {"id": "lims_test_keyring_store_rationale_237", "label": "When the OS keyring set fails, the encrypted-at-rest write is used and a sub", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L237"}, {"id": "lims_test_keyring_store_rationale_250", "label": "A backend raising a non-KeyringError is also treated as unavailable.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L250"}, {"id": "lims_test_keyring_store_rationale_270", "label": "``get_password`` returns None (not error) when keyring is broken and the fal", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L270"}, {"id": "lims_test_keyring_store_rationale_282", "label": "Deleting against a broken keyring with no fallback file is silent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L282"}, {"id": "lims_test_keyring_store_rationale_293", "label": "Deleting a missing username in the fallback file is silent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L293"}, {"id": "lims_test_keyring_store_rationale_307", "label": "An OSError during fallback read surfaces as KeyringUnavailableError.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L307"}, {"id": "lims_test_keyring_store_rationale_325", "label": "If the decrypted plaintext is a non-object JSON value, the read raises.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L325"}, {"id": "lims_test_keyring_store_rationale_361", "label": "A JSON list at the envelope layer is rejected as malformed.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L361"}, {"id": "lims_test_keyring_store_rationale_374", "label": "If the OS keyring returns None but the fallback file exists, the fallback is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L374"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "base64", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "keyring", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "keyring_backend", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "keyring_errors", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "exlab_wizard_lims_keyring_store", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_inmemorykeyring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L25", "weight": 1.0}, {"source": "lims_test_keyring_store_inmemorykeyring", "target": "lims_test_keyring_store_inmemorykeyring_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L30", "weight": 1.0}, {"source": "lims_test_keyring_store_inmemorykeyring", "target": "lims_test_keyring_store_inmemorykeyring_get_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L33", "weight": 1.0}, {"source": "lims_test_keyring_store_inmemorykeyring", "target": "lims_test_keyring_store_inmemorykeyring_set_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L36", "weight": 1.0}, {"source": "lims_test_keyring_store_inmemorykeyring", "target": "lims_test_keyring_store_inmemorykeyring_delete_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_brokenkeyring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L45", "weight": 1.0}, {"source": "lims_test_keyring_store_brokenkeyring", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L50", "weight": 1.0}, {"source": "lims_test_keyring_store_brokenkeyring", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L53", "weight": 1.0}, {"source": "lims_test_keyring_store_brokenkeyring", "target": "lims_test_keyring_store_brokenkeyring_delete_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_swap_keyring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_get_returns_none_for_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L79", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_delete_missing_is_silent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_is_keyring_available_true", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L99", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_round_trip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L105", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_delete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L122", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L138", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_no_passphrase_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L155", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L162", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_file_format_integrity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L169", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_corrupt_file_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L185", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_unsupported_version_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L198", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_missing_fields_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L212", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_set_then_overwrite", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L224", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_keyring_set_failure_falls_back", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L236", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L249", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L269", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_delete_when_no_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L281", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_delete_when_username_absent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L292", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L306", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L324", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_envelope_must_be_object", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L360", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "target": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L373", "weight": 1.0}, {"source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L71", "weight": 1.0}, {"source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", "target": "lims_test_keyring_store_inmemorykeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L71", "weight": 1.0}, {"source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L73", "weight": 1.0}, {"source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L74", "weight": 1.0}, {"source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", "target": "lims_test_keyring_store_brokenkeyring_delete_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L75", "weight": 1.0}, {"source": "lims_test_keyring_store_test_get_returns_none_for_missing", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L80", "weight": 1.0}, {"source": "lims_test_keyring_store_test_get_returns_none_for_missing", "target": "lims_test_keyring_store_inmemorykeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L80", "weight": 1.0}, {"source": "lims_test_keyring_store_test_get_returns_none_for_missing", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L82", "weight": 1.0}, {"source": "lims_test_keyring_store_test_delete_missing_is_silent", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L86", "weight": 1.0}, {"source": "lims_test_keyring_store_test_delete_missing_is_silent", "target": "lims_test_keyring_store_inmemorykeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L86", "weight": 1.0}, {"source": "lims_test_keyring_store_test_delete_missing_is_silent", "target": "lims_test_keyring_store_brokenkeyring_delete_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L90", "weight": 1.0}, {"source": "lims_test_keyring_store_test_is_keyring_available_true", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L94", "weight": 1.0}, {"source": "lims_test_keyring_store_test_is_keyring_available_true", "target": "lims_test_keyring_store_inmemorykeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L94", "weight": 1.0}, {"source": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L100", "weight": 1.0}, {"source": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L100", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_round_trip", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L107", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_round_trip", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L107", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_round_trip", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L112", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_round_trip", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L119", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L123", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L123", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L128", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete", "target": "lims_test_keyring_store_brokenkeyring_delete_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L129", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L135", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L139", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L139", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L144", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L152", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_no_passphrase_raises", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L156", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_no_passphrase_raises", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L156", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_no_passphrase_raises", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L159", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L163", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L163", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L166", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_file_format_integrity", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L171", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_file_format_integrity", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L171", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_file_format_integrity", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L176", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_corrupt_file_raises", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L189", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_corrupt_file_raises", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L189", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_corrupt_file_raises", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L195", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_unsupported_version_raises", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L203", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_unsupported_version_raises", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L203", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_unsupported_version_raises", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L209", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_missing_fields_raises", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L215", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_missing_fields_raises", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L215", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_missing_fields_raises", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L221", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_set_then_overwrite", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L226", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_set_then_overwrite", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L226", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_set_then_overwrite", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L231", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_set_then_overwrite", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L233", "weight": 1.0}, {"source": "lims_test_keyring_store_test_keyring_set_failure_falls_back", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L240", "weight": 1.0}, {"source": "lims_test_keyring_store_test_keyring_set_failure_falls_back", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L240", "weight": 1.0}, {"source": "lims_test_keyring_store_test_keyring_set_failure_falls_back", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L245", "weight": 1.0}, {"source": "lims_test_keyring_store_test_keyring_set_failure_falls_back", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L246", "weight": 1.0}, {"source": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L264", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L273", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L273", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L278", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete_when_no_file", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L283", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete_when_no_file", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L283", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete_when_no_file", "target": "lims_test_keyring_store_brokenkeyring_delete_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L289", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L294", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L294", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L299", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", "target": "lims_test_keyring_store_brokenkeyring_delete_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L302", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L303", "weight": 1.0}, {"source": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L315", "weight": 1.0}, {"source": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L315", "weight": 1.0}, {"source": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L321", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L351", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L351", "weight": 1.0}, {"source": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L357", "weight": 1.0}, {"source": "lims_test_keyring_store_test_envelope_must_be_object", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L364", "weight": 1.0}, {"source": "lims_test_keyring_store_test_envelope_must_be_object", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L364", "weight": 1.0}, {"source": "lims_test_keyring_store_test_envelope_must_be_object", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L370", "weight": 1.0}, {"source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", "target": "lims_test_keyring_store_swap_keyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L378", "weight": 1.0}, {"source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", "target": "lims_test_keyring_store_brokenkeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L378", "weight": 1.0}, {"source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", "target": "lims_test_keyring_store_brokenkeyring_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L383", "weight": 1.0}, {"source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", "target": "lims_test_keyring_store_inmemorykeyring", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L386", "weight": 1.0}, {"source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", "target": "lims_test_keyring_store_brokenkeyring_get_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L391", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_lims_test_keyring_store_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L1", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_26", "target": "lims_test_keyring_store_inmemorykeyring", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L26", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_46", "target": "lims_test_keyring_store_brokenkeyring", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L46", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_106", "target": "lims_test_keyring_store_test_fallback_round_trip", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L106", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_170", "target": "lims_test_keyring_store_test_fallback_file_format_integrity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L170", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_225", "target": "lims_test_keyring_store_test_fallback_set_then_overwrite", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L225", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_237", "target": "lims_test_keyring_store_test_keyring_set_failure_falls_back", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L237", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_250", "target": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L250", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_270", "target": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L270", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_282", "target": "lims_test_keyring_store_test_fallback_delete_when_no_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L282", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_293", "target": "lims_test_keyring_store_test_fallback_delete_when_username_absent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L293", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_307", "target": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L307", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_325", "target": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L325", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_361", "target": "lims_test_keyring_store_test_envelope_must_be_object", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L361", "weight": 1.0}, {"source": "lims_test_keyring_store_rationale_374", "target": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L374", "weight": 1.0}], "raw_calls": [{"caller_nid": "lims_test_keyring_store_inmemorykeyring_get_password", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L34"}, {"caller_nid": "lims_test_keyring_store_inmemorykeyring_delete_password", "callee": "PasswordDeleteError", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L41"}, {"caller_nid": "lims_test_keyring_store_brokenkeyring_get_password", "callee": "KeyringError", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L51"}, {"caller_nid": "lims_test_keyring_store_brokenkeyring_set_password", "callee": "KeyringError", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L54"}, {"caller_nid": "lims_test_keyring_store_brokenkeyring_delete_password", "callee": "KeyringError", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L57"}, {"caller_nid": "lims_test_keyring_store_swap_keyring", "callee": "get_keyring", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L62"}, {"caller_nid": "lims_test_keyring_store_swap_keyring", "callee": "set_keyring", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L63"}, {"caller_nid": "lims_test_keyring_store_swap_keyring", "callee": "set_keyring", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L67"}, {"caller_nid": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L72"}, {"caller_nid": "lims_test_keyring_store_test_get_returns_none_for_missing", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L81"}, {"caller_nid": "lims_test_keyring_store_test_delete_missing_is_silent", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L87"}, {"caller_nid": "lims_test_keyring_store_test_is_keyring_available_true", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L95"}, {"caller_nid": "lims_test_keyring_store_test_is_keyring_available_true", "callee": "is_keyring_available", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L96"}, {"caller_nid": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L101"}, {"caller_nid": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend", "callee": "is_keyring_available", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L102"}, {"caller_nid": "lims_test_keyring_store_test_fallback_round_trip", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L108"}, {"caller_nid": "lims_test_keyring_store_test_fallback_round_trip", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L113"}, {"caller_nid": "lims_test_keyring_store_test_fallback_round_trip", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L115"}, {"caller_nid": "lims_test_keyring_store_test_fallback_delete", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L124"}, {"caller_nid": "lims_test_keyring_store_test_fallback_delete", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L131"}, {"caller_nid": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L140"}, {"caller_nid": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L147"}, {"caller_nid": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L151"}, {"caller_nid": "lims_test_keyring_store_test_fallback_no_passphrase_raises", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L157"}, {"caller_nid": "lims_test_keyring_store_test_fallback_no_passphrase_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L158"}, {"caller_nid": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L164"}, {"caller_nid": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L165"}, {"caller_nid": "lims_test_keyring_store_test_fallback_file_format_integrity", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L172"}, {"caller_nid": "lims_test_keyring_store_test_fallback_file_format_integrity", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L177"}, {"caller_nid": "lims_test_keyring_store_test_fallback_file_format_integrity", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L177"}, {"caller_nid": "lims_test_keyring_store_test_fallback_file_format_integrity", "callee": "b64decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L181"}, {"caller_nid": "lims_test_keyring_store_test_fallback_file_format_integrity", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L182"}, {"caller_nid": "lims_test_keyring_store_test_fallback_file_format_integrity", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L182"}, {"caller_nid": "lims_test_keyring_store_test_fallback_corrupt_file_raises", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L187"}, {"caller_nid": "lims_test_keyring_store_test_fallback_corrupt_file_raises", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L188"}, {"caller_nid": "lims_test_keyring_store_test_fallback_corrupt_file_raises", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L190"}, {"caller_nid": "lims_test_keyring_store_test_fallback_corrupt_file_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L194"}, {"caller_nid": "lims_test_keyring_store_test_fallback_unsupported_version_raises", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L200"}, {"caller_nid": "lims_test_keyring_store_test_fallback_unsupported_version_raises", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L201"}, {"caller_nid": "lims_test_keyring_store_test_fallback_unsupported_version_raises", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L204"}, {"caller_nid": "lims_test_keyring_store_test_fallback_unsupported_version_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L208"}, {"caller_nid": "lims_test_keyring_store_test_fallback_missing_fields_raises", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L214"}, {"caller_nid": "lims_test_keyring_store_test_fallback_missing_fields_raises", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L214"}, {"caller_nid": "lims_test_keyring_store_test_fallback_missing_fields_raises", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L216"}, {"caller_nid": "lims_test_keyring_store_test_fallback_missing_fields_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L220"}, {"caller_nid": "lims_test_keyring_store_test_fallback_set_then_overwrite", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L227"}, {"caller_nid": "lims_test_keyring_store_test_keyring_set_failure_falls_back", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L241"}, {"caller_nid": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception", "callee": "_ExplodingKeyring", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L264"}, {"caller_nid": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L265"}, {"caller_nid": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception", "callee": "is_keyring_available", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L266"}, {"caller_nid": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L274"}, {"caller_nid": "lims_test_keyring_store_test_fallback_delete_when_no_file", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L284"}, {"caller_nid": "lims_test_keyring_store_test_fallback_delete_when_username_absent", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L295"}, {"caller_nid": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L309"}, {"caller_nid": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L314"}, {"caller_nid": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L314"}, {"caller_nid": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L316"}, {"caller_nid": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L320"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "urandom", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L332"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "hash_secret_raw", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L333"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "urlsafe_b64encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L342"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L343"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "encrypt", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L343"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "Fernet", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L343"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L346"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "b64encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L346"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L350"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L350"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L352"}, {"caller_nid": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L356"}, {"caller_nid": "lims_test_keyring_store_test_envelope_must_be_object", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L363"}, {"caller_nid": "lims_test_keyring_store_test_envelope_must_be_object", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L363"}, {"caller_nid": "lims_test_keyring_store_test_envelope_must_be_object", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L365"}, {"caller_nid": "lims_test_keyring_store_test_envelope_must_be_object", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L369"}, {"caller_nid": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L379"}, {"caller_nid": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", "callee": "KeyringStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py", "source_location": "L387"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/da7faa4bd9e9bcefbfaaebb37334963f83a63d0b84d931744f974aec81a6bae4.json b/graphify-out/cache/ast/da7faa4bd9e9bcefbfaaebb37334963f83a63d0b84d931744f974aec81a6bae4.json deleted file mode 100644 index 3e032c3..0000000 --- a/graphify-out/cache/ast/da7faa4bd9e9bcefbfaaebb37334963f83a63d0b84d931744f974aec81a6bae4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "label": "test_file_list.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L1"}, {"id": "ui_test_file_list_entry", "label": "_entry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L14"}, {"id": "ui_test_file_list_test_diff_detects_additions", "label": "test_diff_detects_additions()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L27"}, {"id": "ui_test_file_list_test_diff_detects_removals", "label": "test_diff_detects_removals()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L37"}, {"id": "ui_test_file_list_test_diff_detects_size_change_as_modification", "label": "test_diff_detects_size_change_as_modification()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L47"}, {"id": "ui_test_file_list_test_diff_detects_sync_status_change_as_modification", "label": "test_diff_detects_sync_status_change_as_modification()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L57"}, {"id": "ui_test_file_list_test_diff_unchanged_is_empty", "label": "test_diff_unchanged_is_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L65"}, {"id": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false", "label": "test_file_list_entry_defaults_keep_local_and_tombstone_false()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L78"}, {"id": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification", "label": "test_diff_detects_keep_local_change_as_modification()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L85"}, {"id": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification", "label": "test_diff_detects_tombstone_change_as_modification()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L93"}, {"id": "ui_test_file_list_test_keep_local_action_constant_is_distinct", "label": "test_keep_local_action_constant_is_distinct()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L101"}, {"id": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone", "label": "test_render_file_list_keep_local_menu_and_tombstone()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L106"}, {"id": "ui_test_file_list_rationale_1", "label": "Unit tests for ``ui/components/file_list``. Redesign \u00a74.3, \u00a75.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L1"}, {"id": "ui_test_file_list_rationale_79", "label": "A bare entry defaults ``keep_local`` and ``tombstone`` to False.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L79"}, {"id": "ui_test_file_list_rationale_86", "label": "Flipping ``keep_local`` is a modification (drives a re-render).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L86"}, {"id": "ui_test_file_list_rationale_94", "label": "A file transitioning to a tombstone is a modification.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L94"}, {"id": "ui_test_file_list_rationale_102", "label": "``FILE_CONTEXT_KEEP_LOCAL`` is a distinct discriminator value.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L102"}, {"id": "ui_test_file_list_rationale_107", "label": "The renderer wires the keep-local menu item and tombstone row. Exercises th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L107"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "exlab_wizard_ui_components_file_list", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_test_diff_detects_additions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_test_diff_detects_removals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_test_diff_detects_size_change_as_modification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_test_diff_detects_sync_status_change_as_modification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_test_diff_unchanged_is_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L65", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L78", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_test_keep_local_action_constant_is_distinct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L101", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "target": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L106", "weight": 1.0}, {"source": "ui_test_file_list_test_diff_detects_additions", "target": "ui_test_file_list_entry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L30", "weight": 1.0}, {"source": "ui_test_file_list_test_diff_detects_removals", "target": "ui_test_file_list_entry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L39", "weight": 1.0}, {"source": "ui_test_file_list_test_diff_detects_size_change_as_modification", "target": "ui_test_file_list_entry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L49", "weight": 1.0}, {"source": "ui_test_file_list_test_diff_detects_sync_status_change_as_modification", "target": "ui_test_file_list_entry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L59", "weight": 1.0}, {"source": "ui_test_file_list_test_diff_unchanged_is_empty", "target": "ui_test_file_list_entry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L66", "weight": 1.0}, {"source": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false", "target": "ui_test_file_list_entry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L80", "weight": 1.0}, {"source": "ui_test_file_list_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_file_list_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_file_list_rationale_79", "target": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L79", "weight": 1.0}, {"source": "ui_test_file_list_rationale_86", "target": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L86", "weight": 1.0}, {"source": "ui_test_file_list_rationale_94", "target": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L94", "weight": 1.0}, {"source": "ui_test_file_list_rationale_102", "target": "ui_test_file_list_test_keep_local_action_constant_is_distinct", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L102", "weight": 1.0}, {"source": "ui_test_file_list_rationale_107", "target": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L107", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_file_list_entry", "callee": "FileListEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L17"}, {"caller_nid": "ui_test_file_list_entry", "callee": "rsplit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L18"}, {"caller_nid": "ui_test_file_list_test_diff_detects_additions", "callee": "diff_file_lists", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L28"}, {"caller_nid": "ui_test_file_list_test_diff_detects_removals", "callee": "diff_file_lists", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L38"}, {"caller_nid": "ui_test_file_list_test_diff_detects_size_change_as_modification", "callee": "diff_file_lists", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L48"}, {"caller_nid": "ui_test_file_list_test_diff_detects_sync_status_change_as_modification", "callee": "diff_file_lists", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L58"}, {"caller_nid": "ui_test_file_list_test_diff_unchanged_is_empty", "callee": "diff_file_lists", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L67"}, {"caller_nid": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification", "callee": "FileListEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L87"}, {"caller_nid": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification", "callee": "FileListEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L88"}, {"caller_nid": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification", "callee": "diff_file_lists", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L89"}, {"caller_nid": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification", "callee": "FileListEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L95"}, {"caller_nid": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification", "callee": "FileListEntry", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L96"}, {"caller_nid": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification", "callee": "diff_file_lists", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L97"}, {"caller_nid": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone", "callee": "page", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L119"}, {"caller_nid": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py", "source_location": "L148"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/daaef970991dc94d529b0738bbbe799042a995ca3ef70c365c0c5f546ea7fa78.json b/graphify-out/cache/ast/daaef970991dc94d529b0738bbbe799042a995ca3ef70c365c0c5f546ea7fa78.json deleted file mode 100644 index fb69b04..0000000 --- a/graphify-out/cache/ast/daaef970991dc94d529b0738bbbe799042a995ca3ef70c365c0c5f546ea7fa78.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_user_guide_01_settings_md", "label": "01_settings.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L1"}, {"id": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", "label": "3.6 Configure Equipment, Paths, and Integrations", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L1"}, {"id": "user_guide_01_settings_capability_summary", "label": "Capability summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L3"}, {"id": "user_guide_01_settings_walkthrough", "label": "Walkthrough", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L16"}, {"id": "user_guide_01_settings_add_equipment_wizard", "label": "Add Equipment wizard", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L30"}, {"id": "user_guide_01_settings_screenshots", "label": "Screenshots", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L51"}, {"id": "user_guide_01_settings_codeblock_1", "label": "code:{image} (:alt: Settings dialog with the Paths section active)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L53"}, {"id": "user_guide_01_settings_codeblock_2", "label": "code:{image} (:alt: Add-Equipment wizard, identity step)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L58"}, {"id": "user_guide_01_settings_related_material", "label": "Related material", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L63"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_user_guide_01_settings_md", "target": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L1", "weight": 1.0}, {"source": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", "target": "user_guide_01_settings_capability_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L3", "weight": 1.0}, {"source": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", "target": "user_guide_01_settings_walkthrough", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L16", "weight": 1.0}, {"source": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", "target": "user_guide_01_settings_add_equipment_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L30", "weight": 1.0}, {"source": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", "target": "user_guide_01_settings_screenshots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L51", "weight": 1.0}, {"source": "user_guide_01_settings_screenshots", "target": "user_guide_01_settings_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L53", "weight": 1.0}, {"source": "user_guide_01_settings_screenshots", "target": "user_guide_01_settings_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L58", "weight": 1.0}, {"source": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", "target": "user_guide_01_settings_related_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md", "source_location": "L63", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/db4d88414908fa6203fb3bcb7af993cc58947879816b3c33bd690358fcf8975d.json b/graphify-out/cache/ast/db4d88414908fa6203fb3bcb7af993cc58947879816b3c33bd690358fcf8975d.json deleted file mode 100644 index 989ebd3..0000000 --- a/graphify-out/cache/ast/db4d88414908fa6203fb3bcb7af993cc58947879816b3c33bd690358fcf8975d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_configs_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/configs/__init__.py", "source_location": "L1"}, {"id": "configs_init_rationale_1", "label": "Read-only YAML fixtures for the config-loader unit tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/configs/__init__.py", "source_location": "L1"}], "edges": [{"source": "configs_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_configs_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/configs/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/dc19697be9b018f4bd58478434045809832a7184fdcb0d0328dde3eb82f9e73b.json b/graphify-out/cache/ast/dc19697be9b018f4bd58478434045809832a7184fdcb0d0328dde3eb82f9e73b.json deleted file mode 100644 index 88fab70..0000000 --- a/graphify-out/cache/ast/dc19697be9b018f4bd58478434045809832a7184fdcb0d0328dde3eb82f9e73b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "label": "test_cleanup.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L1"}, {"id": "sync_test_cleanup_job", "label": "_job()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L22"}, {"id": "sync_test_cleanup_config", "label": "_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L38"}, {"id": "sync_test_cleanup_test_all_interlocks_pass", "label": "test_all_interlocks_pass()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L53"}, {"id": "sync_test_cleanup_test_min_verify_passes_blocks", "label": "test_min_verify_passes_blocks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L65"}, {"id": "sync_test_cleanup_test_min_age_hours_blocks", "label": "test_min_age_hours_blocks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L77"}, {"id": "sync_test_cleanup_test_remote_stat_failure_blocks", "label": "test_remote_stat_failure_blocks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L90"}, {"id": "sync_test_cleanup_test_recent_revocation_blocks", "label": "test_recent_revocation_blocks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L102"}, {"id": "sync_test_cleanup_test_old_revocation_does_not_block", "label": "test_old_revocation_does_not_block()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L124"}, {"id": "sync_test_cleanup_test_missing_verified_at_blocks", "label": "test_missing_verified_at_blocks()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L145"}, {"id": "sync_test_cleanup_test_has_recent_revocation_with_malformed_timestamp_is_recent", "label": "test_has_recent_revocation_with_malformed_timestamp_is_recent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L157"}, {"id": "sync_test_cleanup_test_has_recent_revocation_ignores_non_tombstones", "label": "test_has_recent_revocation_ignores_non_tombstones()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L172"}, {"id": "sync_test_cleanup_rationale_1", "label": "Tests for ``exlab_wizard.sync.cleanup``. Backend Spec \u00a77.1.6. Each interlock mu", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L1"}, {"id": "sync_test_cleanup_rationale_54", "label": "Happy path: cleanup is allowed.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L54"}, {"id": "sync_test_cleanup_rationale_66", "label": "Failing the verify-passes threshold blocks cleanup.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L66"}, {"id": "sync_test_cleanup_rationale_78", "label": "A verify that happened too recently blocks cleanup.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L78"}, {"id": "sync_test_cleanup_rationale_91", "label": "An unreachable NAS blocks cleanup.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L91"}, {"id": "sync_test_cleanup_rationale_103", "label": "A tombstone written within ``min_age_hours`` blocks cleanup.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L103"}, {"id": "sync_test_cleanup_rationale_146", "label": "A verified_at column missing or malformed blocks cleanup.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L146"}, {"id": "sync_test_cleanup_rationale_158", "label": "A malformed ``recorded_at`` is treated as recent (fail-safe).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L158"}, {"id": "sync_test_cleanup_rationale_173", "label": "An override entry without ``revoked: True`` is ignored.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L173"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "exlab_wizard_sync_cleanup", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "exlab_wizard_sync_queue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_job", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_test_all_interlocks_pass", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_test_min_verify_passes_blocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L65", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_test_min_age_hours_blocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_test_remote_stat_failure_blocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_test_recent_revocation_blocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L102", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_test_old_revocation_does_not_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L124", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_test_missing_verified_at_blocks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L145", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_test_has_recent_revocation_with_malformed_timestamp_is_recent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L157", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "target": "sync_test_cleanup_test_has_recent_revocation_ignores_non_tombstones", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L172", "weight": 1.0}, {"source": "sync_test_cleanup_test_all_interlocks_pass", "target": "sync_test_cleanup_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L56", "weight": 1.0}, {"source": "sync_test_cleanup_test_all_interlocks_pass", "target": "sync_test_cleanup_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L59", "weight": 1.0}, {"source": "sync_test_cleanup_test_min_verify_passes_blocks", "target": "sync_test_cleanup_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L68", "weight": 1.0}, {"source": "sync_test_cleanup_test_min_verify_passes_blocks", "target": "sync_test_cleanup_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L71", "weight": 1.0}, {"source": "sync_test_cleanup_test_min_age_hours_blocks", "target": "sync_test_cleanup_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L81", "weight": 1.0}, {"source": "sync_test_cleanup_test_min_age_hours_blocks", "target": "sync_test_cleanup_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L84", "weight": 1.0}, {"source": "sync_test_cleanup_test_remote_stat_failure_blocks", "target": "sync_test_cleanup_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L93", "weight": 1.0}, {"source": "sync_test_cleanup_test_remote_stat_failure_blocks", "target": "sync_test_cleanup_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L96", "weight": 1.0}, {"source": "sync_test_cleanup_test_recent_revocation_blocks", "target": "sync_test_cleanup_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L115", "weight": 1.0}, {"source": "sync_test_cleanup_test_recent_revocation_blocks", "target": "sync_test_cleanup_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L118", "weight": 1.0}, {"source": "sync_test_cleanup_test_old_revocation_does_not_block", "target": "sync_test_cleanup_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L136", "weight": 1.0}, {"source": "sync_test_cleanup_test_old_revocation_does_not_block", "target": "sync_test_cleanup_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L139", "weight": 1.0}, {"source": "sync_test_cleanup_test_missing_verified_at_blocks", "target": "sync_test_cleanup_job", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L148", "weight": 1.0}, {"source": "sync_test_cleanup_test_missing_verified_at_blocks", "target": "sync_test_cleanup_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L151", "weight": 1.0}, {"source": "sync_test_cleanup_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_sync_test_cleanup_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_test_cleanup_rationale_54", "target": "sync_test_cleanup_test_all_interlocks_pass", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L54", "weight": 1.0}, {"source": "sync_test_cleanup_rationale_66", "target": "sync_test_cleanup_test_min_verify_passes_blocks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L66", "weight": 1.0}, {"source": "sync_test_cleanup_rationale_78", "target": "sync_test_cleanup_test_min_age_hours_blocks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L78", "weight": 1.0}, {"source": "sync_test_cleanup_rationale_91", "target": "sync_test_cleanup_test_remote_stat_failure_blocks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L91", "weight": 1.0}, {"source": "sync_test_cleanup_rationale_103", "target": "sync_test_cleanup_test_recent_revocation_blocks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L103", "weight": 1.0}, {"source": "sync_test_cleanup_rationale_146", "target": "sync_test_cleanup_test_missing_verified_at_blocks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L146", "weight": 1.0}, {"source": "sync_test_cleanup_rationale_158", "target": "sync_test_cleanup_test_has_recent_revocation_with_malformed_timestamp_is_recent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L158", "weight": 1.0}, {"source": "sync_test_cleanup_rationale_173", "target": "sync_test_cleanup_test_has_recent_revocation_ignores_non_tombstones", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L173", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_test_cleanup_job", "callee": "SyncJobRow", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L27"}, {"caller_nid": "sync_test_cleanup_config", "callee": "NASCleanupConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L45"}, {"caller_nid": "sync_test_cleanup_test_all_interlocks_pass", "callee": "cleanup_interlocks_satisfied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L55"}, {"caller_nid": "sync_test_cleanup_test_min_verify_passes_blocks", "callee": "cleanup_interlocks_satisfied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L67"}, {"caller_nid": "sync_test_cleanup_test_min_age_hours_blocks", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L79"}, {"caller_nid": "sync_test_cleanup_test_min_age_hours_blocks", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L79"}, {"caller_nid": "sync_test_cleanup_test_min_age_hours_blocks", "callee": "cleanup_interlocks_satisfied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L80"}, {"caller_nid": "sync_test_cleanup_test_remote_stat_failure_blocks", "callee": "cleanup_interlocks_satisfied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L92"}, {"caller_nid": "sync_test_cleanup_test_recent_revocation_blocks", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L110"}, {"caller_nid": "sync_test_cleanup_test_recent_revocation_blocks", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L110"}, {"caller_nid": "sync_test_cleanup_test_recent_revocation_blocks", "callee": "cleanup_interlocks_satisfied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L114"}, {"caller_nid": "sync_test_cleanup_test_old_revocation_does_not_block", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L131"}, {"caller_nid": "sync_test_cleanup_test_old_revocation_does_not_block", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L131"}, {"caller_nid": "sync_test_cleanup_test_old_revocation_does_not_block", "callee": "cleanup_interlocks_satisfied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L135"}, {"caller_nid": "sync_test_cleanup_test_missing_verified_at_blocks", "callee": "cleanup_interlocks_satisfied", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L147"}, {"caller_nid": "sync_test_cleanup_test_has_recent_revocation_with_malformed_timestamp_is_recent", "callee": "has_recent_revocation", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L169"}, {"caller_nid": "sync_test_cleanup_test_has_recent_revocation_ignores_non_tombstones", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L179"}, {"caller_nid": "sync_test_cleanup_test_has_recent_revocation_ignores_non_tombstones", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L179"}, {"caller_nid": "sync_test_cleanup_test_has_recent_revocation_ignores_non_tombstones", "callee": "has_recent_revocation", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py", "source_location": "L184"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/dd83640501ccabd8e43db20b95a54ae5b6b3125cf029ea7a7f371f63afdebace.json b/graphify-out/cache/ast/dd83640501ccabd8e43db20b95a54ae5b6b3125cf029ea7a7f371f63afdebace.json deleted file mode 100644 index 950417f..0000000 --- a/graphify-out/cache/ast/dd83640501ccabd8e43db20b95a54ae5b6b3125cf029ea7a7f371f63afdebace.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "label": "test_server_runner.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L1"}, {"id": "tray_test_server_runner_fakeuvicornserver", "label": "_FakeUvicornServer", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L21"}, {"id": "tray_test_server_runner_fakeuvicornserver_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L24"}, {"id": "tray_test_server_runner_fakeuvicornserver_run", "label": ".run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L30"}, {"id": "tray_test_server_runner_make_runner", "label": "_make_runner()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L44"}, {"id": "tray_test_server_runner_test_pick_free_port_returns_bindable_port", "label": "test_pick_free_port_returns_bindable_port()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L60"}, {"id": "tray_test_server_runner_test_start_writes_server_json_atomically", "label": "test_start_writes_server_json_atomically()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L72"}, {"id": "tray_test_server_runner_test_stop_deletes_state_file", "label": "test_stop_deletes_state_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L89"}, {"id": "tray_test_server_runner_test_double_start_raises", "label": "test_double_start_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L98"}, {"id": "tray_test_server_runner_test_port_property_before_start_raises", "label": "test_port_property_before_start_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L108"}, {"id": "tray_test_server_runner_test_port_property_after_start", "label": "test_port_property_after_start()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L114"}, {"id": "tray_test_server_runner_test_state_file_property_returns_expected_path", "label": "test_state_file_property_returns_expected_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L123"}, {"id": "tray_test_server_runner_test_stop_is_idempotent", "label": "test_stop_is_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L128"}, {"id": "tray_test_server_runner_test_start_creates_state_dir_if_missing", "label": "test_start_creates_state_dir_if_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L135"}, {"id": "tray_test_server_runner_test_is_running_tracks_thread_lifecycle", "label": "test_is_running_tracks_thread_lifecycle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L145"}, {"id": "tray_test_server_runner_test_real_uvicorn_resolves_lazily", "label": "test_real_uvicorn_resolves_lazily()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L157"}, {"id": "tray_test_server_runner_test_delete_state_file_handles_missing", "label": "test_delete_state_file_handles_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L170"}, {"id": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit", "label": "test_stop_handles_attribute_error_on_should_exit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L176"}, {"id": "tray_test_server_runner_rationale_1", "label": "Tests for :mod:`exlab_wizard.tray.server_runner`. Backend Spec \u00a74.3.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L1"}, {"id": "tray_test_server_runner_rationale_22", "label": "Fake :class:`uvicorn.Server` that runs a tiny event loop.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L22"}, {"id": "tray_test_server_runner_rationale_158", "label": "The real ``_build_uvicorn`` defers the uvicorn import. We can call ``_build", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L158"}, {"id": "tray_test_server_runner_rationale_177", "label": "A custom server object missing ``should_exit`` is tolerated.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L177"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "socket", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "exlab_wizard_tray_server_runner", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_fakeuvicornserver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L21", "weight": 1.0}, {"source": "tray_test_server_runner_fakeuvicornserver", "target": "tray_test_server_runner_fakeuvicornserver_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L24", "weight": 1.0}, {"source": "tray_test_server_runner_fakeuvicornserver", "target": "tray_test_server_runner_fakeuvicornserver_run", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_make_runner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_pick_free_port_returns_bindable_port", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_start_writes_server_json_atomically", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_stop_deletes_state_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_double_start_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_port_property_before_start_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_port_property_after_start", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L114", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_state_file_property_returns_expected_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_stop_is_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L128", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_start_creates_state_dir_if_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_is_running_tracks_thread_lifecycle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L145", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_real_uvicorn_resolves_lazily", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L157", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_delete_state_file_handles_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L170", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "target": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L176", "weight": 1.0}, {"source": "tray_test_server_runner_make_runner", "target": "tray_test_server_runner_fakeuvicornserver", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L49", "weight": 1.0}, {"source": "tray_test_server_runner_test_start_writes_server_json_atomically", "target": "tray_test_server_runner_make_runner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L73", "weight": 1.0}, {"source": "tray_test_server_runner_test_stop_deletes_state_file", "target": "tray_test_server_runner_make_runner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L90", "weight": 1.0}, {"source": "tray_test_server_runner_test_double_start_raises", "target": "tray_test_server_runner_make_runner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L99", "weight": 1.0}, {"source": "tray_test_server_runner_test_port_property_before_start_raises", "target": "tray_test_server_runner_make_runner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L109", "weight": 1.0}, {"source": "tray_test_server_runner_test_port_property_after_start", "target": "tray_test_server_runner_make_runner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L115", "weight": 1.0}, {"source": "tray_test_server_runner_test_state_file_property_returns_expected_path", "target": "tray_test_server_runner_make_runner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L124", "weight": 1.0}, {"source": "tray_test_server_runner_test_stop_is_idempotent", "target": "tray_test_server_runner_make_runner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L129", "weight": 1.0}, {"source": "tray_test_server_runner_test_start_creates_state_dir_if_missing", "target": "tray_test_server_runner_make_runner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L137", "weight": 1.0}, {"source": "tray_test_server_runner_test_is_running_tracks_thread_lifecycle", "target": "tray_test_server_runner_make_runner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L146", "weight": 1.0}, {"source": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit", "target": "tray_test_server_runner_make_runner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L178", "weight": 1.0}, {"source": "tray_test_server_runner_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_tray_test_server_runner_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_test_server_runner_rationale_22", "target": "tray_test_server_runner_fakeuvicornserver", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L22", "weight": 1.0}, {"source": "tray_test_server_runner_rationale_158", "target": "tray_test_server_runner_test_real_uvicorn_resolves_lazily", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L158", "weight": 1.0}, {"source": "tray_test_server_runner_rationale_177", "target": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L177", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_test_server_runner_fakeuvicornserver_init", "callee": "Event", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L27"}, {"caller_nid": "tray_test_server_runner_fakeuvicornserver_run", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L33"}, {"caller_nid": "tray_test_server_runner_fakeuvicornserver_run", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L35"}, {"caller_nid": "tray_test_server_runner_fakeuvicornserver_run", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L37"}, {"caller_nid": "tray_test_server_runner_fakeuvicornserver_run", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L40"}, {"caller_nid": "tray_test_server_runner_fakeuvicornserver_run", "callee": "Event", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L40"}, {"caller_nid": "tray_test_server_runner_fakeuvicornserver_run", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L41"}, {"caller_nid": "tray_test_server_runner_make_runner", "callee": "ServerRunner", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L55"}, {"caller_nid": "tray_test_server_runner_make_runner", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L55"}, {"caller_nid": "tray_test_server_runner_test_pick_free_port_returns_bindable_port", "callee": "pick_free_port", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L61"}, {"caller_nid": "tray_test_server_runner_test_pick_free_port_returns_bindable_port", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L62"}, {"caller_nid": "tray_test_server_runner_test_pick_free_port_returns_bindable_port", "callee": "socket", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L65"}, {"caller_nid": "tray_test_server_runner_test_pick_free_port_returns_bindable_port", "callee": "bind", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L67"}, {"caller_nid": "tray_test_server_runner_test_pick_free_port_returns_bindable_port", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L69"}, {"caller_nid": "tray_test_server_runner_test_start_writes_server_json_atomically", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L74"}, {"caller_nid": "tray_test_server_runner_test_start_writes_server_json_atomically", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L77"}, {"caller_nid": "tray_test_server_runner_test_start_writes_server_json_atomically", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L78"}, {"caller_nid": "tray_test_server_runner_test_start_writes_server_json_atomically", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L78"}, {"caller_nid": "tray_test_server_runner_test_start_writes_server_json_atomically", "callee": "getpid", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L80"}, {"caller_nid": "tray_test_server_runner_test_start_writes_server_json_atomically", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L83"}, {"caller_nid": "tray_test_server_runner_test_start_writes_server_json_atomically", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L86"}, {"caller_nid": "tray_test_server_runner_test_stop_deletes_state_file", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L91"}, {"caller_nid": "tray_test_server_runner_test_stop_deletes_state_file", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L92"}, {"caller_nid": "tray_test_server_runner_test_stop_deletes_state_file", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L94"}, {"caller_nid": "tray_test_server_runner_test_double_start_raises", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L100"}, {"caller_nid": "tray_test_server_runner_test_double_start_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L102"}, {"caller_nid": "tray_test_server_runner_test_double_start_raises", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L103"}, {"caller_nid": "tray_test_server_runner_test_double_start_raises", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L105"}, {"caller_nid": "tray_test_server_runner_test_port_property_before_start_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L110"}, {"caller_nid": "tray_test_server_runner_test_port_property_after_start", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L116"}, {"caller_nid": "tray_test_server_runner_test_port_property_after_start", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L120"}, {"caller_nid": "tray_test_server_runner_test_stop_is_idempotent", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L130"}, {"caller_nid": "tray_test_server_runner_test_stop_is_idempotent", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L131"}, {"caller_nid": "tray_test_server_runner_test_start_creates_state_dir_if_missing", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L138"}, {"caller_nid": "tray_test_server_runner_test_start_creates_state_dir_if_missing", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L140"}, {"caller_nid": "tray_test_server_runner_test_start_creates_state_dir_if_missing", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L142"}, {"caller_nid": "tray_test_server_runner_test_is_running_tracks_thread_lifecycle", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L148"}, {"caller_nid": "tray_test_server_runner_test_is_running_tracks_thread_lifecycle", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L153"}, {"caller_nid": "tray_test_server_runner_test_real_uvicorn_resolves_lazily", "callee": "ServerRunner", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L164"}, {"caller_nid": "tray_test_server_runner_test_real_uvicorn_resolves_lazily", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L164"}, {"caller_nid": "tray_test_server_runner_test_real_uvicorn_resolves_lazily", "callee": "_build_uvicorn", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L165"}, {"caller_nid": "tray_test_server_runner_test_real_uvicorn_resolves_lazily", "callee": "hasattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L166"}, {"caller_nid": "tray_test_server_runner_test_delete_state_file_handles_missing", "callee": "ServerRunner", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L171"}, {"caller_nid": "tray_test_server_runner_test_delete_state_file_handles_missing", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L171"}, {"caller_nid": "tray_test_server_runner_test_delete_state_file_handles_missing", "callee": "_delete_state_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L173"}, {"caller_nid": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit", "callee": "start", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L179"}, {"caller_nid": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit", "callee": "_Slotted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L184"}, {"caller_nid": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit", "callee": "stop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py", "source_location": "L186"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/ddbf09c7801275f0d759ed781e6d6e10717b37cb12c63526bea9a8cd9c68d078.json b/graphify-out/cache/ast/ddbf09c7801275f0d759ed781e6d6e10717b37cb12c63526bea9a8cd9c68d078.json deleted file mode 100644 index 72bfffa..0000000 --- a/graphify-out/cache/ast/ddbf09c7801275f0d759ed781e6d6e10717b37cb12c63526bea9a8cd9c68d078.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_21_stage_ceiling_py", "label": "test_flow_21_stage_ceiling.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L1"}, {"id": "e2e_test_flow_21_stage_ceiling_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L12"}, {"id": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "label": "test_flow_21_stage_equipment_metadata_renders_ceiling_note()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L25"}, {"id": "e2e_test_flow_21_stage_ceiling_rationale_1", "label": "E2E flow 21: stage-mode ceiling note (Redesign \u00a73.2 / \u00a74.4). When a stage-mode", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_21_stage_ceiling_py", "target": "e2e_test_flow_21_stage_ceiling_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_21_stage_ceiling_py", "target": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L25", "weight": 1.0}, {"source": "e2e_test_flow_21_stage_ceiling_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_21_stage_ceiling_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_21_stage_ceiling_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L14"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L16"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L17"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L21"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L28"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L34"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L34"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L38"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py", "source_location": "L39"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/de7ec7c73dca858c358b3fe4188bd54bebe47560f57493ee012be08883cdbaec.json b/graphify-out/cache/ast/de7ec7c73dca858c358b3fe4188bd54bebe47560f57493ee012be08883cdbaec.json deleted file mode 100644 index 10fe286..0000000 --- a/graphify-out/cache/ast/de7ec7c73dca858c358b3fe4188bd54bebe47560f57493ee012be08883cdbaec.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_validator_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/__init__.py", "source_location": "L1"}, {"id": "validator_init_rationale_1", "label": "Unit tests for ``exlab_wizard.validator``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/__init__.py", "source_location": "L1"}], "edges": [{"source": "validator_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_validator_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/e04eee45bc181a92b04373ab3e7776d17ea64db0c40cf12ae8782ce9704831f4.json b/graphify-out/cache/ast/e04eee45bc181a92b04373ab3e7776d17ea64db0c40cf12ae8782ce9704831f4.json deleted file mode 100644 index 909aa61..0000000 --- a/graphify-out/cache/ast/e04eee45bc181a92b04373ab3e7776d17ea64db0c40cf12ae8782ce9704831f4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "label": "test_rules.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L1"}, {"id": "validator_test_rules_test_angle_bracket_token_in_segment_fires", "label": "test_angle_bracket_token_in_segment_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L37"}, {"id": "validator_test_rules_test_non_token_angle_brackets_pass", "label": "test_non_token_angle_brackets_pass()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L64"}, {"id": "validator_test_rules_test_jinja_var_marker_in_filename_fires", "label": "test_jinja_var_marker_in_filename_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L75"}, {"id": "validator_test_rules_test_jinja_block_marker_in_content_fires", "label": "test_jinja_block_marker_in_content_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L88"}, {"id": "validator_test_rules_test_unresolved_placeholder_in_content_fires", "label": "test_unresolved_placeholder_in_content_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L101"}, {"id": "validator_test_rules_test_no_findings_on_clean_inputs", "label": "test_no_findings_on_clean_inputs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L110"}, {"id": "validator_test_rules_test_large_text_file_skipped_from_content_scan", "label": "test_large_text_file_skipped_from_content_scan()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L119"}, {"id": "validator_test_rules_test_under_size_cap_content_is_scanned", "label": "test_under_size_cap_content_is_scanned()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L131"}, {"id": "validator_test_rules_test_multiple_matches_in_same_input_each_yield_finding", "label": "test_multiple_matches_in_same_input_each_yield_finding()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L142"}, {"id": "validator_test_rules_test_empty_file_contents_dict_is_path_only_scan", "label": "test_empty_file_contents_dict_is_path_only_scan()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L152"}, {"id": "validator_test_rules_test_windows_illegal_char_in_segment_fires", "label": "test_windows_illegal_char_in_segment_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L180"}, {"id": "validator_test_rules_test_nul_byte_in_name_fires", "label": "test_nul_byte_in_name_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L191"}, {"id": "validator_test_rules_test_low_ascii_control_char_fires", "label": "test_low_ascii_control_char_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L200"}, {"id": "validator_test_rules_test_trailing_dot_fires", "label": "test_trailing_dot_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L210"}, {"id": "validator_test_rules_test_trailing_space_fires", "label": "test_trailing_space_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L218"}, {"id": "validator_test_rules_test_normal_names_pass", "label": "test_normal_names_pass()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L237"}, {"id": "validator_test_rules_test_findings_have_hard_tier", "label": "test_findings_have_hard_tier()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L245"}, {"id": "validator_test_rules_test_reserved_name_fires", "label": "test_reserved_name_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L276"}, {"id": "validator_test_rules_test_non_reserved_name_passes", "label": "test_non_reserved_name_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L297"}, {"id": "validator_test_rules_test_unsafe_project_name_fires", "label": "test_unsafe_project_name_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L320"}, {"id": "validator_test_rules_test_safe_project_name_passes", "label": "test_safe_project_name_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L340"}, {"id": "validator_test_rules_test_experimental_with_run_prefix_under_runs_parent_passes", "label": "test_experimental_with_run_prefix_under_runs_parent_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L349"}, {"id": "validator_test_rules_test_experimental_with_run_prefix_at_project_level_fires", "label": "test_experimental_with_run_prefix_at_project_level_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L359"}, {"id": "validator_test_rules_test_experimental_with_test_run_prefix_fires", "label": "test_experimental_with_test_run_prefix_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L372"}, {"id": "validator_test_rules_test_experimental_under_test_runs_parent_fires", "label": "test_experimental_under_test_runs_parent_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L382"}, {"id": "validator_test_rules_test_test_with_test_run_prefix_under_test_runs_passes", "label": "test_test_with_test_run_prefix_under_test_runs_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L391"}, {"id": "validator_test_rules_test_test_with_run_prefix_fires", "label": "test_test_with_run_prefix_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L400"}, {"id": "validator_test_rules_test_test_with_test_run_prefix_but_wrong_parent_fires", "label": "test_test_with_test_run_prefix_but_wrong_parent_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L409"}, {"id": "validator_test_rules_test_run_kind_none_returns_no_findings", "label": "test_run_kind_none_returns_no_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L418"}, {"id": "validator_test_rules_test_project_without_creation_json_fires", "label": "test_project_without_creation_json_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L432"}, {"id": "validator_test_rules_test_run_without_creation_json_fires", "label": "test_run_without_creation_json_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L439"}, {"id": "validator_test_rules_test_equipment_without_creation_json_does_not_fire", "label": "test_equipment_without_creation_json_does_not_fire()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L445"}, {"id": "validator_test_rules_test_project_with_creation_json_passes", "label": "test_project_with_creation_json_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L450"}, {"id": "validator_test_rules_test_run_with_creation_json_passes", "label": "test_run_with_creation_json_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L455"}, {"id": "validator_test_rules_test_missing_id_fires", "label": "test_missing_id_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L465"}, {"id": "validator_test_rules_test_empty_string_value_fires", "label": "test_empty_string_value_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L479"}, {"id": "validator_test_rules_test_present_id_with_non_empty_value_passes", "label": "test_present_id_with_non_empty_value_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L492"}, {"id": "validator_test_rules_test_field_present_in_template_fields_layer_passes", "label": "test_field_present_in_template_fields_layer_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L504"}, {"id": "validator_test_rules_test_none_readme_fields_treats_all_required_as_missing", "label": "test_none_readme_fields_treats_all_required_as_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L516"}, {"id": "validator_test_rules_test_value_explicit_none_fires", "label": "test_value_explicit_none_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L524"}, {"id": "validator_test_rules_test_well_formed_front_matter_passes", "label": "test_well_formed_front_matter_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L541"}, {"id": "validator_test_rules_test_unterminated_front_matter_fires", "label": "test_unterminated_front_matter_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L546"}, {"id": "validator_test_rules_test_malformed_yaml_in_block_fires", "label": "test_malformed_yaml_in_block_fires()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L554"}, {"id": "validator_test_rules_test_no_front_matter_passes", "label": "test_no_front_matter_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L562"}, {"id": "validator_test_rules_test_empty_content_passes", "label": "test_empty_content_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L567"}, {"id": "validator_test_rules_test_front_matter_with_nested_yaml_passes", "label": "test_front_matter_with_nested_yaml_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L571"}, {"id": "validator_test_rules_rationale_1", "label": "Tests for ``exlab_wizard.validator.rules``. Backend Spec \u00a78.1. Covers each \u00a78.1", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L1"}, {"id": "validator_test_rules_rationale_350", "label": "Redesign \u00a73.4: experimental run leaf parented by ``Runs`` is valid.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L350"}, {"id": "validator_test_rules_rationale_360", "label": "Redesign \u00a73.4: a misplaced ``Run_*`` directly under the project (not under `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L360"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "exlab_wizard_validator_rules", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_angle_bracket_token_in_segment_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_non_token_angle_brackets_pass", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_jinja_var_marker_in_filename_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L75", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_jinja_block_marker_in_content_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L88", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_unresolved_placeholder_in_content_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L101", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_no_findings_on_clean_inputs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L110", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_large_text_file_skipped_from_content_scan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L119", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_under_size_cap_content_is_scanned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L131", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_multiple_matches_in_same_input_each_yield_finding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L142", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_empty_file_contents_dict_is_path_only_scan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_windows_illegal_char_in_segment_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L180", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_nul_byte_in_name_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L191", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_low_ascii_control_char_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L200", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_trailing_dot_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L210", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_trailing_space_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L218", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_normal_names_pass", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L237", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_findings_have_hard_tier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L245", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_reserved_name_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L276", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_non_reserved_name_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L297", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_unsafe_project_name_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L320", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_safe_project_name_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L340", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_experimental_with_run_prefix_under_runs_parent_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L349", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_experimental_with_run_prefix_at_project_level_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L359", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_experimental_with_test_run_prefix_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L372", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_experimental_under_test_runs_parent_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L382", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_test_with_test_run_prefix_under_test_runs_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L391", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_test_with_run_prefix_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L400", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_test_with_test_run_prefix_but_wrong_parent_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L409", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_run_kind_none_returns_no_findings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L418", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_project_without_creation_json_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L432", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_run_without_creation_json_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L439", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_equipment_without_creation_json_does_not_fire", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L445", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_project_with_creation_json_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L450", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_run_with_creation_json_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L455", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_missing_id_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L465", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_empty_string_value_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L479", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_present_id_with_non_empty_value_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L492", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_field_present_in_template_fields_layer_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L504", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_none_readme_fields_treats_all_required_as_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L516", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_value_explicit_none_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L524", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_well_formed_front_matter_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L541", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_unterminated_front_matter_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L546", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_malformed_yaml_in_block_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L554", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_no_front_matter_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L562", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_empty_content_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L567", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "target": "validator_test_rules_test_front_matter_with_nested_yaml_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L571", "weight": 1.0}, {"source": "validator_test_rules_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_validator_test_rules_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L1", "weight": 1.0}, {"source": "validator_test_rules_rationale_350", "target": "validator_test_rules_test_experimental_with_run_prefix_under_runs_parent_passes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L350", "weight": 1.0}, {"source": "validator_test_rules_rationale_360", "target": "validator_test_rules_test_experimental_with_run_prefix_at_project_level_fires", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L360", "weight": 1.0}], "raw_calls": [{"caller_nid": "validator_test_rules_test_angle_bracket_token_in_segment_fires", "callee": "check_unresolved_placeholder", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L38"}, {"caller_nid": "validator_test_rules_test_angle_bracket_token_in_segment_fires", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L43"}, {"caller_nid": "validator_test_rules_test_non_token_angle_brackets_pass", "callee": "check_unresolved_placeholder", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L65"}, {"caller_nid": "validator_test_rules_test_jinja_var_marker_in_filename_fires", "callee": "check_unresolved_placeholder", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L76"}, {"caller_nid": "validator_test_rules_test_jinja_var_marker_in_filename_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L81"}, {"caller_nid": "validator_test_rules_test_jinja_var_marker_in_filename_fires", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L82"}, {"caller_nid": "validator_test_rules_test_jinja_block_marker_in_content_fires", "callee": "check_unresolved_placeholder", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L89"}, {"caller_nid": "validator_test_rules_test_jinja_block_marker_in_content_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L94"}, {"caller_nid": "validator_test_rules_test_jinja_block_marker_in_content_fires", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L95"}, {"caller_nid": "validator_test_rules_test_unresolved_placeholder_in_content_fires", "callee": "check_unresolved_placeholder", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L102"}, {"caller_nid": "validator_test_rules_test_unresolved_placeholder_in_content_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L107"}, {"caller_nid": "validator_test_rules_test_no_findings_on_clean_inputs", "callee": "check_unresolved_placeholder", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L111"}, {"caller_nid": "validator_test_rules_test_large_text_file_skipped_from_content_scan", "callee": "check_unresolved_placeholder", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L123"}, {"caller_nid": "validator_test_rules_test_under_size_cap_content_is_scanned", "callee": "check_unresolved_placeholder", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L134"}, {"caller_nid": "validator_test_rules_test_under_size_cap_content_is_scanned", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L139"}, {"caller_nid": "validator_test_rules_test_multiple_matches_in_same_input_each_yield_finding", "callee": "check_unresolved_placeholder", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L143"}, {"caller_nid": "validator_test_rules_test_multiple_matches_in_same_input_each_yield_finding", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L148"}, {"caller_nid": "validator_test_rules_test_empty_file_contents_dict_is_path_only_scan", "callee": "check_unresolved_placeholder", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L153"}, {"caller_nid": "validator_test_rules_test_empty_file_contents_dict_is_path_only_scan", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L158"}, {"caller_nid": "validator_test_rules_test_windows_illegal_char_in_segment_fires", "callee": "check_illegal_filesystem_character", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L181"}, {"caller_nid": "validator_test_rules_test_windows_illegal_char_in_segment_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L185"}, {"caller_nid": "validator_test_rules_test_nul_byte_in_name_fires", "callee": "check_illegal_filesystem_character", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L193"}, {"caller_nid": "validator_test_rules_test_nul_byte_in_name_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L197"}, {"caller_nid": "validator_test_rules_test_low_ascii_control_char_fires", "callee": "check_illegal_filesystem_character", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L203"}, {"caller_nid": "validator_test_rules_test_low_ascii_control_char_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L207"}, {"caller_nid": "validator_test_rules_test_trailing_dot_fires", "callee": "check_illegal_filesystem_character", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L211"}, {"caller_nid": "validator_test_rules_test_trailing_dot_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L215"}, {"caller_nid": "validator_test_rules_test_trailing_space_fires", "callee": "check_illegal_filesystem_character", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L219"}, {"caller_nid": "validator_test_rules_test_trailing_space_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L223"}, {"caller_nid": "validator_test_rules_test_normal_names_pass", "callee": "check_illegal_filesystem_character", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L238"}, {"caller_nid": "validator_test_rules_test_findings_have_hard_tier", "callee": "check_illegal_filesystem_character", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L246"}, {"caller_nid": "validator_test_rules_test_findings_have_hard_tier", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L250"}, {"caller_nid": "validator_test_rules_test_reserved_name_fires", "callee": "check_reserved_filesystem_name", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L277"}, {"caller_nid": "validator_test_rules_test_reserved_name_fires", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L278"}, {"caller_nid": "validator_test_rules_test_non_reserved_name_passes", "callee": "check_reserved_filesystem_name", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L298"}, {"caller_nid": "validator_test_rules_test_unsafe_project_name_fires", "callee": "check_unsafe_project_name", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L321"}, {"caller_nid": "validator_test_rules_test_unsafe_project_name_fires", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L323"}, {"caller_nid": "validator_test_rules_test_unsafe_project_name_fires", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L326"}, {"caller_nid": "validator_test_rules_test_unsafe_project_name_fires", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L327"}, {"caller_nid": "validator_test_rules_test_unsafe_project_name_fires", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L328"}, {"caller_nid": "validator_test_rules_test_safe_project_name_passes", "callee": "check_unsafe_project_name", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L341"}, {"caller_nid": "validator_test_rules_test_experimental_with_run_prefix_under_runs_parent_passes", "callee": "check_mode_prefix_mismatch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L351"}, {"caller_nid": "validator_test_rules_test_experimental_with_run_prefix_at_project_level_fires", "callee": "check_mode_prefix_mismatch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L362"}, {"caller_nid": "validator_test_rules_test_experimental_with_run_prefix_at_project_level_fires", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L367"}, {"caller_nid": "validator_test_rules_test_experimental_with_test_run_prefix_fires", "callee": "check_mode_prefix_mismatch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L373"}, {"caller_nid": "validator_test_rules_test_experimental_with_test_run_prefix_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L378"}, {"caller_nid": "validator_test_rules_test_experimental_with_test_run_prefix_fires", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L379"}, {"caller_nid": "validator_test_rules_test_experimental_under_test_runs_parent_fires", "callee": "check_mode_prefix_mismatch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L383"}, {"caller_nid": "validator_test_rules_test_experimental_under_test_runs_parent_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L388"}, {"caller_nid": "validator_test_rules_test_test_with_test_run_prefix_under_test_runs_passes", "callee": "check_mode_prefix_mismatch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L392"}, {"caller_nid": "validator_test_rules_test_test_with_run_prefix_fires", "callee": "check_mode_prefix_mismatch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L401"}, {"caller_nid": "validator_test_rules_test_test_with_run_prefix_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L406"}, {"caller_nid": "validator_test_rules_test_test_with_test_run_prefix_but_wrong_parent_fires", "callee": "check_mode_prefix_mismatch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L410"}, {"caller_nid": "validator_test_rules_test_test_with_test_run_prefix_but_wrong_parent_fires", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L415"}, {"caller_nid": "validator_test_rules_test_run_kind_none_returns_no_findings", "callee": "check_mode_prefix_mismatch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L419"}, {"caller_nid": "validator_test_rules_test_project_without_creation_json_fires", "callee": "check_orphan", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L433"}, {"caller_nid": "validator_test_rules_test_project_without_creation_json_fires", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L434"}, {"caller_nid": "validator_test_rules_test_run_without_creation_json_fires", "callee": "check_orphan", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L440"}, {"caller_nid": "validator_test_rules_test_run_without_creation_json_fires", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L441"}, {"caller_nid": "validator_test_rules_test_equipment_without_creation_json_does_not_fire", "callee": "check_orphan", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L446"}, {"caller_nid": "validator_test_rules_test_project_with_creation_json_passes", "callee": "check_orphan", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L451"}, {"caller_nid": "validator_test_rules_test_run_with_creation_json_passes", "callee": "check_orphan", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L456"}, {"caller_nid": "validator_test_rules_test_missing_id_fires", "callee": "check_missing_required_field", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L466"}, {"caller_nid": "validator_test_rules_test_missing_id_fires", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L474"}, {"caller_nid": "validator_test_rules_test_empty_string_value_fires", "callee": "check_missing_required_field", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L480"}, {"caller_nid": "validator_test_rules_test_empty_string_value_fires", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L488"}, {"caller_nid": "validator_test_rules_test_present_id_with_non_empty_value_passes", "callee": "check_missing_required_field", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L493"}, {"caller_nid": "validator_test_rules_test_field_present_in_template_fields_layer_passes", "callee": "check_missing_required_field", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L505"}, {"caller_nid": "validator_test_rules_test_none_readme_fields_treats_all_required_as_missing", "callee": "check_missing_required_field", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L517"}, {"caller_nid": "validator_test_rules_test_none_readme_fields_treats_all_required_as_missing", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L521"}, {"caller_nid": "validator_test_rules_test_value_explicit_none_fires", "callee": "check_missing_required_field", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L525"}, {"caller_nid": "validator_test_rules_test_value_explicit_none_fires", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L533"}, {"caller_nid": "validator_test_rules_test_well_formed_front_matter_passes", "callee": "check_malformed_yaml_front_matter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L543"}, {"caller_nid": "validator_test_rules_test_unterminated_front_matter_fires", "callee": "check_malformed_yaml_front_matter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L548"}, {"caller_nid": "validator_test_rules_test_unterminated_front_matter_fires", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L549"}, {"caller_nid": "validator_test_rules_test_malformed_yaml_in_block_fires", "callee": "check_malformed_yaml_front_matter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L557"}, {"caller_nid": "validator_test_rules_test_malformed_yaml_in_block_fires", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L558"}, {"caller_nid": "validator_test_rules_test_no_front_matter_passes", "callee": "check_malformed_yaml_front_matter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L564"}, {"caller_nid": "validator_test_rules_test_empty_content_passes", "callee": "check_malformed_yaml_front_matter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L568"}, {"caller_nid": "validator_test_rules_test_front_matter_with_nested_yaml_passes", "callee": "check_malformed_yaml_front_matter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py", "source_location": "L585"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e0d4abb2e5c598f62d5358fc386745659012ea4a578596bcb9d9fe45fcc0960a.json b/graphify-out/cache/ast/e0d4abb2e5c598f62d5358fc386745659012ea4a578596bcb9d9fe45fcc0960a.json deleted file mode 100644 index c797a9b..0000000 --- a/graphify-out/cache/ast/e0d4abb2e5c598f62d5358fc386745659012ea4a578596bcb9d9fe45fcc0960a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "label": "browse.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L1"}, {"id": "routers_browse_runnode", "label": "RunNode", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L67"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "routers_browse_projectnode", "label": "ProjectNode", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L77"}, {"id": "routers_browse_equipmentnode", "label": "EquipmentNode", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L91"}, {"id": "routers_browse_relayequipmentnode", "label": "RelayEquipmentNode", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L109"}, {"id": "routers_browse_treeresponse", "label": "TreeResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L125"}, {"id": "routers_browse_folderentry", "label": "FolderEntry", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L132"}, {"id": "routers_browse_folderresponse", "label": "FolderResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L156"}, {"id": "routers_browse_rundetail", "label": "RunDetail", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L165"}, {"id": "routers_browse_runlogentry", "label": "RunLogEntry", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L180"}, {"id": "routers_browse_runlogresponse", "label": "RunLogResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L199"}, {"id": "routers_browse_build_browse_router", "label": "build_browse_router()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L214"}, {"id": "routers_browse_run_log_from_queue", "label": "_run_log_from_queue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L341"}, {"id": "routers_browse_path_is_under_allowed_root", "label": "_path_is_under_allowed_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L375"}, {"id": "routers_browse_build_equipment_node", "label": "_build_equipment_node()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L405"}, {"id": "routers_browse_build_received_equipment_nodes", "label": "build_received_equipment_nodes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L420"}, {"id": "routers_browse_relay_label_from_first_run", "label": "_relay_label_from_first_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L463"}, {"id": "routers_browse_find_run_root", "label": "_find_run_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L494"}, {"id": "routers_browse_read_sync_state", "label": "_read_sync_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L515"}, {"id": "routers_browse_file_state_from_record", "label": "_file_state_from_record()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L531"}, {"id": "routers_browse_per_file_sync_status", "label": "_per_file_sync_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L550"}, {"id": "routers_browse_run_relative_posix", "label": "_run_relative_posix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L571"}, {"id": "routers_browse_iter_run_or_project_subdirs", "label": "_iter_run_or_project_subdirs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L579"}, {"id": "routers_browse_scan_projects", "label": "_scan_projects()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L602"}, {"id": "routers_browse_build_project_node", "label": "_build_project_node()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L610"}, {"id": "routers_browse_scan_run_children", "label": "_scan_run_children()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L639"}, {"id": "routers_browse_build_run_node", "label": "_build_run_node()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L652"}, {"id": "routers_browse_run_rollup_status", "label": "_run_rollup_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L675"}, {"id": "routers_browse_read_readme", "label": "_read_readme()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L696"}, {"id": "routers_browse_scan_folder_sync", "label": "scan_folder_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L712"}, {"id": "routers_browse_tombstone_entries", "label": "_tombstone_entries()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L808"}, {"id": "routers_browse_build_hierarchy_dict", "label": "build_hierarchy_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L853"}, {"id": "routers_browse_projects_for_ui_tree", "label": "_projects_for_ui_tree()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L887"}, {"id": "routers_browse_rationale_1", "label": "``/tree`` and ``/run/{path}`` browse endpoints. Backend Spec \u00a74.6.1. Two endpoi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L1"}, {"id": "routers_browse_rationale_92", "label": "An owned-equipment node in the tree (Redesign \u00a73.3). ``sync_mode`` (\"nas\" |", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L92"}, {"id": "routers_browse_rationale_110", "label": "A received-equipment node auto-discovered from the staging area. Redesign \u00a7", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L110"}, {"id": "routers_browse_rationale_133", "label": "One row in the new ``GET /folder/{path}`` response. Redesign \u00a74.3 / \u00a75. Ope", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L133"}, {"id": "routers_browse_rationale_157", "label": "Immediate contents of one folder. Redesign \u00a75 (live file feed).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L157"}, {"id": "routers_browse_rationale_181", "label": "One row in the ``GET /run/{path}/log`` response. The orchestrator does not", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L181"}, {"id": "routers_browse_rationale_200", "label": "``GET /run/{path}/log`` response (Redesign \u00a74.6 View-log surface).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L200"}, {"id": "routers_browse_rationale_215", "label": "Construct the ``/tree`` + ``/run`` router.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L215"}, {"id": "routers_browse_rationale_342", "label": "Derive a run's per-run log from its sync-queue job. Returns ``(history, cur", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L342"}, {"id": "routers_browse_rationale_376", "label": "Return True if ``path`` is under any of the configured roots. Redesign \u00a75 /", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L376"}, {"id": "routers_browse_rationale_421", "label": "Walk the staging root and surface received-equipment nodes. Redesign \u00a73.3:", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L421"}, {"id": "routers_browse_rationale_464", "label": "Best-effort: read the first creation.json under this equipment to pick up th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L464"}, {"id": "routers_browse_rationale_495", "label": "Walk up from ``folder`` to the nearest run directory, or ``None``. A run di", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L495"}, {"id": "routers_browse_rationale_516", "label": "Read a run's ``sync_state.json`` via :class:`SyncStateWriter`. Returns the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L516"}, {"id": "routers_browse_rationale_532", "label": "Map a ``sync_state.json`` record + on-disk presence to a GUI state. The fiv", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L532"}, {"id": "routers_browse_rationale_551", "label": "Return the per-file GUI sync state for a folder-list row. Operator-free per", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L551"}, {"id": "routers_browse_rationale_572", "label": "Return ``path`` relative to ``run_root`` as a POSIX string, or ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L572"}, {"id": "routers_browse_rationale_580", "label": "Return name-sorted real subdirectories of ``parent``, sans the cache. Hides", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L580"}, {"id": "routers_browse_rationale_603", "label": "Return a sorted list of project nodes under an equipment dir.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L603"}, {"id": "routers_browse_rationale_653", "label": "Build a tree run node, deriving its rollup from ``sync_state.json``. Operat", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L653"}, {"id": "routers_browse_rationale_676", "label": "Return a run's derived ``RunSyncState`` rollup value, or ``None``. Reads ``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L676"}, {"id": "routers_browse_rationale_697", "label": "Return the run's README.md text, or ``None`` if absent / unreadable.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L697"}, {"id": "routers_browse_rationale_713", "label": "Synchronous core of the ``GET /folder/{path}`` endpoint. Extracted so the N", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L713"}, {"id": "routers_browse_rationale_814", "label": "Build \"On NAS\" tombstone rows for cleared-run files absent on disk. Operato", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L814"}, {"id": "routers_browse_rationale_854", "label": "Compose the nested hierarchy dict that ``ui.components.tree.build_tree`` expects", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L854"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "exlab_wizard_api_dependencies", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "exlab_wizard_api_setup", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_runnode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L67", "weight": 1.0}, {"source": "routers_browse_runnode", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_projectnode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L77", "weight": 1.0}, {"source": "routers_browse_projectnode", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_equipmentnode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L91", "weight": 1.0}, {"source": "routers_browse_equipmentnode", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L91", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_relayequipmentnode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L109", "weight": 1.0}, {"source": "routers_browse_relayequipmentnode", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L109", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_treeresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L125", "weight": 1.0}, {"source": "routers_browse_treeresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L125", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_folderentry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L132", "weight": 1.0}, {"source": "routers_browse_folderentry", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L132", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_folderresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L156", "weight": 1.0}, {"source": "routers_browse_folderresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L156", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_rundetail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L165", "weight": 1.0}, {"source": "routers_browse_rundetail", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L165", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_runlogentry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L180", "weight": 1.0}, {"source": "routers_browse_runlogentry", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L180", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_runlogresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L199", "weight": 1.0}, {"source": "routers_browse_runlogresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L199", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_build_browse_router", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L214", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_run_log_from_queue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L341", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_path_is_under_allowed_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L375", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_build_equipment_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L405", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_build_received_equipment_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L420", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_relay_label_from_first_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L463", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_find_run_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L494", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_read_sync_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L515", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_file_state_from_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L531", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_per_file_sync_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L550", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_run_relative_posix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L571", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_iter_run_or_project_subdirs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L579", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_scan_projects", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L602", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_build_project_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L610", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_scan_run_children", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L639", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_build_run_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L652", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_run_rollup_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L675", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_read_readme", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L696", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_scan_folder_sync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L712", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_tombstone_entries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L808", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_build_hierarchy_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L853", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "target": "routers_browse_projects_for_ui_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L887", "weight": 1.0}, {"source": "routers_browse_run_log_from_queue", "target": "routers_browse_runlogentry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L366", "weight": 1.0}, {"source": "routers_browse_build_equipment_node", "target": "routers_browse_scan_projects", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L407", "weight": 1.0}, {"source": "routers_browse_build_equipment_node", "target": "routers_browse_equipmentnode", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L410", "weight": 1.0}, {"source": "routers_browse_build_received_equipment_nodes", "target": "routers_browse_scan_projects", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L448", "weight": 1.0}, {"source": "routers_browse_build_received_equipment_nodes", "target": "routers_browse_relayequipmentnode", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L452", "weight": 1.0}, {"source": "routers_browse_build_received_equipment_nodes", "target": "routers_browse_relay_label_from_first_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L454", "weight": 1.0}, {"source": "routers_browse_relay_label_from_first_run", "target": "routers_browse_iter_run_or_project_subdirs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L466", "weight": 1.0}, {"source": "routers_browse_per_file_sync_status", "target": "routers_browse_find_run_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L560", "weight": 1.0}, {"source": "routers_browse_per_file_sync_status", "target": "routers_browse_read_sync_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L563", "weight": 1.0}, {"source": "routers_browse_per_file_sync_status", "target": "routers_browse_run_relative_posix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L566", "weight": 1.0}, {"source": "routers_browse_per_file_sync_status", "target": "routers_browse_file_state_from_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L568", "weight": 1.0}, {"source": "routers_browse_scan_projects", "target": "routers_browse_build_project_node", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L605", "weight": 1.0}, {"source": "routers_browse_scan_projects", "target": "routers_browse_iter_run_or_project_subdirs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L606", "weight": 1.0}, {"source": "routers_browse_build_project_node", "target": "routers_browse_iter_run_or_project_subdirs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L613", "weight": 1.0}, {"source": "routers_browse_build_project_node", "target": "routers_browse_scan_run_children", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L616", "weight": 1.0}, {"source": "routers_browse_build_project_node", "target": "routers_browse_build_run_node", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L628", "weight": 1.0}, {"source": "routers_browse_build_project_node", "target": "routers_browse_projectnode", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L630", "weight": 1.0}, {"source": "routers_browse_scan_run_children", "target": "routers_browse_build_run_node", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L646", "weight": 1.0}, {"source": "routers_browse_scan_run_children", "target": "routers_browse_iter_run_or_project_subdirs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L647", "weight": 1.0}, {"source": "routers_browse_build_run_node", "target": "routers_browse_run_rollup_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L665", "weight": 1.0}, {"source": "routers_browse_build_run_node", "target": "routers_browse_runnode", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L666", "weight": 1.0}, {"source": "routers_browse_scan_folder_sync", "target": "routers_browse_path_is_under_allowed_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L732", "weight": 1.0}, {"source": "routers_browse_scan_folder_sync", "target": "routers_browse_find_run_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L772", "weight": 1.0}, {"source": "routers_browse_scan_folder_sync", "target": "routers_browse_read_sync_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L773", "weight": 1.0}, {"source": "routers_browse_scan_folder_sync", "target": "routers_browse_run_relative_posix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L784", "weight": 1.0}, {"source": "routers_browse_scan_folder_sync", "target": "routers_browse_folderentry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L789", "weight": 1.0}, {"source": "routers_browse_scan_folder_sync", "target": "routers_browse_file_state_from_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L795", "weight": 1.0}, {"source": "routers_browse_scan_folder_sync", "target": "routers_browse_tombstone_entries", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L803", "weight": 1.0}, {"source": "routers_browse_scan_folder_sync", "target": "routers_browse_folderresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L805", "weight": 1.0}, {"source": "routers_browse_tombstone_entries", "target": "routers_browse_file_state_from_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L834", "weight": 1.0}, {"source": "routers_browse_tombstone_entries", "target": "routers_browse_folderentry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L839", "weight": 1.0}, {"source": "routers_browse_build_hierarchy_dict", "target": "routers_browse_build_equipment_node", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L872", "weight": 1.0}, {"source": "routers_browse_build_hierarchy_dict", "target": "routers_browse_equipmentnode", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L873", "weight": 1.0}, {"source": "routers_browse_build_hierarchy_dict", "target": "routers_browse_projects_for_ui_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L877", "weight": 1.0}, {"source": "routers_browse_build_hierarchy_dict", "target": "routers_browse_build_received_equipment_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L878", "weight": 1.0}, {"source": "routers_browse_projects_for_ui_tree", "target": "routers_browse_projectnode", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L893", "weight": 1.0}, {"source": "routers_browse_projects_for_ui_tree", "target": "routers_browse_runnode", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L900", "weight": 1.0}, {"source": "routers_browse_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_browse_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L1", "weight": 1.0}, {"source": "routers_browse_rationale_92", "target": "routers_browse_equipmentnode", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L92", "weight": 1.0}, {"source": "routers_browse_rationale_110", "target": "routers_browse_relayequipmentnode", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L110", "weight": 1.0}, {"source": "routers_browse_rationale_133", "target": "routers_browse_folderentry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L133", "weight": 1.0}, {"source": "routers_browse_rationale_157", "target": "routers_browse_folderresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L157", "weight": 1.0}, {"source": "routers_browse_rationale_181", "target": "routers_browse_runlogentry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L181", "weight": 1.0}, {"source": "routers_browse_rationale_200", "target": "routers_browse_runlogresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L200", "weight": 1.0}, {"source": "routers_browse_rationale_215", "target": "routers_browse_build_browse_router", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L215", "weight": 1.0}, {"source": "routers_browse_rationale_342", "target": "routers_browse_run_log_from_queue", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L342", "weight": 1.0}, {"source": "routers_browse_rationale_376", "target": "routers_browse_path_is_under_allowed_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L376", "weight": 1.0}, {"source": "routers_browse_rationale_421", "target": "routers_browse_build_received_equipment_nodes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L421", "weight": 1.0}, {"source": "routers_browse_rationale_464", "target": "routers_browse_relay_label_from_first_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L464", "weight": 1.0}, {"source": "routers_browse_rationale_495", "target": "routers_browse_find_run_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L495", "weight": 1.0}, {"source": "routers_browse_rationale_516", "target": "routers_browse_read_sync_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L516", "weight": 1.0}, {"source": "routers_browse_rationale_532", "target": "routers_browse_file_state_from_record", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L532", "weight": 1.0}, {"source": "routers_browse_rationale_551", "target": "routers_browse_per_file_sync_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L551", "weight": 1.0}, {"source": "routers_browse_rationale_572", "target": "routers_browse_run_relative_posix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L572", "weight": 1.0}, {"source": "routers_browse_rationale_580", "target": "routers_browse_iter_run_or_project_subdirs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L580", "weight": 1.0}, {"source": "routers_browse_rationale_603", "target": "routers_browse_scan_projects", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L603", "weight": 1.0}, {"source": "routers_browse_rationale_653", "target": "routers_browse_build_run_node", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L653", "weight": 1.0}, {"source": "routers_browse_rationale_676", "target": "routers_browse_run_rollup_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L676", "weight": 1.0}, {"source": "routers_browse_rationale_697", "target": "routers_browse_read_readme", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L697", "weight": 1.0}, {"source": "routers_browse_rationale_713", "target": "routers_browse_scan_folder_sync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L713", "weight": 1.0}, {"source": "routers_browse_rationale_814", "target": "routers_browse_tombstone_entries", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L814", "weight": 1.0}, {"source": "routers_browse_rationale_854", "target": "routers_browse_build_hierarchy_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L854", "weight": 1.0}], "raw_calls": [{"caller_nid": "routers_browse_build_browse_router", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L216"}, {"caller_nid": "routers_browse_build_browse_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L218"}, {"caller_nid": "routers_browse_build_browse_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L221"}, {"caller_nid": "routers_browse_build_browse_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L235"}, {"caller_nid": "routers_browse_build_browse_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L238"}, {"caller_nid": "routers_browse_build_browse_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L252"}, {"caller_nid": "routers_browse_build_browse_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L255"}, {"caller_nid": "routers_browse_build_browse_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L288"}, {"caller_nid": "routers_browse_build_browse_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L291"}, {"caller_nid": "routers_browse_run_log_from_queue", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L349"}, {"caller_nid": "routers_browse_run_log_from_queue", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L350"}, {"caller_nid": "routers_browse_run_log_from_queue", "callee": "getter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L354"}, {"caller_nid": "routers_browse_run_log_from_queue", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L356"}, {"caller_nid": "routers_browse_run_log_from_queue", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L360"}, {"caller_nid": "routers_browse_run_log_from_queue", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L360"}, {"caller_nid": "routers_browse_run_log_from_queue", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L363"}, {"caller_nid": "routers_browse_run_log_from_queue", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L368"}, {"caller_nid": "routers_browse_run_log_from_queue", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L368"}, {"caller_nid": "routers_browse_path_is_under_allowed_root", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L385"}, {"caller_nid": "routers_browse_path_is_under_allowed_root", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L386"}, {"caller_nid": "routers_browse_path_is_under_allowed_root", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L388"}, {"caller_nid": "routers_browse_path_is_under_allowed_root", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L393"}, {"caller_nid": "routers_browse_path_is_under_allowed_root", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L393"}, {"caller_nid": "routers_browse_path_is_under_allowed_root", "callee": "is_relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L398"}, {"caller_nid": "routers_browse_path_is_under_allowed_root", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L398"}, {"caller_nid": "routers_browse_path_is_under_allowed_root", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L398"}, {"caller_nid": "routers_browse_build_equipment_node", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L407"}, {"caller_nid": "routers_browse_build_equipment_node", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L413"}, {"caller_nid": "routers_browse_build_equipment_node", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L414"}, {"caller_nid": "routers_browse_build_received_equipment_nodes", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L426"}, {"caller_nid": "routers_browse_build_received_equipment_nodes", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L429"}, {"caller_nid": "routers_browse_build_received_equipment_nodes", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L430"}, {"caller_nid": "routers_browse_build_received_equipment_nodes", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L436"}, {"caller_nid": "routers_browse_build_received_equipment_nodes", "callee": "scandir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L436"}, {"caller_nid": "routers_browse_build_received_equipment_nodes", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L440"}, {"caller_nid": "routers_browse_build_received_equipment_nodes", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L447"}, {"caller_nid": "routers_browse_build_received_equipment_nodes", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L451"}, {"caller_nid": "routers_browse_build_received_equipment_nodes", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L455"}, {"caller_nid": "routers_browse_relay_label_from_first_run", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L467"}, {"caller_nid": "routers_browse_relay_label_from_first_run", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L470"}, {"caller_nid": "routers_browse_relay_label_from_first_run", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L472"}, {"caller_nid": "routers_browse_relay_label_from_first_run", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L472"}, {"caller_nid": "routers_browse_relay_label_from_first_run", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L473"}, {"caller_nid": "routers_browse_relay_label_from_first_run", "callee": "read_msgspec_json", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L475"}, {"caller_nid": "routers_browse_find_run_root", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L503"}, {"caller_nid": "routers_browse_find_run_root", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L505"}, {"caller_nid": "routers_browse_find_run_root", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L505"}, {"caller_nid": "routers_browse_read_sync_state", "callee": "read_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L525"}, {"caller_nid": "routers_browse_read_sync_state", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L525"}, {"caller_nid": "routers_browse_read_sync_state", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L527"}, {"caller_nid": "routers_browse_file_state_from_record", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L544"}, {"caller_nid": "routers_browse_per_file_sync_status", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L558"}, {"caller_nid": "routers_browse_per_file_sync_status", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L567"}, {"caller_nid": "routers_browse_run_relative_posix", "callee": "as_posix", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L574"}, {"caller_nid": "routers_browse_run_relative_posix", "callee": "relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L574"}, {"caller_nid": "routers_browse_iter_run_or_project_subdirs", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L589"}, {"caller_nid": "routers_browse_iter_run_or_project_subdirs", "callee": "scandir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L589"}, {"caller_nid": "routers_browse_iter_run_or_project_subdirs", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L593"}, {"caller_nid": "routers_browse_iter_run_or_project_subdirs", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L594"}, {"caller_nid": "routers_browse_iter_run_or_project_subdirs", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L598"}, {"caller_nid": "routers_browse_scan_projects", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L605"}, {"caller_nid": "routers_browse_build_project_node", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L615"}, {"caller_nid": "routers_browse_build_project_node", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L616"}, {"caller_nid": "routers_browse_build_project_node", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L621"}, {"caller_nid": "routers_browse_build_project_node", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L622"}, {"caller_nid": "routers_browse_build_project_node", "callee": "is_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L625"}, {"caller_nid": "routers_browse_build_project_node", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L628"}, {"caller_nid": "routers_browse_build_project_node", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L628"}, {"caller_nid": "routers_browse_build_project_node", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L629"}, {"caller_nid": "routers_browse_build_project_node", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L629"}, {"caller_nid": "routers_browse_build_project_node", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L632"}, {"caller_nid": "routers_browse_scan_run_children", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L646"}, {"caller_nid": "routers_browse_scan_run_children", "callee": "prefix_check", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L648"}, {"caller_nid": "routers_browse_build_run_node", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L661"}, {"caller_nid": "routers_browse_build_run_node", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L662"}, {"caller_nid": "routers_browse_build_run_node", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L668"}, {"caller_nid": "routers_browse_run_rollup_status", "callee": "read_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L684"}, {"caller_nid": "routers_browse_run_rollup_status", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L684"}, {"caller_nid": "routers_browse_run_rollup_status", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L686"}, {"caller_nid": "routers_browse_run_rollup_status", "callee": "rollup_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L688"}, {"caller_nid": "routers_browse_read_readme", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L699"}, {"caller_nid": "routers_browse_read_readme", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L702"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L723"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L723"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L725"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L733"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L743"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L744"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L753"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "scandir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L753"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L755"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L763"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L774"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L775"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L777"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L778"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L784"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L786"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L787"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L788"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L794"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "fromtimestamp", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L794"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L796"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L796"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L803"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "sort", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L804"}, {"caller_nid": "routers_browse_scan_folder_sync", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L805"}, {"caller_nid": "routers_browse_tombstone_entries", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L823"}, {"caller_nid": "routers_browse_tombstone_entries", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L838"}, {"caller_nid": "routers_browse_tombstone_entries", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L841"}, {"caller_nid": "routers_browse_tombstone_entries", "callee": "bool", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L846"}, {"caller_nid": "routers_browse_tombstone_entries", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L846"}, {"caller_nid": "routers_browse_build_hierarchy_dict", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L870"}, {"caller_nid": "routers_browse_build_hierarchy_dict", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L870"}, {"caller_nid": "routers_browse_projects_for_ui_tree", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L899"}, {"caller_nid": "routers_browse_projects_for_ui_tree", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py", "source_location": "L907"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e2129ad9ac5362bbe1105f85efe2e6570aa8cd20fdf3aaa065d3e8cbb3faacc4.json b/graphify-out/cache/ast/e2129ad9ac5362bbe1105f85efe2e6570aa8cd20fdf3aaa065d3e8cbb3faacc4.json deleted file mode 100644 index 440ccbc..0000000 --- a/graphify-out/cache/ast/e2129ad9ac5362bbe1105f85efe2e6570aa8cd20fdf3aaa065d3e8cbb3faacc4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_equipment_form_py", "label": "equipment_form.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L1"}, {"id": "ui_equipment_form_build_equipment_config", "label": "build_equipment_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L29"}, {"id": "ui_equipment_form_rationale_1", "label": "Shared assembler for an :class:`EquipmentConfig` from raw form fields. GUI/Orch", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L1"}, {"id": "ui_equipment_form_rationale_54", "label": "Assemble a validated :class:`EquipmentConfig` from raw form fields. Redesig", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L54"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_equipment_form_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_equipment_form_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_equipment_form_py", "target": "ui_equipment_form_build_equipment_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L29", "weight": 1.0}, {"source": "ui_equipment_form_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_equipment_form_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_equipment_form_rationale_54", "target": "ui_equipment_form_build_equipment_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L54", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "SyncMode", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L63"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "RcloneSmbTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L70"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L72"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L73"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L74"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L75"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L76"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L79"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L81"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L82"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L83"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L84"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "OrchestratorStagingTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L87"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "OrchestratorTransportType", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L88"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L89"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L90"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L93"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L94"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L95"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L96"}, {"caller_nid": "ui_equipment_form_build_equipment_config", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py", "source_location": "L97"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e2883d27bebbd65ef3495434e9fa4b2e338709cbe16f909921fbc12219c95edc.json b/graphify-out/cache/ast/e2883d27bebbd65ef3495434e9fa4b2e338709cbe16f909921fbc12219c95edc.json deleted file mode 100644 index 2bc70e7..0000000 --- a/graphify-out/cache/ast/e2883d27bebbd65ef3495434e9fa4b2e338709cbe16f909921fbc12219c95edc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "label": "test_browse.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L1"}, {"id": "api_test_browse_config_with_local_root", "label": "_config_with_local_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L37"}, {"id": "api_test_browse_write_creation_json", "label": "_write_creation_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L63"}, {"id": "api_test_browse_test_get_tree_lists_equipment_and_projects", "label": "test_get_tree_lists_equipment_and_projects()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L85"}, {"id": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "label": "test_get_tree_returns_empty_when_no_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L116"}, {"id": "api_test_browse_test_get_run_returns_detail", "label": "test_get_run_returns_detail()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L134"}, {"id": "api_test_browse_test_get_run_404_when_creation_missing", "label": "test_get_run_404_when_creation_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L153"}, {"id": "api_test_browse_test_get_tree_skips_unknown_dirs", "label": "test_get_tree_skips_unknown_dirs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L166"}, {"id": "api_test_browse_test_get_tree_includes_test_runs", "label": "test_get_tree_includes_test_runs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L184"}, {"id": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "label": "test_get_run_returns_422_when_creation_json_malformed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L204"}, {"id": "api_test_browse_test_get_run_returns_none_readme_when_absent", "label": "test_get_run_returns_none_readme_when_absent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L225"}, {"id": "api_test_browse_test_get_folder_returns_immediate_contents", "label": "test_get_folder_returns_immediate_contents()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L244"}, {"id": "api_test_browse_test_get_folder_404_on_vanished_path", "label": "test_get_folder_404_on_vanished_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L265"}, {"id": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", "label": "test_get_tree_includes_sync_mode_on_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L276"}, {"id": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "label": "test_get_folder_rejects_path_outside_configured_roots()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L288"}, {"id": "api_test_browse_stubjobrow", "label": "_StubJobRow", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L310"}, {"id": "api_test_browse_stubjobrow_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L313"}, {"id": "api_test_browse_stubnassync", "label": "_StubNasSync", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L326"}, {"id": "api_test_browse_stubnassync_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L329"}, {"id": "api_test_browse_stubnassync_get_by_run_path", "label": ".get_by_run_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L332"}, {"id": "api_test_browse_test_get_run_log_returns_queue_derived_history", "label": "test_get_run_log_returns_queue_derived_history()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L338"}, {"id": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "label": "test_get_run_log_forwards_failure_extras_in_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L361"}, {"id": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "label": "test_get_run_log_empty_history_when_no_queue_job()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L394"}, {"id": "api_test_browse_test_get_run_log_404_when_run_missing", "label": "test_get_run_log_404_when_run_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L412"}, {"id": "api_test_browse_test_build_hierarchy_dict_returns_empty_when_config_missing", "label": "test_build_hierarchy_dict_returns_empty_when_config_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L427"}, {"id": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", "label": "test_build_hierarchy_dict_includes_owned_and_relay_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L433"}, {"id": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "label": "test_scan_folder_sync_lists_immediate_contents()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L468"}, {"id": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path", "label": "test_scan_folder_sync_raises_404_for_missing_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L487"}, {"id": "api_test_browse_seed_run_with_creation", "label": "_seed_run_with_creation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L508"}, {"id": "api_test_browse_write_sync_state", "label": "_write_sync_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L517"}, {"id": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", "label": "test_per_file_status_acquiring_when_not_in_sync_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L539"}, {"id": "api_test_browse_test_per_file_status_syncing_when_unverified", "label": "test_per_file_status_syncing_when_unverified()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L552"}, {"id": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", "label": "test_per_file_status_synced_when_verified_and_on_disk()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L566"}, {"id": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", "label": "test_per_file_status_on_nas_tombstone_for_cleared_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L583"}, {"id": "api_test_browse_test_per_file_status_keep_local_flag_carried", "label": "test_per_file_status_keep_local_flag_carried()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L606"}, {"id": "api_test_browse_test_build_run_node_rollup_from_sync_state", "label": "test_build_run_node_rollup_from_sync_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L630"}, {"id": "api_test_browse_test_build_run_node_rollup_cleared", "label": "test_build_run_node_rollup_cleared()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L646"}, {"id": "api_test_browse_rationale_1", "label": "Unit tests for the ``/tree`` and ``/run/{path}`` browse endpoints.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L1"}, {"id": "api_test_browse_rationale_117", "label": "When config has no equipment the setup gate blocks /tree.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L117"}, {"id": "api_test_browse_rationale_185", "label": "``TestRuns`` directory under a project surfaces as ``test_runs`` list.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L185"}, {"id": "api_test_browse_rationale_205", "label": "A creation.json that is present but malformed surfaces as 422.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L205"}, {"id": "api_test_browse_rationale_226", "label": "Run with creation.json but no README.md returns readme: null.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L226"}, {"id": "api_test_browse_rationale_289", "label": "Path-confinement guard: only the configured local_root / staging_root / temp", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L289"}, {"id": "api_test_browse_rationale_311", "label": "A minimal sync-queue job row for the run-log tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L311"}, {"id": "api_test_browse_rationale_327", "label": "Sync-queue stub serving ``get_by_run_path`` for the log endpoint.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L327"}, {"id": "api_test_browse_rationale_339", "label": "A staged run's sync-queue job state is surfaced as the log.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L339"}, {"id": "api_test_browse_rationale_362", "label": "A failed job row's ``last_error`` / ``attempts`` / ``verify_passes`` / ``nas", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L362"}, {"id": "api_test_browse_rationale_395", "label": "A run with no sync-queue job returns an empty history + 'none' state.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L395"}, {"id": "api_test_browse_rationale_413", "label": "A run directory that does not exist returns 404 ``session_not_found``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L413"}, {"id": "api_test_browse_rationale_434", "label": "The nested dict surfaces both owned and received-equipment roots with their", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L434"}, {"id": "api_test_browse_rationale_469", "label": "``scan_folder_sync`` shares the same shape as the route handler.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L469"}, {"id": "api_test_browse_rationale_488", "label": "A missing folder raises the same 404 HTTPException the route does.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L488"}, {"id": "api_test_browse_rationale_509", "label": "Create a run dir with a creation.json so it is recognised as a run.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L509"}, {"id": "api_test_browse_rationale_518", "label": "Write a sync_state.json with the given per-file records.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L518"}, {"id": "api_test_browse_rationale_540", "label": "A file on disk but absent from sync_state.json reads as ``acquiring``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L540"}, {"id": "api_test_browse_rationale_553", "label": "A recorded file with verified_at null + on disk reads as ``syncing``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L553"}, {"id": "api_test_browse_rationale_567", "label": "A recorded+verified file still on disk reads as ``synced``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L567"}, {"id": "api_test_browse_rationale_584", "label": "A cleared run lists verified-but-absent files as ``on_nas`` tombstones.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L584"}, {"id": "api_test_browse_rationale_607", "label": "A keep_local file carries the flag alongside its sync status.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L607"}, {"id": "api_test_browse_rationale_631", "label": "The tree run-node sync_status is the sync_state.json rollup, not creation.json.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L631"}, {"id": "api_test_browse_rationale_647", "label": "A cleared run rolls up to ``cleared`` in the tree.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L647"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "fastapi_testclient", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "exlab_wizard_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_config_with_local_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_write_creation_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L63", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_tree_lists_equipment_and_projects", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L116", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_run_returns_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L134", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_run_404_when_creation_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L153", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_tree_skips_unknown_dirs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L166", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_tree_includes_test_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L184", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L204", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_run_returns_none_readme_when_absent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L225", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_folder_returns_immediate_contents", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L244", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_folder_404_on_vanished_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L265", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L276", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L288", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_stubjobrow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L310", "weight": 1.0}, {"source": "api_test_browse_stubjobrow", "target": "api_test_browse_stubjobrow_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L313", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_stubnassync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L326", "weight": 1.0}, {"source": "api_test_browse_stubnassync", "target": "api_test_browse_stubnassync_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L329", "weight": 1.0}, {"source": "api_test_browse_stubnassync", "target": "api_test_browse_stubnassync_get_by_run_path", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L332", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_run_log_returns_queue_derived_history", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L338", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L361", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L394", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_get_run_log_404_when_run_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L412", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_build_hierarchy_dict_returns_empty_when_config_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L427", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L433", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L468", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L487", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_seed_run_with_creation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L508", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_write_sync_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L517", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L539", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_per_file_status_syncing_when_unverified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L552", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L566", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L583", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_per_file_status_keep_local_flag_carried", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L606", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_build_run_node_rollup_from_sync_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L630", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "target": "api_test_browse_test_build_run_node_rollup_cleared", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L646", "weight": 1.0}, {"source": "api_test_browse_test_get_tree_lists_equipment_and_projects", "target": "api_test_browse_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L93", "weight": 1.0}, {"source": "api_test_browse_test_get_tree_lists_equipment_and_projects", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L96", "weight": 1.0}, {"source": "api_test_browse_test_get_run_returns_detail", "target": "api_test_browse_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L139", "weight": 1.0}, {"source": "api_test_browse_test_get_run_returns_detail", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L142", "weight": 1.0}, {"source": "api_test_browse_test_get_run_404_when_creation_missing", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L156", "weight": 1.0}, {"source": "api_test_browse_test_get_tree_skips_unknown_dirs", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L175", "weight": 1.0}, {"source": "api_test_browse_test_get_tree_includes_test_runs", "target": "api_test_browse_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L194", "weight": 1.0}, {"source": "api_test_browse_test_get_tree_includes_test_runs", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L195", "weight": 1.0}, {"source": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L216", "weight": 1.0}, {"source": "api_test_browse_test_get_run_returns_none_readme_when_absent", "target": "api_test_browse_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L230", "weight": 1.0}, {"source": "api_test_browse_test_get_run_returns_none_readme_when_absent", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L231", "weight": 1.0}, {"source": "api_test_browse_test_get_folder_returns_immediate_contents", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L251", "weight": 1.0}, {"source": "api_test_browse_test_get_folder_404_on_vanished_path", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L267", "weight": 1.0}, {"source": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L279", "weight": 1.0}, {"source": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L296", "weight": 1.0}, {"source": "api_test_browse_test_get_run_log_returns_queue_derived_history", "target": "api_test_browse_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L342", "weight": 1.0}, {"source": "api_test_browse_test_get_run_log_returns_queue_derived_history", "target": "api_test_browse_stubjobrow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L342", "weight": 1.0}, {"source": "api_test_browse_test_get_run_log_returns_queue_derived_history", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L344", "weight": 1.0}, {"source": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "target": "api_test_browse_stubjobrow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L372", "weight": 1.0}, {"source": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L378", "weight": 1.0}, {"source": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "target": "api_test_browse_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L380", "weight": 1.0}, {"source": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L399", "weight": 1.0}, {"source": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "target": "api_test_browse_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L401", "weight": 1.0}, {"source": "api_test_browse_test_get_run_log_404_when_run_missing", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L414", "weight": 1.0}, {"source": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L453", "weight": 1.0}, {"source": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L477", "weight": 1.0}, {"source": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L493", "weight": 1.0}, {"source": "api_test_browse_seed_run_with_creation", "target": "api_test_browse_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L513", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", "target": "api_test_browse_seed_run_with_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L544", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L546", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_syncing_when_unverified", "target": "api_test_browse_seed_run_with_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L557", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_syncing_when_unverified", "target": "api_test_browse_write_sync_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L559", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_syncing_when_unverified", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L560", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", "target": "api_test_browse_seed_run_with_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L571", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", "target": "api_test_browse_write_sync_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L573", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L577", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", "target": "api_test_browse_seed_run_with_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L588", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", "target": "api_test_browse_write_sync_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L590", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L595", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_keep_local_flag_carried", "target": "api_test_browse_seed_run_with_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L611", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_keep_local_flag_carried", "target": "api_test_browse_write_sync_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L613", "weight": 1.0}, {"source": "api_test_browse_test_per_file_status_keep_local_flag_carried", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L623", "weight": 1.0}, {"source": "api_test_browse_test_build_run_node_rollup_from_sync_state", "target": "api_test_browse_seed_run_with_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L633", "weight": 1.0}, {"source": "api_test_browse_test_build_run_node_rollup_from_sync_state", "target": "api_test_browse_write_sync_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L634", "weight": 1.0}, {"source": "api_test_browse_test_build_run_node_rollup_from_sync_state", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L638", "weight": 1.0}, {"source": "api_test_browse_test_build_run_node_rollup_cleared", "target": "api_test_browse_seed_run_with_creation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L649", "weight": 1.0}, {"source": "api_test_browse_test_build_run_node_rollup_cleared", "target": "api_test_browse_write_sync_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L650", "weight": 1.0}, {"source": "api_test_browse_test_build_run_node_rollup_cleared", "target": "api_test_browse_config_with_local_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L655", "weight": 1.0}, {"source": "api_test_browse_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_browse_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L1", "weight": 1.0}, {"source": "api_test_browse_rationale_117", "target": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L117", "weight": 1.0}, {"source": "api_test_browse_rationale_185", "target": "api_test_browse_test_get_tree_includes_test_runs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L185", "weight": 1.0}, {"source": "api_test_browse_rationale_205", "target": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L205", "weight": 1.0}, {"source": "api_test_browse_rationale_226", "target": "api_test_browse_test_get_run_returns_none_readme_when_absent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L226", "weight": 1.0}, {"source": "api_test_browse_rationale_289", "target": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L289", "weight": 1.0}, {"source": "api_test_browse_rationale_311", "target": "api_test_browse_stubjobrow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L311", "weight": 1.0}, {"source": "api_test_browse_rationale_327", "target": "api_test_browse_stubnassync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L327", "weight": 1.0}, {"source": "api_test_browse_rationale_339", "target": "api_test_browse_test_get_run_log_returns_queue_derived_history", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L339", "weight": 1.0}, {"source": "api_test_browse_rationale_362", "target": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L362", "weight": 1.0}, {"source": "api_test_browse_rationale_395", "target": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L395", "weight": 1.0}, {"source": "api_test_browse_rationale_413", "target": "api_test_browse_test_get_run_log_404_when_run_missing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L413", "weight": 1.0}, {"source": "api_test_browse_rationale_434", "target": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L434", "weight": 1.0}, {"source": "api_test_browse_rationale_469", "target": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L469", "weight": 1.0}, {"source": "api_test_browse_rationale_488", "target": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L488", "weight": 1.0}, {"source": "api_test_browse_rationale_509", "target": "api_test_browse_seed_run_with_creation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L509", "weight": 1.0}, {"source": "api_test_browse_rationale_518", "target": "api_test_browse_write_sync_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L518", "weight": 1.0}, {"source": "api_test_browse_rationale_540", "target": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L540", "weight": 1.0}, {"source": "api_test_browse_rationale_553", "target": "api_test_browse_test_per_file_status_syncing_when_unverified", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L553", "weight": 1.0}, {"source": "api_test_browse_rationale_567", "target": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L567", "weight": 1.0}, {"source": "api_test_browse_rationale_584", "target": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L584", "weight": 1.0}, {"source": "api_test_browse_rationale_607", "target": "api_test_browse_test_per_file_status_keep_local_flag_carried", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L607", "weight": 1.0}, {"source": "api_test_browse_rationale_631", "target": "api_test_browse_test_build_run_node_rollup_from_sync_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L631", "weight": 1.0}, {"source": "api_test_browse_rationale_647", "target": "api_test_browse_test_build_run_node_rollup_cleared", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L647", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_browse_config_with_local_root", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L38"}, {"caller_nid": "api_test_browse_config_with_local_root", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L39"}, {"caller_nid": "api_test_browse_config_with_local_root", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L40"}, {"caller_nid": "api_test_browse_config_with_local_root", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L41"}, {"caller_nid": "api_test_browse_config_with_local_root", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L42"}, {"caller_nid": "api_test_browse_config_with_local_root", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L45"}, {"caller_nid": "api_test_browse_config_with_local_root", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L48"}, {"caller_nid": "api_test_browse_config_with_local_root", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L50"}, {"caller_nid": "api_test_browse_config_with_local_root", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L58"}, {"caller_nid": "api_test_browse_config_with_local_root", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L59"}, {"caller_nid": "api_test_browse_write_creation_json", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L65"}, {"caller_nid": "api_test_browse_write_creation_json", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L66"}, {"caller_nid": "api_test_browse_write_creation_json", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L68"}, {"caller_nid": "api_test_browse_write_creation_json", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L68"}, {"caller_nid": "api_test_browse_write_creation_json", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L72"}, {"caller_nid": "api_test_browse_write_creation_json", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L75"}, {"caller_nid": "api_test_browse_write_creation_json", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L79"}, {"caller_nid": "api_test_browse_write_creation_json", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L79"}, {"caller_nid": "api_test_browse_write_creation_json", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L82"}, {"caller_nid": "api_test_browse_write_creation_json", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L82"}, {"caller_nid": "api_test_browse_test_get_tree_lists_equipment_and_projects", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L87"}, {"caller_nid": "api_test_browse_test_get_tree_lists_equipment_and_projects", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L92"}, {"caller_nid": "api_test_browse_test_get_tree_lists_equipment_and_projects", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L96"}, {"caller_nid": "api_test_browse_test_get_tree_lists_equipment_and_projects", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L97"}, {"caller_nid": "api_test_browse_test_get_tree_lists_equipment_and_projects", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L98"}, {"caller_nid": "api_test_browse_test_get_tree_lists_equipment_and_projects", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L99"}, {"caller_nid": "api_test_browse_test_get_tree_lists_equipment_and_projects", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L101"}, {"caller_nid": "api_test_browse_test_get_tree_lists_equipment_and_projects", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L102"}, {"caller_nid": "api_test_browse_test_get_tree_lists_equipment_and_projects", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L105"}, {"caller_nid": "api_test_browse_test_get_tree_lists_equipment_and_projects", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L108"}, {"caller_nid": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L119"}, {"caller_nid": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L120"}, {"caller_nid": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L121"}, {"caller_nid": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L121"}, {"caller_nid": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L122"}, {"caller_nid": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L124"}, {"caller_nid": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L125"}, {"caller_nid": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L126"}, {"caller_nid": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L127"}, {"caller_nid": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L129"}, {"caller_nid": "api_test_browse_test_get_run_returns_detail", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L136"}, {"caller_nid": "api_test_browse_test_get_run_returns_detail", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L138"}, {"caller_nid": "api_test_browse_test_get_run_returns_detail", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L140"}, {"caller_nid": "api_test_browse_test_get_run_returns_detail", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L142"}, {"caller_nid": "api_test_browse_test_get_run_returns_detail", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L143"}, {"caller_nid": "api_test_browse_test_get_run_returns_detail", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L144"}, {"caller_nid": "api_test_browse_test_get_run_returns_detail", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L145"}, {"caller_nid": "api_test_browse_test_get_run_returns_detail", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L147"}, {"caller_nid": "api_test_browse_test_get_run_404_when_creation_missing", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L155"}, {"caller_nid": "api_test_browse_test_get_run_404_when_creation_missing", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L156"}, {"caller_nid": "api_test_browse_test_get_run_404_when_creation_missing", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L157"}, {"caller_nid": "api_test_browse_test_get_run_404_when_creation_missing", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L158"}, {"caller_nid": "api_test_browse_test_get_run_404_when_creation_missing", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L160"}, {"caller_nid": "api_test_browse_test_get_run_404_when_creation_missing", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L162"}, {"caller_nid": "api_test_browse_test_get_tree_skips_unknown_dirs", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L169"}, {"caller_nid": "api_test_browse_test_get_tree_skips_unknown_dirs", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L171"}, {"caller_nid": "api_test_browse_test_get_tree_skips_unknown_dirs", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L174"}, {"caller_nid": "api_test_browse_test_get_tree_skips_unknown_dirs", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L175"}, {"caller_nid": "api_test_browse_test_get_tree_skips_unknown_dirs", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L176"}, {"caller_nid": "api_test_browse_test_get_tree_skips_unknown_dirs", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L177"}, {"caller_nid": "api_test_browse_test_get_tree_skips_unknown_dirs", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L178"}, {"caller_nid": "api_test_browse_test_get_tree_skips_unknown_dirs", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L178"}, {"caller_nid": "api_test_browse_test_get_tree_includes_test_runs", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L193"}, {"caller_nid": "api_test_browse_test_get_tree_includes_test_runs", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L195"}, {"caller_nid": "api_test_browse_test_get_tree_includes_test_runs", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L196"}, {"caller_nid": "api_test_browse_test_get_tree_includes_test_runs", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L197"}, {"caller_nid": "api_test_browse_test_get_tree_includes_test_runs", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L198"}, {"caller_nid": "api_test_browse_test_get_tree_includes_test_runs", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L198"}, {"caller_nid": "api_test_browse_test_get_tree_includes_test_runs", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L200"}, {"caller_nid": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L208"}, {"caller_nid": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L210"}, {"caller_nid": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L214"}, {"caller_nid": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L215"}, {"caller_nid": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L216"}, {"caller_nid": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L217"}, {"caller_nid": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L218"}, {"caller_nid": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L219"}, {"caller_nid": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L221"}, {"caller_nid": "api_test_browse_test_get_run_returns_none_readme_when_absent", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L229"}, {"caller_nid": "api_test_browse_test_get_run_returns_none_readme_when_absent", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L231"}, {"caller_nid": "api_test_browse_test_get_run_returns_none_readme_when_absent", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L232"}, {"caller_nid": "api_test_browse_test_get_run_returns_none_readme_when_absent", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L233"}, {"caller_nid": "api_test_browse_test_get_run_returns_none_readme_when_absent", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L234"}, {"caller_nid": "api_test_browse_test_get_run_returns_none_readme_when_absent", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L236"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L247"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L248"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L249"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L250"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L251"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L252"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L253"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L254"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L256"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L259"}, {"caller_nid": "api_test_browse_test_get_folder_returns_immediate_contents", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L261"}, {"caller_nid": "api_test_browse_test_get_folder_404_on_vanished_path", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L266"}, {"caller_nid": "api_test_browse_test_get_folder_404_on_vanished_path", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L269"}, {"caller_nid": "api_test_browse_test_get_folder_404_on_vanished_path", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L270"}, {"caller_nid": "api_test_browse_test_get_folder_404_on_vanished_path", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L271"}, {"caller_nid": "api_test_browse_test_get_folder_404_on_vanished_path", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L273"}, {"caller_nid": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L278"}, {"caller_nid": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L279"}, {"caller_nid": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L280"}, {"caller_nid": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L281"}, {"caller_nid": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L282"}, {"caller_nid": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L282"}, {"caller_nid": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L292"}, {"caller_nid": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L294"}, {"caller_nid": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L295"}, {"caller_nid": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L296"}, {"caller_nid": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L297"}, {"caller_nid": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L298"}, {"caller_nid": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L299"}, {"caller_nid": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L301"}, {"caller_nid": "api_test_browse_stubjobrow_init", "callee": "SyncJobState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L317"}, {"caller_nid": "api_test_browse_stubnassync_get_by_run_path", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L333"}, {"caller_nid": "api_test_browse_test_get_run_log_returns_queue_derived_history", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L341"}, {"caller_nid": "api_test_browse_test_get_run_log_returns_queue_derived_history", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L342"}, {"caller_nid": "api_test_browse_test_get_run_log_returns_queue_derived_history", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L343"}, {"caller_nid": "api_test_browse_test_get_run_log_returns_queue_derived_history", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L348"}, {"caller_nid": "api_test_browse_test_get_run_log_returns_queue_derived_history", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L349"}, {"caller_nid": "api_test_browse_test_get_run_log_returns_queue_derived_history", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L350"}, {"caller_nid": "api_test_browse_test_get_run_log_returns_queue_derived_history", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L352"}, {"caller_nid": "api_test_browse_test_get_run_log_returns_queue_derived_history", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L353"}, {"caller_nid": "api_test_browse_test_get_run_log_returns_queue_derived_history", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L355"}, {"caller_nid": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L371"}, {"caller_nid": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L372"}, {"caller_nid": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L377"}, {"caller_nid": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L382"}, {"caller_nid": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L383"}, {"caller_nid": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L384"}, {"caller_nid": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L386"}, {"caller_nid": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L397"}, {"caller_nid": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L398"}, {"caller_nid": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L403"}, {"caller_nid": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L404"}, {"caller_nid": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L405"}, {"caller_nid": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L407"}, {"caller_nid": "api_test_browse_test_get_run_log_404_when_run_missing", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L414"}, {"caller_nid": "api_test_browse_test_get_run_log_404_when_run_missing", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L415"}, {"caller_nid": "api_test_browse_test_get_run_log_404_when_run_missing", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L416"}, {"caller_nid": "api_test_browse_test_get_run_log_404_when_run_missing", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L417"}, {"caller_nid": "api_test_browse_test_get_run_log_404_when_run_missing", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L419"}, {"caller_nid": "api_test_browse_test_build_hierarchy_dict_returns_empty_when_config_missing", "callee": "build_hierarchy_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L430"}, {"caller_nid": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L441"}, {"caller_nid": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L443"}, {"caller_nid": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L451"}, {"caller_nid": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L456"}, {"caller_nid": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", "callee": "build_hierarchy_dict", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L458"}, {"caller_nid": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L465"}, {"caller_nid": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L474"}, {"caller_nid": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L475"}, {"caller_nid": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L476"}, {"caller_nid": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "callee": "scan_folder_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L478"}, {"caller_nid": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L478"}, {"caller_nid": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L484"}, {"caller_nid": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L484"}, {"caller_nid": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path", "callee": "scan_folder_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L495"}, {"caller_nid": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L495"}, {"caller_nid": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L499"}, {"caller_nid": "api_test_browse_seed_run_with_creation", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L512"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L523"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L524"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L525"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L526"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L529"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L530"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L533"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L534"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "set_keep_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L534"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L536"}, {"caller_nid": "api_test_browse_write_sync_state", "callee": "mark_cleared", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L536"}, {"caller_nid": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L545"}, {"caller_nid": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", "callee": "scan_folder_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L547"}, {"caller_nid": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L547"}, {"caller_nid": "api_test_browse_test_per_file_status_syncing_when_unverified", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L558"}, {"caller_nid": "api_test_browse_test_per_file_status_syncing_when_unverified", "callee": "scan_folder_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L561"}, {"caller_nid": "api_test_browse_test_per_file_status_syncing_when_unverified", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L561"}, {"caller_nid": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L572"}, {"caller_nid": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", "callee": "scan_folder_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L578"}, {"caller_nid": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L578"}, {"caller_nid": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", "callee": "scan_folder_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L596"}, {"caller_nid": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L596"}, {"caller_nid": "api_test_browse_test_per_file_status_keep_local_flag_carried", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L612"}, {"caller_nid": "api_test_browse_test_per_file_status_keep_local_flag_carried", "callee": "scan_folder_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L624"}, {"caller_nid": "api_test_browse_test_per_file_status_keep_local_flag_carried", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L624"}, {"caller_nid": "api_test_browse_test_build_run_node_rollup_from_sync_state", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L638"}, {"caller_nid": "api_test_browse_test_build_run_node_rollup_from_sync_state", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L639"}, {"caller_nid": "api_test_browse_test_build_run_node_rollup_from_sync_state", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L640"}, {"caller_nid": "api_test_browse_test_build_run_node_rollup_from_sync_state", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L641"}, {"caller_nid": "api_test_browse_test_build_run_node_rollup_from_sync_state", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L641"}, {"caller_nid": "api_test_browse_test_build_run_node_rollup_cleared", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L655"}, {"caller_nid": "api_test_browse_test_build_run_node_rollup_cleared", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L656"}, {"caller_nid": "api_test_browse_test_build_run_node_rollup_cleared", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L657"}, {"caller_nid": "api_test_browse_test_build_run_node_rollup_cleared", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L658"}, {"caller_nid": "api_test_browse_test_build_run_node_rollup_cleared", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py", "source_location": "L658"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e28bf930b902a735875d0405e0492b292f7e20e91d23f10b2658b580044bc53e.json b/graphify-out/cache/ast/e28bf930b902a735875d0405e0492b292f7e20e91d23f10b2658b580044bc53e.json deleted file mode 100644 index f64ee03..0000000 --- a/graphify-out/cache/ast/e28bf930b902a735875d0405e0492b292f7e20e91d23f10b2658b580044bc53e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "label": "wizard_project_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L1"}, {"id": "page_objects_wizard_project_page_wizardprojectpage", "label": "WizardProjectPage", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L11"}, {"id": "page_objects_wizard_project_page_wizardprojectpage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L14"}, {"id": "page_objects_wizard_project_page_card", "label": "card()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L18"}, {"id": "page_objects_wizard_project_page_stepper", "label": "stepper()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L23"}, {"id": "page_objects_wizard_project_page_wizardprojectpage_step", "label": ".step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L27"}, {"id": "page_objects_wizard_project_page_lims_gate", "label": "lims_gate()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L32"}, {"id": "page_objects_wizard_project_page_lims_id", "label": "lims_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L41"}, {"id": "page_objects_wizard_project_page_back", "label": "back()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L46"}, {"id": "page_objects_wizard_project_page_cancel", "label": "cancel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L54"}, {"id": "page_objects_wizard_project_page_next", "label": "next()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L59"}, {"id": "page_objects_wizard_project_page_submit", "label": "submit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L64"}, {"id": "page_objects_wizard_project_page_success_card", "label": "success_card()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L69"}, {"id": "page_objects_wizard_project_page_rationale_1", "label": "Page object for the New Project Wizard. Frontend Spec \u00a76.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L1"}, {"id": "page_objects_wizard_project_page_rationale_12", "label": "Locators for the new-project wizard's seven-step stepper.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L12"}, {"id": "page_objects_wizard_project_page_rationale_19", "label": "The wizard's outermost card element.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L19"}, {"id": "page_objects_wizard_project_page_rationale_24", "label": "The vertical stepper that holds the seven steps.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L24"}, {"id": "page_objects_wizard_project_page_rationale_28", "label": "Locator for a specific step container.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L28"}, {"id": "page_objects_wizard_project_page_rationale_33", "label": "The manual-entry gate button on the LIMS Project step. Rendered only wh", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L33"}, {"id": "page_objects_wizard_project_page_rationale_42", "label": "The manual LIMS short-ID input (revealed by ``lims_gate``).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L42"}, {"id": "page_objects_wizard_project_page_rationale_47", "label": "The back button on the active stepper navigation. Absent on the first s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L47"}, {"id": "page_objects_wizard_project_page_rationale_55", "label": "The cancel button; present on every step, returns to /main.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L55"}, {"id": "page_objects_wizard_project_page_rationale_60", "label": "The primary advance button on the active stepper navigation.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L60"}, {"id": "page_objects_wizard_project_page_rationale_65", "label": "The Create button on the confirm step.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L65"}, {"id": "page_objects_wizard_project_page_rationale_70", "label": "The success indicator rendered after submit.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L70"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "playwright_sync_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "page_objects_wizard_project_page_wizardprojectpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L11", "weight": 1.0}, {"source": "page_objects_wizard_project_page_wizardprojectpage", "target": "page_objects_wizard_project_page_wizardprojectpage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "page_objects_wizard_project_page_card", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "page_objects_wizard_project_page_stepper", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L23", "weight": 1.0}, {"source": "page_objects_wizard_project_page_wizardprojectpage", "target": "page_objects_wizard_project_page_wizardprojectpage_step", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "page_objects_wizard_project_page_lims_gate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "page_objects_wizard_project_page_lims_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "page_objects_wizard_project_page_back", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "page_objects_wizard_project_page_cancel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "page_objects_wizard_project_page_next", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "page_objects_wizard_project_page_submit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "target": "page_objects_wizard_project_page_success_card", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L69", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_page_objects_wizard_project_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L1", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_12", "target": "page_objects_wizard_project_page_wizardprojectpage", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L12", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_19", "target": "page_objects_wizard_project_page_wizardprojectpage_card", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L19", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_24", "target": "page_objects_wizard_project_page_wizardprojectpage_stepper", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L24", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_28", "target": "page_objects_wizard_project_page_wizardprojectpage_step", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L28", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_33", "target": "page_objects_wizard_project_page_wizardprojectpage_lims_gate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L33", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_42", "target": "page_objects_wizard_project_page_wizardprojectpage_lims_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L42", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_47", "target": "page_objects_wizard_project_page_wizardprojectpage_back", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L47", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_55", "target": "page_objects_wizard_project_page_wizardprojectpage_cancel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L55", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_60", "target": "page_objects_wizard_project_page_wizardprojectpage_next", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L60", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_65", "target": "page_objects_wizard_project_page_wizardprojectpage_submit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L65", "weight": 1.0}, {"source": "page_objects_wizard_project_page_rationale_70", "target": "page_objects_wizard_project_page_wizardprojectpage_success_card", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L70", "weight": 1.0}], "raw_calls": [{"caller_nid": "page_objects_wizard_project_page_card", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L20"}, {"caller_nid": "page_objects_wizard_project_page_stepper", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L25"}, {"caller_nid": "page_objects_wizard_project_page_wizardprojectpage_step", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L29"}, {"caller_nid": "page_objects_wizard_project_page_lims_gate", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L38"}, {"caller_nid": "page_objects_wizard_project_page_lims_id", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L43"}, {"caller_nid": "page_objects_wizard_project_page_back", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L51"}, {"caller_nid": "page_objects_wizard_project_page_cancel", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L56"}, {"caller_nid": "page_objects_wizard_project_page_next", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L61"}, {"caller_nid": "page_objects_wizard_project_page_submit", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L66"}, {"caller_nid": "page_objects_wizard_project_page_success_card", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py", "source_location": "L71"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e2b9a6f7e076fc1a99e9ad0530e9441b9b86196521d7017a735fea5b57beb08e.json b/graphify-out/cache/ast/e2b9a6f7e076fc1a99e9ad0530e9441b9b86196521d7017a735fea5b57beb08e.json deleted file mode 100644 index 2afa1d0..0000000 --- a/graphify-out/cache/ast/e2b9a6f7e076fc1a99e9ad0530e9441b9b86196521d7017a735fea5b57beb08e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "label": "host.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L1"}, {"id": "plugins_host_pluginrecord", "label": "PluginRecord", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L86"}, {"id": "plugins_host_pluginregistryprotocol", "label": "PluginRegistryProtocol", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L116"}, {"id": "protocol", "label": "Protocol", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "plugins_host_pluginregistryprotocol_get_record", "label": ".get_record()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L126"}, {"id": "plugins_host_inputrequiredpayload", "label": "InputRequiredPayload", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L135"}, {"id": "plugins_host_pluginpassresult", "label": "PluginPassResult", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L150"}, {"id": "plugins_host_apply_rlimits", "label": "_apply_rlimits()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L168"}, {"id": "plugins_host_sanitized_env", "label": "_sanitized_env()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L214"}, {"id": "plugins_host_snapshot_tree", "label": "_snapshot_tree()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L240"}, {"id": "plugins_host_is_forbidden_write", "label": "_is_forbidden_write()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L280"}, {"id": "plugins_host_diff_and_collect_violations", "label": "_diff_and_collect_violations()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L285"}, {"id": "plugins_host_read_silently", "label": "_read_silently()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L338"}, {"id": "plugins_host_revert_to_snapshot", "label": "_revert_to_snapshot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L346"}, {"id": "plugins_host_drain_stderr", "label": "_drain_stderr()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L397"}, {"id": "plugins_host_emit_forwarded_log", "label": "_emit_forwarded_log()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L447"}, {"id": "plugins_host_resolve_run_id", "label": "_resolve_run_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L472"}, {"id": "plugins_host_pluginhost", "label": "PluginHost", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L487"}, {"id": "plugins_host_pluginhost_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L493"}, {"id": "plugins_host_pluginhost_run_pass", "label": ".run_pass()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L502"}, {"id": "plugins_host_pluginhost_run_one", "label": "._run_one()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L548"}, {"id": "plugins_host_pluginhost_spawn_worker", "label": "._spawn_worker()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L629"}, {"id": "plugins_host_pluginhost_terminate", "label": "._terminate()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L766"}, {"id": "plugins_host_pluginhost_stderr_path_for", "label": "._stderr_path_for()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L783"}, {"id": "plugins_host_spawnoutcome", "label": "_SpawnOutcome", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L797"}, {"id": "plugins_host_failure", "label": "failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L807"}, {"id": "plugins_host_read_stdout_envelope", "label": "_read_stdout_envelope()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L817"}, {"id": "plugins_host_build_applied_entry", "label": "_build_applied_entry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L838"}, {"id": "plugins_host_exit_code_to_status", "label": "_exit_code_to_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L876"}, {"id": "plugins_host_listbackedregistry", "label": "_ListBackedRegistry", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L900"}, {"id": "plugins_host_listbackedregistry_get_record", "label": ".get_record()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L911"}, {"id": "plugins_host_build_test_registry", "label": "build_test_registry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L918"}, {"id": "plugins_host_applied_entry_as_json", "label": "applied_entry_as_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L925"}, {"id": "plugins_host_rationale_1", "label": "Plugin host: spawns plugin worker subprocesses with strict isolation. Backend S", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L1"}, {"id": "plugins_host_rationale_87", "label": "One resolved plugin, ready to be spawned. Backend Spec \u00a76.2.1. Attributes:", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L87"}, {"id": "plugins_host_rationale_117", "label": "Read-only registry surface the host depends on. Backend Spec \u00a76.2. The conc", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L117"}, {"id": "plugins_host_rationale_136", "label": "Frame surfaced to the controller when a plugin needs more input. Backend Sp", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L136"}, {"id": "plugins_host_rationale_151", "label": "Aggregate result returned by :meth:`PluginHost.run_pass`. Backend Spec \u00a76.2", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L151"}, {"id": "plugins_host_rationale_169", "label": "``preexec_fn`` for the worker subprocess: install POSIX rlimits. Backend Sp", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L169"}, {"id": "plugins_host_rationale_215", "label": "Return the worker's ``env`` mapping (Backend Spec \u00a76.3.1).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L215"}, {"id": "plugins_host_rationale_241", "label": "Capture a small fingerprint per file in ``root``. The returned mapping is k", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L241"}, {"id": "plugins_host_rationale_281", "label": "Return ``True`` when ``rel_path`` is in the \u00a76.1.5 forbidden set.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L281"}, {"id": "plugins_host_rationale_289", "label": "Return ``(violations, modified_files)``. ``violations`` lists relative path", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L289"}, {"id": "plugins_host_rationale_339", "label": "Return the file's bytes or ``None`` on read failure.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L339"}, {"id": "plugins_host_rationale_350", "label": "Best-effort revert of every change after a forbidden-write plugin. Removes", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L350"}, {"id": "plugins_host_rationale_403", "label": "Read the worker's stderr line-by-line. JSON-shaped lines are forwarded into", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L403"}, {"id": "plugins_host_rationale_453", "label": "Forward a worker log frame into the canonical logger chain.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L453"}, {"id": "plugins_host_rationale_473", "label": "Return a filesystem-safe run identifier for stderr capture paths.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L473"}, {"id": "plugins_host_rationale_488", "label": "Spawns plugin worker subprocesses with strict isolation. Backend Spec \u00a76.3", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L488"}, {"id": "plugins_host_rationale_509", "label": "Drive the plugin pass for a single creation session. Spawns one worker", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L509"}, {"id": "plugins_host_rationale_555", "label": "Run a single plugin worker, including resume on input-required. Returns", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L555"}, {"id": "plugins_host_rationale_637", "label": "Spawn one worker subprocess and supervise it to completion. Returns a :", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L637"}, {"id": "plugins_host_rationale_767", "label": "SIGTERM, wait the grace period, SIGKILL. Backend Spec \u00a76.3.4.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L767"}, {"id": "plugins_host_rationale_784", "label": "Return the path the worker's stderr should be captured to.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L784"}, {"id": "plugins_host_rationale_798", "label": "Result of supervising a single worker invocation.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L798"}, {"id": "plugins_host_rationale_818", "label": "Read and JSON-decode the worker's stdout envelope.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L818"}, {"id": "plugins_host_rationale_847", "label": "Shape one ``plugins_applied[]`` entry for ``creation.json``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L847"}, {"id": "plugins_host_rationale_877", "label": "Map a worker exit code to one of the \u00a76.2.4 status values.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L877"}, {"id": "plugins_host_rationale_901", "label": "Minimal :class:`PluginRegistryProtocol` implementation used for tests. Test", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L901"}, {"id": "plugins_host_rationale_919", "label": "Return a tiny in-memory registry over ``records``. Tests only.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L919"}, {"id": "plugins_host_rationale_926", "label": "Return ``entry`` as a JSON-friendly dict (deep-copied).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L926"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "resource", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "signal", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "exlab_wizard_constants_enums", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "exlab_wizard_plugins_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_pluginrecord", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_pluginregistryprotocol", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L116", "weight": 1.0}, {"source": "plugins_host_pluginregistryprotocol", "target": "protocol", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L116", "weight": 1.0}, {"source": "plugins_host_pluginregistryprotocol", "target": "plugins_host_pluginregistryprotocol_get_record", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L126", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_inputrequiredpayload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_pluginpassresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L150", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_apply_rlimits", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L168", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_sanitized_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L214", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_snapshot_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L240", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_is_forbidden_write", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L280", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_diff_and_collect_violations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L285", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_read_silently", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L338", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_revert_to_snapshot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L346", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_drain_stderr", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L397", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_emit_forwarded_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L447", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_resolve_run_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L472", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_pluginhost", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L487", "weight": 1.0}, {"source": "plugins_host_pluginhost", "target": "plugins_host_pluginhost_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L493", "weight": 1.0}, {"source": "plugins_host_pluginhost", "target": "plugins_host_pluginhost_run_pass", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L502", "weight": 1.0}, {"source": "plugins_host_pluginhost", "target": "plugins_host_pluginhost_run_one", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L548", "weight": 1.0}, {"source": "plugins_host_pluginhost", "target": "plugins_host_pluginhost_spawn_worker", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L629", "weight": 1.0}, {"source": "plugins_host_pluginhost", "target": "plugins_host_pluginhost_terminate", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L766", "weight": 1.0}, {"source": "plugins_host_pluginhost", "target": "plugins_host_pluginhost_stderr_path_for", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L783", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_spawnoutcome", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L797", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L807", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_read_stdout_envelope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L817", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_build_applied_entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L838", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_exit_code_to_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L876", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_listbackedregistry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L900", "weight": 1.0}, {"source": "plugins_host_listbackedregistry", "target": "plugins_host_listbackedregistry_get_record", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L911", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_build_test_registry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L918", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "target": "plugins_host_applied_entry_as_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L925", "weight": 1.0}, {"source": "plugins_host_diff_and_collect_violations", "target": "plugins_host_read_silently", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L319", "weight": 1.0}, {"source": "plugins_host_diff_and_collect_violations", "target": "plugins_host_is_forbidden_write", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L324", "weight": 1.0}, {"source": "plugins_host_drain_stderr", "target": "plugins_host_emit_forwarded_log", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L440", "weight": 1.0}, {"source": "plugins_host_pluginhost_run_pass", "target": "plugins_host_pluginpassresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L518", "weight": 1.0}, {"source": "plugins_host_pluginhost_run_pass", "target": "plugins_host_listbackedregistry_get_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L521", "weight": 1.0}, {"source": "plugins_host_pluginhost_run_pass", "target": "plugins_host_pluginhost_run_one", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L529", "weight": 1.0}, {"source": "plugins_host_pluginhost_run_one", "target": "plugins_host_snapshot_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L568", "weight": 1.0}, {"source": "plugins_host_pluginhost_run_one", "target": "plugins_host_pluginhost_spawn_worker", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L575", "weight": 1.0}, {"source": "plugins_host_pluginhost_run_one", "target": "plugins_host_inputrequiredpayload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L584", "weight": 1.0}, {"source": "plugins_host_pluginhost_run_one", "target": "plugins_host_build_applied_entry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L593", "weight": 1.0}, {"source": "plugins_host_pluginhost_run_one", "target": "plugins_host_diff_and_collect_violations", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L606", "weight": 1.0}, {"source": "plugins_host_pluginhost_run_one", "target": "plugins_host_revert_to_snapshot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L609", "weight": 1.0}, {"source": "plugins_host_pluginhost_spawn_worker", "target": "plugins_host_failure", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L662", "weight": 1.0}, {"source": "plugins_host_pluginhost_spawn_worker", "target": "plugins_host_sanitized_env", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L671", "weight": 1.0}, {"source": "plugins_host_pluginhost_spawn_worker", "target": "plugins_host_pluginhost_stderr_path_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L685", "weight": 1.0}, {"source": "plugins_host_pluginhost_spawn_worker", "target": "plugins_host_drain_stderr", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L721", "weight": 1.0}, {"source": "plugins_host_pluginhost_spawn_worker", "target": "plugins_host_read_stdout_envelope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L723", "weight": 1.0}, {"source": "plugins_host_pluginhost_spawn_worker", "target": "plugins_host_pluginhost_terminate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L730", "weight": 1.0}, {"source": "plugins_host_pluginhost_spawn_worker", "target": "plugins_host_spawnoutcome", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L740", "weight": 1.0}, {"source": "plugins_host_pluginhost_stderr_path_for", "target": "plugins_host_resolve_run_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L787", "weight": 1.0}, {"source": "plugins_host_build_applied_entry", "target": "plugins_host_exit_code_to_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L852", "weight": 1.0}, {"source": "plugins_host_build_test_registry", "target": "plugins_host_listbackedregistry", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L920", "weight": 1.0}, {"source": "plugins_host_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_host_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L1", "weight": 1.0}, {"source": "plugins_host_rationale_87", "target": "plugins_host_pluginrecord", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L87", "weight": 1.0}, {"source": "plugins_host_rationale_117", "target": "plugins_host_pluginregistryprotocol", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L117", "weight": 1.0}, {"source": "plugins_host_rationale_136", "target": "plugins_host_inputrequiredpayload", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L136", "weight": 1.0}, {"source": "plugins_host_rationale_151", "target": "plugins_host_pluginpassresult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L151", "weight": 1.0}, {"source": "plugins_host_rationale_169", "target": "plugins_host_apply_rlimits", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L169", "weight": 1.0}, {"source": "plugins_host_rationale_215", "target": "plugins_host_sanitized_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L215", "weight": 1.0}, {"source": "plugins_host_rationale_241", "target": "plugins_host_snapshot_tree", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L241", "weight": 1.0}, {"source": "plugins_host_rationale_281", "target": "plugins_host_is_forbidden_write", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L281", "weight": 1.0}, {"source": "plugins_host_rationale_289", "target": "plugins_host_diff_and_collect_violations", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L289", "weight": 1.0}, {"source": "plugins_host_rationale_339", "target": "plugins_host_read_silently", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L339", "weight": 1.0}, {"source": "plugins_host_rationale_350", "target": "plugins_host_revert_to_snapshot", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L350", "weight": 1.0}, {"source": "plugins_host_rationale_403", "target": "plugins_host_drain_stderr", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L403", "weight": 1.0}, {"source": "plugins_host_rationale_453", "target": "plugins_host_emit_forwarded_log", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L453", "weight": 1.0}, {"source": "plugins_host_rationale_473", "target": "plugins_host_resolve_run_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L473", "weight": 1.0}, {"source": "plugins_host_rationale_488", "target": "plugins_host_pluginhost", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L488", "weight": 1.0}, {"source": "plugins_host_rationale_509", "target": "plugins_host_pluginhost_run_pass", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L509", "weight": 1.0}, {"source": "plugins_host_rationale_555", "target": "plugins_host_pluginhost_run_one", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L555", "weight": 1.0}, {"source": "plugins_host_rationale_637", "target": "plugins_host_pluginhost_spawn_worker", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L637", "weight": 1.0}, {"source": "plugins_host_rationale_767", "target": "plugins_host_pluginhost_terminate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L767", "weight": 1.0}, {"source": "plugins_host_rationale_784", "target": "plugins_host_pluginhost_stderr_path_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L784", "weight": 1.0}, {"source": "plugins_host_rationale_798", "target": "plugins_host_spawnoutcome", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L798", "weight": 1.0}, {"source": "plugins_host_rationale_818", "target": "plugins_host_read_stdout_envelope", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L818", "weight": 1.0}, {"source": "plugins_host_rationale_847", "target": "plugins_host_build_applied_entry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L847", "weight": 1.0}, {"source": "plugins_host_rationale_877", "target": "plugins_host_exit_code_to_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L877", "weight": 1.0}, {"source": "plugins_host_rationale_901", "target": "plugins_host_listbackedregistry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L901", "weight": 1.0}, {"source": "plugins_host_rationale_919", "target": "plugins_host_build_test_registry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L919", "weight": 1.0}, {"source": "plugins_host_rationale_926", "target": "plugins_host_applied_entry_as_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L926", "weight": 1.0}], "raw_calls": [{"caller_nid": "plugins_host_apply_rlimits", "callee": "max", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L183"}, {"caller_nid": "plugins_host_apply_rlimits", "callee": "max", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L184"}, {"caller_nid": "plugins_host_apply_rlimits", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L185"}, {"caller_nid": "plugins_host_apply_rlimits", "callee": "setrlimit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L186"}, {"caller_nid": "plugins_host_apply_rlimits", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L187"}, {"caller_nid": "plugins_host_apply_rlimits", "callee": "setrlimit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L188"}, {"caller_nid": "plugins_host_apply_rlimits", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L189"}, {"caller_nid": "plugins_host_apply_rlimits", "callee": "setrlimit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L190"}, {"caller_nid": "plugins_host_sanitized_env", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L218"}, {"caller_nid": "plugins_host_sanitized_env", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L221"}, {"caller_nid": "plugins_host_sanitized_env", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L222"}, {"caller_nid": "plugins_host_sanitized_env", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L225"}, {"caller_nid": "plugins_host_sanitized_env", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L228"}, {"caller_nid": "plugins_host_snapshot_tree", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L255"}, {"caller_nid": "plugins_host_snapshot_tree", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L255"}, {"caller_nid": "plugins_host_snapshot_tree", "callee": "rglob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L257"}, {"caller_nid": "plugins_host_snapshot_tree", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L258"}, {"caller_nid": "plugins_host_snapshot_tree", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L261"}, {"caller_nid": "plugins_host_snapshot_tree", "callee": "as_posix", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L264"}, {"caller_nid": "plugins_host_snapshot_tree", "callee": "relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L264"}, {"caller_nid": "plugins_host_snapshot_tree", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L268"}, {"caller_nid": "plugins_host_is_forbidden_write", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L282"}, {"caller_nid": "plugins_host_is_forbidden_write", "callee": "match", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L282"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L297"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L300"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "rglob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L301"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L302"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L305"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "as_posix", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L308"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L308"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L309"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L310"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L323"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L325"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L332"}, {"caller_nid": "plugins_host_diff_and_collect_violations", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L333"}, {"caller_nid": "plugins_host_read_silently", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L341"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L358"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L361"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L362"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "rglob", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L362"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L363"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "as_posix", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L365"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "relative_to", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L365"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "add", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L366"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L367"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L369"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "unlink", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L370"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L375"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L380"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L387"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L388"}, {"caller_nid": "plugins_host_revert_to_snapshot", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L389"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L414"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L416"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "readline", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L422"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L426"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L427"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L428"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L428"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L432"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L435"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "upper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L437"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L437"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L437"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L438"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L438"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L439"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L443"}, {"caller_nid": "plugins_host_drain_stderr", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L444"}, {"caller_nid": "plugins_host_emit_forwarded_log", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L454"}, {"caller_nid": "plugins_host_emit_forwarded_log", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L455"}, {"caller_nid": "plugins_host_emit_forwarded_log", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L463"}, {"caller_nid": "plugins_host_emit_forwarded_log", "callee": "method", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L464"}, {"caller_nid": "plugins_host_resolve_run_id", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L475"}, {"caller_nid": "plugins_host_resolve_run_id", "callee": "sub", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L477"}, {"caller_nid": "plugins_host_resolve_run_id", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L477"}, {"caller_nid": "plugins_host_resolve_run_id", "callee": "sub", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L479"}, {"caller_nid": "plugins_host_pluginhost_run_pass", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L523"}, {"caller_nid": "plugins_host_pluginhost_run_pass", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L535"}, {"caller_nid": "plugins_host_pluginhost_run_pass", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L536"}, {"caller_nid": "plugins_host_pluginhost_run_pass", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L538"}, {"caller_nid": "plugins_host_pluginhost_run_pass", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L540"}, {"caller_nid": "plugins_host_pluginhost_run_one", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L586"}, {"caller_nid": "plugins_host_pluginhost_run_one", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L587"}, {"caller_nid": "plugins_host_pluginhost_run_one", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L587"}, {"caller_nid": "plugins_host_pluginhost_run_one", "callee": "on_input_required", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L589"}, {"caller_nid": "plugins_host_pluginhost_run_one", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L601"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L647"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L648"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L656"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L660"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L660"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L661"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L670"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L683"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "cwd", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L683"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L687"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "create_subprocess_exec", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L689"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L697"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L703"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L703"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L710"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "drain", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L711"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L712"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L713"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "wait_closed", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L714"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L720"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L723"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L727"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L727"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L732"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "gather", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L733"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L735"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "monotonic", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L735"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "result", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L737"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L737"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L752"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L755"}, {"caller_nid": "plugins_host_pluginhost_spawn_worker", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L755"}, {"caller_nid": "plugins_host_pluginhost_terminate", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L769"}, {"caller_nid": "plugins_host_pluginhost_terminate", "callee": "send_signal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L770"}, {"caller_nid": "plugins_host_pluginhost_terminate", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L772"}, {"caller_nid": "plugins_host_pluginhost_terminate", "callee": "terminate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L773"}, {"caller_nid": "plugins_host_pluginhost_terminate", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L775"}, {"caller_nid": "plugins_host_pluginhost_terminate", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L775"}, {"caller_nid": "plugins_host_pluginhost_terminate", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L777"}, {"caller_nid": "plugins_host_pluginhost_terminate", "callee": "kill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L778"}, {"caller_nid": "plugins_host_pluginhost_terminate", "callee": "suppress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L779"}, {"caller_nid": "plugins_host_pluginhost_terminate", "callee": "wait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L780"}, {"caller_nid": "plugins_host_failure", "callee": "cls", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L808"}, {"caller_nid": "plugins_host_read_stdout_envelope", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L821"}, {"caller_nid": "plugins_host_read_stdout_envelope", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L826"}, {"caller_nid": "plugins_host_read_stdout_envelope", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L828"}, {"caller_nid": "plugins_host_read_stdout_envelope", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L828"}, {"caller_nid": "plugins_host_read_stdout_envelope", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L832"}, {"caller_nid": "plugins_host_read_stdout_envelope", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L835"}, {"caller_nid": "plugins_host_build_applied_entry", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L848"}, {"caller_nid": "plugins_host_build_applied_entry", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L848"}, {"caller_nid": "plugins_host_build_applied_entry", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L870"}, {"caller_nid": "plugins_host_build_applied_entry", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L870"}, {"caller_nid": "plugins_host_build_test_registry", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L920"}, {"caller_nid": "plugins_host_applied_entry_as_json", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L927"}, {"caller_nid": "plugins_host_applied_entry_as_json", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py", "source_location": "L927"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e32bbc4d2ffaf3903ae3b572d5e9b69be69e7d6a1ae3af045903150b064fa7d7.json b/graphify-out/cache/ast/e32bbc4d2ffaf3903ae3b572d5e9b69be69e7d6a1ae3af045903150b064fa7d7.json deleted file mode 100644 index ad90005..0000000 --- a/graphify-out/cache/ast/e32bbc4d2ffaf3903ae3b572d5e9b69be69e7d6a1ae3af045903150b064fa7d7.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_superpowers_specs_2026_05_28_staging_root_opt_in_design_md", "label": "2026-05-28-staging-root-opt-in-design.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L1"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", "label": "Opt-in `staging_root` \u2014 Design Spec", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L1"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_1_summary", "label": "1. Summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L12"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_2_goals_non_goals", "label": "2. Goals & non-goals", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L39"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_goals", "label": "Goals", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L41"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_non_goals", "label": "Non-goals", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L50"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_3_design", "label": "3. Design", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L59"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_3_1_setup_state_gate_paths_py", "label": "3.1 Setup-state gate \u2014 `paths.py`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L61"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_3_2_suggestion_helper_paths_py", "label": "3.2 Suggestion helper \u2014 `paths.py`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L76"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_3_3_settings_ui_ui_pages_settings_py", "label": "3.3 Settings UI \u2014 `ui/pages/settings.py`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L95"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_3_4_create_on_save_ui_mount_py_persist_config", "label": "3.4 Create-on-save \u2014 `ui/mount.py` `_persist_config`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L104"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_3_5_verified_not_modified", "label": "3.5 Verified, not modified", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L121"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_3_6_test_mode_unchanged", "label": "3.6 Test mode \u2014 unchanged", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L143"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_4_data_flow", "label": "4. Data flow", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L152"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_codeblock_1", "label": "code:block1 (staging_root BLANK)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L156"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_5_error_handling_edge_cases", "label": "5. Error handling & edge cases", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L171"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_6_testing", "label": "6. Testing", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L183"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_test_paths_py", "label": "`tests/unit/test_paths.py`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L185"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_ui_test_settings_page_py", "label": "`tests/unit/ui/test_settings_page.py`", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L197"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_ui_test_mount_py_new_cases", "label": "`tests/unit/ui/test_mount.py` (new cases)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L200"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_regression_sweep", "label": "Regression sweep", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L206"}, {"id": "specs_2026_05_28_staging_root_opt_in_design_7_affected_files", "label": "7. Affected files", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L213"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_superpowers_specs_2026_05_28_staging_root_opt_in_design_md", "target": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L1", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", "target": "specs_2026_05_28_staging_root_opt_in_design_1_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L12", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", "target": "specs_2026_05_28_staging_root_opt_in_design_2_goals_non_goals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L39", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_2_goals_non_goals", "target": "specs_2026_05_28_staging_root_opt_in_design_goals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L41", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_2_goals_non_goals", "target": "specs_2026_05_28_staging_root_opt_in_design_non_goals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L50", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", "target": "specs_2026_05_28_staging_root_opt_in_design_3_design", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L59", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_3_design", "target": "specs_2026_05_28_staging_root_opt_in_design_3_1_setup_state_gate_paths_py", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L61", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_3_design", "target": "specs_2026_05_28_staging_root_opt_in_design_3_2_suggestion_helper_paths_py", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L76", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_3_design", "target": "specs_2026_05_28_staging_root_opt_in_design_3_3_settings_ui_ui_pages_settings_py", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L95", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_3_design", "target": "specs_2026_05_28_staging_root_opt_in_design_3_4_create_on_save_ui_mount_py_persist_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L104", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_3_design", "target": "specs_2026_05_28_staging_root_opt_in_design_3_5_verified_not_modified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L121", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_3_design", "target": "specs_2026_05_28_staging_root_opt_in_design_3_6_test_mode_unchanged", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L143", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", "target": "specs_2026_05_28_staging_root_opt_in_design_4_data_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L152", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_4_data_flow", "target": "specs_2026_05_28_staging_root_opt_in_design_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L156", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", "target": "specs_2026_05_28_staging_root_opt_in_design_5_error_handling_edge_cases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L171", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", "target": "specs_2026_05_28_staging_root_opt_in_design_6_testing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L183", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_6_testing", "target": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_test_paths_py", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L185", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_6_testing", "target": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_ui_test_settings_page_py", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L197", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_6_testing", "target": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_ui_test_mount_py_new_cases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L200", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_6_testing", "target": "specs_2026_05_28_staging_root_opt_in_design_regression_sweep", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L206", "weight": 1.0}, {"source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", "target": "specs_2026_05_28_staging_root_opt_in_design_7_affected_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", "source_location": "L213", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/e351609125a76ac5792a53592d891f9b06868c7ab85e90f86433a9108f538d2d.json b/graphify-out/cache/ast/e351609125a76ac5792a53592d891f9b06868c7ab85e90f86433a9108f538d2d.json deleted file mode 100644 index 78e86ad..0000000 --- a/graphify-out/cache/ast/e351609125a76ac5792a53592d891f9b06868c7ab85e90f86433a9108f538d2d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "label": "test_problems.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L1"}, {"id": "api_test_problems_stubvalidator", "label": "_StubValidator", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L38"}, {"id": "api_test_problems_stubvalidator_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L41"}, {"id": "api_test_problems_stubvalidator_query_problems", "label": ".query_problems()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L45"}, {"id": "api_test_problems_stubvalidator_audit", "label": ".audit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L48"}, {"id": "api_test_problems_ready_config", "label": "_ready_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L53"}, {"id": "api_test_problems_findings", "label": "_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L77"}, {"id": "api_test_problems_write_creation_json", "label": "_write_creation_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L99"}, {"id": "api_test_problems_test_list_problems_returns_findings", "label": "test_list_problems_returns_findings()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L121"}, {"id": "api_test_problems_test_list_problems_filters_by_severity", "label": "test_list_problems_filters_by_severity()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L138"}, {"id": "api_test_problems_test_list_problems_filters_by_class", "label": "test_list_problems_filters_by_class()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L151"}, {"id": "api_test_problems_test_list_problems_with_equipment_scope", "label": "test_list_problems_with_equipment_scope()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L164"}, {"id": "api_test_problems_test_list_problems_unknown_scope_returns_422", "label": "test_list_problems_unknown_scope_returns_422()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L176"}, {"id": "api_test_problems_test_refresh_runs_audit", "label": "test_refresh_runs_audit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L190"}, {"id": "api_test_problems_test_append_override_writes_entry", "label": "test_append_override_writes_entry()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L205"}, {"id": "api_test_problems_test_append_override_404_when_path_absent", "label": "test_append_override_404_when_path_absent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L239"}, {"id": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "label": "test_problems_websocket_sends_snapshot_on_connect()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L258"}, {"id": "api_test_problems_test_problems_websocket_closes_when_no_channel", "label": "test_problems_websocket_closes_when_no_channel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L280"}, {"id": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "label": "test_refresh_publishes_snapshot_to_channel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L301"}, {"id": "api_test_problems_test_revoke_override_writes_tombstone", "label": "test_revoke_override_writes_tombstone()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L323"}, {"id": "api_test_problems_rationale_1", "label": "Unit tests for the ``/problems`` router.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L1"}, {"id": "api_test_problems_rationale_39", "label": "Test double that returns a canned finding list.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L39"}, {"id": "api_test_problems_rationale_259", "label": "Connecting to /problems/events emits a snapshot frame immediately.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L259"}, {"id": "api_test_problems_rationale_281", "label": "Without an audit channel the WebSocket closes with 1011.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L281"}, {"id": "api_test_problems_rationale_302", "label": "``POST /problems/refresh`` invokes audit and publishes to the channel.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L302"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "fastapi_testclient", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "exlab_wizard_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "exlab_wizard_cache_creation_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "exlab_wizard_validator_findings", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_stubvalidator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L38", "weight": 1.0}, {"source": "api_test_problems_stubvalidator", "target": "api_test_problems_stubvalidator_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L41", "weight": 1.0}, {"source": "api_test_problems_stubvalidator", "target": "api_test_problems_stubvalidator_query_problems", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L45", "weight": 1.0}, {"source": "api_test_problems_stubvalidator", "target": "api_test_problems_stubvalidator_audit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_ready_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_findings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_write_creation_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L99", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_list_problems_returns_findings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_list_problems_filters_by_severity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L138", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_list_problems_filters_by_class", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L151", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_list_problems_with_equipment_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L164", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_list_problems_unknown_scope_returns_422", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L176", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_refresh_runs_audit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L190", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_append_override_writes_entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L205", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_append_override_404_when_path_absent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L239", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L258", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_problems_websocket_closes_when_no_channel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L280", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L301", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "target": "api_test_problems_test_revoke_override_writes_tombstone", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L323", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_returns_findings", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L123", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_returns_findings", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L125", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_returns_findings", "target": "api_test_problems_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L125", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_filters_by_severity", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L140", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_filters_by_severity", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L142", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_filters_by_severity", "target": "api_test_problems_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L142", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_filters_by_class", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L153", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_filters_by_class", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L155", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_filters_by_class", "target": "api_test_problems_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L155", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_with_equipment_scope", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L166", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_with_equipment_scope", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L168", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_with_equipment_scope", "target": "api_test_problems_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L168", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_unknown_scope_returns_422", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L178", "weight": 1.0}, {"source": "api_test_problems_test_list_problems_unknown_scope_returns_422", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L180", "weight": 1.0}, {"source": "api_test_problems_test_refresh_runs_audit", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L191", "weight": 1.0}, {"source": "api_test_problems_test_refresh_runs_audit", "target": "api_test_problems_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L191", "weight": 1.0}, {"source": "api_test_problems_test_refresh_runs_audit", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L193", "weight": 1.0}, {"source": "api_test_problems_test_append_override_writes_entry", "target": "api_test_problems_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L208", "weight": 1.0}, {"source": "api_test_problems_test_append_override_writes_entry", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L211", "weight": 1.0}, {"source": "api_test_problems_test_append_override_writes_entry", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L213", "weight": 1.0}, {"source": "api_test_problems_test_append_override_404_when_path_absent", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L242", "weight": 1.0}, {"source": "api_test_problems_test_append_override_404_when_path_absent", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L244", "weight": 1.0}, {"source": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L267", "weight": 1.0}, {"source": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L269", "weight": 1.0}, {"source": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "target": "api_test_problems_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L269", "weight": 1.0}, {"source": "api_test_problems_test_problems_websocket_closes_when_no_channel", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L285", "weight": 1.0}, {"source": "api_test_problems_test_problems_websocket_closes_when_no_channel", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L287", "weight": 1.0}, {"source": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L309", "weight": 1.0}, {"source": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L311", "weight": 1.0}, {"source": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "target": "api_test_problems_findings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L311", "weight": 1.0}, {"source": "api_test_problems_test_revoke_override_writes_tombstone", "target": "api_test_problems_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L326", "weight": 1.0}, {"source": "api_test_problems_test_revoke_override_writes_tombstone", "target": "api_test_problems_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L329", "weight": 1.0}, {"source": "api_test_problems_test_revoke_override_writes_tombstone", "target": "api_test_problems_stubvalidator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L331", "weight": 1.0}, {"source": "api_test_problems_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_problems_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L1", "weight": 1.0}, {"source": "api_test_problems_rationale_39", "target": "api_test_problems_stubvalidator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L39", "weight": 1.0}, {"source": "api_test_problems_rationale_259", "target": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L259", "weight": 1.0}, {"source": "api_test_problems_rationale_281", "target": "api_test_problems_test_problems_websocket_closes_when_no_channel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L281", "weight": 1.0}, {"source": "api_test_problems_rationale_302", "target": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L302", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_problems_stubvalidator_init", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L42"}, {"caller_nid": "api_test_problems_stubvalidator_query_problems", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L46"}, {"caller_nid": "api_test_problems_stubvalidator_audit", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L50"}, {"caller_nid": "api_test_problems_ready_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L54"}, {"caller_nid": "api_test_problems_ready_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L55"}, {"caller_nid": "api_test_problems_ready_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L56"}, {"caller_nid": "api_test_problems_ready_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L56"}, {"caller_nid": "api_test_problems_ready_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L56"}, {"caller_nid": "api_test_problems_ready_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L59"}, {"caller_nid": "api_test_problems_ready_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L62"}, {"caller_nid": "api_test_problems_ready_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L64"}, {"caller_nid": "api_test_problems_ready_config", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L72"}, {"caller_nid": "api_test_problems_ready_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L73"}, {"caller_nid": "api_test_problems_findings", "callee": "Finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L79"}, {"caller_nid": "api_test_problems_findings", "callee": "Finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L87"}, {"caller_nid": "api_test_problems_write_creation_json", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L101"}, {"caller_nid": "api_test_problems_write_creation_json", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L102"}, {"caller_nid": "api_test_problems_write_creation_json", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L104"}, {"caller_nid": "api_test_problems_write_creation_json", "callee": "now", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L104"}, {"caller_nid": "api_test_problems_write_creation_json", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L108"}, {"caller_nid": "api_test_problems_write_creation_json", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L111"}, {"caller_nid": "api_test_problems_write_creation_json", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L115"}, {"caller_nid": "api_test_problems_write_creation_json", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L115"}, {"caller_nid": "api_test_problems_write_creation_json", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L118"}, {"caller_nid": "api_test_problems_write_creation_json", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L118"}, {"caller_nid": "api_test_problems_test_list_problems_returns_findings", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L122"}, {"caller_nid": "api_test_problems_test_list_problems_returns_findings", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L127"}, {"caller_nid": "api_test_problems_test_list_problems_returns_findings", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L128"}, {"caller_nid": "api_test_problems_test_list_problems_returns_findings", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L129"}, {"caller_nid": "api_test_problems_test_list_problems_returns_findings", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L131"}, {"caller_nid": "api_test_problems_test_list_problems_returns_findings", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L132"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_severity", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L139"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_severity", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L144"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_severity", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L145"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_severity", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L146"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_severity", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L147"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_severity", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L148"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_class", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L152"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_class", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L157"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_class", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L158"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_class", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L159"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_class", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L160"}, {"caller_nid": "api_test_problems_test_list_problems_filters_by_class", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L161"}, {"caller_nid": "api_test_problems_test_list_problems_with_equipment_scope", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L165"}, {"caller_nid": "api_test_problems_test_list_problems_with_equipment_scope", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L170"}, {"caller_nid": "api_test_problems_test_list_problems_with_equipment_scope", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L171"}, {"caller_nid": "api_test_problems_test_list_problems_with_equipment_scope", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L172"}, {"caller_nid": "api_test_problems_test_list_problems_unknown_scope_returns_422", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L177"}, {"caller_nid": "api_test_problems_test_list_problems_unknown_scope_returns_422", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L182"}, {"caller_nid": "api_test_problems_test_list_problems_unknown_scope_returns_422", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L183"}, {"caller_nid": "api_test_problems_test_list_problems_unknown_scope_returns_422", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L184"}, {"caller_nid": "api_test_problems_test_list_problems_unknown_scope_returns_422", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L186"}, {"caller_nid": "api_test_problems_test_refresh_runs_audit", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L192"}, {"caller_nid": "api_test_problems_test_refresh_runs_audit", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L195"}, {"caller_nid": "api_test_problems_test_refresh_runs_audit", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L196"}, {"caller_nid": "api_test_problems_test_refresh_runs_audit", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L197"}, {"caller_nid": "api_test_problems_test_refresh_runs_audit", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L199"}, {"caller_nid": "api_test_problems_test_append_override_writes_entry", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L207"}, {"caller_nid": "api_test_problems_test_append_override_writes_entry", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L209"}, {"caller_nid": "api_test_problems_test_append_override_writes_entry", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L210"}, {"caller_nid": "api_test_problems_test_append_override_writes_entry", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L216"}, {"caller_nid": "api_test_problems_test_append_override_writes_entry", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L217"}, {"caller_nid": "api_test_problems_test_append_override_writes_entry", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L223"}, {"caller_nid": "api_test_problems_test_append_override_writes_entry", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L225"}, {"caller_nid": "api_test_problems_test_append_override_writes_entry", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L230"}, {"caller_nid": "api_test_problems_test_append_override_writes_entry", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L231"}, {"caller_nid": "api_test_problems_test_append_override_writes_entry", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L234"}, {"caller_nid": "api_test_problems_test_append_override_404_when_path_absent", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L240"}, {"caller_nid": "api_test_problems_test_append_override_404_when_path_absent", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L241"}, {"caller_nid": "api_test_problems_test_append_override_404_when_path_absent", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L247"}, {"caller_nid": "api_test_problems_test_append_override_404_when_path_absent", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L248"}, {"caller_nid": "api_test_problems_test_append_override_404_when_path_absent", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L254"}, {"caller_nid": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L266"}, {"caller_nid": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "callee": "AuditChannel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L270"}, {"caller_nid": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L272"}, {"caller_nid": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L273"}, {"caller_nid": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "callee": "websocket_connect", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L274"}, {"caller_nid": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L275"}, {"caller_nid": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "callee": "receive_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L275"}, {"caller_nid": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L277"}, {"caller_nid": "api_test_problems_test_problems_websocket_closes_when_no_channel", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L284"}, {"caller_nid": "api_test_problems_test_problems_websocket_closes_when_no_channel", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L290"}, {"caller_nid": "api_test_problems_test_problems_websocket_closes_when_no_channel", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L293"}, {"caller_nid": "api_test_problems_test_problems_websocket_closes_when_no_channel", "callee": "websocket_connect", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L295"}, {"caller_nid": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "callee": "AuditChannel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L307"}, {"caller_nid": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L308"}, {"caller_nid": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L314"}, {"caller_nid": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L315"}, {"caller_nid": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L316"}, {"caller_nid": "api_test_problems_test_refresh_publishes_snapshot_to_channel", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L318"}, {"caller_nid": "api_test_problems_test_revoke_override_writes_tombstone", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L325"}, {"caller_nid": "api_test_problems_test_revoke_override_writes_tombstone", "callee": "CreationWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L327"}, {"caller_nid": "api_test_problems_test_revoke_override_writes_tombstone", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L328"}, {"caller_nid": "api_test_problems_test_revoke_override_writes_tombstone", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L334"}, {"caller_nid": "api_test_problems_test_revoke_override_writes_tombstone", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L335"}, {"caller_nid": "api_test_problems_test_revoke_override_writes_tombstone", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L341"}, {"caller_nid": "api_test_problems_test_revoke_override_writes_tombstone", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py", "source_location": "L343"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e38e417f4de61a5b3764f6dbdc02192394a3e3a8a1e222debbab22101eccb341.json b/graphify-out/cache/ast/e38e417f4de61a5b3764f6dbdc02192394a3e3a8a1e222debbab22101eccb341.json deleted file mode 100644 index 46671b2..0000000 --- a/graphify-out/cache/ast/e38e417f4de61a5b3764f6dbdc02192394a3e3a8a1e222debbab22101eccb341.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "label": "test_format.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L1"}, {"id": "logging_test_format_reset_context", "label": "_reset_context()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L21"}, {"id": "logging_test_format_record", "label": "_record()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L31"}, {"id": "logging_test_format_test_renders_all_tags_when_full_context_set", "label": "test_renders_all_tags_when_full_context_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L56"}, {"id": "logging_test_format_test_omits_tags_when_their_context_var_is_unset", "label": "test_omits_tags_when_their_context_var_is_unset()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L74"}, {"id": "logging_test_format_test_emits_no_tags_when_context_is_empty", "label": "test_emits_no_tags_when_context_is_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L84"}, {"id": "logging_test_format_test_level_field_is_left_padded_to_five_chars", "label": "test_level_field_is_left_padded_to_five_chars()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L90"}, {"id": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix", "label": "test_timestamp_is_utc_iso_8601_with_z_suffix()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L111"}, {"id": "logging_test_format_test_message_with_format_args_is_rendered", "label": "test_message_with_format_args_is_rendered()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L122"}, {"id": "logging_test_format_test_redact_url_userinfo_password", "label": "test_redact_url_userinfo_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L143"}, {"id": "logging_test_format_test_redact_url_userinfo_password_with_punctuation", "label": "test_redact_url_userinfo_password_with_punctuation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L147"}, {"id": "logging_test_format_test_redact_bearer_token", "label": "test_redact_bearer_token()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L154"}, {"id": "logging_test_format_test_redact_bearer_token_lowercase", "label": "test_redact_bearer_token_lowercase()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L158"}, {"id": "logging_test_format_test_redact_authorization_header", "label": "test_redact_authorization_header()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L162"}, {"id": "logging_test_format_test_redact_authorization_bearer_combined", "label": "test_redact_authorization_bearer_combined()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L166"}, {"id": "logging_test_format_test_redact_leaves_non_secret_strings_alone", "label": "test_redact_leaves_non_secret_strings_alone()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L172"}, {"id": "logging_test_format_test_redact_handles_url_without_password", "label": "test_redact_handles_url_without_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L178"}, {"id": "logging_test_format_test_redact_handles_multiple_secrets_in_one_string", "label": "test_redact_handles_multiple_secrets_in_one_string()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L183"}, {"id": "logging_test_format_test_redact_coerces_non_string_input", "label": "test_redact_coerces_non_string_input()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L191"}, {"id": "logging_test_format_test_format_appends_exception_text_when_exc_info_set", "label": "test_format_appends_exception_text_when_exc_info_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L200"}, {"id": "logging_test_format_rationale_1", "label": "Tests for ``exlab_wizard.logging.format``. Backend Spec \u00a716.4 defines the canon", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L1"}, {"id": "logging_test_format_rationale_22", "label": "Ensure each test starts with no run context bleed-through.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L22"}, {"id": "logging_test_format_rationale_32", "label": "Build a minimal ``LogRecord`` at a known timestamp. The timestamp is set to", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L32"}, {"id": "logging_test_format_rationale_91", "label": "Spec \u00a716.4: level field is exactly 5 chars wide. \u00a716.5 commits four canonic", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L91"}, {"id": "logging_test_format_rationale_201", "label": "``record.exc_info`` triggers the formatter to append a traceback (\u00a716.4 keep", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L201"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "exlab_wizard_logging_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "exlab_wizard_logging_format", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_reset_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_renders_all_tags_when_full_context_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_omits_tags_when_their_context_var_is_unset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L74", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_emits_no_tags_when_context_is_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L84", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_level_field_is_left_padded_to_five_chars", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_message_with_format_args_is_rendered", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L122", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_redact_url_userinfo_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L143", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_redact_url_userinfo_password_with_punctuation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L147", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_redact_bearer_token", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L154", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_redact_bearer_token_lowercase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L158", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_redact_authorization_header", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L162", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_redact_authorization_bearer_combined", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L166", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_redact_leaves_non_secret_strings_alone", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L172", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_redact_handles_url_without_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L178", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_redact_handles_multiple_secrets_in_one_string", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L183", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_redact_coerces_non_string_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L191", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "target": "logging_test_format_test_format_appends_exception_text_when_exc_info_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L200", "weight": 1.0}, {"source": "logging_test_format_test_renders_all_tags_when_full_context_set", "target": "logging_test_format_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L65", "weight": 1.0}, {"source": "logging_test_format_test_omits_tags_when_their_context_var_is_unset", "target": "logging_test_format_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L77", "weight": 1.0}, {"source": "logging_test_format_test_emits_no_tags_when_context_is_empty", "target": "logging_test_format_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L86", "weight": 1.0}, {"source": "logging_test_format_test_level_field_is_left_padded_to_five_chars", "target": "logging_test_format_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L98", "weight": 1.0}, {"source": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix", "target": "logging_test_format_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L113", "weight": 1.0}, {"source": "logging_test_format_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_logging_test_format_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L1", "weight": 1.0}, {"source": "logging_test_format_rationale_22", "target": "logging_test_format_reset_context", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L22", "weight": 1.0}, {"source": "logging_test_format_rationale_32", "target": "logging_test_format_record", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L32", "weight": 1.0}, {"source": "logging_test_format_rationale_91", "target": "logging_test_format_test_level_field_is_left_padded_to_five_chars", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L91", "weight": 1.0}, {"source": "logging_test_format_rationale_201", "target": "logging_test_format_test_format_appends_exception_text_when_exc_info_set", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L201", "weight": 1.0}], "raw_calls": [{"caller_nid": "logging_test_format_reset_context", "callee": "clear_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L23"}, {"caller_nid": "logging_test_format_record", "callee": "LogRecord", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L37"}, {"caller_nid": "logging_test_format_test_renders_all_tags_when_full_context_set", "callee": "StructuredTagFormatter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L57"}, {"caller_nid": "logging_test_format_test_renders_all_tags_when_full_context_set", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L58"}, {"caller_nid": "logging_test_format_test_renders_all_tags_when_full_context_set", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L65"}, {"caller_nid": "logging_test_format_test_omits_tags_when_their_context_var_is_unset", "callee": "StructuredTagFormatter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L75"}, {"caller_nid": "logging_test_format_test_omits_tags_when_their_context_var_is_unset", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L76"}, {"caller_nid": "logging_test_format_test_omits_tags_when_their_context_var_is_unset", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L77"}, {"caller_nid": "logging_test_format_test_emits_no_tags_when_context_is_empty", "callee": "StructuredTagFormatter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L85"}, {"caller_nid": "logging_test_format_test_emits_no_tags_when_context_is_empty", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L86"}, {"caller_nid": "logging_test_format_test_level_field_is_left_padded_to_five_chars", "callee": "StructuredTagFormatter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L97"}, {"caller_nid": "logging_test_format_test_level_field_is_left_padded_to_five_chars", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L98"}, {"caller_nid": "logging_test_format_test_level_field_is_left_padded_to_five_chars", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L99"}, {"caller_nid": "logging_test_format_test_level_field_is_left_padded_to_five_chars", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L100"}, {"caller_nid": "logging_test_format_test_level_field_is_left_padded_to_five_chars", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L101"}, {"caller_nid": "logging_test_format_test_level_field_is_left_padded_to_five_chars", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L102"}, {"caller_nid": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix", "callee": "StructuredTagFormatter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L112"}, {"caller_nid": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L113"}, {"caller_nid": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L114"}, {"caller_nid": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix", "callee": "endswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L117"}, {"caller_nid": "logging_test_format_test_message_with_format_args_is_rendered", "callee": "StructuredTagFormatter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L123"}, {"caller_nid": "logging_test_format_test_message_with_format_args_is_rendered", "callee": "LogRecord", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L124"}, {"caller_nid": "logging_test_format_test_message_with_format_args_is_rendered", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L134"}, {"caller_nid": "logging_test_format_test_redact_url_userinfo_password", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L144"}, {"caller_nid": "logging_test_format_test_redact_url_userinfo_password_with_punctuation", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L151"}, {"caller_nid": "logging_test_format_test_redact_bearer_token", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L155"}, {"caller_nid": "logging_test_format_test_redact_bearer_token_lowercase", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L159"}, {"caller_nid": "logging_test_format_test_redact_authorization_header", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L163"}, {"caller_nid": "logging_test_format_test_redact_authorization_bearer_combined", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L169"}, {"caller_nid": "logging_test_format_test_redact_leaves_non_secret_strings_alone", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L173"}, {"caller_nid": "logging_test_format_test_redact_leaves_non_secret_strings_alone", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L174"}, {"caller_nid": "logging_test_format_test_redact_leaves_non_secret_strings_alone", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L175"}, {"caller_nid": "logging_test_format_test_redact_handles_url_without_password", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L180"}, {"caller_nid": "logging_test_format_test_redact_handles_multiple_secrets_in_one_string", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L185"}, {"caller_nid": "logging_test_format_test_redact_coerces_non_string_input", "callee": "redact_secret", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L196"}, {"caller_nid": "logging_test_format_test_redact_coerces_non_string_input", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L196"}, {"caller_nid": "logging_test_format_test_format_appends_exception_text_when_exc_info_set", "callee": "StructuredTagFormatter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L203"}, {"caller_nid": "logging_test_format_test_format_appends_exception_text_when_exc_info_set", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L205"}, {"caller_nid": "logging_test_format_test_format_appends_exception_text_when_exc_info_set", "callee": "LogRecord", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L209"}, {"caller_nid": "logging_test_format_test_format_appends_exception_text_when_exc_info_set", "callee": "exc_info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L216"}, {"caller_nid": "logging_test_format_test_format_appends_exception_text_when_exc_info_set", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py", "source_location": "L219"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e394dec17406b907cabb4187218910f1e1bc3eda5cc9a1f2519326b87765fcc6.json b/graphify-out/cache/ast/e394dec17406b907cabb4187218910f1e1bc3eda5cc9a1f2519326b87765fcc6.json deleted file mode 100644 index 66b0a67..0000000 --- a/graphify-out/cache/ast/e394dec17406b907cabb4187218910f1e1bc3eda5cc9a1f2519326b87765fcc6.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "label": "errors.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L1"}, {"id": "exlab_wizard_errors_exlaberror", "label": "ExLabError", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L19"}, {"id": "exception", "label": "Exception", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "exlab_wizard_errors_configerror", "label": "ConfigError", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L23"}, {"id": "exlab_wizard_errors_validationerror", "label": "ValidationError", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L27"}, {"id": "exlab_wizard_errors_templateloaderror", "label": "TemplateLoadError", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L31"}, {"id": "exlab_wizard_errors_templatecorefieldredeclarederror", "label": "TemplateCoreFieldRedeclaredError", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L35"}, {"id": "exlab_wizard_errors_pluginerror", "label": "PluginError", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L39"}, {"id": "exlab_wizard_errors_plugininputrequired", "label": "PluginInputRequired", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L43"}, {"id": "exlab_wizard_errors_plugininputrequired_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L46"}, {"id": "exlab_wizard_errors_reason", "label": "reason()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L51"}, {"id": "exlab_wizard_errors_schemamajormismatcherror", "label": "SchemaMajorMismatchError", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L55"}, {"id": "exlab_wizard_errors_schemamajormismatcherror_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L58"}, {"id": "exlab_wizard_errors_keyringunavailableerror", "label": "KeyringUnavailableError", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L64"}, {"id": "exlab_wizard_errors_setupincompleteerror", "label": "SetupIncompleteError", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L68"}, {"id": "exlab_wizard_errors_rationale_1", "label": "Top-level exception hierarchy. Backend Spec \u00a74.3 errors.py.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L1"}, {"id": "exlab_wizard_errors_rationale_20", "label": "Base class for all ExLab-Wizard exceptions.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L20"}, {"id": "exlab_wizard_errors_rationale_24", "label": "Raised on config.yaml validation failures. Backend Spec \u00a79.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L24"}, {"id": "exlab_wizard_errors_rationale_28", "label": "Raised by the validator engine on creation-time gates. Backend Spec \u00a78.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L28"}, {"id": "exlab_wizard_errors_rationale_32", "label": "Raised when a Copier template fails to load. Backend Spec \u00a75.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L32"}, {"id": "exlab_wizard_errors_rationale_36", "label": "Raised when a template redeclares label / operator / objective. Backend Spec \u00a710", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L36"}, {"id": "exlab_wizard_errors_rationale_40", "label": "Raised by plugin workers to signal expected failure. Backend Spec \u00a76.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L40"}, {"id": "exlab_wizard_errors_rationale_44", "label": "Raised by plugin workers to escalate for additional input. Backend Spec \u00a76.4.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L44"}, {"id": "exlab_wizard_errors_rationale_56", "label": "Raised when a cache file's schema major version exceeds reader support. Backend", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L56"}, {"id": "exlab_wizard_errors_rationale_65", "label": "Raised when no OS keyring backend is reachable and fallback is exhausted. Backen", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L65"}, {"id": "exlab_wizard_errors_rationale_69", "label": "Raised when a creation gate runs while setup state is INCOMPLETE_*. Backend Spec", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L69"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_exlaberror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L19", "weight": 1.0}, {"source": "exlab_wizard_errors_exlaberror", "target": "exception", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_configerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L23", "weight": 1.0}, {"source": "exlab_wizard_errors_configerror", "target": "exlab_wizard_errors_exlaberror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_validationerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L27", "weight": 1.0}, {"source": "exlab_wizard_errors_validationerror", "target": "exlab_wizard_errors_exlaberror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_templateloaderror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L31", "weight": 1.0}, {"source": "exlab_wizard_errors_templateloaderror", "target": "exlab_wizard_errors_exlaberror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_templatecorefieldredeclarederror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L35", "weight": 1.0}, {"source": "exlab_wizard_errors_templatecorefieldredeclarederror", "target": "exlab_wizard_errors_templateloaderror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_pluginerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L39", "weight": 1.0}, {"source": "exlab_wizard_errors_pluginerror", "target": "exlab_wizard_errors_exlaberror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_plugininputrequired", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L43", "weight": 1.0}, {"source": "exlab_wizard_errors_plugininputrequired", "target": "exlab_wizard_errors_exlaberror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L43", "weight": 1.0}, {"source": "exlab_wizard_errors_plugininputrequired", "target": "exlab_wizard_errors_plugininputrequired_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_reason", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_schemamajormismatcherror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L55", "weight": 1.0}, {"source": "exlab_wizard_errors_schemamajormismatcherror", "target": "exlab_wizard_errors_exlaberror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L55", "weight": 1.0}, {"source": "exlab_wizard_errors_schemamajormismatcherror", "target": "exlab_wizard_errors_schemamajormismatcherror_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_keyringunavailableerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L64", "weight": 1.0}, {"source": "exlab_wizard_errors_keyringunavailableerror", "target": "exlab_wizard_errors_exlaberror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "target": "exlab_wizard_errors_setupincompleteerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L68", "weight": 1.0}, {"source": "exlab_wizard_errors_setupincompleteerror", "target": "exlab_wizard_errors_exlaberror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L68", "weight": 1.0}, {"source": "exlab_wizard_errors_plugininputrequired_init", "target": "exlab_wizard_errors_schemamajormismatcherror_init", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L47", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_errors_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L1", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_20", "target": "exlab_wizard_errors_exlaberror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L20", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_24", "target": "exlab_wizard_errors_configerror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L24", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_28", "target": "exlab_wizard_errors_validationerror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L28", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_32", "target": "exlab_wizard_errors_templateloaderror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L32", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_36", "target": "exlab_wizard_errors_templatecorefieldredeclarederror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L36", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_40", "target": "exlab_wizard_errors_pluginerror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L40", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_44", "target": "exlab_wizard_errors_plugininputrequired", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L44", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_56", "target": "exlab_wizard_errors_schemamajormismatcherror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L56", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_65", "target": "exlab_wizard_errors_keyringunavailableerror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L65", "weight": 1.0}, {"source": "exlab_wizard_errors_rationale_69", "target": "exlab_wizard_errors_setupincompleteerror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L69", "weight": 1.0}], "raw_calls": [{"caller_nid": "exlab_wizard_errors_plugininputrequired_init", "callee": "super", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L47"}, {"caller_nid": "exlab_wizard_errors_reason", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L52"}, {"caller_nid": "exlab_wizard_errors_schemamajormismatcherror_init", "callee": "super", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py", "source_location": "L59"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e3cdf0aecda488b0ddb731f68d9b88a64322562e73892b1813b993b953259308.json b/graphify-out/cache/ast/e3cdf0aecda488b0ddb731f68d9b88a64322562e73892b1813b993b953259308.json deleted file mode 100644 index c78f42a..0000000 --- a/graphify-out/cache/ast/e3cdf0aecda488b0ddb731f68d9b88a64322562e73892b1813b993b953259308.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_13_keyboard_py", "label": "test_flow_13_keyboard.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L1"}, {"id": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "label": "test_flow_13_keyboard()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L14"}, {"id": "e2e_test_flow_13_keyboard_rationale_1", "label": "E2E flow 13: Keyboard shortcuts + accessibility focus management. Frontend Spec", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_13_keyboard_py", "target": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L14", "weight": 1.0}, {"source": "e2e_test_flow_13_keyboard_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_13_keyboard_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L15"}, {"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L16"}, {"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L17"}, {"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L17"}, {"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L19"}, {"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "press", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "wait_for_function", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L23"}, {"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "get_attribute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L28"}, {"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "press", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "wait_for_function", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", "callee": "get_attribute", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py", "source_location": "L37"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e3cfeb89b18b1bac17489412d2f15f55aacf66cf45fb7df24f324958a73d7291.json b/graphify-out/cache/ast/e3cfeb89b18b1bac17489412d2f15f55aacf66cf45fb7df24f324958a73d7291.json deleted file mode 100644 index 1ea233c..0000000 --- a/graphify-out/cache/ast/e3cfeb89b18b1bac17489412d2f15f55aacf66cf45fb7df24f324958a73d7291.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "label": "wizard_project.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L1"}, {"id": "pages_wizard_project_projectwizardstate", "label": "ProjectWizardState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L61"}, {"id": "pages_wizard_project_can_advance", "label": "can_advance()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L84"}, {"id": "pages_wizard_project_preview_step_clear", "label": "preview_step_clear()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L111"}, {"id": "pages_wizard_project_disk_space_pre_flight_message", "label": "disk_space_pre_flight_message()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L121"}, {"id": "pages_wizard_project_render_project_wizard", "label": "render_project_wizard()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L131"}, {"id": "pages_wizard_project_render_project_step_fields", "label": "_render_project_step_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L285"}, {"id": "pages_wizard_project_step_helper_text", "label": "_step_helper_text()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L396"}, {"id": "pages_wizard_project_rationale_1", "label": "New Project Wizard (Frontend Spec \u00a74). Seven steps in a ``ui.stepper``: 1. LIM", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L1"}, {"id": "pages_wizard_project_rationale_62", "label": "Mutable state for the in-flight wizard.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L62"}, {"id": "pages_wizard_project_rationale_85", "label": "Return ``True`` when the active step's preconditions are satisfied. Central", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L85"}, {"id": "pages_wizard_project_rationale_112", "label": "Pre-flight checks for the Preview step (Frontend \u00a710.5.4).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L112"}, {"id": "pages_wizard_project_rationale_122", "label": "Return a copy-ready message when disk space is low; else ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L122"}, {"id": "pages_wizard_project_rationale_141", "label": "Render the seven-step project wizard. ``templates`` is the list of project-", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L141"}, {"id": "pages_wizard_project_rationale_294", "label": "Render the bound input fields for one project-wizard step. Each widget two-", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L294"}, {"id": "pages_wizard_project_rationale_397", "label": "Helper text rendered inside each stepper step.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L397"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "inspect", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "exlab_wizard_ui_components", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "exlab_wizard_ui_pages_templates", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "pages_wizard_project_projectwizardstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L61", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "pages_wizard_project_can_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L84", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "pages_wizard_project_preview_step_clear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "pages_wizard_project_disk_space_pre_flight_message", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "pages_wizard_project_render_project_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L131", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "pages_wizard_project_render_project_step_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L285", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "target": "pages_wizard_project_step_helper_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L396", "weight": 1.0}, {"source": "pages_wizard_project_can_advance", "target": "pages_wizard_project_preview_step_clear", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L107", "weight": 1.0}, {"source": "pages_wizard_project_render_project_wizard", "target": "pages_wizard_project_projectwizardstate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L156", "weight": 1.0}, {"source": "pages_wizard_project_render_project_wizard", "target": "pages_wizard_project_can_advance", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L164", "weight": 1.0}, {"source": "pages_wizard_project_render_project_wizard", "target": "pages_wizard_project_step_helper_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L218", "weight": 1.0}, {"source": "pages_wizard_project_render_project_wizard", "target": "pages_wizard_project_render_project_step_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L222", "weight": 1.0}, {"source": "pages_wizard_project_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_pages_wizard_project_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L1", "weight": 1.0}, {"source": "pages_wizard_project_rationale_62", "target": "pages_wizard_project_projectwizardstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L62", "weight": 1.0}, {"source": "pages_wizard_project_rationale_85", "target": "pages_wizard_project_can_advance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L85", "weight": 1.0}, {"source": "pages_wizard_project_rationale_112", "target": "pages_wizard_project_preview_step_clear", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L112", "weight": 1.0}, {"source": "pages_wizard_project_rationale_122", "target": "pages_wizard_project_disk_space_pre_flight_message", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L122", "weight": 1.0}, {"source": "pages_wizard_project_rationale_141", "target": "pages_wizard_project_render_project_wizard", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L141", "weight": 1.0}, {"source": "pages_wizard_project_rationale_294", "target": "pages_wizard_project_render_project_step_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L294", "weight": 1.0}, {"source": "pages_wizard_project_rationale_397", "target": "pages_wizard_project_step_helper_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L397", "weight": 1.0}], "raw_calls": [{"caller_nid": "pages_wizard_project_can_advance", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L99"}, {"caller_nid": "pages_wizard_project_can_advance", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L103"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L157"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L158"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L160"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L167"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L168"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L193"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L193"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "card", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L193"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L204"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L204"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L205"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L205"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L205"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L211"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "stepper", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L211"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L215"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "step", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L215"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L218"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L218"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "_variables_panel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L220"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "_progress_view", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L243"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "stepper_navigation", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L247"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L252"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L252"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "previous", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L254"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L257"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L257"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "on_cancel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L259"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L279"}, {"caller_nid": "pages_wizard_project_render_project_wizard", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L279"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L308"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L310"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L312"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "on_value_change", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L322"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L322"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "select", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L322"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L333"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L333"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L337"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "on_value_change", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L337"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L337"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L337"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "setattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L343"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "bind_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L348"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L348"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L348"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "set_visibility", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L352"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "set_visibility", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L353"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L354"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "button", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L354"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "on_click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L363"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "on_value_change", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L370"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L370"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "select", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L370"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "on_value_change", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L376"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L376"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "select", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L376"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "setattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L381"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "on_value_change", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L389"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L389"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "input", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L389"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L389"}, {"caller_nid": "pages_wizard_project_render_project_step_fields", "callee": "__setitem__", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py", "source_location": "L392"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e47a71c21f23769726116d5c5d27db5c2e9a9bae045491d589d15c36de4d024c.json b/graphify-out/cache/ast/e47a71c21f23769726116d5c5d27db5c2e9a9bae045491d589d15c36de4d024c.json deleted file mode 100644 index 8957f9d..0000000 --- a/graphify-out/cache/ast/e47a71c21f23769726116d5c5d27db5c2e9a9bae045491d589d15c36de4d024c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_status_bar_segment_py", "label": "status_bar_segment.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L1"}, {"id": "components_status_bar_segment_segmentspec", "label": "SegmentSpec", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L32"}, {"id": "components_status_bar_segment_segment_spec", "label": "segment_spec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L41"}, {"id": "components_status_bar_segment_status_bar_segment", "label": "status_bar_segment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L64"}, {"id": "components_status_bar_segment_rationale_1", "label": "Bottom-of-window status bar segment (Frontend Spec \u00a73.5.5). The status bar has", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L1"}, {"id": "components_status_bar_segment_rationale_33", "label": "Computed render spec for a status-bar segment.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L33"}, {"id": "components_status_bar_segment_rationale_46", "label": "Compute a :class:`SegmentSpec` from a label and state. The state controls t", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L46"}, {"id": "components_status_bar_segment_rationale_70", "label": "Build a clickable status-bar segment.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L70"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_status_bar_segment_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_status_bar_segment_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_status_bar_segment_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_status_bar_segment_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_status_bar_segment_py", "target": "components_status_bar_segment_segmentspec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_status_bar_segment_py", "target": "components_status_bar_segment_segment_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_status_bar_segment_py", "target": "components_status_bar_segment_status_bar_segment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L64", "weight": 1.0}, {"source": "components_status_bar_segment_segment_spec", "target": "components_status_bar_segment_segmentspec", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L61", "weight": 1.0}, {"source": "components_status_bar_segment_status_bar_segment", "target": "components_status_bar_segment_segment_spec", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L72", "weight": 1.0}, {"source": "components_status_bar_segment_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_status_bar_segment_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L1", "weight": 1.0}, {"source": "components_status_bar_segment_rationale_33", "target": "components_status_bar_segment_segmentspec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L33", "weight": 1.0}, {"source": "components_status_bar_segment_rationale_46", "target": "components_status_bar_segment_segment_spec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L46", "weight": 1.0}, {"source": "components_status_bar_segment_rationale_70", "target": "components_status_bar_segment_status_bar_segment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L70", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_status_bar_segment_status_bar_segment", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L79"}, {"caller_nid": "components_status_bar_segment_status_bar_segment", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L79"}, {"caller_nid": "components_status_bar_segment_status_bar_segment", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L79"}, {"caller_nid": "components_status_bar_segment_status_bar_segment", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L91"}, {"caller_nid": "components_status_bar_segment_status_bar_segment", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L91"}, {"caller_nid": "components_status_bar_segment_status_bar_segment", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L92"}, {"caller_nid": "components_status_bar_segment_status_bar_segment", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L94"}, {"caller_nid": "components_status_bar_segment_status_bar_segment", "callee": "on_click", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py", "source_location": "L94"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e550148569245fea68c5db1ba6d263fadd6aa64729d81cb02624890a6cf92cad.json b/graphify-out/cache/ast/e550148569245fea68c5db1ba6d263fadd6aa64729d81cb02624890a6cf92cad.json deleted file mode 100644 index 2546098..0000000 --- a/graphify-out/cache/ast/e550148569245fea68c5db1ba6d263fadd6aa64729d81cb02624890a6cf92cad.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L1"}, {"id": "sync_init_rationale_1", "label": "Sync package. Backend Spec \u00a77. Public re-exports for the NAS sync subsystem. Ca", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_init_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_init_py", "target": "exlab_wizard_sync_bandwidth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_init_py", "target": "exlab_wizard_sync_cleanup", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_init_py", "target": "exlab_wizard_sync_nas_client", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_init_py", "target": "exlab_wizard_sync_pre_sync_gate", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_init_py", "target": "exlab_wizard_sync_queue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_init_py", "target": "exlab_wizard_sync_transports", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_init_py", "target": "exlab_wizard_sync_verifier", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L29", "weight": 1.0}, {"source": "sync_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/e56385e843d8218a58e932e0480acc139f6b5cc78e592f4700b2aae14c066e94.json b/graphify-out/cache/ast/e56385e843d8218a58e932e0480acc139f6b5cc78e592f4700b2aae14c066e94.json deleted file mode 100644 index bbbed57..0000000 --- a/graphify-out/cache/ast/e56385e843d8218a58e932e0480acc139f6b5cc78e592f4700b2aae14c066e94.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_readme_md", "label": "README.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L1"}, {"id": "exlabwizard_readme_exlabwizard", "label": "ExLabWizard", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L1"}, {"id": "exlabwizard_readme_context", "label": "Context", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L10"}, {"id": "exlabwizard_readme_installation", "label": "Installation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L20"}, {"id": "exlabwizard_readme_prerequisites", "label": "Prerequisites", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L22"}, {"id": "exlabwizard_readme_from_source_development", "label": "From source (development)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L32"}, {"id": "exlabwizard_readme_codeblock_1", "label": "code:bash (git clone https://github.com/exfab/ExLabWizard.git)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L37"}, {"id": "exlabwizard_readme_pre_built_binary", "label": "Pre-built binary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L53"}, {"id": "exlabwizard_readme_running_exlab_wizard", "label": "Running ExLab-Wizard", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L61"}, {"id": "exlabwizard_readme_codeblock_2", "label": "code:bash (uv run exlab-wizard-tray # or: source .venv/bin/activate)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L73"}, {"id": "exlabwizard_readme_building_a_distributable_binary", "label": "Building a distributable binary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L89"}, {"id": "exlabwizard_readme_codeblock_3", "label": "code:bash (./scripts/build_local.sh # macOS / Linux)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L91"}, {"id": "exlabwizard_readme_tests_lint_type_check", "label": "Tests, lint, type-check", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L100"}, {"id": "exlabwizard_readme_codeblock_4", "label": "code:bash (uv run pytest tests/unit tests/integration # fast suite)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L102"}, {"id": "exlabwizard_readme_documentation", "label": "Documentation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L114"}], "edges": [{"source": "users_alex_projects_exlabwizard_readme_md", "target": "exlabwizard_readme_exlabwizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L1", "weight": 1.0}, {"source": "exlabwizard_readme_exlabwizard", "target": "exlabwizard_readme_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L10", "weight": 1.0}, {"source": "exlabwizard_readme_exlabwizard", "target": "exlabwizard_readme_installation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L20", "weight": 1.0}, {"source": "exlabwizard_readme_installation", "target": "exlabwizard_readme_prerequisites", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L22", "weight": 1.0}, {"source": "exlabwizard_readme_installation", "target": "exlabwizard_readme_from_source_development", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L32", "weight": 1.0}, {"source": "exlabwizard_readme_from_source_development", "target": "exlabwizard_readme_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L37", "weight": 1.0}, {"source": "exlabwizard_readme_installation", "target": "exlabwizard_readme_pre_built_binary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L53", "weight": 1.0}, {"source": "exlabwizard_readme_exlabwizard", "target": "exlabwizard_readme_running_exlab_wizard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L61", "weight": 1.0}, {"source": "exlabwizard_readme_running_exlab_wizard", "target": "exlabwizard_readme_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L73", "weight": 1.0}, {"source": "exlabwizard_readme_exlabwizard", "target": "exlabwizard_readme_building_a_distributable_binary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L89", "weight": 1.0}, {"source": "exlabwizard_readme_building_a_distributable_binary", "target": "exlabwizard_readme_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L91", "weight": 1.0}, {"source": "exlabwizard_readme_exlabwizard", "target": "exlabwizard_readme_tests_lint_type_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L100", "weight": 1.0}, {"source": "exlabwizard_readme_tests_lint_type_check", "target": "exlabwizard_readme_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L102", "weight": 1.0}, {"source": "exlabwizard_readme_exlabwizard", "target": "exlabwizard_readme_documentation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/README.md", "source_location": "L114", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/e6c0c5e4e0619d52122d211a1e37c954bc3b52e25d0742c76612d44c71da8afa.json b/graphify-out/cache/ast/e6c0c5e4e0619d52122d211a1e37c954bc3b52e25d0742c76612d44c71da8afa.json deleted file mode 100644 index ce66206..0000000 --- a/graphify-out/cache/ast/e6c0c5e4e0619d52122d211a1e37c954bc3b52e25d0742c76612d44c71da8afa.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_06_problems_py", "label": "test_flow_06_problems.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L1"}, {"id": "e2e_test_flow_06_problems_test_flow_06_problems", "label": "test_flow_06_problems()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L19"}, {"id": "e2e_test_flow_06_problems_rationale_1", "label": "E2E flow 06: Problems view + override / revoke round trip. Frontend Spec \u00a76.6 (", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_06_problems_py", "target": "tests_e2e_page_objects_problems_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_06_problems_py", "target": "e2e_test_flow_06_problems_test_flow_06_problems", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L19", "weight": 1.0}, {"source": "e2e_test_flow_06_problems_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_06_problems_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "ProblemsPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L21"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L24"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "inner_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L28"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "row_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L28"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "row_override", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L30"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "row_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L33"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "inner_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L34"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "row_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L34"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "row_revoke", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L38"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "row_revoke", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L38"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L40"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L40"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "inner_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L41"}, {"caller_nid": "e2e_test_flow_06_problems_test_flow_06_problems", "callee": "row_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py", "source_location": "L41"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e6c9bd8509623589f20830f10c54c3d3e9513f798ab06aa317e37a4f77685b01.json b/graphify-out/cache/ast/e6c9bd8509623589f20830f10c54c3d3e9513f798ab06aa317e37a4f77685b01.json deleted file mode 100644 index 02c8de9..0000000 --- a/graphify-out/cache/ast/e6c9bd8509623589f20830f10c54c3d3e9513f798ab06aa317e37a4f77685b01.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "label": "test_quit_coordinator.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L1"}, {"id": "tray_test_quit_coordinator_stubserver", "label": "_StubServer", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L17"}, {"id": "tray_test_quit_coordinator_stubserver_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L18"}, {"id": "tray_test_quit_coordinator_stubserver_stop", "label": ".stop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L21"}, {"id": "tray_test_quit_coordinator_stubwindow", "label": "_StubWindow", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L25"}, {"id": "tray_test_quit_coordinator_stubwindow_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L26"}, {"id": "tray_test_quit_coordinator_stubwindow_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L29"}, {"id": "tray_test_quit_coordinator_counted", "label": "_Counted", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L33"}, {"id": "tray_test_quit_coordinator_counted_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L34"}, {"id": "tray_test_quit_coordinator_make_coordinator", "label": "_make_coordinator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L38"}, {"id": "tray_test_quit_coordinator_test_idle_predicate_short_circuits", "label": "test_idle_predicate_short_circuits()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L64"}, {"id": "tray_test_quit_coordinator_test_busy_predicate_times_out_and_force_quits", "label": "test_busy_predicate_times_out_and_force_quits()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L72"}, {"id": "tray_test_quit_coordinator_test_busy_predicate_wait_resets_timer", "label": "test_busy_predicate_wait_resets_timer()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L91"}, {"id": "tray_test_quit_coordinator_test_sigterm_uses_short_timeout", "label": "test_sigterm_uses_short_timeout()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L111"}, {"id": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher", "label": "test_quit_handles_missing_window_launcher()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L137"}, {"id": "tray_test_quit_coordinator_test_safe_count_handles_callable_attribute", "label": "test_safe_count_handles_callable_attribute()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L152"}, {"id": "tray_test_quit_coordinator_test_safe_count_handles_callable_that_raises", "label": "test_safe_count_handles_callable_that_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L158"}, {"id": "tray_test_quit_coordinator_test_safe_count_handles_none_obj", "label": "test_safe_count_handles_none_obj()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L168"}, {"id": "tray_test_quit_coordinator_test_safe_count_handles_non_numeric", "label": "test_safe_count_handles_non_numeric()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L172"}, {"id": "tray_test_quit_coordinator_test_force_quit_prompt_exception_defaults_to_force", "label": "test_force_quit_prompt_exception_defaults_to_force()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L179"}, {"id": "tray_test_quit_coordinator_test_default_timeout_constants_match_spec", "label": "test_default_timeout_constants_match_spec()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L192"}, {"id": "tray_test_quit_coordinator_test_idle_predicate_returns_true_immediately", "label": "test_idle_predicate_returns_true_immediately()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L199"}, {"id": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", "label": "test_predicate_eventually_becomes_true()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L208"}, {"id": "tray_test_quit_coordinator_rationale_1", "label": "Tests for :mod:`exlab_wizard.tray.quit_coordinator`. Backend Spec \u00a74.3.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L1"}, {"id": "tray_test_quit_coordinator_rationale_209", "label": "Wait loop returns True when the predicate flips mid-wait.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L209"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "exlab_wizard_tray_quit_coordinator", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_stubserver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L17", "weight": 1.0}, {"source": "tray_test_quit_coordinator_stubserver", "target": "tray_test_quit_coordinator_stubserver_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L18", "weight": 1.0}, {"source": "tray_test_quit_coordinator_stubserver", "target": "tray_test_quit_coordinator_stubserver_stop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_stubwindow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L25", "weight": 1.0}, {"source": "tray_test_quit_coordinator_stubwindow", "target": "tray_test_quit_coordinator_stubwindow_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L26", "weight": 1.0}, {"source": "tray_test_quit_coordinator_stubwindow", "target": "tray_test_quit_coordinator_stubwindow_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_counted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L33", "weight": 1.0}, {"source": "tray_test_quit_coordinator_counted", "target": "tray_test_quit_coordinator_counted_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_make_coordinator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_idle_predicate_short_circuits", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_busy_predicate_times_out_and_force_quits", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_busy_predicate_wait_resets_timer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L91", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_sigterm_uses_short_timeout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L137", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_safe_count_handles_callable_attribute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_safe_count_handles_callable_that_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L158", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_safe_count_handles_none_obj", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L168", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_safe_count_handles_non_numeric", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L172", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_force_quit_prompt_exception_defaults_to_force", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L179", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_default_timeout_constants_match_spec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L192", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_idle_predicate_returns_true_immediately", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L199", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "target": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L208", "weight": 1.0}, {"source": "tray_test_quit_coordinator_make_coordinator", "target": "tray_test_quit_coordinator_stubserver", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L46", "weight": 1.0}, {"source": "tray_test_quit_coordinator_make_coordinator", "target": "tray_test_quit_coordinator_stubwindow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L47", "weight": 1.0}, {"source": "tray_test_quit_coordinator_make_coordinator", "target": "tray_test_quit_coordinator_counted", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L48", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_idle_predicate_short_circuits", "target": "tray_test_quit_coordinator_make_coordinator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L65", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_busy_predicate_times_out_and_force_quits", "target": "tray_test_quit_coordinator_make_coordinator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L79", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_busy_predicate_wait_resets_timer", "target": "tray_test_quit_coordinator_make_coordinator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L98", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_sigterm_uses_short_timeout", "target": "tray_test_quit_coordinator_make_coordinator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L117", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher", "target": "tray_test_quit_coordinator_stubserver", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L138", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher", "target": "tray_test_quit_coordinator_counted", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L142", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_safe_count_handles_callable_attribute", "target": "tray_test_quit_coordinator_counted", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L153", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_safe_count_handles_callable_that_raises", "target": "tray_test_quit_coordinator_counted", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L159", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_safe_count_handles_non_numeric", "target": "tray_test_quit_coordinator_counted", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L173", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_force_quit_prompt_exception_defaults_to_force", "target": "tray_test_quit_coordinator_make_coordinator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L183", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_idle_predicate_returns_true_immediately", "target": "tray_test_quit_coordinator_make_coordinator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L200", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", "target": "tray_test_quit_coordinator_stubserver", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L210", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", "target": "tray_test_quit_coordinator_stubwindow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L211", "weight": 1.0}, {"source": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", "target": "tray_test_quit_coordinator_counted", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L224", "weight": 1.0}, {"source": "tray_test_quit_coordinator_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_tray_test_quit_coordinator_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_test_quit_coordinator_rationale_209", "target": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L209", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_test_quit_coordinator_counted_init", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L35"}, {"caller_nid": "tray_test_quit_coordinator_make_coordinator", "callee": "QuitCoordinator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L50"}, {"caller_nid": "tray_test_quit_coordinator_test_idle_predicate_short_circuits", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L66"}, {"caller_nid": "tray_test_quit_coordinator_test_busy_predicate_times_out_and_force_quits", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L85"}, {"caller_nid": "tray_test_quit_coordinator_test_busy_predicate_wait_resets_timer", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L104"}, {"caller_nid": "tray_test_quit_coordinator_test_sigterm_uses_short_timeout", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L131"}, {"caller_nid": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher", "callee": "QuitCoordinator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L139"}, {"caller_nid": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L148"}, {"caller_nid": "tray_test_quit_coordinator_test_safe_count_handles_callable_attribute", "callee": "_safe_count", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L155"}, {"caller_nid": "tray_test_quit_coordinator_test_safe_count_handles_callable_that_raises", "callee": "_safe_count", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L165"}, {"caller_nid": "tray_test_quit_coordinator_test_safe_count_handles_none_obj", "callee": "_safe_count", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L169"}, {"caller_nid": "tray_test_quit_coordinator_test_safe_count_handles_non_numeric", "callee": "_safe_count", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L175"}, {"caller_nid": "tray_test_quit_coordinator_test_force_quit_prompt_exception_defaults_to_force", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L188"}, {"caller_nid": "tray_test_quit_coordinator_test_idle_predicate_returns_true_immediately", "callee": "_is_idle", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L202"}, {"caller_nid": "tray_test_quit_coordinator_test_idle_predicate_returns_true_immediately", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L203"}, {"caller_nid": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", "callee": "_Toggling", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L223"}, {"caller_nid": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", "callee": "QuitCoordinator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L225"}, {"caller_nid": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", "callee": "quit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py", "source_location": "L233"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e6e7430c22abed4e1173cf3f004fad4960dfe6b98c12630b9b8e8d9f39cdc83e.json b/graphify-out/cache/ast/e6e7430c22abed4e1173cf3f004fad4960dfe6b98c12630b9b8e8d9f39cdc83e.json deleted file mode 100644 index e1e9738..0000000 --- a/graphify-out/cache/ast/e6e7430c22abed4e1173cf3f004fad4960dfe6b98c12630b9b8e8d9f39cdc83e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "label": "test_staging_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L1"}, {"id": "ui_test_staging_page_test_staging_dock_height_is_120_px", "label": "test_staging_dock_height_is_120_px()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L29"}, {"id": "ui_test_staging_page_test_staging_table_columns_match_brief_order", "label": "test_staging_table_columns_match_brief_order()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L33"}, {"id": "ui_test_staging_page_test_format_bytes_handles_negative_values", "label": "test_format_bytes_handles_negative_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L50"}, {"id": "ui_test_staging_page_test_format_bytes_renders_sub_kib_in_bytes", "label": "test_format_bytes_renders_sub_kib_in_bytes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L54"}, {"id": "ui_test_staging_page_test_format_bytes_renders_kib_with_one_decimal", "label": "test_format_bytes_renders_kib_with_one_decimal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L59"}, {"id": "ui_test_staging_page_test_format_bytes_renders_mib_and_gib", "label": "test_format_bytes_renders_mib_and_gib()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L64"}, {"id": "ui_test_staging_page_test_format_elapsed_seconds_only", "label": "test_format_elapsed_seconds_only()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L74"}, {"id": "ui_test_staging_page_test_format_elapsed_minutes_and_seconds", "label": "test_format_elapsed_minutes_and_seconds()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L79"}, {"id": "ui_test_staging_page_test_format_elapsed_hours_and_minutes", "label": "test_format_elapsed_hours_and_minutes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L83"}, {"id": "ui_test_staging_page_test_format_elapsed_days_and_hours", "label": "test_format_elapsed_days_and_hours()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L87"}, {"id": "ui_test_staging_page_test_format_elapsed_handles_negative", "label": "test_format_elapsed_handles_negative()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L91"}, {"id": "ui_test_staging_page_test_state_pill_props_returns_label_and_color_for_each_state", "label": "test_state_pill_props_returns_label_and_color_for_each_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L100"}, {"id": "ui_test_staging_page_test_state_pill_props_falls_back_for_unknown_state", "label": "test_state_pill_props_falls_back_for_unknown_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L112"}, {"id": "ui_test_staging_page_make_row", "label": "_make_row()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L123"}, {"id": "ui_test_staging_page_test_row_props_emits_run_label_as_leaf", "label": "test_row_props_emits_run_label_as_leaf()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L144"}, {"id": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable", "label": "test_row_props_marks_synced_rollup_as_clearable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L149"}, {"id": "ui_test_staging_page_test_row_props_does_not_mark_other_rollups_as_clearable", "label": "test_row_props_does_not_mark_other_rollups_as_clearable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L155"}, {"id": "ui_test_staging_page_test_row_props_formats_bytes_and_elapsed", "label": "test_row_props_formats_bytes_and_elapsed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L163"}, {"id": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", "label": "test_render_staging_dock_returns_dict_when_nicegui_unavailable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L174"}, {"id": "ui_test_staging_page_test_staging_dock_state_defaults", "label": "test_staging_dock_state_defaults()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L191"}, {"id": "ui_test_staging_page_rationale_1", "label": "Unit tests for the staging UI page. The page renders NiceGUI elements when the", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L1"}, {"id": "ui_test_staging_page_rationale_150", "label": "Only a fully-``synced`` run rollup is clearable.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L150"}, {"id": "ui_test_staging_page_rationale_175", "label": "When NiceGUI isn't importable the renderer returns a debug dict. This is th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L175"}, {"id": "ui_test_staging_page_rationale_192", "label": "An empty dock state initializes without errors.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L192"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "exlab_wizard_orchestrator_staging_query", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "exlab_wizard_ui_pages_staging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_staging_dock_height_is_120_px", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_staging_table_columns_match_brief_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_format_bytes_handles_negative_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L50", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_format_bytes_renders_sub_kib_in_bytes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_format_bytes_renders_kib_with_one_decimal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_format_bytes_renders_mib_and_gib", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_format_elapsed_seconds_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L74", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_format_elapsed_minutes_and_seconds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L79", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_format_elapsed_hours_and_minutes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_format_elapsed_days_and_hours", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_format_elapsed_handles_negative", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L91", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_state_pill_props_returns_label_and_color_for_each_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L100", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_state_pill_props_falls_back_for_unknown_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_make_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_row_props_emits_run_label_as_leaf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L144", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L149", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_row_props_does_not_mark_other_rollups_as_clearable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L155", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_row_props_formats_bytes_and_elapsed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L163", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L174", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "target": "ui_test_staging_page_test_staging_dock_state_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L191", "weight": 1.0}, {"source": "ui_test_staging_page_test_row_props_emits_run_label_as_leaf", "target": "ui_test_staging_page_make_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L145", "weight": 1.0}, {"source": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable", "target": "ui_test_staging_page_make_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L151", "weight": 1.0}, {"source": "ui_test_staging_page_test_row_props_does_not_mark_other_rollups_as_clearable", "target": "ui_test_staging_page_make_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L159", "weight": 1.0}, {"source": "ui_test_staging_page_test_row_props_formats_bytes_and_elapsed", "target": "ui_test_staging_page_make_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L164", "weight": 1.0}, {"source": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", "target": "ui_test_staging_page_make_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L183", "weight": 1.0}, {"source": "ui_test_staging_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_staging_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_staging_page_rationale_150", "target": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L150", "weight": 1.0}, {"source": "ui_test_staging_page_rationale_175", "target": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L175", "weight": 1.0}, {"source": "ui_test_staging_page_rationale_192", "target": "ui_test_staging_page_test_staging_dock_state_defaults", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L192", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_test_staging_page_test_format_bytes_handles_negative_values", "callee": "format_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L51"}, {"caller_nid": "ui_test_staging_page_test_format_bytes_renders_sub_kib_in_bytes", "callee": "format_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L55"}, {"caller_nid": "ui_test_staging_page_test_format_bytes_renders_sub_kib_in_bytes", "callee": "format_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L56"}, {"caller_nid": "ui_test_staging_page_test_format_bytes_renders_kib_with_one_decimal", "callee": "format_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L60"}, {"caller_nid": "ui_test_staging_page_test_format_bytes_renders_kib_with_one_decimal", "callee": "format_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L61"}, {"caller_nid": "ui_test_staging_page_test_format_bytes_renders_mib_and_gib", "callee": "format_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L65"}, {"caller_nid": "ui_test_staging_page_test_format_bytes_renders_mib_and_gib", "callee": "format_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L66"}, {"caller_nid": "ui_test_staging_page_test_format_elapsed_seconds_only", "callee": "format_elapsed", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L75"}, {"caller_nid": "ui_test_staging_page_test_format_elapsed_seconds_only", "callee": "format_elapsed", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L76"}, {"caller_nid": "ui_test_staging_page_test_format_elapsed_minutes_and_seconds", "callee": "format_elapsed", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L80"}, {"caller_nid": "ui_test_staging_page_test_format_elapsed_hours_and_minutes", "callee": "format_elapsed", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L84"}, {"caller_nid": "ui_test_staging_page_test_format_elapsed_days_and_hours", "callee": "format_elapsed", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L88"}, {"caller_nid": "ui_test_staging_page_test_format_elapsed_handles_negative", "callee": "format_elapsed", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L92"}, {"caller_nid": "ui_test_staging_page_test_state_pill_props_returns_label_and_color_for_each_state", "callee": "state_pill_props", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L106"}, {"caller_nid": "ui_test_staging_page_test_state_pill_props_falls_back_for_unknown_state", "callee": "state_pill_props", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L113"}, {"caller_nid": "ui_test_staging_page_make_row", "callee": "StagedRunSummary", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L131"}, {"caller_nid": "ui_test_staging_page_test_row_props_emits_run_label_as_leaf", "callee": "row_props", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L145"}, {"caller_nid": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable", "callee": "row_props", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L151"}, {"caller_nid": "ui_test_staging_page_test_row_props_does_not_mark_other_rollups_as_clearable", "callee": "row_props", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L159"}, {"caller_nid": "ui_test_staging_page_test_row_props_formats_bytes_and_elapsed", "callee": "row_props", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L164"}, {"caller_nid": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", "callee": "setitem", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L182"}, {"caller_nid": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", "callee": "StagingDockState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L183"}, {"caller_nid": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", "callee": "render_staging_dock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L184"}, {"caller_nid": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L185"}, {"caller_nid": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L188"}, {"caller_nid": "ui_test_staging_page_test_staging_dock_state_defaults", "callee": "StagingDockState", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py", "source_location": "L193"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e6e904a8be8205b5b43660eb953ab4ba864d6e82eaa50797ab3d447057f1aec9.json b/graphify-out/cache/ast/e6e904a8be8205b5b43660eb953ab4ba864d6e82eaa50797ab3d447057f1aec9.json deleted file mode 100644 index 9444f15..0000000 --- a/graphify-out/cache/ast/e6e904a8be8205b5b43660eb953ab4ba864d6e82eaa50797ab3d447057f1aec9.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "label": "keyring_store.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L1"}, {"id": "lims_keyring_store_keyringstore", "label": "KeyringStore", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L62"}, {"id": "lims_keyring_store_keyringstore_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L77"}, {"id": "lims_keyring_store_keyringstore_is_keyring_available", "label": ".is_keyring_available()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L91"}, {"id": "lims_keyring_store_keyringstore_get_password", "label": ".get_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L109"}, {"id": "lims_keyring_store_keyringstore_set_password", "label": ".set_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L130"}, {"id": "lims_keyring_store_keyringstore_delete_password", "label": ".delete_password()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L144"}, {"id": "lims_keyring_store_keyringstore_fallback_get", "label": "._fallback_get()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L165"}, {"id": "lims_keyring_store_keyringstore_fallback_set", "label": "._fallback_set()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L171"}, {"id": "lims_keyring_store_keyringstore_fallback_delete", "label": "._fallback_delete()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L176"}, {"id": "lims_keyring_store_keyringstore_passphrase", "label": "._passphrase()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L184"}, {"id": "lims_keyring_store_keyringstore_derive_key", "label": "._derive_key()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L197"}, {"id": "lims_keyring_store_keyringstore_load_fallback", "label": "._load_fallback()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L209"}, {"id": "lims_keyring_store_keyringstore_save_fallback", "label": "._save_fallback()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L230"}, {"id": "lims_keyring_store_keyringstore_existing_salt", "label": "._existing_salt()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L244"}, {"id": "lims_keyring_store_decode_envelope", "label": "_decode_envelope()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L258"}, {"id": "lims_keyring_store_rationale_1", "label": "OS keyring storage with encrypted-at-rest fallback. Backend Spec \u00a77.4. Two back", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L1"}, {"id": "lims_keyring_store_rationale_63", "label": "OS keyring with encrypted-at-rest fallback. Backend Spec \u00a77.4. Tries the OS", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L63"}, {"id": "lims_keyring_store_rationale_92", "label": "Best-effort probe of the OS keyring backend. Implemented as a round-tri", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L92"}, {"id": "lims_keyring_store_rationale_110", "label": "Look up the secret for ``(KEYRING_SERVICE, username)``. Returns ``None`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L110"}, {"id": "lims_keyring_store_rationale_131", "label": "Persist ``password`` under ``(KEYRING_SERVICE, username)``. On a keyrin", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L131"}, {"id": "lims_keyring_store_rationale_145", "label": "Remove the secret stored under ``(KEYRING_SERVICE, username)``. Missing", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L145"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "base64", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "keyring", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "keyring_errors", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "argon2_low_level", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "cryptography_fernet", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "lims_keyring_store_keyringstore", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L62", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L77", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_is_keyring_available", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L91", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_get_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L109", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_set_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L130", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_delete_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L144", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_fallback_get", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L165", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_fallback_set", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L171", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_fallback_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L176", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_passphrase", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L184", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_derive_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L197", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_load_fallback", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L209", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_save_fallback", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L230", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore", "target": "lims_keyring_store_keyringstore_existing_salt", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L244", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "target": "lims_keyring_store_decode_envelope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L258", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_is_keyring_available", "target": "lims_keyring_store_keyringstore_set_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L101", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_is_keyring_available", "target": "lims_keyring_store_keyringstore_delete_password", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L102", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_get_password", "target": "lims_keyring_store_keyringstore_fallback_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L120", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_set_password", "target": "lims_keyring_store_keyringstore_fallback_set", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L142", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_delete_password", "target": "lims_keyring_store_keyringstore_fallback_delete", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L159", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_fallback_get", "target": "lims_keyring_store_keyringstore_load_fallback", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L168", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_fallback_set", "target": "lims_keyring_store_keyringstore_load_fallback", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L172", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_fallback_set", "target": "lims_keyring_store_keyringstore_save_fallback", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L174", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_fallback_delete", "target": "lims_keyring_store_keyringstore_load_fallback", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L179", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_fallback_delete", "target": "lims_keyring_store_keyringstore_save_fallback", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L182", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_load_fallback", "target": "lims_keyring_store_decode_envelope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L215", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_load_fallback", "target": "lims_keyring_store_keyringstore_derive_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L218", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_load_fallback", "target": "lims_keyring_store_keyringstore_passphrase", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L218", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_save_fallback", "target": "lims_keyring_store_keyringstore_existing_salt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L232", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_save_fallback", "target": "lims_keyring_store_keyringstore_derive_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L233", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_save_fallback", "target": "lims_keyring_store_keyringstore_passphrase", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L233", "weight": 1.0}, {"source": "lims_keyring_store_keyringstore_existing_salt", "target": "lims_keyring_store_decode_envelope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L252", "weight": 1.0}, {"source": "lims_keyring_store_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_keyring_store_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L1", "weight": 1.0}, {"source": "lims_keyring_store_rationale_63", "target": "lims_keyring_store_keyringstore", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L63", "weight": 1.0}, {"source": "lims_keyring_store_rationale_92", "target": "lims_keyring_store_keyringstore_is_keyring_available", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L92", "weight": 1.0}, {"source": "lims_keyring_store_rationale_110", "target": "lims_keyring_store_keyringstore_get_password", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L110", "weight": 1.0}, {"source": "lims_keyring_store_rationale_131", "target": "lims_keyring_store_keyringstore_set_password", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L131", "weight": 1.0}, {"source": "lims_keyring_store_rationale_145", "target": "lims_keyring_store_keyringstore_delete_password", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L145", "weight": 1.0}], "raw_calls": [{"caller_nid": "lims_keyring_store_keyringstore_init", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L83"}, {"caller_nid": "lims_keyring_store_keyringstore_get_password", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L126"}, {"caller_nid": "lims_keyring_store_keyringstore_set_password", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L141"}, {"caller_nid": "lims_keyring_store_keyringstore_delete_password", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L157"}, {"caller_nid": "lims_keyring_store_keyringstore_delete_password", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L158"}, {"caller_nid": "lims_keyring_store_keyringstore_fallback_get", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L166"}, {"caller_nid": "lims_keyring_store_keyringstore_fallback_get", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L169"}, {"caller_nid": "lims_keyring_store_keyringstore_fallback_set", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L172"}, {"caller_nid": "lims_keyring_store_keyringstore_fallback_delete", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L177"}, {"caller_nid": "lims_keyring_store_keyringstore_passphrase", "callee": "KeyringUnavailableError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L190"}, {"caller_nid": "lims_keyring_store_keyringstore_passphrase", "callee": "_passphrase_provider", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L191"}, {"caller_nid": "lims_keyring_store_keyringstore_passphrase", "callee": "KeyringUnavailableError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L194"}, {"caller_nid": "lims_keyring_store_keyringstore_derive_key", "callee": "hash_secret_raw", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L198"}, {"caller_nid": "lims_keyring_store_keyringstore_derive_key", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L199"}, {"caller_nid": "lims_keyring_store_keyringstore_derive_key", "callee": "urlsafe_b64encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L207"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L211"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "KeyringUnavailableError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L214"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "b64decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L216"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L217"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "decrypt", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L220"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "Fernet", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L220"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "KeyringUnavailableError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L223"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L224"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L225"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "KeyringUnavailableError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L227"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L228"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L228"}, {"caller_nid": "lims_keyring_store_keyringstore_load_fallback", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L228"}, {"caller_nid": "lims_keyring_store_keyringstore_save_fallback", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L231"}, {"caller_nid": "lims_keyring_store_keyringstore_save_fallback", "callee": "urandom", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L232"}, {"caller_nid": "lims_keyring_store_keyringstore_save_fallback", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L234"}, {"caller_nid": "lims_keyring_store_keyringstore_save_fallback", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L235"}, {"caller_nid": "lims_keyring_store_keyringstore_save_fallback", "callee": "encrypt", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L235"}, {"caller_nid": "lims_keyring_store_keyringstore_save_fallback", "callee": "Fernet", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L235"}, {"caller_nid": "lims_keyring_store_keyringstore_save_fallback", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L238"}, {"caller_nid": "lims_keyring_store_keyringstore_save_fallback", "callee": "b64encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L238"}, {"caller_nid": "lims_keyring_store_keyringstore_save_fallback", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L241"}, {"caller_nid": "lims_keyring_store_keyringstore_save_fallback", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L242"}, {"caller_nid": "lims_keyring_store_keyringstore_existing_salt", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L245"}, {"caller_nid": "lims_keyring_store_keyringstore_existing_salt", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L248"}, {"caller_nid": "lims_keyring_store_keyringstore_existing_salt", "callee": "b64decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L255"}, {"caller_nid": "lims_keyring_store_decode_envelope", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L260"}, {"caller_nid": "lims_keyring_store_decode_envelope", "callee": "KeyringUnavailableError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L263"}, {"caller_nid": "lims_keyring_store_decode_envelope", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L264"}, {"caller_nid": "lims_keyring_store_decode_envelope", "callee": "KeyringUnavailableError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L266"}, {"caller_nid": "lims_keyring_store_decode_envelope", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L267"}, {"caller_nid": "lims_keyring_store_decode_envelope", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L269"}, {"caller_nid": "lims_keyring_store_decode_envelope", "callee": "KeyringUnavailableError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L272"}, {"caller_nid": "lims_keyring_store_decode_envelope", "callee": "KeyringUnavailableError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py", "source_location": "L275"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e7c3f66c822fecf15ea244be1b40a592edbe9712d30b128f2e9e77950053d366.json b/graphify-out/cache/ast/e7c3f66c822fecf15ea244be1b40a592edbe9712d30b128f2e9e77950053d366.json deleted file mode 100644 index d65662f..0000000 --- a/graphify-out/cache/ast/e7c3f66c822fecf15ea244be1b40a592edbe9712d30b128f2e9e77950053d366.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_09_configuration_file_md", "label": "09_Configuration_File.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/09_Configuration_File.md", "source_location": "L1"}, {"id": "design_spec_sections_09_configuration_file_9_configuration_file", "label": "9. Configuration File", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/09_Configuration_File.md", "source_location": "L1"}, {"id": "design_spec_sections_09_configuration_file_codeblock_1", "label": "code:yaml (paths:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/09_Configuration_File.md", "source_location": "L19"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_09_configuration_file_md", "target": "design_spec_sections_09_configuration_file_9_configuration_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/09_Configuration_File.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_09_configuration_file_9_configuration_file", "target": "design_spec_sections_09_configuration_file_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/09_Configuration_File.md", "source_location": "L19", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/e7c5e3bcc41ed5504d8832c8cb0b4e84d20471cbb81f40d904bc5ad16044ece6.json b/graphify-out/cache/ast/e7c5e3bcc41ed5504d8832c8cb0b4e84d20471cbb81f40d904bc5ad16044ece6.json deleted file mode 100644 index 0dfc4c8..0000000 --- a/graphify-out/cache/ast/e7c5e3bcc41ed5504d8832c8cb0b4e84d20471cbb81f40d904bc5ad16044ece6.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "label": "sync_state_writer.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L1"}, {"id": "cache_sync_state_writer_sync_state_path", "label": "_sync_state_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L52"}, {"id": "cache_sync_state_writer_ensure_cache_dir", "label": "_ensure_cache_dir()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L57"}, {"id": "cache_sync_state_writer_empty_state", "label": "_empty_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L69"}, {"id": "cache_sync_state_writer_syncstatewriter", "label": "SyncStateWriter", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L74"}, {"id": "cache_sync_state_writer_syncstatewriter_read", "label": ".read()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L82"}, {"id": "cache_sync_state_writer_syncstatewriter_read_sync", "label": ".read_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L92"}, {"id": "cache_sync_state_writer_syncstatewriter_upsert_file", "label": ".upsert_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L108"}, {"id": "cache_sync_state_writer_syncstatewriter_set_keep_local", "label": ".set_keep_local()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L147"}, {"id": "cache_sync_state_writer_syncstatewriter_mark_cleared", "label": ".mark_cleared()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L161"}, {"id": "cache_sync_state_writer_syncstatewriter_mark_cleared_sync", "label": ".mark_cleared_sync()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L169"}, {"id": "cache_sync_state_writer_rollup_state", "label": "rollup_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L180"}, {"id": "cache_sync_state_writer_syncstatewriter_read_blocking", "label": "._read_blocking()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L202"}, {"id": "cache_sync_state_writer_decode_locked", "label": "_decode_locked()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L208"}, {"id": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "label": "._upsert_file_blocking()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L217"}, {"id": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "label": "._set_keep_local_blocking()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L256"}, {"id": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "label": "._mark_cleared_blocking()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L278"}, {"id": "cache_sync_state_writer_with_file", "label": "_with_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L289"}, {"id": "cache_sync_state_writer_rationale_1", "label": "Orchestrator-only writer for ``sync_state.json``. Operator-free per-file NAS sy", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L1"}, {"id": "cache_sync_state_writer_rationale_53", "label": "Return the ``sync_state.json`` path under a run directory.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L53"}, {"id": "cache_sync_state_writer_rationale_58", "label": "Create ``path``'s parent (the run's ``.exlab-wizard/`` cache) dir. Neither", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L58"}, {"id": "cache_sync_state_writer_rationale_70", "label": "Return a fresh, file-less :class:`SyncStateJson` at the current version.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L70"}, {"id": "cache_sync_state_writer_rationale_75", "label": "Writer for ``sync_state.json``. Orchestrator-mode only. All public methods", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L75"}, {"id": "cache_sync_state_writer_rationale_83", "label": "Read and decode the run's ``sync_state.json``. Returns a fresh empty :c", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L83"}, {"id": "cache_sync_state_writer_rationale_93", "label": "Blocking variant of :meth:`read` for synchronous callers. :meth:`read`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L93"}, {"id": "cache_sync_state_writer_rationale_117", "label": "Create or update one file record under an exclusive lock. The record fo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L117"}, {"id": "cache_sync_state_writer_rationale_153", "label": "Toggle a file's ``keep_local`` flag, creating the record if absent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L153"}, {"id": "cache_sync_state_writer_rationale_162", "label": "Stamp ``cleared_at`` with the current UTC time. Called once the run's s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L162"}, {"id": "cache_sync_state_writer_rationale_170", "label": "Blocking variant of :meth:`mark_cleared` for synchronous callers. Used", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L170"}, {"id": "cache_sync_state_writer_rationale_181", "label": "Derive the run-level :class:`RunSyncState` rollup from ``state``. Pure", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L181"}, {"id": "cache_sync_state_writer_rationale_209", "label": "Decode ``sync_state.json``, returning an empty state if absent. Caller", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L209"}, {"id": "cache_sync_state_writer_rationale_294", "label": "Return a copy of ``payload`` with ``files[rel_path]`` set to ``record``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L294"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "filelock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "exlab_wizard_cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "exlab_wizard_cache_sync_state_schema", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "cache_sync_state_writer_sync_state_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "cache_sync_state_writer_ensure_cache_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "cache_sync_state_writer_empty_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "cache_sync_state_writer_syncstatewriter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L74", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter", "target": "cache_sync_state_writer_syncstatewriter_read", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L82", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter", "target": "cache_sync_state_writer_syncstatewriter_read_sync", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L92", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter", "target": "cache_sync_state_writer_syncstatewriter_upsert_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L108", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter", "target": "cache_sync_state_writer_syncstatewriter_set_keep_local", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L147", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter", "target": "cache_sync_state_writer_syncstatewriter_mark_cleared", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L161", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter", "target": "cache_sync_state_writer_syncstatewriter_mark_cleared_sync", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L169", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "cache_sync_state_writer_rollup_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L180", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter", "target": "cache_sync_state_writer_syncstatewriter_read_blocking", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L202", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "cache_sync_state_writer_decode_locked", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L208", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter", "target": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L217", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter", "target": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L256", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter", "target": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L278", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "target": "cache_sync_state_writer_with_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L289", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_read_sync", "target": "cache_sync_state_writer_syncstatewriter_read_blocking", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L106", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_mark_cleared_sync", "target": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L177", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_read_blocking", "target": "cache_sync_state_writer_sync_state_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L203", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_read_blocking", "target": "cache_sync_state_writer_decode_locked", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L205", "weight": 1.0}, {"source": "cache_sync_state_writer_decode_locked", "target": "cache_sync_state_writer_empty_state", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L214", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "target": "cache_sync_state_writer_sync_state_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L225", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "target": "cache_sync_state_writer_ensure_cache_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L226", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "target": "cache_sync_state_writer_decode_locked", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L228", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "target": "cache_sync_state_writer_with_file", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L246", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "target": "cache_sync_state_writer_sync_state_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L262", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "target": "cache_sync_state_writer_ensure_cache_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L263", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "target": "cache_sync_state_writer_decode_locked", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L265", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "target": "cache_sync_state_writer_with_file", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L268", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "target": "cache_sync_state_writer_sync_state_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L279", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "target": "cache_sync_state_writer_ensure_cache_dir", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L280", "weight": 1.0}, {"source": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "target": "cache_sync_state_writer_decode_locked", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L282", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_sync_state_writer_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L1", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_53", "target": "cache_sync_state_writer_sync_state_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L53", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_58", "target": "cache_sync_state_writer_ensure_cache_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L58", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_70", "target": "cache_sync_state_writer_empty_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L70", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_75", "target": "cache_sync_state_writer_syncstatewriter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L75", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_83", "target": "cache_sync_state_writer_syncstatewriter_read", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L83", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_93", "target": "cache_sync_state_writer_syncstatewriter_read_sync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L93", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_117", "target": "cache_sync_state_writer_syncstatewriter_upsert_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L117", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_153", "target": "cache_sync_state_writer_syncstatewriter_set_keep_local", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L153", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_162", "target": "cache_sync_state_writer_syncstatewriter_mark_cleared", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L162", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_170", "target": "cache_sync_state_writer_syncstatewriter_mark_cleared_sync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L170", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_181", "target": "cache_sync_state_writer_syncstatewriter_rollup_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L181", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_209", "target": "cache_sync_state_writer_syncstatewriter_decode_locked", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L209", "weight": 1.0}, {"source": "cache_sync_state_writer_rationale_294", "target": "cache_sync_state_writer_syncstatewriter_with_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L294", "weight": 1.0}], "raw_calls": [{"caller_nid": "cache_sync_state_writer_sync_state_path", "callee": "cache_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L54"}, {"caller_nid": "cache_sync_state_writer_ensure_cache_dir", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L66"}, {"caller_nid": "cache_sync_state_writer_empty_state", "callee": "SyncStateJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L71"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_read", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L90"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_upsert_file", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L138"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_set_keep_local", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L154"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_mark_cleared", "callee": "to_thread", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L167"}, {"caller_nid": "cache_sync_state_writer_rollup_state", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L196"}, {"caller_nid": "cache_sync_state_writer_rollup_state", "callee": "values", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L196"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_read_blocking", "callee": "FileLock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L204"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_read_blocking", "callee": "lock_path_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L204"}, {"caller_nid": "cache_sync_state_writer_decode_locked", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L213"}, {"caller_nid": "cache_sync_state_writer_decode_locked", "callee": "read_msgspec_json", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L215"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "callee": "FileLock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L227"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "callee": "lock_path_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L227"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L229"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "callee": "FileSyncRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L229"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "callee": "replace", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L238"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L247"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L247"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L248"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "callee": "FileLock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L264"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "callee": "lock_path_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L264"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L266"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "callee": "FileSyncRecord", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L266"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "callee": "replace", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L267"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L269"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L269"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L270"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "callee": "FileLock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L281"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "callee": "lock_path_for", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L281"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "callee": "replace", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L283"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L283"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L284"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L284"}, {"caller_nid": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L285"}, {"caller_nid": "cache_sync_state_writer_with_file", "callee": "replace", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py", "source_location": "L300"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e7e3743bd7f85b481236c859a36c988073916c1f9e3176c626991cda7f90c055.json b/graphify-out/cache/ast/e7e3743bd7f85b481236c859a36c988073916c1f9e3176c626991cda7f90c055.json deleted file mode 100644 index 80f72c8..0000000 --- a/graphify-out/cache/ast/e7e3743bd7f85b481236c859a36c988073916c1f9e3176c626991cda7f90c055.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_design_py", "label": "design.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/design.py", "source_location": "L1"}, {"id": "ui_design_rationale_1", "label": "Design tokens. Mirrors DESIGN.md verbatim with the Frontend Spec \u00a72.1 typography", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/design.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_design_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/design.py", "source_location": "L16", "weight": 1.0}, {"source": "ui_design_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_design_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/design.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/e8cbb7d0fbbb42368d94e75e66ac7fc467ec686d9dc746aaa3d9ddb3c8df8a36.json b/graphify-out/cache/ast/e8cbb7d0fbbb42368d94e75e66ac7fc467ec686d9dc746aaa3d9ddb3c8df8a36.json deleted file mode 100644 index f6c09f1..0000000 --- a/graphify-out/cache/ast/e8cbb7d0fbbb42368d94e75e66ac7fc467ec686d9dc746aaa3d9ddb3c8df8a36.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "label": "test_design.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L1"}, {"id": "ui_test_design_test_primary_palette_matches_designmd", "label": "test_primary_palette_matches_designmd()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L14"}, {"id": "ui_test_design_test_okabe_ito_palette_matches_designmd", "label": "test_okabe_ito_palette_matches_designmd()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L29"}, {"id": "ui_test_design_test_semantic_aliases_are_okabe_ito", "label": "test_semantic_aliases_are_okabe_ito()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L42"}, {"id": "ui_test_design_test_warning_token_is_oi_orange", "label": "test_warning_token_is_oi_orange()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L51"}, {"id": "ui_test_design_test_typography_uses_frontend_override", "label": "test_typography_uses_frontend_override()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L57"}, {"id": "ui_test_design_test_type_scale_matches_designmd", "label": "test_type_scale_matches_designmd()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L67"}, {"id": "ui_test_design_test_spacing_scale_4px_grid", "label": "test_spacing_scale_4px_grid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L81"}, {"id": "ui_test_design_test_radius_tokens_match_designmd", "label": "test_radius_tokens_match_designmd()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L98"}, {"id": "ui_test_design_test_shadows_are_navy_tinted", "label": "test_shadows_are_navy_tinted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L107"}, {"id": "ui_test_design_test_motion_tokens_match_designmd", "label": "test_motion_tokens_match_designmd()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L114"}, {"id": "ui_test_design_test_okabe_ito_series_order_is_fixed", "label": "test_okabe_ito_series_order_is_fixed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L121"}, {"id": "ui_test_design_test_vermilion_is_last_in_series", "label": "test_vermilion_is_last_in_series()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L135"}, {"id": "ui_test_design_test_no_blue_collision_in_series_first_six", "label": "test_no_blue_collision_in_series_first_six()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L141"}, {"id": "ui_test_design_test_badge_text_variants_are_wcag_aa", "label": "test_badge_text_variants_are_wcag_aa()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L152"}, {"id": "ui_test_design_test_alert_text_variants_match_designmd", "label": "test_alert_text_variants_match_designmd()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L164"}, {"id": "ui_test_design_test_yellow_is_present_but_only_for_fills", "label": "test_yellow_is_present_but_only_for_fills()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L175"}, {"id": "ui_test_design_rationale_1", "label": "Token-equality tests for :mod:`exlab_wizard.ui.design`. The tests assert each c", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L1"}, {"id": "ui_test_design_rationale_15", "label": "Primary palette hexes are verbatim from DESIGN.md \u00a701.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L15"}, {"id": "ui_test_design_rationale_30", "label": "Okabe-Ito hexes are verbatim from DESIGN.md \u00a701.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L30"}, {"id": "ui_test_design_rationale_43", "label": "Semantic tokens alias the Okabe-Ito palette per DESIGN.md \u00a701.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L43"}, {"id": "ui_test_design_rationale_52", "label": "Frontend \u00a72.1.4: warning is canonically ``--oi-orange``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L52"}, {"id": "ui_test_design_rationale_58", "label": "Frontend \u00a72.1.3 overrides DM Sans / DM Mono with IBM Plex / system mono.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L58"}, {"id": "ui_test_design_rationale_68", "label": "Type scale tokens are verbatim from DESIGN.md \u00a702.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L68"}, {"id": "ui_test_design_rationale_82", "label": "Spacing tokens follow the 4px grid (DESIGN.md \u00a703).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L82"}, {"id": "ui_test_design_rationale_99", "label": "Border radius tokens (DESIGN.md \u00a704).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L99"}, {"id": "ui_test_design_rationale_108", "label": "All shadow definitions use ``rgba(0,54,96,...)`` (DESIGN.md \u00a704).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L108"}, {"id": "ui_test_design_rationale_115", "label": "Motion tokens (DESIGN.md \u00a707).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L115"}, {"id": "ui_test_design_rationale_122", "label": "Series order is fixed (DESIGN.md absolute constraint).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L122"}, {"id": "ui_test_design_rationale_136", "label": "Vermilion is reserved for the error / alert series (DESIGN.md \u00a706).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L136"}, {"id": "ui_test_design_rationale_142", "label": "Frontend rules (DESIGN.md): series 5 is OI_BLUE but only after 4 prior series.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L142"}, {"id": "ui_test_design_rationale_153", "label": "Badge text variants are the documented darkened hexes (DESIGN.md \u00a705).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L153"}, {"id": "ui_test_design_rationale_165", "label": "Alert text variants are the documented hexes (DESIGN.md \u00a705).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L165"}, {"id": "ui_test_design_rationale_176", "label": "``#F0E442`` is exposed as a token but never used for chrome. The chip strip", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L176"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_primary_palette_matches_designmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_okabe_ito_palette_matches_designmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_semantic_aliases_are_okabe_ito", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_warning_token_is_oi_orange", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_typography_uses_frontend_override", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_type_scale_matches_designmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_spacing_scale_4px_grid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_radius_tokens_match_designmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L98", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_shadows_are_navy_tinted", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L107", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_motion_tokens_match_designmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L114", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_okabe_ito_series_order_is_fixed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_vermilion_is_last_in_series", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_no_blue_collision_in_series_first_six", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L141", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_badge_text_variants_are_wcag_aa", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_alert_text_variants_match_designmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L164", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "target": "ui_test_design_test_yellow_is_present_but_only_for_fills", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L175", "weight": 1.0}, {"source": "ui_test_design_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_ui_test_design_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L1", "weight": 1.0}, {"source": "ui_test_design_rationale_15", "target": "ui_test_design_test_primary_palette_matches_designmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L15", "weight": 1.0}, {"source": "ui_test_design_rationale_30", "target": "ui_test_design_test_okabe_ito_palette_matches_designmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L30", "weight": 1.0}, {"source": "ui_test_design_rationale_43", "target": "ui_test_design_test_semantic_aliases_are_okabe_ito", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L43", "weight": 1.0}, {"source": "ui_test_design_rationale_52", "target": "ui_test_design_test_warning_token_is_oi_orange", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L52", "weight": 1.0}, {"source": "ui_test_design_rationale_58", "target": "ui_test_design_test_typography_uses_frontend_override", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L58", "weight": 1.0}, {"source": "ui_test_design_rationale_68", "target": "ui_test_design_test_type_scale_matches_designmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L68", "weight": 1.0}, {"source": "ui_test_design_rationale_82", "target": "ui_test_design_test_spacing_scale_4px_grid", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L82", "weight": 1.0}, {"source": "ui_test_design_rationale_99", "target": "ui_test_design_test_radius_tokens_match_designmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L99", "weight": 1.0}, {"source": "ui_test_design_rationale_108", "target": "ui_test_design_test_shadows_are_navy_tinted", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L108", "weight": 1.0}, {"source": "ui_test_design_rationale_115", "target": "ui_test_design_test_motion_tokens_match_designmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L115", "weight": 1.0}, {"source": "ui_test_design_rationale_122", "target": "ui_test_design_test_okabe_ito_series_order_is_fixed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L122", "weight": 1.0}, {"source": "ui_test_design_rationale_136", "target": "ui_test_design_test_vermilion_is_last_in_series", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L136", "weight": 1.0}, {"source": "ui_test_design_rationale_142", "target": "ui_test_design_test_no_blue_collision_in_series_first_six", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L142", "weight": 1.0}, {"source": "ui_test_design_rationale_153", "target": "ui_test_design_test_badge_text_variants_are_wcag_aa", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L153", "weight": 1.0}, {"source": "ui_test_design_rationale_165", "target": "ui_test_design_test_alert_text_variants_match_designmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L165", "weight": 1.0}, {"source": "ui_test_design_rationale_176", "target": "ui_test_design_test_yellow_is_present_but_only_for_fills", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py", "source_location": "L176", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/e92a6c70f9290ca37b6f6600f040c6b6ecf282aec60b85edb8ae24f234efd319.json b/graphify-out/cache/ast/e92a6c70f9290ca37b6f6600f040c6b6ecf282aec60b85edb8ae24f234efd319.json deleted file mode 100644 index 43496db..0000000 --- a/graphify-out/cache/ast/e92a6c70f9290ca37b6f6600f040c6b6ecf282aec60b85edb8ae24f234efd319.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_16_add_equipment_py", "label": "test_flow_16_add_equipment.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L1"}, {"id": "e2e_test_flow_16_add_equipment_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L20"}, {"id": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", "label": "test_flow_16_add_equipment_identity_step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L33"}, {"id": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", "label": "test_flow_16_add_equipment_paths_step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L44"}, {"id": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step", "label": "test_flow_16_add_equipment_sync_mode_step()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L52"}, {"id": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", "label": "test_flow_16_add_equipment_review_and_confirm()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L59"}, {"id": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "label": "test_flow_16_next_enables_on_valid_input_and_state_survives_back()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L69"}, {"id": "e2e_test_flow_16_add_equipment_rationale_1", "label": "E2E flow 16: Add-Equipment wizard (Redesign \u00a76). Drives the four-step wizard en", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L1"}, {"id": "e2e_test_flow_16_add_equipment_rationale_34", "label": "Identity step renders the ID + label inputs.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L34"}, {"id": "e2e_test_flow_16_add_equipment_rationale_45", "label": "Paths step renders local + NAS root inputs.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L45"}, {"id": "e2e_test_flow_16_add_equipment_rationale_53", "label": "Sync mode step renders the nas/stage radio.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L53"}, {"id": "e2e_test_flow_16_add_equipment_rationale_60", "label": "Review step renders Confirm; clicking it fires the success label.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L60"}, {"id": "e2e_test_flow_16_add_equipment_rationale_70", "label": "An empty wizard: Next stays disabled until the identity step is valid, then", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L70"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_16_add_equipment_py", "target": "playwright_sync_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_16_add_equipment_py", "target": "tests_e2e_page_objects_wizard_equipment_page", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_16_add_equipment_py", "target": "e2e_test_flow_16_add_equipment_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_16_add_equipment_py", "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_16_add_equipment_py", "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_16_add_equipment_py", "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_16_add_equipment_py", "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_16_add_equipment_py", "target": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L69", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", "target": "e2e_test_flow_16_add_equipment_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L36", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", "target": "e2e_test_flow_16_add_equipment_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L47", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step", "target": "e2e_test_flow_16_add_equipment_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L55", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", "target": "e2e_test_flow_16_add_equipment_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L62", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "target": "e2e_test_flow_16_add_equipment_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L80", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_16_add_equipment_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L1", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_rationale_34", "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L34", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_rationale_45", "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L45", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_rationale_53", "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L53", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_rationale_60", "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L60", "weight": 1.0}, {"source": "e2e_test_flow_16_add_equipment_rationale_70", "target": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L70", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_16_add_equipment_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L22"}, {"caller_nid": "e2e_test_flow_16_add_equipment_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L24"}, {"caller_nid": "e2e_test_flow_16_add_equipment_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_16_add_equipment_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L29"}, {"caller_nid": "e2e_test_flow_16_add_equipment_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L30"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", "callee": "WizardEquipmentPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L35"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L37"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L38"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L39"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L40"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L41"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", "callee": "WizardEquipmentPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L46"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L48"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L49"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step", "callee": "WizardEquipmentPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L54"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L56"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", "callee": "WizardEquipmentPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L61"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L63"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L64"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L65"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L66"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "WizardEquipmentPage", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L79"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L81"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "to_be_disabled", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L84"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "expect", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L84"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L85"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "fill", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L86"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "to_be_enabled", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L87"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "expect", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L87"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L90"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L91"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L94"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L95"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "to_have_value", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L96"}, {"caller_nid": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", "callee": "expect", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py", "source_location": "L96"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/e9f486d0444e29e9f2125421188b9039c1aed3710f3e68b1c38aab6465ecee7e.json b/graphify-out/cache/ast/e9f486d0444e29e9f2125421188b9039c1aed3710f3e68b1c38aab6465ecee7e.json deleted file mode 100644 index 9c38937..0000000 --- a/graphify-out/cache/ast/e9f486d0444e29e9f2125421188b9039c1aed3710f3e68b1c38aab6465ecee7e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__init__.py", "source_location": "L1"}, {"id": "exlab_wizard_init_rationale_1", "label": "ExLab-Wizard package root. Backend Spec \u00a74.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__init__.py", "source_location": "L1"}], "edges": [{"source": "exlab_wizard_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/ea0bb8bb0882017edeb034e7f852b03a27c531e0b11f91d50cdf8852cb068079.json b/graphify-out/cache/ast/ea0bb8bb0882017edeb034e7f852b03a27c531e0b11f91d50cdf8852cb068079.json deleted file mode 100644 index 0ddb424..0000000 --- a/graphify-out/cache/ast/ea0bb8bb0882017edeb034e7f852b03a27c531e0b11f91d50cdf8852cb068079.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_10_readme_generation_md", "label": "10_README_Generation.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L1"}, {"id": "design_spec_sections_10_readme_generation_10_readme_generation", "label": "10. README Generation", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L1"}, {"id": "design_spec_sections_10_readme_generation_10_1_when_it_runs", "label": "10.1 When It Runs", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L9"}, {"id": "design_spec_sections_10_readme_generation_codeblock_1", "label": "code:yaml (# In a template's copier.yml)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L15"}, {"id": "design_spec_sections_10_readme_generation_10_2_field_sources_merged_layers", "label": "10.2 Field Sources (Merged Layers)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L26"}, {"id": "design_spec_sections_10_readme_generation_10_3_field_types", "label": "10.3 Field Types", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L39"}, {"id": "design_spec_sections_10_readme_generation_codeblock_2", "label": "code:yaml (_exlab_readme:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L53"}, {"id": "design_spec_sections_10_readme_generation_10_4_user_added_custom_fields", "label": "10.4 User-Added Custom Fields", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L72"}, {"id": "design_spec_sections_10_readme_generation_10_5_pre_fill_behavior", "label": "10.5 Pre-fill Behavior", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L80"}, {"id": "design_spec_sections_10_readme_generation_10_6_auto_filled_system_fields", "label": "10.6 Auto-Filled System Fields", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L86"}, {"id": "design_spec_sections_10_readme_generation_10_7_output_format", "label": "10.7 Output Format", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L101"}, {"id": "design_spec_sections_10_readme_generation_codeblock_3", "label": "code:markdown (---)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L115"}, {"id": "design_spec_sections_10_readme_generation_10_7_1_machine_query_examples", "label": "10.7.1 Machine Query Examples", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L169"}, {"id": "design_spec_sections_10_readme_generation_codeblock_4", "label": "code:python (# Illustrative -- not implementation code)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L173"}, {"id": "design_spec_sections_10_readme_generation_10_7_2_prose_body", "label": "10.7.2 Prose Body", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L209"}, {"id": "design_spec_sections_10_readme_generation_10_8_readme_plugin_hook_removed_in_v0_7", "label": "10.8 README Plugin Hook (Removed in v0.7)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L215"}], "edges": [{"source": "users_alex_projects_exlabwizard_design_specs_design_spec_sections_10_readme_generation_md", "target": "design_spec_sections_10_readme_generation_10_readme_generation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L1", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_readme_generation", "target": "design_spec_sections_10_readme_generation_10_1_when_it_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L9", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_1_when_it_runs", "target": "design_spec_sections_10_readme_generation_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L15", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_readme_generation", "target": "design_spec_sections_10_readme_generation_10_2_field_sources_merged_layers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L26", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_readme_generation", "target": "design_spec_sections_10_readme_generation_10_3_field_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L39", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_3_field_types", "target": "design_spec_sections_10_readme_generation_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L53", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_readme_generation", "target": "design_spec_sections_10_readme_generation_10_4_user_added_custom_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L72", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_readme_generation", "target": "design_spec_sections_10_readme_generation_10_5_pre_fill_behavior", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L80", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_readme_generation", "target": "design_spec_sections_10_readme_generation_10_6_auto_filled_system_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L86", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_readme_generation", "target": "design_spec_sections_10_readme_generation_10_7_output_format", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L101", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_7_output_format", "target": "design_spec_sections_10_readme_generation_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L115", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_7_output_format", "target": "design_spec_sections_10_readme_generation_10_7_1_machine_query_examples", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L169", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_7_1_machine_query_examples", "target": "design_spec_sections_10_readme_generation_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L173", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_7_output_format", "target": "design_spec_sections_10_readme_generation_10_7_2_prose_body", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L209", "weight": 1.0}, {"source": "design_spec_sections_10_readme_generation_10_readme_generation", "target": "design_spec_sections_10_readme_generation_10_8_readme_plugin_hook_removed_in_v0_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md", "source_location": "L215", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/ea22edfae20ea256789effec62395a2be76afb9dc2f8d92c05fc6fd43ab51618.json b/graphify-out/cache/ast/ea22edfae20ea256789effec62395a2be76afb9dc2f8d92c05fc6fd43ab51618.json deleted file mode 100644 index 9daa3c5..0000000 --- a/graphify-out/cache/ast/ea22edfae20ea256789effec62395a2be76afb9dc2f8d92c05fc6fd43ab51618.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py", "label": "plugin.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L1"}, {"id": "policy_violation_plugin_plugin_policyviolationplugin", "label": "PolicyViolationPlugin", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L18"}, {"id": "plugin", "label": "Plugin", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "policy_violation_plugin_plugin_policyviolationplugin_can_handle", "label": ".can_handle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L26"}, {"id": "policy_violation_plugin_plugin_policyviolationplugin_transform", "label": ".transform()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L29"}, {"id": "policy_violation_plugin_plugin_rationale_1", "label": "policy_violation_plugin -- exercises Backend Spec \u00a76.1.5 enforcement. The plugi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L1"}, {"id": "policy_violation_plugin_plugin_rationale_19", "label": "Write into ``README.md`` (a wizard-controlled file).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L19"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py", "target": "exlab_wizard_plugins", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py", "target": "policy_violation_plugin_plugin_policyviolationplugin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L18", "weight": 1.0}, {"source": "policy_violation_plugin_plugin_policyviolationplugin", "target": "plugin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L18", "weight": 1.0}, {"source": "policy_violation_plugin_plugin_policyviolationplugin", "target": "policy_violation_plugin_plugin_policyviolationplugin_can_handle", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L26", "weight": 1.0}, {"source": "policy_violation_plugin_plugin_policyviolationplugin", "target": "policy_violation_plugin_plugin_policyviolationplugin_transform", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L29", "weight": 1.0}, {"source": "policy_violation_plugin_plugin_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L1", "weight": 1.0}, {"source": "policy_violation_plugin_plugin_rationale_19", "target": "policy_violation_plugin_plugin_policyviolationplugin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L19", "weight": 1.0}], "raw_calls": [{"caller_nid": "policy_violation_plugin_plugin_policyviolationplugin_transform", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", "source_location": "L33"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/eb0cefeb60ab66dd44da25b9bd7434427e3940af12d9410878b4ac9b068805ce.json b/graphify-out/cache/ast/eb0cefeb60ab66dd44da25b9bd7434427e3940af12d9410878b4ac9b068805ce.json deleted file mode 100644 index 928fecd..0000000 --- a/graphify-out/cache/ast/eb0cefeb60ab66dd44da25b9bd7434427e3940af12d9410878b4ac9b068805ce.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_user_guide_02_browse_md", "label": "02_browse.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L1"}, {"id": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs", "label": "3.4 Browse Existing Equipment, Projects, and Runs", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L1"}, {"id": "user_guide_02_browse_capability_summary", "label": "Capability summary", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L3"}, {"id": "user_guide_02_browse_walkthrough", "label": "Walkthrough", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L20"}, {"id": "user_guide_02_browse_screenshots", "label": "Screenshots", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L51"}, {"id": "user_guide_02_browse_codeblock_1", "label": "code:{image} (:alt: File-explorer main window, no node selected)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L53"}, {"id": "user_guide_02_browse_codeblock_2", "label": "code:{image} (:alt: File explorer with a project selected -- tree, file li)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L58"}, {"id": "user_guide_02_browse_related_material", "label": "Related material", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L63"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_user_guide_02_browse_md", "target": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L1", "weight": 1.0}, {"source": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs", "target": "user_guide_02_browse_capability_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L3", "weight": 1.0}, {"source": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs", "target": "user_guide_02_browse_walkthrough", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L20", "weight": 1.0}, {"source": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs", "target": "user_guide_02_browse_screenshots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L51", "weight": 1.0}, {"source": "user_guide_02_browse_screenshots", "target": "user_guide_02_browse_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L53", "weight": 1.0}, {"source": "user_guide_02_browse_screenshots", "target": "user_guide_02_browse_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L58", "weight": 1.0}, {"source": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs", "target": "user_guide_02_browse_related_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md", "source_location": "L63", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/eb28c0c3262a85ded032ff2c951d2aeec0ff331deddb539a91a758ca9f770b1f.json b/graphify-out/cache/ast/eb28c0c3262a85ded032ff2c951d2aeec0ff331deddb539a91a758ca9f770b1f.json deleted file mode 100644 index 07b0479..0000000 --- a/graphify-out/cache/ast/eb28c0c3262a85ded032ff2c951d2aeec0ff331deddb539a91a758ca9f770b1f.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "label": "test_icon.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L1"}, {"id": "tray_test_icon_fakemenu", "label": "_FakeMenu", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L18"}, {"id": "tray_test_icon_fakemenu_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L21"}, {"id": "tray_test_icon_fakemenuitem", "label": "_FakeMenuItem", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L25"}, {"id": "tray_test_icon_fakemenuitem_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L26"}, {"id": "tray_test_icon_fakeicon", "label": "_FakeIcon", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L40"}, {"id": "tray_test_icon_fakeicon_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L41"}, {"id": "tray_test_icon_fakepystray", "label": "_FakePystray", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L48"}, {"id": "tray_test_icon_test_build_icon_returns_icon_object", "label": "test_build_icon_returns_icon_object()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L54"}, {"id": "tray_test_icon_test_open_menu_item_invokes_callback", "label": "test_open_menu_item_invokes_callback()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L71"}, {"id": "tray_test_icon_test_quit_menu_item_invokes_callback", "label": "test_quit_menu_item_invokes_callback()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L85"}, {"id": "tray_test_icon_test_status_label_callable", "label": "test_status_label_callable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L99"}, {"id": "tray_test_icon_test_callback_exception_is_swallowed", "label": "test_callback_exception_is_swallowed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L112"}, {"id": "tray_test_icon_test_default_icon_image_returns_pillow_image", "label": "test_default_icon_image_returns_pillow_image()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L127"}, {"id": "tray_test_icon_test_lazy_pystray_import", "label": "test_lazy_pystray_import()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L133"}, {"id": "tray_test_icon_test_separator_present", "label": "test_separator_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L148"}, {"id": "tray_test_icon_test_import_pystray_returns_module", "label": "test_import_pystray_returns_module()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L158"}, {"id": "tray_test_icon_rationale_1", "label": "Tests for :mod:`exlab_wizard.tray.icon`. Backend Spec \u00a74.3.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L1"}, {"id": "tray_test_icon_rationale_134", "label": "When ``pystray_module`` is omitted the lazy import path is taken.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L134"}, {"id": "tray_test_icon_rationale_159", "label": "The lazy-import helper imports pystray when called.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L159"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "exlab_wizard_tray_icon", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_fakemenu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L18", "weight": 1.0}, {"source": "tray_test_icon_fakemenu", "target": "tray_test_icon_fakemenu_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_fakemenuitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L25", "weight": 1.0}, {"source": "tray_test_icon_fakemenuitem", "target": "tray_test_icon_fakemenuitem_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_fakeicon", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L40", "weight": 1.0}, {"source": "tray_test_icon_fakeicon", "target": "tray_test_icon_fakeicon_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_fakepystray", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_test_build_icon_returns_icon_object", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L54", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_test_open_menu_item_invokes_callback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L71", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_test_quit_menu_item_invokes_callback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_test_status_label_callable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L99", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_test_callback_exception_is_swallowed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L112", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_test_default_icon_image_returns_pillow_image", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L127", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_test_lazy_pystray_import", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L133", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_test_separator_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L148", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "target": "tray_test_icon_test_import_pystray_returns_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L158", "weight": 1.0}, {"source": "tray_test_icon_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_tray_test_icon_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L1", "weight": 1.0}, {"source": "tray_test_icon_rationale_134", "target": "tray_test_icon_test_lazy_pystray_import", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L134", "weight": 1.0}, {"source": "tray_test_icon_rationale_159", "target": "tray_test_icon_test_import_pystray_returns_module", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L159", "weight": 1.0}], "raw_calls": [{"caller_nid": "tray_test_icon_test_build_icon_returns_icon_object", "callee": "build_icon", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L57"}, {"caller_nid": "tray_test_icon_test_build_icon_returns_icon_object", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L58"}, {"caller_nid": "tray_test_icon_test_build_icon_returns_icon_object", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L59"}, {"caller_nid": "tray_test_icon_test_build_icon_returns_icon_object", "callee": "object", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L62"}, {"caller_nid": "tray_test_icon_test_build_icon_returns_icon_object", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L64"}, {"caller_nid": "tray_test_icon_test_build_icon_returns_icon_object", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L67"}, {"caller_nid": "tray_test_icon_test_build_icon_returns_icon_object", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L68"}, {"caller_nid": "tray_test_icon_test_open_menu_item_invokes_callback", "callee": "build_icon", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L73"}, {"caller_nid": "tray_test_icon_test_open_menu_item_invokes_callback", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L74"}, {"caller_nid": "tray_test_icon_test_open_menu_item_invokes_callback", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L75"}, {"caller_nid": "tray_test_icon_test_open_menu_item_invokes_callback", "callee": "action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L81"}, {"caller_nid": "tray_test_icon_test_quit_menu_item_invokes_callback", "callee": "build_icon", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L87"}, {"caller_nid": "tray_test_icon_test_quit_menu_item_invokes_callback", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L88"}, {"caller_nid": "tray_test_icon_test_quit_menu_item_invokes_callback", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L89"}, {"caller_nid": "tray_test_icon_test_quit_menu_item_invokes_callback", "callee": "action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L95"}, {"caller_nid": "tray_test_icon_test_status_label_callable", "callee": "build_icon", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L100"}, {"caller_nid": "tray_test_icon_test_status_label_callable", "callee": "callable", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L107"}, {"caller_nid": "tray_test_icon_test_status_label_callable", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L109"}, {"caller_nid": "tray_test_icon_test_callback_exception_is_swallowed", "callee": "build_icon", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L116"}, {"caller_nid": "tray_test_icon_test_callback_exception_is_swallowed", "callee": "action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L123"}, {"caller_nid": "tray_test_icon_test_callback_exception_is_swallowed", "callee": "action", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L124"}, {"caller_nid": "tray_test_icon_test_default_icon_image_returns_pillow_image", "callee": "default_icon_image", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L128"}, {"caller_nid": "tray_test_icon_test_lazy_pystray_import", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L135"}, {"caller_nid": "tray_test_icon_test_lazy_pystray_import", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L139"}, {"caller_nid": "tray_test_icon_test_lazy_pystray_import", "callee": "build_icon", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L140"}, {"caller_nid": "tray_test_icon_test_lazy_pystray_import", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L145"}, {"caller_nid": "tray_test_icon_test_separator_present", "callee": "build_icon", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L149"}, {"caller_nid": "tray_test_icon_test_import_pystray_returns_module", "callee": "type", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L162"}, {"caller_nid": "tray_test_icon_test_import_pystray_returns_module", "callee": "setitem", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L163"}, {"caller_nid": "tray_test_icon_test_import_pystray_returns_module", "callee": "_import_pystray", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py", "source_location": "L166"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/ebf88e0967b7bab475b30992454e344b63cdc7c93c62cc3bcb1e0bf52dd78619.json b/graphify-out/cache/ast/ebf88e0967b7bab475b30992454e344b63cdc7c93c62cc3bcb1e0bf52dd78619.json deleted file mode 100644 index 143e02d..0000000 --- a/graphify-out/cache/ast/ebf88e0967b7bab475b30992454e344b63cdc7c93c62cc3bcb1e0bf52dd78619.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_docker_readme_md", "label": "README.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L1"}, {"id": "docker_readme_nas_emulator_docker_compose_stack", "label": "NAS Emulator \u2014 Docker Compose Stack", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L1"}, {"id": "docker_readme_purpose_scope", "label": "Purpose & Scope", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L9"}, {"id": "docker_readme_requirements", "label": "Requirements", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L26"}, {"id": "docker_readme_layout", "label": "Layout", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L36"}, {"id": "docker_readme_codeblock_1", "label": "code:block1 (tests/docker/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L38"}, {"id": "docker_readme_first_time_setup", "label": "First-Time Setup", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L53"}, {"id": "docker_readme_codeblock_2", "label": "code:bash (# 1. credentials / ports \u2014 edit NAS_PASSWORD to taste)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L57"}, {"id": "docker_readme_wiring_into_exlab_config", "label": "Wiring Into ExLab Config", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L81"}, {"id": "docker_readme_rclone_sftp_transport", "label": "`rclone_sftp` transport", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L87"}, {"id": "docker_readme_codeblock_3", "label": "code:yaml (equipment:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L89"}, {"id": "docker_readme_rclone_smb_transport", "label": "`rclone_smb` transport", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L103"}, {"id": "docker_readme_codeblock_4", "label": "code:yaml (equipment:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L105"}, {"id": "docker_readme_test_prefix_mode", "label": "TEST_-prefix mode", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L123"}, {"id": "docker_readme_shorter_quiescence_window", "label": "Shorter quiescence window", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L131"}, {"id": "docker_readme_codeblock_5", "label": "code:yaml (sync:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L136"}, {"id": "docker_readme_lifecycle", "label": "Lifecycle", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L142"}, {"id": "docker_readme_codeblock_6", "label": "code:bash (# from tests/docker/)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L144"}, {"id": "docker_readme_pytest_fixture_optional", "label": "Pytest Fixture (optional)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L155"}, {"id": "docker_readme_codeblock_7", "label": "code:python (import shutil, subprocess)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L165"}, {"id": "docker_readme_platform_notes", "label": "Platform Notes", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L192"}, {"id": "docker_readme_offline_air_gapped_use", "label": "Offline / Air-Gapped Use", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L204"}, {"id": "docker_readme_codeblock_8", "label": "code:bash (# online machine)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L206"}, {"id": "docker_readme_troubleshooting", "label": "Troubleshooting", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L216"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_docker_readme_md", "target": "docker_readme_nas_emulator_docker_compose_stack", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L1", "weight": 1.0}, {"source": "docker_readme_nas_emulator_docker_compose_stack", "target": "docker_readme_purpose_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L9", "weight": 1.0}, {"source": "docker_readme_nas_emulator_docker_compose_stack", "target": "docker_readme_requirements", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L26", "weight": 1.0}, {"source": "docker_readme_nas_emulator_docker_compose_stack", "target": "docker_readme_layout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L36", "weight": 1.0}, {"source": "docker_readme_layout", "target": "docker_readme_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L38", "weight": 1.0}, {"source": "docker_readme_nas_emulator_docker_compose_stack", "target": "docker_readme_first_time_setup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L53", "weight": 1.0}, {"source": "docker_readme_first_time_setup", "target": "docker_readme_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L57", "weight": 1.0}, {"source": "docker_readme_nas_emulator_docker_compose_stack", "target": "docker_readme_wiring_into_exlab_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L81", "weight": 1.0}, {"source": "docker_readme_wiring_into_exlab_config", "target": "docker_readme_rclone_sftp_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L87", "weight": 1.0}, {"source": "docker_readme_rclone_sftp_transport", "target": "docker_readme_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L89", "weight": 1.0}, {"source": "docker_readme_wiring_into_exlab_config", "target": "docker_readme_rclone_smb_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L103", "weight": 1.0}, {"source": "docker_readme_rclone_smb_transport", "target": "docker_readme_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L105", "weight": 1.0}, {"source": "docker_readme_wiring_into_exlab_config", "target": "docker_readme_test_prefix_mode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L123", "weight": 1.0}, {"source": "docker_readme_wiring_into_exlab_config", "target": "docker_readme_shorter_quiescence_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L131", "weight": 1.0}, {"source": "docker_readme_shorter_quiescence_window", "target": "docker_readme_codeblock_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L136", "weight": 1.0}, {"source": "docker_readme_nas_emulator_docker_compose_stack", "target": "docker_readme_lifecycle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L142", "weight": 1.0}, {"source": "docker_readme_lifecycle", "target": "docker_readme_codeblock_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L144", "weight": 1.0}, {"source": "docker_readme_nas_emulator_docker_compose_stack", "target": "docker_readme_pytest_fixture_optional", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L155", "weight": 1.0}, {"source": "docker_readme_pytest_fixture_optional", "target": "docker_readme_codeblock_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L165", "weight": 1.0}, {"source": "docker_readme_nas_emulator_docker_compose_stack", "target": "docker_readme_platform_notes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L192", "weight": 1.0}, {"source": "docker_readme_nas_emulator_docker_compose_stack", "target": "docker_readme_offline_air_gapped_use", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L204", "weight": 1.0}, {"source": "docker_readme_offline_air_gapped_use", "target": "docker_readme_codeblock_8", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L206", "weight": 1.0}, {"source": "docker_readme_nas_emulator_docker_compose_stack", "target": "docker_readme_troubleshooting", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/docker/README.md", "source_location": "L216", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/ed5ef732a93c97789b75ddb9e08850dd158b1ba102eb8376fcacc45a6787119a.json b/graphify-out/cache/ast/ed5ef732a93c97789b75ddb9e08850dd158b1ba102eb8376fcacc45a6787119a.json deleted file mode 100644 index 8141f59..0000000 --- a/graphify-out/cache/ast/ed5ef732a93c97789b75ddb9e08850dd158b1ba102eb8376fcacc45a6787119a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "label": "problems.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L1"}, {"id": "routers_problems_findingresponse", "label": "FindingResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L67"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "routers_problems_problemsresponse", "label": "ProblemsResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L83"}, {"id": "routers_problems_overriderequest", "label": "OverrideRequest", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L92"}, {"id": "routers_problems_overrideresponse", "label": "OverrideResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L103"}, {"id": "routers_problems_revokerequest", "label": "RevokeRequest", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L117"}, {"id": "routers_problems_tombstoneresponse", "label": "TombstoneResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L127"}, {"id": "routers_problems_refreshresponse", "label": "RefreshResponse", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L138"}, {"id": "routers_problems_build_problems_router", "label": "build_problems_router()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L152"}, {"id": "routers_problems_build_scope", "label": "_build_scope()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L292"}, {"id": "routers_problems_matches_filters", "label": "_matches_filters()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L321"}, {"id": "routers_problems_last_audit_at", "label": "_last_audit_at()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L327"}, {"id": "routers_problems_require_validator", "label": "_require_validator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L334"}, {"id": "routers_problems_require_cache_writer", "label": "_require_cache_writer()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L348"}, {"id": "routers_problems_require_creation_json", "label": "_require_creation_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L362"}, {"id": "routers_problems_stream_audit_channel", "label": "_stream_audit_channel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L381"}, {"id": "routers_problems_rationale_1", "label": "``/problems`` router. Backend Spec \u00a74.6.1, \u00a711.8. Endpoints: * ``GET /problems", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L1"}, {"id": "routers_problems_rationale_68", "label": "One finding row in the \u00a711.8 schema.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L68"}, {"id": "routers_problems_rationale_84", "label": "``GET /problems`` response.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L84"}, {"id": "routers_problems_rationale_93", "label": "``POST /problems/{run_path}/override`` body. Backend Spec \u00a711.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L93"}, {"id": "routers_problems_rationale_104", "label": "Override append response.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L104"}, {"id": "routers_problems_rationale_118", "label": "``POST /problems/{run_path}/override/revoke`` body. Backend Spec \u00a711.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L118"}, {"id": "routers_problems_rationale_139", "label": "``POST /problems/refresh`` response.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L139"}, {"id": "routers_problems_rationale_153", "label": "Construct the ``/problems`` router.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L153"}, {"id": "routers_problems_rationale_363", "label": "Resolve a ``run_path`` to its ``creation.json`` or raise 404. Used by the o", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L363"}, {"id": "routers_problems_rationale_382", "label": "Forward each delta frame the audit channel publishes. The channel exposes a", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L382"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "exlab_wizard_api_dependencies", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "exlab_wizard_api_events", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "exlab_wizard_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "exlab_wizard_api_setup", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_findingresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L67", "weight": 1.0}, {"source": "routers_problems_findingresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_problemsresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L83", "weight": 1.0}, {"source": "routers_problems_problemsresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_overriderequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L92", "weight": 1.0}, {"source": "routers_problems_overriderequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_overrideresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L103", "weight": 1.0}, {"source": "routers_problems_overrideresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_revokerequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L117", "weight": 1.0}, {"source": "routers_problems_revokerequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L117", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_tombstoneresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L127", "weight": 1.0}, {"source": "routers_problems_tombstoneresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L127", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_refreshresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L138", "weight": 1.0}, {"source": "routers_problems_refreshresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L138", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_build_problems_router", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_build_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L292", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_matches_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L321", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_last_audit_at", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L327", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_require_validator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L334", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_require_cache_writer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L348", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_require_creation_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L362", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "target": "routers_problems_stream_audit_channel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L381", "weight": 1.0}, {"source": "routers_problems_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_api_routers_problems_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L1", "weight": 1.0}, {"source": "routers_problems_rationale_68", "target": "routers_problems_findingresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L68", "weight": 1.0}, {"source": "routers_problems_rationale_84", "target": "routers_problems_problemsresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L84", "weight": 1.0}, {"source": "routers_problems_rationale_93", "target": "routers_problems_overriderequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L93", "weight": 1.0}, {"source": "routers_problems_rationale_104", "target": "routers_problems_overrideresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L104", "weight": 1.0}, {"source": "routers_problems_rationale_118", "target": "routers_problems_revokerequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L118", "weight": 1.0}, {"source": "routers_problems_rationale_139", "target": "routers_problems_refreshresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L139", "weight": 1.0}, {"source": "routers_problems_rationale_153", "target": "routers_problems_build_problems_router", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L153", "weight": 1.0}, {"source": "routers_problems_rationale_363", "target": "routers_problems_require_creation_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L363", "weight": 1.0}, {"source": "routers_problems_rationale_382", "target": "routers_problems_stream_audit_channel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L382", "weight": 1.0}], "raw_calls": [{"caller_nid": "routers_problems_build_problems_router", "callee": "APIRouter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L154"}, {"caller_nid": "routers_problems_build_problems_router", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L156"}, {"caller_nid": "routers_problems_build_problems_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L159"}, {"caller_nid": "routers_problems_build_problems_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L179"}, {"caller_nid": "routers_problems_build_problems_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L182"}, {"caller_nid": "routers_problems_build_problems_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L197"}, {"caller_nid": "routers_problems_build_problems_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L201"}, {"caller_nid": "routers_problems_build_problems_router", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L225"}, {"caller_nid": "routers_problems_build_problems_router", "callee": "Depends", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L229"}, {"caller_nid": "routers_problems_build_problems_router", "callee": "websocket", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L252"}, {"caller_nid": "routers_problems_build_scope", "callee": "AuditScopeKind", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L294"}, {"caller_nid": "routers_problems_build_scope", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L294"}, {"caller_nid": "routers_problems_build_scope", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L296"}, {"caller_nid": "routers_problems_build_scope", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L311"}, {"caller_nid": "routers_problems_last_audit_at", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L328"}, {"caller_nid": "routers_problems_last_audit_at", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L330"}, {"caller_nid": "routers_problems_last_audit_at", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L331"}, {"caller_nid": "routers_problems_last_audit_at", "callee": "utc_now_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L331"}, {"caller_nid": "routers_problems_require_validator", "callee": "require_deps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L335"}, {"caller_nid": "routers_problems_require_validator", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L336"}, {"caller_nid": "routers_problems_require_validator", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L338"}, {"caller_nid": "routers_problems_require_cache_writer", "callee": "require_deps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L349"}, {"caller_nid": "routers_problems_require_cache_writer", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L350"}, {"caller_nid": "routers_problems_require_cache_writer", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L352"}, {"caller_nid": "routers_problems_require_creation_json", "callee": "creation_json_path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L369"}, {"caller_nid": "routers_problems_require_creation_json", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L369"}, {"caller_nid": "routers_problems_require_creation_json", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L370"}, {"caller_nid": "routers_problems_require_creation_json", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L371"}, {"caller_nid": "routers_problems_stream_audit_channel", "callee": "subscribe", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L387"}, {"caller_nid": "routers_problems_stream_audit_channel", "callee": "event_from_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L389"}, {"caller_nid": "routers_problems_stream_audit_channel", "callee": "send_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L392"}, {"caller_nid": "routers_problems_stream_audit_channel", "callee": "encode_event", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py", "source_location": "L392"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/efef30e5cc5a08156a985b728bbbd1bfdeb01cfac52f2a078923a9a79adcd10f.json b/graphify-out/cache/ast/efef30e5cc5a08156a985b728bbbd1bfdeb01cfac52f2a078923a9a79adcd10f.json deleted file mode 100644 index b88255e..0000000 --- a/graphify-out/cache/ast/efef30e5cc5a08156a985b728bbbd1bfdeb01cfac52f2a078923a9a79adcd10f.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_superpowers_specs_2026_05_26_rclone_only_nas_sync_design_md", "label": "2026-05-26-rclone-only-nas-sync-design.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L1"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "label": "Rclone-only NAS sync with password auth (SFTP + SMB)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L1"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_context", "label": "Context", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L9"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_goals", "label": "Goals", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L43"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_non_goals", "label": "Non-goals", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L63"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_architecture", "label": "Architecture", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L77"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_1", "label": "code:block1 (+-------------------------------+)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L79"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_components", "label": "Components", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L117"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_1_config_models", "label": "1. Config models", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L119"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_2", "label": "code:python (class RcloneSftpTransport(BaseModel):)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L128"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_2_keyring_dependencies_setup_gate", "label": "2. Keyring + dependencies + setup gate", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L159"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_3_rclone_driver", "label": "3. Rclone driver", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L197"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_3", "label": "code:python (class RcloneDriver:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L203"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_4", "label": "code:python (def build_rclone_env()", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L246"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_4_nas_sync_client", "label": "4. NAS sync client", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L261"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_5_verifier_collapse", "label": "5. Verifier collapse", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L299"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_5", "label": "code:python (class Verifier:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L312"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_6_wizard_settings_ui", "label": "6. Wizard + Settings UI", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L344"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_7_sync_state_schema", "label": "7. Sync state schema", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L390"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_6", "label": "code:python (class FileSyncRecord(Struct):)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L395"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_8_error_classification", "label": "8. Error classification", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L407"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_data_flow_one_sync_cycle", "label": "Data flow (one sync cycle)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L417"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_error_handling", "label": "Error handling", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L444"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_testing", "label": "Testing", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L460"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_open_follow_up_slot_b_drift_audit", "label": "Open follow-up: Slot B (drift audit)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L489"}, {"id": "specs_2026_05_26_rclone_only_nas_sync_design_risks_notes", "label": "Risks / notes", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L500"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_superpowers_specs_2026_05_26_rclone_only_nas_sync_design_md", "target": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L1", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "target": "specs_2026_05_26_rclone_only_nas_sync_design_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L9", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "target": "specs_2026_05_26_rclone_only_nas_sync_design_goals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L43", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "target": "specs_2026_05_26_rclone_only_nas_sync_design_non_goals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L63", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "target": "specs_2026_05_26_rclone_only_nas_sync_design_architecture", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L77", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_architecture", "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L79", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "target": "specs_2026_05_26_rclone_only_nas_sync_design_components", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L117", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_components", "target": "specs_2026_05_26_rclone_only_nas_sync_design_1_config_models", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L119", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_1_config_models", "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L128", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_components", "target": "specs_2026_05_26_rclone_only_nas_sync_design_2_keyring_dependencies_setup_gate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L159", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_components", "target": "specs_2026_05_26_rclone_only_nas_sync_design_3_rclone_driver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L197", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_3_rclone_driver", "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L203", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_3_rclone_driver", "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L246", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_components", "target": "specs_2026_05_26_rclone_only_nas_sync_design_4_nas_sync_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L261", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_components", "target": "specs_2026_05_26_rclone_only_nas_sync_design_5_verifier_collapse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L299", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_5_verifier_collapse", "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L312", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_components", "target": "specs_2026_05_26_rclone_only_nas_sync_design_6_wizard_settings_ui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L344", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_components", "target": "specs_2026_05_26_rclone_only_nas_sync_design_7_sync_state_schema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L390", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_7_sync_state_schema", "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L395", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_components", "target": "specs_2026_05_26_rclone_only_nas_sync_design_8_error_classification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L407", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "target": "specs_2026_05_26_rclone_only_nas_sync_design_data_flow_one_sync_cycle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L417", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "target": "specs_2026_05_26_rclone_only_nas_sync_design_error_handling", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L444", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "target": "specs_2026_05_26_rclone_only_nas_sync_design_testing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L460", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "target": "specs_2026_05_26_rclone_only_nas_sync_design_open_follow_up_slot_b_drift_audit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L489", "weight": 1.0}, {"source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", "target": "specs_2026_05_26_rclone_only_nas_sync_design_risks_notes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", "source_location": "L500", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/f04396167f9ab9fcaba189525ecd1f52dcfdc2bfe7caed2fffcce9c3d175b7e3.json b/graphify-out/cache/ast/f04396167f9ab9fcaba189525ecd1f52dcfdc2bfe7caed2fffcce9c3d175b7e3.json deleted file mode 100644 index 8499b0e..0000000 --- a/graphify-out/cache/ast/f04396167f9ab9fcaba189525ecd1f52dcfdc2bfe7caed2fffcce9c3d175b7e3.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "label": "test_client.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L1"}, {"id": "lims_test_client_make_client", "label": "_make_client()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L22"}, {"id": "lims_test_client_test_login_happy_path", "label": "test_login_happy_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L35"}, {"id": "lims_test_client_test_login_uses_explicit_password_over_provider", "label": "test_login_uses_explicit_password_over_provider()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L48"}, {"id": "lims_test_client_test_login_wrong_password_raises", "label": "test_login_wrong_password_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L59"}, {"id": "lims_test_client_test_login_with_no_password_raises_config_error", "label": "test_login_with_no_password_raises_config_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L69"}, {"id": "lims_test_client_test_list_projects_returns_typed_rows", "label": "test_list_projects_returns_typed_rows()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L79"}, {"id": "lims_test_client_test_list_projects_status_filter", "label": "test_list_projects_status_filter()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L93"}, {"id": "lims_test_client_test_get_project_by_uid", "label": "test_get_project_by_uid()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L122"}, {"id": "lims_test_client_test_get_project_by_short_id", "label": "test_get_project_by_short_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L134"}, {"id": "lims_test_client_test_get_project_404_returns_none", "label": "test_get_project_404_returns_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L146"}, {"id": "lims_test_client_test_get_me", "label": "test_get_me()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L157"}, {"id": "lims_test_client_test_health_check_ok", "label": "test_health_check_ok()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L169"}, {"id": "lims_test_client_test_health_check_failure_returns_status", "label": "test_health_check_failure_returns_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L182"}, {"id": "lims_test_client_test_relogin_after_401", "label": "test_relogin_after_401()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L197"}, {"id": "lims_test_client_test_health_check_returns_non200_status", "label": "test_health_check_returns_non200_status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L213"}, {"id": "lims_test_client_test_endpoint_strips_trailing_slash", "label": "test_endpoint_strips_trailing_slash()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L243"}, {"id": "lims_test_client_rationale_1", "label": "Tests for :class:`exlab_wizard.lims.client.LIMSClient`. Each test wires the cli", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L1"}, {"id": "lims_test_client_rationale_183", "label": "``health_check`` MUST NOT raise. Per Backend Spec \u00a77.2.3.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L183"}, {"id": "lims_test_client_rationale_198", "label": "When the LIMS invalidates the cookie mid-flight, the client transparently re", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L198"}, {"id": "lims_test_client_rationale_214", "label": "When the LIMS returns a non-2xx status, ``health_check`` returns ``ok=False`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L214"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "exlab_wizard_lims_client", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "exlab_wizard_lims_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "tests_fixtures_mock_lims", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_make_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_login_happy_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_login_uses_explicit_password_over_provider", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_login_wrong_password_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_login_with_no_password_raises_config_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_list_projects_returns_typed_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L79", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_list_projects_status_filter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_get_project_by_uid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L122", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_get_project_by_short_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L134", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_get_project_404_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L146", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_get_me", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L157", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_health_check_ok", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L169", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_health_check_failure_returns_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L182", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_relogin_after_401", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L197", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_health_check_returns_non200_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L213", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "target": "lims_test_client_test_endpoint_strips_trailing_slash", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L243", "weight": 1.0}, {"source": "lims_test_client_test_login_happy_path", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L37", "weight": 1.0}, {"source": "lims_test_client_test_login_uses_explicit_password_over_provider", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L50", "weight": 1.0}, {"source": "lims_test_client_test_login_wrong_password_raises", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L61", "weight": 1.0}, {"source": "lims_test_client_test_login_with_no_password_raises_config_error", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L71", "weight": 1.0}, {"source": "lims_test_client_test_list_projects_returns_typed_rows", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L81", "weight": 1.0}, {"source": "lims_test_client_test_list_projects_status_filter", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L113", "weight": 1.0}, {"source": "lims_test_client_test_get_project_by_uid", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L124", "weight": 1.0}, {"source": "lims_test_client_test_get_project_by_short_id", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L136", "weight": 1.0}, {"source": "lims_test_client_test_get_project_404_returns_none", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L148", "weight": 1.0}, {"source": "lims_test_client_test_get_me", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L159", "weight": 1.0}, {"source": "lims_test_client_test_health_check_ok", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L171", "weight": 1.0}, {"source": "lims_test_client_test_health_check_failure_returns_status", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L185", "weight": 1.0}, {"source": "lims_test_client_test_relogin_after_401", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L202", "weight": 1.0}, {"source": "lims_test_client_test_health_check_returns_non200_status", "target": "lims_test_client_make_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L233", "weight": 1.0}, {"source": "lims_test_client_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_lims_test_client_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L1", "weight": 1.0}, {"source": "lims_test_client_rationale_183", "target": "lims_test_client_test_health_check_failure_returns_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L183", "weight": 1.0}, {"source": "lims_test_client_rationale_198", "target": "lims_test_client_test_relogin_after_401", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L198", "weight": 1.0}, {"source": "lims_test_client_rationale_214", "target": "lims_test_client_test_health_check_returns_non200_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L214", "weight": 1.0}], "raw_calls": [{"caller_nid": "lims_test_client_make_client", "callee": "LIMSClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L23"}, {"caller_nid": "lims_test_client_make_client", "callee": "ASGITransport", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L28"}, {"caller_nid": "lims_test_client_make_client", "callee": "AsyncClient", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L31"}, {"caller_nid": "lims_test_client_test_login_happy_path", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L36"}, {"caller_nid": "lims_test_client_test_login_happy_path", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L39"}, {"caller_nid": "lims_test_client_test_login_happy_path", "callee": "get_me", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L41"}, {"caller_nid": "lims_test_client_test_login_happy_path", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L42"}, {"caller_nid": "lims_test_client_test_login_happy_path", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L45"}, {"caller_nid": "lims_test_client_test_login_uses_explicit_password_over_provider", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L49"}, {"caller_nid": "lims_test_client_test_login_uses_explicit_password_over_provider", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L52"}, {"caller_nid": "lims_test_client_test_login_uses_explicit_password_over_provider", "callee": "get_me", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L53"}, {"caller_nid": "lims_test_client_test_login_uses_explicit_password_over_provider", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L56"}, {"caller_nid": "lims_test_client_test_login_wrong_password_raises", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L60"}, {"caller_nid": "lims_test_client_test_login_wrong_password_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L63"}, {"caller_nid": "lims_test_client_test_login_wrong_password_raises", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L64"}, {"caller_nid": "lims_test_client_test_login_wrong_password_raises", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L66"}, {"caller_nid": "lims_test_client_test_login_with_no_password_raises_config_error", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L70"}, {"caller_nid": "lims_test_client_test_login_with_no_password_raises_config_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L73"}, {"caller_nid": "lims_test_client_test_login_with_no_password_raises_config_error", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L74"}, {"caller_nid": "lims_test_client_test_login_with_no_password_raises_config_error", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L76"}, {"caller_nid": "lims_test_client_test_list_projects_returns_typed_rows", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L80"}, {"caller_nid": "lims_test_client_test_list_projects_returns_typed_rows", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L83"}, {"caller_nid": "lims_test_client_test_list_projects_returns_typed_rows", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L84"}, {"caller_nid": "lims_test_client_test_list_projects_returns_typed_rows", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L85"}, {"caller_nid": "lims_test_client_test_list_projects_returns_typed_rows", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L86"}, {"caller_nid": "lims_test_client_test_list_projects_returns_typed_rows", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L90"}, {"caller_nid": "lims_test_client_test_list_projects_status_filter", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L112"}, {"caller_nid": "lims_test_client_test_list_projects_status_filter", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L115"}, {"caller_nid": "lims_test_client_test_list_projects_status_filter", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L116"}, {"caller_nid": "lims_test_client_test_list_projects_status_filter", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L119"}, {"caller_nid": "lims_test_client_test_get_project_by_uid", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L123"}, {"caller_nid": "lims_test_client_test_get_project_by_uid", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L126"}, {"caller_nid": "lims_test_client_test_get_project_by_uid", "callee": "get_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L127"}, {"caller_nid": "lims_test_client_test_get_project_by_uid", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L131"}, {"caller_nid": "lims_test_client_test_get_project_by_short_id", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L135"}, {"caller_nid": "lims_test_client_test_get_project_by_short_id", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L138"}, {"caller_nid": "lims_test_client_test_get_project_by_short_id", "callee": "get_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L139"}, {"caller_nid": "lims_test_client_test_get_project_by_short_id", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L143"}, {"caller_nid": "lims_test_client_test_get_project_404_returns_none", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L147"}, {"caller_nid": "lims_test_client_test_get_project_404_returns_none", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L150"}, {"caller_nid": "lims_test_client_test_get_project_404_returns_none", "callee": "get_project", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L151"}, {"caller_nid": "lims_test_client_test_get_project_404_returns_none", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L154"}, {"caller_nid": "lims_test_client_test_get_me", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L158"}, {"caller_nid": "lims_test_client_test_get_me", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L161"}, {"caller_nid": "lims_test_client_test_get_me", "callee": "get_me", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L162"}, {"caller_nid": "lims_test_client_test_get_me", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L166"}, {"caller_nid": "lims_test_client_test_health_check_ok", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L170"}, {"caller_nid": "lims_test_client_test_health_check_ok", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L173"}, {"caller_nid": "lims_test_client_test_health_check_ok", "callee": "health_check", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L174"}, {"caller_nid": "lims_test_client_test_health_check_ok", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L175"}, {"caller_nid": "lims_test_client_test_health_check_ok", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L179"}, {"caller_nid": "lims_test_client_test_health_check_failure_returns_status", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L184"}, {"caller_nid": "lims_test_client_test_health_check_failure_returns_status", "callee": "health_check", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L190"}, {"caller_nid": "lims_test_client_test_health_check_failure_returns_status", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L194"}, {"caller_nid": "lims_test_client_test_relogin_after_401", "callee": "make_mock_lims_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L201"}, {"caller_nid": "lims_test_client_test_relogin_after_401", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L204"}, {"caller_nid": "lims_test_client_test_relogin_after_401", "callee": "invalidate_sessions", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L206"}, {"caller_nid": "lims_test_client_test_relogin_after_401", "callee": "list_projects", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L207"}, {"caller_nid": "lims_test_client_test_relogin_after_401", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L208"}, {"caller_nid": "lims_test_client_test_relogin_after_401", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L210"}, {"caller_nid": "lims_test_client_test_health_check_returns_non200_status", "callee": "FastAPI", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L221"}, {"caller_nid": "lims_test_client_test_health_check_returns_non200_status", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L223"}, {"caller_nid": "lims_test_client_test_health_check_returns_non200_status", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L229"}, {"caller_nid": "lims_test_client_test_health_check_returns_non200_status", "callee": "login", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L235"}, {"caller_nid": "lims_test_client_test_health_check_returns_non200_status", "callee": "health_check", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L236"}, {"caller_nid": "lims_test_client_test_health_check_returns_non200_status", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L240"}, {"caller_nid": "lims_test_client_test_endpoint_strips_trailing_slash", "callee": "LIMSClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L244"}, {"caller_nid": "lims_test_client_test_endpoint_strips_trailing_slash", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py", "source_location": "L253"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f16cad9424bc374423f67d9a2c6189e069a67d22ac1ec1855aefe401ffd848a9.json b/graphify-out/cache/ast/f16cad9424bc374423f67d9a2c6189e069a67d22ac1ec1855aefe401ffd848a9.json deleted file mode 100644 index cdd34e7..0000000 --- a/graphify-out/cache/ast/f16cad9424bc374423f67d9a2c6189e069a67d22ac1ec1855aefe401ffd848a9.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "label": "test_catalogue.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L1"}, {"id": "lims_test_catalogue_make_catalogue", "label": "_make_catalogue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L14"}, {"id": "lims_test_catalogue_test_round_trip_via_write_then_read", "label": "test_round_trip_via_write_then_read()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L36"}, {"id": "lims_test_catalogue_test_read_missing_file_raises", "label": "test_read_missing_file_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L48"}, {"id": "lims_test_catalogue_test_read_invalid_json_raises", "label": "test_read_invalid_json_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L53"}, {"id": "lims_test_catalogue_test_read_non_object_raises", "label": "test_read_non_object_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L60"}, {"id": "lims_test_catalogue_test_schema_version_mismatch_treated_as_absent", "label": "test_schema_version_mismatch_treated_as_absent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L67"}, {"id": "lims_test_catalogue_test_endpoint_mismatch_raises", "label": "test_endpoint_mismatch_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L85"}, {"id": "lims_test_catalogue_test_write_creates_parent_directory", "label": "test_write_creates_parent_directory()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L93"}, {"id": "lims_test_catalogue_test_write_atomic_replaces_previous_file", "label": "test_write_atomic_replaces_previous_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L100"}, {"id": "lims_test_catalogue_test_read_handles_missing_projects_array", "label": "test_read_handles_missing_projects_array()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L121"}, {"id": "lims_test_catalogue_rationale_1", "label": "Tests for the offline LIMS-project catalogue I/O. Backend Spec \u00a77.2.9.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "exlab_wizard_lims_catalogue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "exlab_wizard_lims_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "lims_test_catalogue_make_catalogue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "lims_test_catalogue_test_round_trip_via_write_then_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "lims_test_catalogue_test_read_missing_file_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "lims_test_catalogue_test_read_invalid_json_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "lims_test_catalogue_test_read_non_object_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "lims_test_catalogue_test_schema_version_mismatch_treated_as_absent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L67", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "lims_test_catalogue_test_endpoint_mismatch_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L85", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "lims_test_catalogue_test_write_creates_parent_directory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "lims_test_catalogue_test_write_atomic_replaces_previous_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L100", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "target": "lims_test_catalogue_test_read_handles_missing_projects_array", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L121", "weight": 1.0}, {"source": "lims_test_catalogue_test_round_trip_via_write_then_read", "target": "lims_test_catalogue_make_catalogue", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L38", "weight": 1.0}, {"source": "lims_test_catalogue_test_endpoint_mismatch_raises", "target": "lims_test_catalogue_make_catalogue", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L87", "weight": 1.0}, {"source": "lims_test_catalogue_test_write_creates_parent_directory", "target": "lims_test_catalogue_make_catalogue", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L95", "weight": 1.0}, {"source": "lims_test_catalogue_test_write_atomic_replaces_previous_file", "target": "lims_test_catalogue_make_catalogue", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L102", "weight": 1.0}, {"source": "lims_test_catalogue_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_lims_test_catalogue_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "lims_test_catalogue_make_catalogue", "callee": "OfflineCatalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L15"}, {"caller_nid": "lims_test_catalogue_make_catalogue", "callee": "LIMSProject", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L21"}, {"caller_nid": "lims_test_catalogue_test_round_trip_via_write_then_read", "callee": "write_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L39"}, {"caller_nid": "lims_test_catalogue_test_round_trip_via_write_then_read", "callee": "read_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L40"}, {"caller_nid": "lims_test_catalogue_test_round_trip_via_write_then_read", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L44"}, {"caller_nid": "lims_test_catalogue_test_read_missing_file_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L49"}, {"caller_nid": "lims_test_catalogue_test_read_missing_file_raises", "callee": "read_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L50"}, {"caller_nid": "lims_test_catalogue_test_read_invalid_json_raises", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L55"}, {"caller_nid": "lims_test_catalogue_test_read_invalid_json_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L56"}, {"caller_nid": "lims_test_catalogue_test_read_invalid_json_raises", "callee": "read_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L57"}, {"caller_nid": "lims_test_catalogue_test_read_non_object_raises", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L62"}, {"caller_nid": "lims_test_catalogue_test_read_non_object_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L63"}, {"caller_nid": "lims_test_catalogue_test_read_non_object_raises", "callee": "read_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L64"}, {"caller_nid": "lims_test_catalogue_test_schema_version_mismatch_treated_as_absent", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L78"}, {"caller_nid": "lims_test_catalogue_test_schema_version_mismatch_treated_as_absent", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L78"}, {"caller_nid": "lims_test_catalogue_test_schema_version_mismatch_treated_as_absent", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L79"}, {"caller_nid": "lims_test_catalogue_test_schema_version_mismatch_treated_as_absent", "callee": "read_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L80"}, {"caller_nid": "lims_test_catalogue_test_schema_version_mismatch_treated_as_absent", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L82"}, {"caller_nid": "lims_test_catalogue_test_endpoint_mismatch_raises", "callee": "write_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L88"}, {"caller_nid": "lims_test_catalogue_test_endpoint_mismatch_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L89"}, {"caller_nid": "lims_test_catalogue_test_endpoint_mismatch_raises", "callee": "read_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L90"}, {"caller_nid": "lims_test_catalogue_test_write_creates_parent_directory", "callee": "write_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L96"}, {"caller_nid": "lims_test_catalogue_test_write_creates_parent_directory", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L97"}, {"caller_nid": "lims_test_catalogue_test_write_atomic_replaces_previous_file", "callee": "write_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L103"}, {"caller_nid": "lims_test_catalogue_test_write_atomic_replaces_previous_file", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L104"}, {"caller_nid": "lims_test_catalogue_test_write_atomic_replaces_previous_file", "callee": "OfflineCatalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L106"}, {"caller_nid": "lims_test_catalogue_test_write_atomic_replaces_previous_file", "callee": "write_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L113"}, {"caller_nid": "lims_test_catalogue_test_write_atomic_replaces_previous_file", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L114"}, {"caller_nid": "lims_test_catalogue_test_write_atomic_replaces_previous_file", "callee": "read_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L116"}, {"caller_nid": "lims_test_catalogue_test_read_handles_missing_projects_array", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L129"}, {"caller_nid": "lims_test_catalogue_test_read_handles_missing_projects_array", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L129"}, {"caller_nid": "lims_test_catalogue_test_read_handles_missing_projects_array", "callee": "read_catalogue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py", "source_location": "L130"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f210fb27d6c3e6e09e85a4dfd19da3964121248f96b1aff32f9223e622d1eecc.json b/graphify-out/cache/ast/f210fb27d6c3e6e09e85a4dfd19da3964121248f96b1aff32f9223e622d1eecc.json deleted file mode 100644 index 5da7dda..0000000 --- a/graphify-out/cache/ast/f210fb27d6c3e6e09e85a4dfd19da3964121248f96b1aff32f9223e622d1eecc.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_scan_py", "label": "_scan.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L1"}, {"id": "orchestrator_scan_iter_subdirs", "label": "iter_subdirs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L30"}, {"id": "orchestrator_scan_walk_equipment_run_leaves", "label": "walk_equipment_run_leaves()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L55"}, {"id": "orchestrator_scan_walk_run_leaves", "label": "walk_run_leaves()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L89"}, {"id": "orchestrator_scan_count_files_and_bytes", "label": "count_files_and_bytes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L105"}, {"id": "orchestrator_scan_rationale_1", "label": "Shared filesystem helpers for the orchestrator. Backend Spec \u00a713.2. Both :mod:`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L1"}, {"id": "orchestrator_scan_rationale_31", "label": "Return immediate sub-directories of ``parent``. Skips ``.exlab-wizard/``, h", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L31"}, {"id": "orchestrator_scan_rationale_56", "label": "Return every ``Run_*`` / ``TestRun_*`` directory under one equipment dir. `", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L56"}, {"id": "orchestrator_scan_rationale_90", "label": "Return every ``Run_*`` / ``TestRun_*`` directory under ``staging_root``. Pe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L90"}, {"id": "orchestrator_scan_rationale_106", "label": "Sum file count + total bytes under ``run_path``. With ``exclude_cache=True`", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L106"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_scan_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_scan_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_scan_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_scan_py", "target": "exlab_wizard_paths", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_scan_py", "target": "orchestrator_scan_iter_subdirs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_scan_py", "target": "orchestrator_scan_walk_equipment_run_leaves", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_scan_py", "target": "orchestrator_scan_walk_run_leaves", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L89", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_scan_py", "target": "orchestrator_scan_count_files_and_bytes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L105", "weight": 1.0}, {"source": "orchestrator_scan_walk_equipment_run_leaves", "target": "orchestrator_scan_iter_subdirs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L71", "weight": 1.0}, {"source": "orchestrator_scan_walk_run_leaves", "target": "orchestrator_scan_iter_subdirs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L100", "weight": 1.0}, {"source": "orchestrator_scan_walk_run_leaves", "target": "orchestrator_scan_walk_equipment_run_leaves", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L101", "weight": 1.0}, {"source": "orchestrator_scan_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_orchestrator_scan_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L1", "weight": 1.0}, {"source": "orchestrator_scan_rationale_31", "target": "orchestrator_scan_iter_subdirs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L31", "weight": 1.0}, {"source": "orchestrator_scan_rationale_56", "target": "orchestrator_scan_walk_equipment_run_leaves", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L56", "weight": 1.0}, {"source": "orchestrator_scan_rationale_90", "target": "orchestrator_scan_walk_run_leaves", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L90", "weight": 1.0}, {"source": "orchestrator_scan_rationale_106", "target": "orchestrator_scan_count_files_and_bytes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L106", "weight": 1.0}], "raw_calls": [{"caller_nid": "orchestrator_scan_iter_subdirs", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L41"}, {"caller_nid": "orchestrator_scan_iter_subdirs", "callee": "scandir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L41"}, {"caller_nid": "orchestrator_scan_iter_subdirs", "callee": "startswith", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L45"}, {"caller_nid": "orchestrator_scan_iter_subdirs", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L48"}, {"caller_nid": "orchestrator_scan_iter_subdirs", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L49"}, {"caller_nid": "orchestrator_scan_iter_subdirs", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L49"}, {"caller_nid": "orchestrator_scan_walk_equipment_run_leaves", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L74"}, {"caller_nid": "orchestrator_scan_walk_equipment_run_leaves", "callee": "is_test_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L75"}, {"caller_nid": "orchestrator_scan_walk_equipment_run_leaves", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L78"}, {"caller_nid": "orchestrator_scan_walk_equipment_run_leaves", "callee": "is_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L79"}, {"caller_nid": "orchestrator_scan_walk_equipment_run_leaves", "callee": "is_run_dir", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L81"}, {"caller_nid": "orchestrator_scan_walk_equipment_run_leaves", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L85"}, {"caller_nid": "orchestrator_scan_walk_run_leaves", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L97"}, {"caller_nid": "orchestrator_scan_walk_run_leaves", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L101"}, {"caller_nid": "orchestrator_scan_count_files_and_bytes", "callee": "pop", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L117"}, {"caller_nid": "orchestrator_scan_count_files_and_bytes", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L119"}, {"caller_nid": "orchestrator_scan_count_files_and_bytes", "callee": "scandir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L119"}, {"caller_nid": "orchestrator_scan_count_files_and_bytes", "callee": "is_dir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L126"}, {"caller_nid": "orchestrator_scan_count_files_and_bytes", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L127"}, {"caller_nid": "orchestrator_scan_count_files_and_bytes", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L127"}, {"caller_nid": "orchestrator_scan_count_files_and_bytes", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L129"}, {"caller_nid": "orchestrator_scan_count_files_and_bytes", "callee": "stat", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py", "source_location": "L131"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f27b822b9309b935c7ebf4e4dd0a61b6c1daa3099f470513f5de0fa7ec9c554b.json b/graphify-out/cache/ast/f27b822b9309b935c7ebf4e4dd0a61b6c1daa3099f470513f5de0fa7ec9c554b.json deleted file mode 100644 index b940870..0000000 --- a/graphify-out/cache/ast/f27b822b9309b935c7ebf4e4dd0a61b6c1daa3099f470513f5de0fa7ec9c554b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "label": "logger.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L1"}, {"id": "plugins_logger_pluginlogframe", "label": "PluginLogFrame", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L46"}, {"id": "plugins_logger_pluginlogger", "label": "PluginLogger", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L59"}, {"id": "abc", "label": "ABC", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "plugins_logger_debug", "label": "debug()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L69"}, {"id": "plugins_logger_info", "label": "info()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L73"}, {"id": "plugins_logger_warning", "label": "warning()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L77"}, {"id": "plugins_logger_error", "label": "error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L81"}, {"id": "plugins_logger_hostpluginlogger", "label": "HostPluginLogger", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L85"}, {"id": "plugins_logger_hostpluginlogger_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L95"}, {"id": "plugins_logger_hostpluginlogger_debug", "label": ".debug()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L98"}, {"id": "plugins_logger_hostpluginlogger_info", "label": ".info()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L101"}, {"id": "plugins_logger_hostpluginlogger_warning", "label": ".warning()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L104"}, {"id": "plugins_logger_hostpluginlogger_error", "label": ".error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L107"}, {"id": "plugins_logger_hostpluginlogger_emit", "label": "._emit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L110"}, {"id": "plugins_logger_workerpluginlogger", "label": "WorkerPluginLogger", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L121"}, {"id": "plugins_logger_workerpluginlogger_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L137"}, {"id": "plugins_logger_workerpluginlogger_debug", "label": ".debug()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L140"}, {"id": "plugins_logger_workerpluginlogger_info", "label": ".info()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L143"}, {"id": "plugins_logger_workerpluginlogger_warning", "label": ".warning()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L146"}, {"id": "plugins_logger_workerpluginlogger_error", "label": ".error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L149"}, {"id": "plugins_logger_workerpluginlogger_emit", "label": "._emit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L152"}, {"id": "plugins_logger_rationale_1", "label": "Plugin logger shim. Backend Spec \u00a76.1.4 / \u00a76.3.2. Plugins call ``ctx.log.info(.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L1"}, {"id": "plugins_logger_rationale_47", "label": "Wire format for worker-side log records. The worker subprocess emits one ``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L47"}, {"id": "plugins_logger_rationale_60", "label": "Abstract structured-log interface plugins receive on ``ctx.log``. Implement", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L60"}, {"id": "plugins_logger_rationale_70", "label": "Emit a DEBUG-level structured log record.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L70"}, {"id": "plugins_logger_rationale_74", "label": "Emit an INFO-level structured log record.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L74"}, {"id": "plugins_logger_rationale_78", "label": "Emit a WARNING-level structured log record.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L78"}, {"id": "plugins_logger_rationale_82", "label": "Emit an ERROR-level structured log record.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L82"}, {"id": "plugins_logger_rationale_86", "label": "In-process forwarder used when plugins run without subprocess isolation. Us", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L86"}, {"id": "plugins_logger_rationale_122", "label": "Worker-side forwarder. Emits JSON frames on stderr. Used inside the plugin", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L122"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "msgspec", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "plugins_logger_pluginlogframe", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "plugins_logger_pluginlogger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L59", "weight": 1.0}, {"source": "plugins_logger_pluginlogger", "target": "abc", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "plugins_logger_debug", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "plugins_logger_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L73", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "plugins_logger_warning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "plugins_logger_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "plugins_logger_hostpluginlogger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L85", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger", "target": "plugins_logger_pluginlogger", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L85", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger", "target": "plugins_logger_hostpluginlogger_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L95", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger", "target": "plugins_logger_hostpluginlogger_debug", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L98", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger", "target": "plugins_logger_hostpluginlogger_info", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L101", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger", "target": "plugins_logger_hostpluginlogger_warning", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L104", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger", "target": "plugins_logger_hostpluginlogger_error", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L107", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger", "target": "plugins_logger_hostpluginlogger_emit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L110", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "target": "plugins_logger_workerpluginlogger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L121", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger", "target": "plugins_logger_pluginlogger", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L121", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger", "target": "plugins_logger_workerpluginlogger_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L137", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger", "target": "plugins_logger_workerpluginlogger_debug", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L140", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger", "target": "plugins_logger_workerpluginlogger_info", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L143", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger", "target": "plugins_logger_workerpluginlogger_warning", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L146", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger", "target": "plugins_logger_workerpluginlogger_error", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L149", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger", "target": "plugins_logger_workerpluginlogger_emit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L152", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger_debug", "target": "plugins_logger_workerpluginlogger_emit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L99", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger_info", "target": "plugins_logger_workerpluginlogger_emit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L102", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger_warning", "target": "plugins_logger_workerpluginlogger_emit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L105", "weight": 1.0}, {"source": "plugins_logger_hostpluginlogger_error", "target": "plugins_logger_workerpluginlogger_emit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L108", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger_debug", "target": "plugins_logger_workerpluginlogger_emit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L141", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger_info", "target": "plugins_logger_workerpluginlogger_emit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L144", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger_warning", "target": "plugins_logger_workerpluginlogger_emit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L147", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger_error", "target": "plugins_logger_workerpluginlogger_emit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L150", "weight": 1.0}, {"source": "plugins_logger_workerpluginlogger_emit", "target": "plugins_logger_pluginlogframe", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L153", "weight": 1.0}, {"source": "plugins_logger_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_plugins_logger_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L1", "weight": 1.0}, {"source": "plugins_logger_rationale_47", "target": "plugins_logger_pluginlogframe", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L47", "weight": 1.0}, {"source": "plugins_logger_rationale_60", "target": "plugins_logger_pluginlogger", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L60", "weight": 1.0}, {"source": "plugins_logger_rationale_70", "target": "plugins_logger_pluginlogger_debug", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L70", "weight": 1.0}, {"source": "plugins_logger_rationale_74", "target": "plugins_logger_pluginlogger_info", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L74", "weight": 1.0}, {"source": "plugins_logger_rationale_78", "target": "plugins_logger_pluginlogger_warning", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L78", "weight": 1.0}, {"source": "plugins_logger_rationale_82", "target": "plugins_logger_pluginlogger_error", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L82", "weight": 1.0}, {"source": "plugins_logger_rationale_86", "target": "plugins_logger_hostpluginlogger", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L86", "weight": 1.0}, {"source": "plugins_logger_rationale_122", "target": "plugins_logger_workerpluginlogger", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L122", "weight": 1.0}], "raw_calls": [{"caller_nid": "plugins_logger_hostpluginlogger_init", "callee": "get_logger", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L96"}, {"caller_nid": "plugins_logger_hostpluginlogger_emit", "callee": "log", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L116"}, {"caller_nid": "plugins_logger_hostpluginlogger_emit", "callee": "log", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L118"}, {"caller_nid": "plugins_logger_workerpluginlogger_emit", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L154"}, {"caller_nid": "plugins_logger_workerpluginlogger_emit", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L154"}, {"caller_nid": "plugins_logger_workerpluginlogger_emit", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L155"}, {"caller_nid": "plugins_logger_workerpluginlogger_emit", "callee": "flush", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py", "source_location": "L156"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f410dc4800c6c45da92b48b7641afbd729afd7326ed8d190d04b1a2e38a73dce.json b/graphify-out/cache/ast/f410dc4800c6c45da92b48b7641afbd729afd7326ed8d190d04b1a2e38a73dce.json deleted file mode 100644 index d40c8f1..0000000 --- a/graphify-out/cache/ast/f410dc4800c6c45da92b48b7641afbd729afd7326ed8d190d04b1a2e38a73dce.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "label": "test_config_router.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L1"}, {"id": "api_test_config_router_empty_config", "label": "_empty_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L19"}, {"id": "api_test_config_router_ready_config", "label": "_ready_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L23"}, {"id": "api_test_config_router_test_get_config_returns_loaded_config", "label": "test_get_config_returns_loaded_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L44"}, {"id": "api_test_config_router_test_get_config_returns_default_when_none", "label": "test_get_config_returns_default_when_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L55"}, {"id": "api_test_config_router_test_put_config_persists_and_reevaluates_state", "label": "test_put_config_persists_and_reevaluates_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L65"}, {"id": "api_test_config_router_test_put_config_invalid_body_returns_422", "label": "test_put_config_invalid_body_returns_422()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L91"}, {"id": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "label": "test_append_equipment_persists_and_re_evaluates_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L107"}, {"id": "api_test_config_router_test_append_equipment_rejects_duplicate_id", "label": "test_append_equipment_rejects_duplicate_id()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L138"}, {"id": "api_test_config_router_rationale_1", "label": "Unit tests for the ``/config`` router.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "fastapi_testclient", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "exlab_wizard_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "api_test_config_router_empty_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "api_test_config_router_ready_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "api_test_config_router_test_get_config_returns_loaded_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L44", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "api_test_config_router_test_get_config_returns_default_when_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L55", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "api_test_config_router_test_put_config_persists_and_reevaluates_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L65", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "api_test_config_router_test_put_config_invalid_body_returns_422", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L91", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L107", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "target": "api_test_config_router_test_append_equipment_rejects_duplicate_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L138", "weight": 1.0}, {"source": "api_test_config_router_test_get_config_returns_loaded_config", "target": "api_test_config_router_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L45", "weight": 1.0}, {"source": "api_test_config_router_test_put_config_persists_and_reevaluates_state", "target": "api_test_config_router_empty_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L74", "weight": 1.0}, {"source": "api_test_config_router_test_put_config_persists_and_reevaluates_state", "target": "api_test_config_router_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L77", "weight": 1.0}, {"source": "api_test_config_router_test_put_config_invalid_body_returns_422", "target": "api_test_config_router_empty_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L92", "weight": 1.0}, {"source": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "target": "api_test_config_router_empty_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L113", "weight": 1.0}, {"source": "api_test_config_router_test_append_equipment_rejects_duplicate_id", "target": "api_test_config_router_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L139", "weight": 1.0}, {"source": "api_test_config_router_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_config_router_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_config_router_empty_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L20"}, {"caller_nid": "api_test_config_router_ready_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L24"}, {"caller_nid": "api_test_config_router_ready_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L25"}, {"caller_nid": "api_test_config_router_ready_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L27"}, {"caller_nid": "api_test_config_router_ready_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L32"}, {"caller_nid": "api_test_config_router_ready_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L40"}, {"caller_nid": "api_test_config_router_test_get_config_returns_loaded_config", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L46"}, {"caller_nid": "api_test_config_router_test_get_config_returns_loaded_config", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L47"}, {"caller_nid": "api_test_config_router_test_get_config_returns_loaded_config", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L48"}, {"caller_nid": "api_test_config_router_test_get_config_returns_loaded_config", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L49"}, {"caller_nid": "api_test_config_router_test_get_config_returns_loaded_config", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L51"}, {"caller_nid": "api_test_config_router_test_get_config_returns_loaded_config", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L52"}, {"caller_nid": "api_test_config_router_test_get_config_returns_loaded_config", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L52"}, {"caller_nid": "api_test_config_router_test_get_config_returns_default_when_none", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L56"}, {"caller_nid": "api_test_config_router_test_get_config_returns_default_when_none", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L57"}, {"caller_nid": "api_test_config_router_test_get_config_returns_default_when_none", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L58"}, {"caller_nid": "api_test_config_router_test_get_config_returns_default_when_none", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L59"}, {"caller_nid": "api_test_config_router_test_get_config_returns_default_when_none", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L61"}, {"caller_nid": "api_test_config_router_test_put_config_persists_and_reevaluates_state", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L74"}, {"caller_nid": "api_test_config_router_test_put_config_persists_and_reevaluates_state", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L75"}, {"caller_nid": "api_test_config_router_test_put_config_persists_and_reevaluates_state", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L76"}, {"caller_nid": "api_test_config_router_test_put_config_persists_and_reevaluates_state", "callee": "put", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L78"}, {"caller_nid": "api_test_config_router_test_put_config_persists_and_reevaluates_state", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L78"}, {"caller_nid": "api_test_config_router_test_put_config_persists_and_reevaluates_state", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L80"}, {"caller_nid": "api_test_config_router_test_put_config_invalid_body_returns_422", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L92"}, {"caller_nid": "api_test_config_router_test_put_config_invalid_body_returns_422", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L93"}, {"caller_nid": "api_test_config_router_test_put_config_invalid_body_returns_422", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L94"}, {"caller_nid": "api_test_config_router_test_put_config_invalid_body_returns_422", "callee": "put", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L96"}, {"caller_nid": "api_test_config_router_test_put_config_invalid_body_returns_422", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L98"}, {"caller_nid": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L113"}, {"caller_nid": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L114"}, {"caller_nid": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L115"}, {"caller_nid": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L116"}, {"caller_nid": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L130"}, {"caller_nid": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L130"}, {"caller_nid": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L132"}, {"caller_nid": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L135"}, {"caller_nid": "api_test_config_router_test_append_equipment_rejects_duplicate_id", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L139"}, {"caller_nid": "api_test_config_router_test_append_equipment_rejects_duplicate_id", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L140"}, {"caller_nid": "api_test_config_router_test_append_equipment_rejects_duplicate_id", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L141"}, {"caller_nid": "api_test_config_router_test_append_equipment_rejects_duplicate_id", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L142"}, {"caller_nid": "api_test_config_router_test_append_equipment_rejects_duplicate_id", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L156"}, {"caller_nid": "api_test_config_router_test_append_equipment_rejects_duplicate_id", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L156"}, {"caller_nid": "api_test_config_router_test_append_equipment_rejects_duplicate_id", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py", "source_location": "L158"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f41edf6ffee1d91b63ef2164a479d0716a5c481a699910283a4fb5b95e2105e9.json b/graphify-out/cache/ast/f41edf6ffee1d91b63ef2164a479d0716a5c481a699910283a4fb5b95e2105e9.json deleted file mode 100644 index af31719..0000000 --- a/graphify-out/cache/ast/f41edf6ffee1d91b63ef2164a479d0716a5c481a699910283a4fb5b95e2105e9.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "label": "format.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L1"}, {"id": "logging_format_structuredtagformatter", "label": "StructuredTagFormatter", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L71"}, {"id": "logging_format_structuredtagformatter_format", "label": ".format()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L90"}, {"id": "logging_format_format_utc_timestamp", "label": "_format_utc_timestamp()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L104"}, {"id": "logging_format_render_tags", "label": "_render_tags()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L115"}, {"id": "logging_format_redact_secret", "label": "redact_secret()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L135"}, {"id": "logging_format_rationale_1", "label": "Structured log formatter and secret-redaction helpers. Backend Spec \u00a716.4, \u00a716.1", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L1"}, {"id": "logging_format_rationale_72", "label": "Formatter that renders the \u00a716.4 structured-tag log line. Reads the active", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L72"}, {"id": "logging_format_rationale_105", "label": "Render ``epoch_seconds`` as a UTC ISO 8601 timestamp with ``Z`` suffix. Exa", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L105"}, {"id": "logging_format_rationale_116", "label": "Render the active context as ``[host:..] [equip:..] ...``. Returns the empt", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L116"}, {"id": "logging_format_rationale_136", "label": "Mask credential-bearing substrings inside ``value``. Replaces three classes", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L136"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "target": "exlab_wizard_logging_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "target": "logging_format_structuredtagformatter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L71", "weight": 1.0}, {"source": "logging_format_structuredtagformatter", "target": "logging_format_structuredtagformatter_format", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "target": "logging_format_format_utc_timestamp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L104", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "target": "logging_format_render_tags", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L115", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "target": "logging_format_redact_secret", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L135", "weight": 1.0}, {"source": "logging_format_structuredtagformatter_format", "target": "logging_format_format_utc_timestamp", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L91", "weight": 1.0}, {"source": "logging_format_structuredtagformatter_format", "target": "logging_format_render_tags", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L98", "weight": 1.0}, {"source": "logging_format_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_format_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L1", "weight": 1.0}, {"source": "logging_format_rationale_72", "target": "logging_format_structuredtagformatter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L72", "weight": 1.0}, {"source": "logging_format_rationale_105", "target": "logging_format_format_utc_timestamp", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L105", "weight": 1.0}, {"source": "logging_format_rationale_116", "target": "logging_format_render_tags", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L116", "weight": 1.0}, {"source": "logging_format_rationale_136", "target": "logging_format_redact_secret", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L136", "weight": 1.0}], "raw_calls": [{"caller_nid": "logging_format_structuredtagformatter_format", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L92"}, {"caller_nid": "logging_format_structuredtagformatter_format", "callee": "getMessage", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L94"}, {"caller_nid": "logging_format_structuredtagformatter_format", "callee": "formatException", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L97"}, {"caller_nid": "logging_format_format_utc_timestamp", "callee": "fromtimestamp", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L111"}, {"caller_nid": "logging_format_format_utc_timestamp", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L112"}, {"caller_nid": "logging_format_render_tags", "callee": "get_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L121"}, {"caller_nid": "logging_format_render_tags", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L124"}, {"caller_nid": "logging_format_render_tags", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L126"}, {"caller_nid": "logging_format_render_tags", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L127"}, {"caller_nid": "logging_format_redact_secret", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L152"}, {"caller_nid": "logging_format_redact_secret", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L155"}, {"caller_nid": "logging_format_redact_secret", "callee": "sub", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L156"}, {"caller_nid": "logging_format_redact_secret", "callee": "sub", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L160"}, {"caller_nid": "logging_format_redact_secret", "callee": "sub", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py", "source_location": "L161"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f513469aea26f076b28281ae74f49e4da780fdee8b923ca504edfa6fce613d5c.json b/graphify-out/cache/ast/f513469aea26f076b28281ae74f49e4da780fdee8b923ca504edfa6fce613d5c.json deleted file mode 100644 index daa5031..0000000 --- a/graphify-out/cache/ast/f513469aea26f076b28281ae74f49e4da780fdee8b923ca504edfa6fce613d5c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "label": "test_engine_audit.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1"}, {"id": "validator_test_engine_audit_build_creation_json_dict", "label": "_build_creation_json_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L46"}, {"id": "validator_test_engine_audit_write_creation_json", "label": "_write_creation_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L87"}, {"id": "validator_test_engine_audit_make_clean_tree", "label": "_make_clean_tree()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L96"}, {"id": "validator_test_engine_audit_make_validator", "label": "_make_validator()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L140"}, {"id": "validator_test_engine_audit_by_rule", "label": "_by_rule()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L164"}, {"id": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list", "label": "test_audit_clean_tree_returns_empty_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L173"}, {"id": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "label": "test_audit_project_missing_creation_json_returns_orphan()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L181"}, {"id": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "label": "test_audit_run_missing_creation_json_returns_orphan()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L202"}, {"id": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "label": "test_audit_unsafe_project_name_returns_soft_finding()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L219"}, {"id": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", "label": "test_audit_clean_project_name_has_no_unsafe_finding()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L238"}, {"id": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "label": "test_audit_mode_prefix_mismatch_run_with_test_kind()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L246"}, {"id": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "label": "test_audit_unresolved_placeholder_in_directory_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L268"}, {"id": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "label": "test_audit_override_active_flag_set_when_problem_class_overridden()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L291"}, {"id": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "label": "test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L324"}, {"id": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "label": "test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L348"}, {"id": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap", "label": "test_audit_respects_content_scan_max_mib_cap()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L374"}, {"id": "validator_test_engine_audit_test_audit_respects_extensions_allowlist", "label": "test_audit_respects_extensions_allowlist()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L398"}, {"id": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff", "label": "test_audit_detects_binary_files_via_null_byte_sniff()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L417"}, {"id": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", "label": "test_audit_scans_text_file_content_when_within_limits()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L436"}, {"id": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", "label": "test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L452"}, {"id": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", "label": "test_query_problems_is_alias_for_audit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L474"}, {"id": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "label": "test_audit_scope_equipment_id_resolves_to_configured_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L487"}, {"id": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "label": "test_audit_scope_project_path_walks_one_subtree()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L524"}, {"id": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", "label": "test_audit_scope_all_walks_every_configured_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L549"}, {"id": "validator_test_engine_audit_test_audit_scope_unknown_equipment_id_returns_empty", "label": "test_audit_scope_unknown_equipment_id_returns_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L584"}, {"id": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", "label": "test_audit_skips_cache_directory_contents()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L591"}, {"id": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "label": "test_audit_revoked_override_does_not_set_override_active()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L607"}, {"id": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", "label": "test_audit_unresolved_placeholder_in_file_name()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L644"}, {"id": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "label": "test_audit_test_run_with_experimental_kind_flagged()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L660"}, {"id": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", "label": "test_audit_returns_list_of_finding_dataclass_instances()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L680"}, {"id": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", "label": "test_audit_includes_staging_root_when_orchestrator_on()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L695"}, {"id": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "label": "test_audit_findings_carry_full_section_11_8_shape()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L722"}, {"id": "validator_test_engine_audit_test_audit_unknown_scope_kind_raises_value_error", "label": "test_audit_unknown_scope_kind_raises_value_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L760"}, {"id": "validator_test_engine_audit_test_audit_root_does_not_exist_returns_empty", "label": "test_audit_root_does_not_exist_returns_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L767"}, {"id": "validator_test_engine_audit_test_audit_root_is_a_file_returns_empty", "label": "test_audit_root_is_a_file_returns_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L775"}, {"id": "validator_test_engine_audit_test_audit_handles_unreadable_directory", "label": "test_audit_handles_unreadable_directory()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L783"}, {"id": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", "label": "test_audit_other_level_subfolder_under_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L803"}, {"id": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", "label": "test_audit_other_under_test_runs_unknown_leaf()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L819"}, {"id": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", "label": "test_audit_deeply_nested_other_subfolder()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L835"}, {"id": "validator_test_engine_audit_test_audit_creation_json_unreadable", "label": "test_audit_creation_json_unreadable()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L854"}, {"id": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", "label": "test_audit_creation_json_malformed_raw_decode()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L876"}, {"id": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "label": "test_audit_creation_json_missing_required_struct_field()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L888"}, {"id": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", "label": "test_audit_readme_fields_json_decode_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L908"}, {"id": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "label": "test_audit_missing_required_field_with_required_ids()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L920"}, {"id": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "label": "test_audit_missing_required_field_required_ids_not_a_list()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L956"}, {"id": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "label": "test_audit_content_scan_skips_test_runs_marker_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L991"}, {"id": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", "label": "test_audit_content_scan_eligibility_returns_false_on_stat_failure()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1021"}, {"id": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", "label": "test_audit_read_text_for_scan_handles_oserror()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1048"}, {"id": "validator_test_engine_audit_test_classify_level_value_error_returns_other", "label": "test_classify_level_value_error_returns_other()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1075"}, {"id": "validator_test_engine_audit_test_finding_sort_unknown_tier_sorts_after_committed_tiers", "label": "test_finding_sort_unknown_tier_sorts_after_committed_tiers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1089"}, {"id": "validator_test_engine_audit_test_level_for_orphan_returns_none_for_unmapped_levels", "label": "test_level_for_orphan_returns_none_for_unmapped_levels()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1113"}, {"id": "validator_test_engine_audit_test_validator_from_config_builds_engine", "label": "test_validator_from_config_builds_engine()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1122"}, {"id": "validator_test_engine_audit_test_validator_from_config_orchestrator_disabled", "label": "test_validator_from_config_orchestrator_disabled()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1140"}, {"id": "validator_test_engine_audit_test_validator_from_config_no_orchestrator_attr", "label": "test_validator_from_config_no_orchestrator_attr()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1154"}, {"id": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other", "label": "test_classify_level_unrelated_dir_returns_other()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1165"}, {"id": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", "label": "test_compute_run_path_unrelated_other_returns_input()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1175"}, {"id": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root", "label": "test_compute_run_path_root_other_returns_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1187"}, {"id": "validator_test_engine_audit_rationale_1", "label": "Unit tests for ``Validator.audit`` and ``Validator.query_problems``. Backend Sp", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1"}, {"id": "validator_test_engine_audit_rationale_56", "label": "Build the wire-form ``creation.json`` dict for a fixture tree.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L56"}, {"id": "validator_test_engine_audit_rationale_88", "label": "Write the wire-form ``creation.json`` under ``/.exlab-wizard``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L88"}, {"id": "validator_test_engine_audit_rationale_106", "label": "Build a single-equipment / single-project / single-run clean tree. Returns", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L106"}, {"id": "validator_test_engine_audit_rationale_148", "label": "Construct a :class:`Validator` for tests with a single equipment root.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L148"}, {"id": "validator_test_engine_audit_rationale_174", "label": "A well-formed equipment / project / run tree produces no findings.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L174"}, {"id": "validator_test_engine_audit_rationale_182", "label": "A project directory with no ``creation.json`` produces one orphan finding.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L182"}, {"id": "validator_test_engine_audit_rationale_203", "label": "A run directory with no ``creation.json`` produces one orphan finding.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L203"}, {"id": "validator_test_engine_audit_rationale_220", "label": "A project directory whose name is not a safe path segment (\u00a73.2) produces a", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L220"}, {"id": "validator_test_engine_audit_rationale_239", "label": "A human-readable project name (spaces and all) is a safe segment.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L239"}, {"id": "validator_test_engine_audit_rationale_247", "label": "A ``Run_*`` leaf whose creation.json says ``run_kind=\"test\"`` is flagged.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L247"}, {"id": "validator_test_engine_audit_rationale_269", "label": "A directory name containing ```` produces a finding.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L269"}, {"id": "validator_test_engine_audit_rationale_294", "label": "An active override with matching ``problem_class`` flips ``override_active``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L294"}, {"id": "validator_test_engine_audit_rationale_327", "label": "Synced run + hard finding -> ``synced_under_prior_policy=True``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L327"}, {"id": "validator_test_engine_audit_rationale_351", "label": "Cleaned run + hard finding -> ``synced_under_prior_policy=True``. A ``clean", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L351"}, {"id": "validator_test_engine_audit_rationale_375", "label": "A large file with a placeholder is NOT scanned for content.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L375"}, {"id": "validator_test_engine_audit_rationale_399", "label": "A ``.bin`` file is skipped from content scanning by the extension gate.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L399"}, {"id": "validator_test_engine_audit_rationale_418", "label": "A ``.txt`` file with a NUL byte is treated as binary and skipped.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L418"}, {"id": "validator_test_engine_audit_rationale_437", "label": "A small ``.txt`` file inside the run directory is scanned for placeholders.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L437"}, {"id": "validator_test_engine_audit_rationale_455", "label": "Hard-tier findings come first; ties break on rule then offending_path.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L455"}, {"id": "validator_test_engine_audit_rationale_475", "label": "``query_problems`` returns the same list as ``audit``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L475"}, {"id": "validator_test_engine_audit_rationale_488", "label": "``{\"kind\": \"equipment_id\", ...}`` walks only the matching subtree.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L488"}, {"id": "validator_test_engine_audit_rationale_525", "label": "``{\"kind\": \"project_path\", ...}`` walks the supplied path only.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L525"}, {"id": "validator_test_engine_audit_rationale_550", "label": "``{\"kind\": \"all\"}`` aggregates findings across every equipment root.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L550"}, {"id": "validator_test_engine_audit_rationale_585", "label": "An ``equipment_id`` not in the map produces an empty result, not an error.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L585"}, {"id": "validator_test_engine_audit_rationale_592", "label": "The walk does not apply \u00a78.1 rules to ``.exlab-wizard`` contents.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L592"}, {"id": "validator_test_engine_audit_rationale_608", "label": "A tombstone-revoked override does not flip ``override_active``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L608"}, {"id": "validator_test_engine_audit_rationale_645", "label": "A file name containing ```` produces a finding.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L645"}, {"id": "validator_test_engine_audit_rationale_661", "label": "A ``TestRun_*`` leaf with ``run_kind=\"experimental\"`` triggers mismatch.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L661"}, {"id": "validator_test_engine_audit_rationale_681", "label": "Every entry in the result is a :class:`Finding` instance.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L681"}, {"id": "validator_test_engine_audit_rationale_696", "label": "``\"all\"`` scope walks the staging root when one is configured.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L696"}, {"id": "validator_test_engine_audit_rationale_726", "label": "Every finding has the documented \u00a711.8 fields populated.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L726"}, {"id": "validator_test_engine_audit_rationale_761", "label": "An unrecognised ``scope.kind`` raises ``ValueError`` (defensive guard).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L761"}, {"id": "validator_test_engine_audit_rationale_768", "label": "Walking a missing root produces no findings (silent skip).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L768"}, {"id": "validator_test_engine_audit_rationale_776", "label": "Walking a root that is a regular file (not a directory) returns [].", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L776"}, {"id": "validator_test_engine_audit_rationale_784", "label": "A ``PermissionError`` from ``os.scandir`` does not crash the walk.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L784"}, {"id": "validator_test_engine_audit_rationale_804", "label": "A project subfolder that is not a ``Run_*`` / ``TestRuns`` is \"other\".", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L804"}, {"id": "validator_test_engine_audit_rationale_820", "label": "A non-``TestRun_`` leaf under ``TestRuns/`` is classified as \"other\".", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L820"}, {"id": "validator_test_engine_audit_rationale_836", "label": "A subfolder under a run is classified as \"other\"; rules still walk into it.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L836"}, {"id": "validator_test_engine_audit_rationale_858", "label": "A ``creation.json`` that raises ``OSError`` on read is treated as absent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L858"}, {"id": "validator_test_engine_audit_rationale_877", "label": "A ``creation.json`` with invalid JSON bytes is treated as absent.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L877"}, {"id": "validator_test_engine_audit_rationale_889", "label": "A ``creation.json`` valid as raw dict but failing CreationJson decode.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L889"}, {"id": "validator_test_engine_audit_rationale_909", "label": "A malformed ``readme_fields.json`` is silently skipped (no crash).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L909"}, {"id": "validator_test_engine_audit_rationale_921", "label": "Audit picks up missing required README fields when stamped on creation.json.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L921"}, {"id": "validator_test_engine_audit_rationale_957", "label": "``required_readme_field_ids`` that is not a list is ignored.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L957"}, {"id": "validator_test_engine_audit_rationale_992", "label": "The ``test_runs.json`` marker file is exempt from content scanning.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L992"}, {"id": "validator_test_engine_audit_rationale_1025", "label": "If ``stat()`` raises OSError, the file is skipped from content scanning.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1025"}, {"id": "validator_test_engine_audit_rationale_1052", "label": "If ``open(rb)`` raises OSError, the file is silently skipped.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1052"}, {"id": "validator_test_engine_audit_rationale_1076", "label": "A directory outside the equipment root resolves to \"other\" (defensive).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1076"}, {"id": "validator_test_engine_audit_rationale_1090", "label": "A finding with an unknown tier sorts after both hard and soft.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1090"}, {"id": "validator_test_engine_audit_rationale_1114", "label": "``_level_for_orphan`` returns None for non-project / non-run levels.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1114"}, {"id": "validator_test_engine_audit_rationale_1123", "label": "``Validator.from_config`` projects fields out of a Config-shaped object.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1123"}, {"id": "validator_test_engine_audit_rationale_1141", "label": "When ``orchestrator.enabled`` is False, no staging root is wired in.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1141"}, {"id": "validator_test_engine_audit_rationale_1155", "label": "``orchestrator`` attribute absent on the config also works (default None).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1155"}, {"id": "validator_test_engine_audit_rationale_1166", "label": "``_classify_level`` returns \"other\" for dirs outside the equipment root.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1166"}, {"id": "validator_test_engine_audit_rationale_1176", "label": "``_compute_run_path`` returns ``str(directory)`` for unrelated paths.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1176"}, {"id": "validator_test_engine_audit_rationale_1188", "label": "``_compute_run_path`` for the equipment root itself with ``other``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1188"}, {"id": "validator_test_engine_audit_rationale_187", "label": "# NOTE: deliberately no creation.json at the project level.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L187"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "exlab_wizard_validator_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "exlab_wizard_validator_findings", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_write_creation_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_make_clean_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L96", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_make_validator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L140", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_by_rule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L164", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L173", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L181", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L202", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L219", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L238", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L246", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L268", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L291", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L324", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L348", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L374", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_respects_extensions_allowlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L398", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L417", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L436", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L452", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L474", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L487", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L524", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L549", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_scope_unknown_equipment_id_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L584", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L591", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L607", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L644", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L660", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L680", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L695", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L722", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_unknown_scope_kind_raises_value_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L760", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_root_does_not_exist_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L767", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_root_is_a_file_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L775", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_handles_unreadable_directory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L783", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L803", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L819", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L835", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_creation_json_unreadable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L854", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L876", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L888", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L908", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L920", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L956", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L991", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1021", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1048", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_classify_level_value_error_returns_other", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1075", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_finding_sort_unknown_tier_sorts_after_committed_tiers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1089", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_level_for_orphan_returns_none_for_unmapped_levels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1113", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_validator_from_config_builds_engine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1122", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_validator_from_config_orchestrator_disabled", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1140", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_validator_from_config_no_orchestrator_attr", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1154", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1165", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1175", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "target": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1187", "weight": 1.0}, {"source": "validator_test_engine_audit_make_clean_tree", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L119", "weight": 1.0}, {"source": "validator_test_engine_audit_make_clean_tree", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L121", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L175", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L176", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L188", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L190", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L193", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L195", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L208", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L208", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L211", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L213", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L227", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L227", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L230", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L232", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L240", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L241", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L243", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L252", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L252", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L258", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L260", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L277", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L277", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L283", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L285", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L309", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L309", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L315", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L317", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L332", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L332", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L338", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L340", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L361", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L361", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L367", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L369", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L376", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L383", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_respects_extensions_allowlist", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L400", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_respects_extensions_allowlist", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L404", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L419", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L426", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L438", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L442", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L462", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L462", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L464", "weight": 1.0}, {"source": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L476", "weight": 1.0}, {"source": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L479", "weight": 1.0}, {"source": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L479", "weight": 1.0}, {"source": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L481", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L493", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L495", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L531", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L531", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L542", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L555", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L557", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_scope_unknown_equipment_id_returns_empty", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L586", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L593", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L599", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L631", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L631", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L637", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L639", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L646", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L650", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L667", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L667", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L673", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "target": "validator_test_engine_audit_by_rule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L675", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L686", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L686", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L689", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L702", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L702", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L731", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L731", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L734", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_unknown_scope_kind_raises_value_error", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L762", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_handles_unreadable_directory", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L798", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L809", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L809", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L811", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L826", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L826", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L828", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L837", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L843", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_creation_json_unreadable", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L859", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_creation_json_unreadable", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L870", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L878", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L882", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L898", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L898", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L900", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L910", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L914", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L927", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L931", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L949", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L964", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L968", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L985", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "target": "validator_test_engine_audit_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L998", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L998", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1009", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1026", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1038", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", "target": "validator_test_engine_audit_make_clean_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1053", "weight": 1.0}, {"source": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", "target": "validator_test_engine_audit_make_validator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1065", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_56", "target": "validator_test_engine_audit_build_creation_json_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L56", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_88", "target": "validator_test_engine_audit_write_creation_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L88", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_106", "target": "validator_test_engine_audit_make_clean_tree", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L106", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_148", "target": "validator_test_engine_audit_make_validator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L148", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_174", "target": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L174", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_182", "target": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L182", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_203", "target": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L203", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_220", "target": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L220", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_239", "target": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L239", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_247", "target": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L247", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_269", "target": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L269", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_294", "target": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L294", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_327", "target": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L327", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_351", "target": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L351", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_375", "target": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L375", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_399", "target": "validator_test_engine_audit_test_audit_respects_extensions_allowlist", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L399", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_418", "target": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L418", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_437", "target": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L437", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_455", "target": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L455", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_475", "target": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L475", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_488", "target": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L488", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_525", "target": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L525", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_550", "target": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L550", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_585", "target": "validator_test_engine_audit_test_audit_scope_unknown_equipment_id_returns_empty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L585", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_592", "target": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L592", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_608", "target": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L608", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_645", "target": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L645", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_661", "target": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L661", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_681", "target": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L681", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_696", "target": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L696", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_726", "target": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L726", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_761", "target": "validator_test_engine_audit_test_audit_unknown_scope_kind_raises_value_error", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L761", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_768", "target": "validator_test_engine_audit_test_audit_root_does_not_exist_returns_empty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L768", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_776", "target": "validator_test_engine_audit_test_audit_root_is_a_file_returns_empty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L776", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_784", "target": "validator_test_engine_audit_test_audit_handles_unreadable_directory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L784", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_804", "target": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L804", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_820", "target": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L820", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_836", "target": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L836", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_858", "target": "validator_test_engine_audit_test_audit_creation_json_unreadable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L858", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_877", "target": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L877", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_889", "target": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L889", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_909", "target": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L909", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_921", "target": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L921", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_957", "target": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L957", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_992", "target": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L992", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1025", "target": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1025", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1052", "target": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1052", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1076", "target": "validator_test_engine_audit_test_classify_level_value_error_returns_other", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1076", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1090", "target": "validator_test_engine_audit_test_finding_sort_unknown_tier_sorts_after_committed_tiers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1090", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1114", "target": "validator_test_engine_audit_test_level_for_orphan_returns_none_for_unmapped_levels", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1114", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1123", "target": "validator_test_engine_audit_test_validator_from_config_builds_engine", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1123", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1141", "target": "validator_test_engine_audit_test_validator_from_config_orchestrator_disabled", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1141", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1155", "target": "validator_test_engine_audit_test_validator_from_config_no_orchestrator_attr", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1155", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1166", "target": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1166", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1176", "target": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1176", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_1188", "target": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1188", "weight": 1.0}, {"source": "validator_test_engine_audit_rationale_187", "target": "users_alex_projects_exlabwizard_tests_unit_validator_test_engine_audit_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L187", "weight": 1.0}], "raw_calls": [{"caller_nid": "validator_test_engine_audit_build_creation_json_dict", "callee": "update", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L83"}, {"caller_nid": "validator_test_engine_audit_write_creation_json", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L90"}, {"caller_nid": "validator_test_engine_audit_write_creation_json", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L92"}, {"caller_nid": "validator_test_engine_audit_write_creation_json", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L92"}, {"caller_nid": "validator_test_engine_audit_write_creation_json", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L92"}, {"caller_nid": "validator_test_engine_audit_make_clean_tree", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L117"}, {"caller_nid": "validator_test_engine_audit_make_validator", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L149"}, {"caller_nid": "validator_test_engine_audit_make_validator", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L157"}, {"caller_nid": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L177"}, {"caller_nid": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L186"}, {"caller_nid": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L194"}, {"caller_nid": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L196"}, {"caller_nid": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L197"}, {"caller_nid": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L198"}, {"caller_nid": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L207"}, {"caller_nid": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L212"}, {"caller_nid": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L214"}, {"caller_nid": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L215"}, {"caller_nid": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L226"}, {"caller_nid": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L231"}, {"caller_nid": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L233"}, {"caller_nid": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L235"}, {"caller_nid": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L242"}, {"caller_nid": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L251"}, {"caller_nid": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L259"}, {"caller_nid": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L261"}, {"caller_nid": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L264"}, {"caller_nid": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L265"}, {"caller_nid": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L265"}, {"caller_nid": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L276"}, {"caller_nid": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L284"}, {"caller_nid": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L286"}, {"caller_nid": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L287"}, {"caller_nid": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L288"}, {"caller_nid": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L308"}, {"caller_nid": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L316"}, {"caller_nid": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L320"}, {"caller_nid": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L321"}, {"caller_nid": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L331"}, {"caller_nid": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L339"}, {"caller_nid": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L341"}, {"caller_nid": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L342"}, {"caller_nid": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L345"}, {"caller_nid": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L360"}, {"caller_nid": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L368"}, {"caller_nid": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L370"}, {"caller_nid": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L371"}, {"caller_nid": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L380"}, {"caller_nid": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L387"}, {"caller_nid": "validator_test_engine_audit_test_audit_respects_extensions_allowlist", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L402"}, {"caller_nid": "validator_test_engine_audit_test_audit_respects_extensions_allowlist", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L408"}, {"caller_nid": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L424"}, {"caller_nid": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L427"}, {"caller_nid": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L440"}, {"caller_nid": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L443"}, {"caller_nid": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L449"}, {"caller_nid": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L459"}, {"caller_nid": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L465"}, {"caller_nid": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", "callee": "index", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L470"}, {"caller_nid": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L478"}, {"caller_nid": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L482"}, {"caller_nid": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", "callee": "query_problems", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L483"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L491"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L492"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L510"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L516"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L517"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L521"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L529"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L530"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L543"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L543"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L544"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L544"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L546"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L553"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L554"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L572"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L578"}, {"caller_nid": "validator_test_engine_audit_test_audit_scope_unknown_equipment_id_returns_empty", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L587"}, {"caller_nid": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L597"}, {"caller_nid": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L600"}, {"caller_nid": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L604"}, {"caller_nid": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L630"}, {"caller_nid": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L638"}, {"caller_nid": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L640"}, {"caller_nid": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L641"}, {"caller_nid": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L648"}, {"caller_nid": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L651"}, {"caller_nid": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L657"}, {"caller_nid": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L666"}, {"caller_nid": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L674"}, {"caller_nid": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L676"}, {"caller_nid": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L677"}, {"caller_nid": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L685"}, {"caller_nid": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L690"}, {"caller_nid": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L692"}, {"caller_nid": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L692"}, {"caller_nid": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L698"}, {"caller_nid": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L701"}, {"caller_nid": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L704"}, {"caller_nid": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L708"}, {"caller_nid": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L730"}, {"caller_nid": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L736"}, {"caller_nid": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L738"}, {"caller_nid": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L740"}, {"caller_nid": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L740"}, {"caller_nid": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L751"}, {"caller_nid": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L752"}, {"caller_nid": "validator_test_engine_audit_test_audit_unknown_scope_kind_raises_value_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L763"}, {"caller_nid": "validator_test_engine_audit_test_audit_unknown_scope_kind_raises_value_error", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L764"}, {"caller_nid": "validator_test_engine_audit_test_audit_root_does_not_exist_returns_empty", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L769"}, {"caller_nid": "validator_test_engine_audit_test_audit_root_does_not_exist_returns_empty", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L772"}, {"caller_nid": "validator_test_engine_audit_test_audit_root_is_a_file_returns_empty", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L778"}, {"caller_nid": "validator_test_engine_audit_test_audit_root_is_a_file_returns_empty", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L779"}, {"caller_nid": "validator_test_engine_audit_test_audit_root_is_a_file_returns_empty", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L780"}, {"caller_nid": "validator_test_engine_audit_test_audit_handles_unreadable_directory", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L788"}, {"caller_nid": "validator_test_engine_audit_test_audit_handles_unreadable_directory", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L797"}, {"caller_nid": "validator_test_engine_audit_test_audit_handles_unreadable_directory", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L800"}, {"caller_nid": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L808"}, {"caller_nid": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L812"}, {"caller_nid": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L816"}, {"caller_nid": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L825"}, {"caller_nid": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L829"}, {"caller_nid": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L831"}, {"caller_nid": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L832"}, {"caller_nid": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L839"}, {"caller_nid": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L841"}, {"caller_nid": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L844"}, {"caller_nid": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L846"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_unreadable", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L869"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_unreadable", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L871"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_unreadable", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L873"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_unreadable", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L873"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L880"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L883"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L885"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L885"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L893"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L895"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L897"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L901"}, {"caller_nid": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L905"}, {"caller_nid": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L912"}, {"caller_nid": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L916"}, {"caller_nid": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L917"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L925"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L945"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L946"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L946"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L950"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L952"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L953"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L961"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L981"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L982"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "callee": "dumps", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L982"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L986"}, {"caller_nid": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L988"}, {"caller_nid": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L997"}, {"caller_nid": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1006"}, {"caller_nid": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1007"}, {"caller_nid": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1010"}, {"caller_nid": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1018"}, {"caller_nid": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1028"}, {"caller_nid": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1037"}, {"caller_nid": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1039"}, {"caller_nid": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1055"}, {"caller_nid": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", "callee": "setattr", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1064"}, {"caller_nid": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1066"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_value_error_returns_other", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1078"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_value_error_returns_other", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1080"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_value_error_returns_other", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1082"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_value_error_returns_other", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1085"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_value_error_returns_other", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1085"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_value_error_returns_other", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1086"}, {"caller_nid": "validator_test_engine_audit_test_finding_sort_unknown_tier_sorts_after_committed_tiers", "callee": "Finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1094"}, {"caller_nid": "validator_test_engine_audit_test_finding_sort_unknown_tier_sorts_after_committed_tiers", "callee": "Finding", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1101"}, {"caller_nid": "validator_test_engine_audit_test_finding_sort_unknown_tier_sorts_after_committed_tiers", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1108"}, {"caller_nid": "validator_test_engine_audit_test_level_for_orphan_returns_none_for_unmapped_levels", "callee": "_level_for_orphan", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1117"}, {"caller_nid": "validator_test_engine_audit_test_level_for_orphan_returns_none_for_unmapped_levels", "callee": "_level_for_orphan", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1118"}, {"caller_nid": "validator_test_engine_audit_test_level_for_orphan_returns_none_for_unmapped_levels", "callee": "_level_for_orphan", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1119"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_builds_engine", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1126"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_builds_engine", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1128"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_builds_engine", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1129"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_builds_engine", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1131"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_builds_engine", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1132"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_builds_engine", "callee": "from_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1134"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_builds_engine", "callee": "ValidatorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1135"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_builds_engine", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1137"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_orchestrator_disabled", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1144"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_orchestrator_disabled", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1146"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_orchestrator_disabled", "callee": "from_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1149"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_orchestrator_disabled", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1151"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_no_orchestrator_attr", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1158"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_no_orchestrator_attr", "callee": "from_config", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1161"}, {"caller_nid": "validator_test_engine_audit_test_validator_from_config_no_orchestrator_attr", "callee": "audit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1162"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1168"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1170"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1171"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other", "callee": "_classify_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1172"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1172"}, {"caller_nid": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1172"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1178"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1180"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1181"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", "callee": "_compute_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1182"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1182"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1182"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1182"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1190"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1191"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1191"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root", "callee": "Validator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1192"}, {"caller_nid": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root", "callee": "_compute_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py", "source_location": "L1196"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f576f78c6f63fd93a3146ecfe71733591c51b68b8f5207a197a22bd6b2bdb468.json b/graphify-out/cache/ast/f576f78c6f63fd93a3146ecfe71733591c51b68b8f5207a197a22bd6b2bdb468.json deleted file mode 100644 index 1f5394c..0000000 --- a/graphify-out/cache/ast/f576f78c6f63fd93a3146ecfe71733591c51b68b8f5207a197a22bd6b2bdb468.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_io_json_files_py", "label": "json_files.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L1"}, {"id": "io_json_files_require_schema_major", "label": "require_schema_major()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L28"}, {"id": "io_json_files_read_msgspec_json", "label": "read_msgspec_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L53"}, {"id": "io_json_files_read_msgspec_json_raw", "label": "read_msgspec_json_raw()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L73"}, {"id": "io_json_files_peek_and_check_major", "label": "_peek_and_check_major()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L94"}, {"id": "io_json_files_rationale_1", "label": "msgspec JSON readers with optional schema-major gating. Centralizes the ``path.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L1"}, {"id": "io_json_files_rationale_29", "label": "Raise ``SchemaMajorMismatchError`` when ``version`` is a different major. B", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L29"}, {"id": "io_json_files_rationale_59", "label": "Read ``path`` and decode it as ``type_``, optionally gating on major. When", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L59"}, {"id": "io_json_files_rationale_78", "label": "Two-pass read returning the raw dict for migration-default patching. Some r", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L78"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_json_files_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_json_files_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_json_files_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_json_files_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_json_files_py", "target": "io_json_files_require_schema_major", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_json_files_py", "target": "io_json_files_read_msgspec_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L53", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_json_files_py", "target": "io_json_files_read_msgspec_json_raw", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L73", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_io_json_files_py", "target": "io_json_files_peek_and_check_major", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L94", "weight": 1.0}, {"source": "io_json_files_read_msgspec_json", "target": "io_json_files_peek_and_check_major", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L69", "weight": 1.0}, {"source": "io_json_files_read_msgspec_json_raw", "target": "io_json_files_require_schema_major", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L90", "weight": 1.0}, {"source": "io_json_files_peek_and_check_major", "target": "io_json_files_require_schema_major", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L102", "weight": 1.0}, {"source": "io_json_files_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_io_json_files_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L1", "weight": 1.0}, {"source": "io_json_files_rationale_29", "target": "io_json_files_require_schema_major", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L29", "weight": 1.0}, {"source": "io_json_files_rationale_59", "target": "io_json_files_read_msgspec_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L59", "weight": 1.0}, {"source": "io_json_files_rationale_78", "target": "io_json_files_read_msgspec_json_raw", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L78", "weight": 1.0}], "raw_calls": [{"caller_nid": "io_json_files_require_schema_major", "callee": "SchemaMajorMismatchError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L44"}, {"caller_nid": "io_json_files_require_schema_major", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L44"}, {"caller_nid": "io_json_files_require_schema_major", "callee": "int", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L46"}, {"caller_nid": "io_json_files_require_schema_major", "callee": "split", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L46"}, {"caller_nid": "io_json_files_require_schema_major", "callee": "SchemaMajorMismatchError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L48"}, {"caller_nid": "io_json_files_require_schema_major", "callee": "SchemaMajorMismatchError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L50"}, {"caller_nid": "io_json_files_read_msgspec_json", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L67"}, {"caller_nid": "io_json_files_read_msgspec_json", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L70"}, {"caller_nid": "io_json_files_read_msgspec_json_raw", "callee": "read_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L85"}, {"caller_nid": "io_json_files_read_msgspec_json_raw", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L86"}, {"caller_nid": "io_json_files_read_msgspec_json_raw", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L88"}, {"caller_nid": "io_json_files_read_msgspec_json_raw", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L88"}, {"caller_nid": "io_json_files_peek_and_check_major", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L96"}, {"caller_nid": "io_json_files_peek_and_check_major", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L99"}, {"caller_nid": "io_json_files_peek_and_check_major", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py", "source_location": "L99"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f57822ea20ea4809ecd351af9da7028c24634ddbe5364f0e9891b8c71ae9831a.json b/graphify-out/cache/ast/f57822ea20ea4809ecd351af9da7028c24634ddbe5364f0e9891b8c71ae9831a.json deleted file mode 100644 index 76d7931..0000000 --- a/graphify-out/cache/ast/f57822ea20ea4809ecd351af9da7028c24634ddbe5364f0e9891b8c71ae9831a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_test_flow_23_footer_staging_py", "label": "test_flow_23_footer_staging.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L1"}, {"id": "e2e_test_flow_23_footer_staging_goto", "label": "_goto()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L10"}, {"id": "e2e_test_flow_23_footer_staging_test_flow_23_footer_staging_segment_renders", "label": "test_flow_23_footer_staging_segment_renders()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L23"}, {"id": "e2e_test_flow_23_footer_staging_test_flow_23_bulk_clear_verified_action_present", "label": "test_flow_23_bulk_clear_verified_action_present()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L28"}, {"id": "e2e_test_flow_23_footer_staging_rationale_1", "label": "E2E flow 23: footer Staging segment + bulk Clear verified (Redesign \u00a74.6). The", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_23_footer_staging_py", "target": "e2e_test_flow_23_footer_staging_goto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_23_footer_staging_py", "target": "e2e_test_flow_23_footer_staging_test_flow_23_footer_staging_segment_renders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_test_flow_23_footer_staging_py", "target": "e2e_test_flow_23_footer_staging_test_flow_23_bulk_clear_verified_action_present", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L28", "weight": 1.0}, {"source": "e2e_test_flow_23_footer_staging_test_flow_23_footer_staging_segment_renders", "target": "e2e_test_flow_23_footer_staging_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L24", "weight": 1.0}, {"source": "e2e_test_flow_23_footer_staging_test_flow_23_bulk_clear_verified_action_present", "target": "e2e_test_flow_23_footer_staging_goto", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L29", "weight": 1.0}, {"source": "e2e_test_flow_23_footer_staging_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_test_flow_23_footer_staging_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "e2e_test_flow_23_footer_staging_goto", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L12"}, {"caller_nid": "e2e_test_flow_23_footer_staging_goto", "callee": "goto", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L14"}, {"caller_nid": "e2e_test_flow_23_footer_staging_goto", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L15"}, {"caller_nid": "e2e_test_flow_23_footer_staging_goto", "callee": "wait_for_timeout", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L19"}, {"caller_nid": "e2e_test_flow_23_footer_staging_goto", "callee": "AssertionError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L20"}, {"caller_nid": "e2e_test_flow_23_footer_staging_test_flow_23_footer_staging_segment_renders", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_23_footer_staging_test_flow_23_footer_staging_segment_renders", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L25"}, {"caller_nid": "e2e_test_flow_23_footer_staging_test_flow_23_bulk_clear_verified_action_present", "callee": "locator", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L30"}, {"caller_nid": "e2e_test_flow_23_footer_staging_test_flow_23_bulk_clear_verified_action_present", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L31"}, {"caller_nid": "e2e_test_flow_23_footer_staging_test_flow_23_bulk_clear_verified_action_present", "callee": "click", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L32"}, {"caller_nid": "e2e_test_flow_23_footer_staging_test_flow_23_bulk_clear_verified_action_present", "callee": "wait_for_load_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py", "source_location": "L33"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f5d9459d1333dd6177e4678ec4d441cc86ed0f9c5e169c55d6bfed724620198c.json b/graphify-out/cache/ast/f5d9459d1333dd6177e4678ec4d441cc86ed0f9c5e169c55d6bfed724620198c.json deleted file mode 100644 index 1b0397e..0000000 --- a/graphify-out/cache/ast/f5d9459d1333dd6177e4678ec4d441cc86ed0f9c5e169c55d6bfed724620198c.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "label": "test_handlers.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L1"}, {"id": "logging_test_handlers_reset_context", "label": "_reset_context()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L29"}, {"id": "logging_test_handlers_make_handler", "label": "_make_handler()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L34"}, {"id": "logging_test_handlers_make_record", "label": "_make_record()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L41"}, {"id": "logging_test_handlers_test_writes_to_equipment_scoped_path", "label": "test_writes_to_equipment_scoped_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L60"}, {"id": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "label": "test_writes_to_separate_files_per_equipment()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L76"}, {"id": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "label": "test_subsequent_emits_reuse_the_same_file_descriptor()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L103"}, {"id": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", "label": "test_one_open_per_equipment_even_with_many_emits()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L129"}, {"id": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", "label": "test_emit_without_equipment_id_writes_no_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L152"}, {"id": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", "label": "test_emit_with_explicit_none_equipment_skipped()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L164"}, {"id": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "label": "test_fsync_invoked_only_on_error_level()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L181"}, {"id": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", "label": "test_fsync_on_error_passes_correct_fd()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L199"}, {"id": "logging_test_handlers_test_close_drains_cached_files", "label": "test_close_drains_cached_files()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L217"}, {"id": "logging_test_handlers_test_close_is_idempotent", "label": "test_close_is_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L232"}, {"id": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "label": "test_emit_routes_unexpected_exception_through_handle_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L247"}, {"id": "logging_test_handlers_rationale_1", "label": "Tests for ``exlab_wizard.logging.handlers``. Backend Spec \u00a716.2.4 commits the e", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L1"}, {"id": "logging_test_handlers_rationale_30", "label": "Wipe the run-context vars between cases so handler tests are isolated.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L30"}, {"id": "logging_test_handlers_rationale_35", "label": "Construct a handler with a deterministic hostname for test paths.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L35"}, {"id": "logging_test_handlers_rationale_248", "label": "The ``Exception`` branch in :meth:`emit` is the stdlib handler-error contrac", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L248"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "unittest", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "exlab_wizard_logging_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "exlab_wizard_logging_format", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "exlab_wizard_logging_handlers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_reset_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_make_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_make_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_writes_to_equipment_scoped_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L60", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L76", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L103", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L129", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L164", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L181", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L199", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_close_drains_cached_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L217", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_close_is_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L232", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "target": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L247", "weight": 1.0}, {"source": "logging_test_handlers_test_writes_to_equipment_scoped_path", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L61", "weight": 1.0}, {"source": "logging_test_handlers_test_writes_to_equipment_scoped_path", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L67", "weight": 1.0}, {"source": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L77", "weight": 1.0}, {"source": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L86", "weight": 1.0}, {"source": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L104", "weight": 1.0}, {"source": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L107", "weight": 1.0}, {"source": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L130", "weight": 1.0}, {"source": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L141", "weight": 1.0}, {"source": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L153", "weight": 1.0}, {"source": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L156", "weight": 1.0}, {"source": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L165", "weight": 1.0}, {"source": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L170", "weight": 1.0}, {"source": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L182", "weight": 1.0}, {"source": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L186", "weight": 1.0}, {"source": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L200", "weight": 1.0}, {"source": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L204", "weight": 1.0}, {"source": "logging_test_handlers_test_close_drains_cached_files", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L218", "weight": 1.0}, {"source": "logging_test_handlers_test_close_drains_cached_files", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L221", "weight": 1.0}, {"source": "logging_test_handlers_test_close_is_idempotent", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L233", "weight": 1.0}, {"source": "logging_test_handlers_test_close_is_idempotent", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L235", "weight": 1.0}, {"source": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "target": "logging_test_handlers_make_handler", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L252", "weight": 1.0}, {"source": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "target": "logging_test_handlers_make_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L258", "weight": 1.0}, {"source": "logging_test_handlers_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_logging_test_handlers_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L1", "weight": 1.0}, {"source": "logging_test_handlers_rationale_30", "target": "logging_test_handlers_reset_context", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L30", "weight": 1.0}, {"source": "logging_test_handlers_rationale_35", "target": "logging_test_handlers_make_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L35", "weight": 1.0}, {"source": "logging_test_handlers_rationale_248", "target": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L248", "weight": 1.0}], "raw_calls": [{"caller_nid": "logging_test_handlers_reset_context", "callee": "clear_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L31"}, {"caller_nid": "logging_test_handlers_make_handler", "callee": "EquipmentScopedFileHandler", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L36"}, {"caller_nid": "logging_test_handlers_make_handler", "callee": "setFormatter", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L37"}, {"caller_nid": "logging_test_handlers_make_handler", "callee": "StructuredTagFormatter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L37"}, {"caller_nid": "logging_test_handlers_make_record", "callee": "LogRecord", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L42"}, {"caller_nid": "logging_test_handlers_test_writes_to_equipment_scoped_path", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L63"}, {"caller_nid": "logging_test_handlers_test_writes_to_equipment_scoped_path", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L66"}, {"caller_nid": "logging_test_handlers_test_writes_to_equipment_scoped_path", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L67"}, {"caller_nid": "logging_test_handlers_test_writes_to_equipment_scoped_path", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L69"}, {"caller_nid": "logging_test_handlers_test_writes_to_equipment_scoped_path", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L71"}, {"caller_nid": "logging_test_handlers_test_writes_to_equipment_scoped_path", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L72"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L79"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L82"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L85"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L86"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L87"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L88"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L90"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L92"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L93"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L94"}, {"caller_nid": "logging_test_handlers_test_writes_to_separate_files_per_equipment", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L95"}, {"caller_nid": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L106"}, {"caller_nid": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L107"}, {"caller_nid": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L111"}, {"caller_nid": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L112"}, {"caller_nid": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L118"}, {"caller_nid": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "callee": "format", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L121"}, {"caller_nid": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L123"}, {"caller_nid": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", "callee": "object", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L134"}, {"caller_nid": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L139"}, {"caller_nid": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L140"}, {"caller_nid": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L141"}, {"caller_nid": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L144"}, {"caller_nid": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L156"}, {"caller_nid": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L158"}, {"caller_nid": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L161"}, {"caller_nid": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", "callee": "iterdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L161"}, {"caller_nid": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L169"}, {"caller_nid": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L170"}, {"caller_nid": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L172"}, {"caller_nid": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L173"}, {"caller_nid": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", "callee": "iterdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L173"}, {"caller_nid": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "callee": "patch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L184"}, {"caller_nid": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L185"}, {"caller_nid": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L186"}, {"caller_nid": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L187"}, {"caller_nid": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L188"}, {"caller_nid": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L189"}, {"caller_nid": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L190"}, {"caller_nid": "logging_test_handlers_test_fsync_invoked_only_on_error_level", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L196"}, {"caller_nid": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", "callee": "patch", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L202"}, {"caller_nid": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L203"}, {"caller_nid": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L204"}, {"caller_nid": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", "callee": "assert_called_once_with", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L207"}, {"caller_nid": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L209"}, {"caller_nid": "logging_test_handlers_test_close_drains_cached_files", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L220"}, {"caller_nid": "logging_test_handlers_test_close_drains_cached_files", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L221"}, {"caller_nid": "logging_test_handlers_test_close_drains_cached_files", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L222"}, {"caller_nid": "logging_test_handlers_test_close_drains_cached_files", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L223"}, {"caller_nid": "logging_test_handlers_test_close_drains_cached_files", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L225"}, {"caller_nid": "logging_test_handlers_test_close_drains_cached_files", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L227"}, {"caller_nid": "logging_test_handlers_test_close_is_idempotent", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L234"}, {"caller_nid": "logging_test_handlers_test_close_is_idempotent", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L235"}, {"caller_nid": "logging_test_handlers_test_close_is_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L236"}, {"caller_nid": "logging_test_handlers_test_close_is_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L239"}, {"caller_nid": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "callee": "object", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L254"}, {"caller_nid": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "callee": "object", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L255"}, {"caller_nid": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "callee": "OSError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L255"}, {"caller_nid": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L256"}, {"caller_nid": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "callee": "emit", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L258"}, {"caller_nid": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", "callee": "assert_called_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py", "source_location": "L259"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f62d0573acc2e219be0f5ad8e1594591ddbad46b66e5b61193f4a9cca5bb9da4.json b/graphify-out/cache/ast/f62d0573acc2e219be0f5ad8e1594591ddbad46b66e5b61193f4a9cca5bb9da4.json deleted file mode 100644 index 19f9c39..0000000 --- a/graphify-out/cache/ast/f62d0573acc2e219be0f5ad8e1594591ddbad46b66e5b61193f4a9cca5bb9da4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_log_writer_py", "label": "log_writer.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L1"}, {"id": "cache_log_writer_format_log_line", "label": "format_log_line()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L72"}, {"id": "cache_log_writer_render_tags", "label": "_render_tags()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L115"}, {"id": "cache_log_writer_truncate_if_needed", "label": "_truncate_if_needed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L143"}, {"id": "cache_log_writer_append_log_line", "label": "append_log_line()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L182"}, {"id": "cache_log_writer_rationale_1", "label": "Append-only writer for ``wizard..log`` files. Backend Spec \u00a711.5, \u00a716.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L1"}, {"id": "cache_log_writer_rationale_83", "label": "Render a structured log line per Backend Spec \u00a711.5 / \u00a716.4. Tags are omitt", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L83"}, {"id": "cache_log_writer_rationale_123", "label": "Render the supplied context as ``[host:..] [equip:..] ...``. Returns the em", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L123"}, {"id": "cache_log_writer_rationale_144", "label": "Trim ``line`` so its UTF-8 byte length is at most ``LOG_LINE_MAX_BYTES``. T", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L144"}, {"id": "cache_log_writer_rationale_183", "label": "Append a single ``line`` to a ``wizard..log`` file. Creates the p", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L183"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_log_writer_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_log_writer_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_log_writer_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_log_writer_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_log_writer_py", "target": "cache_log_writer_format_log_line", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_log_writer_py", "target": "cache_log_writer_render_tags", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L115", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_log_writer_py", "target": "cache_log_writer_truncate_if_needed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L143", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_log_writer_py", "target": "cache_log_writer_append_log_line", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L182", "weight": 1.0}, {"source": "cache_log_writer_format_log_line", "target": "cache_log_writer_render_tags", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L103", "weight": 1.0}, {"source": "cache_log_writer_format_log_line", "target": "cache_log_writer_truncate_if_needed", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L112", "weight": 1.0}, {"source": "cache_log_writer_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_cache_log_writer_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L1", "weight": 1.0}, {"source": "cache_log_writer_rationale_83", "target": "cache_log_writer_format_log_line", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L83", "weight": 1.0}, {"source": "cache_log_writer_rationale_123", "target": "cache_log_writer_render_tags", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L123", "weight": 1.0}, {"source": "cache_log_writer_rationale_144", "target": "cache_log_writer_truncate_if_needed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L144", "weight": 1.0}, {"source": "cache_log_writer_rationale_183", "target": "cache_log_writer_append_log_line", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L183", "weight": 1.0}], "raw_calls": [{"caller_nid": "cache_log_writer_format_log_line", "callee": "dt_to_iso", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L101"}, {"caller_nid": "cache_log_writer_render_tags", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L139"}, {"caller_nid": "cache_log_writer_render_tags", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L140"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L153"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L154"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L156"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L158"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L163"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L164"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L168"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L171"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L172"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L172"}, {"caller_nid": "cache_log_writer_truncate_if_needed", "callee": "decode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L173"}, {"caller_nid": "cache_log_writer_append_log_line", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L203"}, {"caller_nid": "cache_log_writer_append_log_line", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L208"}, {"caller_nid": "cache_log_writer_append_log_line", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L209"}, {"caller_nid": "cache_log_writer_append_log_line", "callee": "write", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py", "source_location": "L210"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f7e55b1353c1e6e3f05f44cec346d272f843163fe2b540587afeedc3c87ad05b.json b/graphify-out/cache/ast/f7e55b1353c1e6e3f05f44cec346d272f843163fe2b540587afeedc3c87ad05b.json deleted file mode 100644 index 2c46483..0000000 --- a/graphify-out/cache/ast/f7e55b1353c1e6e3f05f44cec346d272f843163fe2b540587afeedc3c87ad05b.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "label": "catalogue.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L1"}, {"id": "lims_catalogue_offlinecatalogue", "label": "OfflineCatalogue", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L51"}, {"id": "lims_catalogue_read_catalogue", "label": "read_catalogue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L72"}, {"id": "lims_catalogue_write_catalogue", "label": "write_catalogue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L135"}, {"id": "lims_catalogue_project_to_dict", "label": "_project_to_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L155"}, {"id": "lims_catalogue_rationale_1", "label": "Offline LIMS project catalogue read/write. Backend Spec \u00a77.2.9. A catalogue is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L1"}, {"id": "lims_catalogue_rationale_52", "label": "Decoded offline catalogue. Backend Spec \u00a77.2.9.1. ``schema_version`` is pin", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L52"}, {"id": "lims_catalogue_rationale_73", "label": "Read and validate the catalogue file. Returns ``None`` (and logs a WARN) wh", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L73"}, {"id": "lims_catalogue_rationale_136", "label": "Atomically write ``catalogue`` to ``path``. Backend Spec \u00a77.2.9.2. Protocol", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L136"}, {"id": "lims_catalogue_rationale_156", "label": "Re-emit a LIMSProject as a serializable dict.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L156"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L34", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "msgspec", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L40", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "exlab_wizard_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "exlab_wizard_lims_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L42", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L43", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "lims_catalogue_offlinecatalogue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L51", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "lims_catalogue_read_catalogue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L72", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "lims_catalogue_write_catalogue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "target": "lims_catalogue_project_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L155", "weight": 1.0}, {"source": "lims_catalogue_read_catalogue", "target": "lims_catalogue_offlinecatalogue", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L126", "weight": 1.0}, {"source": "lims_catalogue_write_catalogue", "target": "lims_catalogue_project_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L149", "weight": 1.0}, {"source": "lims_catalogue_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_lims_catalogue_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L1", "weight": 1.0}, {"source": "lims_catalogue_rationale_52", "target": "lims_catalogue_offlinecatalogue", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L52", "weight": 1.0}, {"source": "lims_catalogue_rationale_73", "target": "lims_catalogue_read_catalogue", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L73", "weight": 1.0}, {"source": "lims_catalogue_rationale_136", "target": "lims_catalogue_write_catalogue", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L136", "weight": 1.0}, {"source": "lims_catalogue_rationale_156", "target": "lims_catalogue_project_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L156", "weight": 1.0}], "raw_calls": [{"caller_nid": "lims_catalogue_read_catalogue", "callee": "read_msgspec_json_raw", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L93"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L93"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L96"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L99"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L104"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "warning", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L106"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L115"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "ConfigError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L121"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L123"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "convert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L124"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L128"}, {"caller_nid": "lims_catalogue_read_catalogue", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L129"}, {"caller_nid": "lims_catalogue_write_catalogue", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L142"}, {"caller_nid": "lims_catalogue_write_catalogue", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L143"}, {"caller_nid": "lims_catalogue_write_catalogue", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L151"}, {"caller_nid": "lims_catalogue_write_catalogue", "callee": "atomic_write_bytes", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py", "source_location": "L152"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f82fa93ced883f255e440c6a64c87b8717084fa82fdfd60a91bedc769bb9b6fe.json b/graphify-out/cache/ast/f82fa93ced883f255e440c6a64c87b8717084fa82fdfd60a91bedc769bb9b6fe.json deleted file mode 100644 index 198329b..0000000 --- a/graphify-out/cache/ast/f82fa93ced883f255e440c6a64c87b8717084fa82fdfd60a91bedc769bb9b6fe.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "label": "test_bandwidth.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L1"}, {"id": "sync_test_bandwidth_wed_at", "label": "_wed_at()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L20"}, {"id": "sync_test_bandwidth_test_mbps_to_kibps_uses_spec_formula", "label": "test_mbps_to_kibps_uses_spec_formula()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L25"}, {"id": "sync_test_bandwidth_test_mbps_to_kibps_floor_for_tiny_input", "label": "test_mbps_to_kibps_floor_for_tiny_input()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L31"}, {"id": "sync_test_bandwidth_test_mbps_to_kibps_zero", "label": "test_mbps_to_kibps_zero()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L36"}, {"id": "sync_test_bandwidth_test_day_name_to_index_covers_all_days", "label": "test_day_name_to_index_covers_all_days()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L41"}, {"id": "sync_test_bandwidth_test_is_window_active_inside_window", "label": "test_is_window_active_inside_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L47"}, {"id": "sync_test_bandwidth_test_is_window_active_outside_window", "label": "test_is_window_active_outside_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L52"}, {"id": "sync_test_bandwidth_test_is_window_active_wrong_weekday", "label": "test_is_window_active_wrong_weekday()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L58"}, {"id": "sync_test_bandwidth_test_effective_unlimited_when_upload_mbps_none", "label": "test_effective_unlimited_when_upload_mbps_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L64"}, {"id": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", "label": "test_effective_unlimited_when_outside_schedule()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L69"}, {"id": "sync_test_bandwidth_test_effective_throttled_inside_schedule", "label": "test_effective_throttled_inside_schedule()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L78"}, {"id": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", "label": "test_effective_throttled_when_no_schedule()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L86"}, {"id": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", "label": "test_effective_throttled_in_first_matching_window()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L92"}, {"id": "sync_test_bandwidth_rationale_1", "label": "Tests for ``exlab_wizard.sync.bandwidth``. Backend Spec \u00a77.1.7. The schedule ev", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L1"}, {"id": "sync_test_bandwidth_rationale_21", "label": "A Wednesday in 2026 (weekday 2) at the requested local time.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L21"}, {"id": "sync_test_bandwidth_rationale_26", "label": "Spec \u00a77.1.7: ``K = upload_mbps * 1024 / 8``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L26"}, {"id": "sync_test_bandwidth_rationale_32", "label": "A tiny but positive input rounds up to 1 KiB/s, not 0.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L32"}, {"id": "sync_test_bandwidth_rationale_59", "label": "Weekday filtering rejects days not in ``window.days``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L59"}, {"id": "sync_test_bandwidth_rationale_87", "label": "A cap with no schedule applies always.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L87"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "exlab_wizard_sync_bandwidth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_wed_at", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_mbps_to_kibps_uses_spec_formula", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_mbps_to_kibps_floor_for_tiny_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_mbps_to_kibps_zero", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_day_name_to_index_covers_all_days", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_is_window_active_inside_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_is_window_active_outside_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_is_window_active_wrong_weekday", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L58", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_effective_unlimited_when_upload_mbps_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L64", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L69", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_effective_throttled_inside_schedule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L78", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L86", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "target": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L92", "weight": 1.0}, {"source": "sync_test_bandwidth_test_is_window_active_inside_window", "target": "sync_test_bandwidth_wed_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L49", "weight": 1.0}, {"source": "sync_test_bandwidth_test_is_window_active_outside_window", "target": "sync_test_bandwidth_wed_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L54", "weight": 1.0}, {"source": "sync_test_bandwidth_test_is_window_active_wrong_weekday", "target": "sync_test_bandwidth_wed_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L61", "weight": 1.0}, {"source": "sync_test_bandwidth_test_effective_unlimited_when_upload_mbps_none", "target": "sync_test_bandwidth_wed_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L66", "weight": 1.0}, {"source": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", "target": "sync_test_bandwidth_wed_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L75", "weight": 1.0}, {"source": "sync_test_bandwidth_test_effective_throttled_inside_schedule", "target": "sync_test_bandwidth_wed_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L83", "weight": 1.0}, {"source": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", "target": "sync_test_bandwidth_wed_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L89", "weight": 1.0}, {"source": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", "target": "sync_test_bandwidth_wed_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L100", "weight": 1.0}, {"source": "sync_test_bandwidth_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_sync_test_bandwidth_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_test_bandwidth_rationale_21", "target": "sync_test_bandwidth_wed_at", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L21", "weight": 1.0}, {"source": "sync_test_bandwidth_rationale_26", "target": "sync_test_bandwidth_test_mbps_to_kibps_uses_spec_formula", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L26", "weight": 1.0}, {"source": "sync_test_bandwidth_rationale_32", "target": "sync_test_bandwidth_test_mbps_to_kibps_floor_for_tiny_input", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L32", "weight": 1.0}, {"source": "sync_test_bandwidth_rationale_59", "target": "sync_test_bandwidth_test_is_window_active_wrong_weekday", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L59", "weight": 1.0}, {"source": "sync_test_bandwidth_rationale_87", "target": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L87", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_test_bandwidth_wed_at", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L22"}, {"caller_nid": "sync_test_bandwidth_test_mbps_to_kibps_uses_spec_formula", "callee": "mbps_to_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L27"}, {"caller_nid": "sync_test_bandwidth_test_mbps_to_kibps_uses_spec_formula", "callee": "round", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L27"}, {"caller_nid": "sync_test_bandwidth_test_mbps_to_kibps_uses_spec_formula", "callee": "mbps_to_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L28"}, {"caller_nid": "sync_test_bandwidth_test_mbps_to_kibps_floor_for_tiny_input", "callee": "mbps_to_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L33"}, {"caller_nid": "sync_test_bandwidth_test_mbps_to_kibps_zero", "callee": "mbps_to_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L37"}, {"caller_nid": "sync_test_bandwidth_test_mbps_to_kibps_zero", "callee": "mbps_to_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L38"}, {"caller_nid": "sync_test_bandwidth_test_day_name_to_index_covers_all_days", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L42"}, {"caller_nid": "sync_test_bandwidth_test_is_window_active_inside_window", "callee": "BandwidthWindow", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L48"}, {"caller_nid": "sync_test_bandwidth_test_is_window_active_inside_window", "callee": "is_window_active", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L49"}, {"caller_nid": "sync_test_bandwidth_test_is_window_active_outside_window", "callee": "BandwidthWindow", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L53"}, {"caller_nid": "sync_test_bandwidth_test_is_window_active_outside_window", "callee": "is_window_active", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L54"}, {"caller_nid": "sync_test_bandwidth_test_is_window_active_outside_window", "callee": "is_window_active", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L55"}, {"caller_nid": "sync_test_bandwidth_test_is_window_active_wrong_weekday", "callee": "BandwidthWindow", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L60"}, {"caller_nid": "sync_test_bandwidth_test_is_window_active_wrong_weekday", "callee": "is_window_active", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L61"}, {"caller_nid": "sync_test_bandwidth_test_effective_unlimited_when_upload_mbps_none", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L65"}, {"caller_nid": "sync_test_bandwidth_test_effective_unlimited_when_upload_mbps_none", "callee": "effective_bandwidth_limit_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L66"}, {"caller_nid": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L70"}, {"caller_nid": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", "callee": "BandwidthWindow", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L72"}, {"caller_nid": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", "callee": "effective_bandwidth_limit_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L75"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_inside_schedule", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L79"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_inside_schedule", "callee": "BandwidthWindow", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L81"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_inside_schedule", "callee": "effective_bandwidth_limit_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L83"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_inside_schedule", "callee": "mbps_to_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L83"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L88"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", "callee": "effective_bandwidth_limit_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L89"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", "callee": "mbps_to_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L89"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", "callee": "BandwidthConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L93"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", "callee": "BandwidthWindow", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L96"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", "callee": "BandwidthWindow", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L97"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", "callee": "effective_bandwidth_limit_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L100"}, {"caller_nid": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", "callee": "mbps_to_kibps", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py", "source_location": "L100"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/f844f9fcff45d59e5ad8baa4b334dbdc5e7f82b533818441146e8c3dbda6ff66.json b/graphify-out/cache/ast/f844f9fcff45d59e5ad8baa4b334dbdc5e7f82b533818441146e8c3dbda6ff66.json deleted file mode 100644 index 5602402..0000000 --- a/graphify-out/cache/ast/f844f9fcff45d59e5ad8baa4b334dbdc5e7f82b533818441146e8c3dbda6ff66.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_plugin_guide_manifest_schema_md", "label": "manifest_schema.md", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L1"}, {"id": "plugin_guide_manifest_schema_manifest_schema", "label": "Manifest Schema", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L1"}, {"id": "plugin_guide_manifest_schema_required_identity_fields", "label": "Required identity fields", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L9"}, {"id": "plugin_guide_manifest_schema_codeblock_1", "label": "code:yaml (name: \"xlsx_field_filler\")", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L11"}, {"id": "plugin_guide_manifest_schema_required_dispatch_fields", "label": "Required dispatch fields", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L18"}, {"id": "plugin_guide_manifest_schema_codeblock_2", "label": "code:yaml (supported_extensions: [\".xlsx\"] # file-extension or \"readm)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L20"}, {"id": "plugin_guide_manifest_schema_optional_declaration_block", "label": "Optional declaration block", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L30"}, {"id": "plugin_guide_manifest_schema_codeblock_3", "label": "code:yaml (required_variables:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L32"}, {"id": "plugin_guide_manifest_schema_optional_execution_policy", "label": "Optional execution policy", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L48"}, {"id": "plugin_guide_manifest_schema_codeblock_4", "label": "code:yaml (isolation:)", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L50"}, {"id": "plugin_guide_manifest_schema_discovery_rules", "label": "Discovery rules", "file_type": "document", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L61"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_plugin_guide_manifest_schema_md", "target": "plugin_guide_manifest_schema_manifest_schema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L1", "weight": 1.0}, {"source": "plugin_guide_manifest_schema_manifest_schema", "target": "plugin_guide_manifest_schema_required_identity_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L9", "weight": 1.0}, {"source": "plugin_guide_manifest_schema_required_identity_fields", "target": "plugin_guide_manifest_schema_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L11", "weight": 1.0}, {"source": "plugin_guide_manifest_schema_manifest_schema", "target": "plugin_guide_manifest_schema_required_dispatch_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L18", "weight": 1.0}, {"source": "plugin_guide_manifest_schema_required_dispatch_fields", "target": "plugin_guide_manifest_schema_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L20", "weight": 1.0}, {"source": "plugin_guide_manifest_schema_manifest_schema", "target": "plugin_guide_manifest_schema_optional_declaration_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L30", "weight": 1.0}, {"source": "plugin_guide_manifest_schema_optional_declaration_block", "target": "plugin_guide_manifest_schema_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L32", "weight": 1.0}, {"source": "plugin_guide_manifest_schema_manifest_schema", "target": "plugin_guide_manifest_schema_optional_execution_policy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L48", "weight": 1.0}, {"source": "plugin_guide_manifest_schema_optional_execution_policy", "target": "plugin_guide_manifest_schema_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L50", "weight": 1.0}, {"source": "plugin_guide_manifest_schema_manifest_schema", "target": "plugin_guide_manifest_schema_discovery_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md", "source_location": "L61", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/f953077b6a676b48dd3f5cd0c1d8f7be5733304b1d6790941fca0dd2bd4d77f4.json b/graphify-out/cache/ast/f953077b6a676b48dd3f5cd0c1d8f7be5733304b1d6790941fca0dd2bd4d77f4.json deleted file mode 100644 index 3fbd24c..0000000 --- a/graphify-out/cache/ast/f953077b6a676b48dd3f5cd0c1d8f7be5733304b1d6790941fca0dd2bd4d77f4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/__init__.py", "source_location": "L1"}, {"id": "logging_init_rationale_1", "label": "Canonical logger package. Backend Spec \u00a716. This package owns the runtime logge", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_init_py", "target": "exlab_wizard_logging_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/__init__.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_init_py", "target": "exlab_wizard_logging_manager", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/__init__.py", "source_location": "L23", "weight": 1.0}, {"source": "logging_init_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_logging_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/f980ca94bd3668c504fb48daf8156e2e4ac72c9c11f06cfc9bd67577a8638cb0.json b/graphify-out/cache/ast/f980ca94bd3668c504fb48daf8156e2e4ac72c9c11f06cfc9bd67577a8638cb0.json deleted file mode 100644 index 7c7022d..0000000 --- a/graphify-out/cache/ast/f980ca94bd3668c504fb48daf8156e2e4ac72c9c11f06cfc9bd67577a8638cb0.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/__init__.py", "source_location": "L1"}, {"id": "error_plugin_init_rationale_1", "label": "error_plugin -- raises PluginError mid-transform.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_init_py", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_plugin_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "error_plugin_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_error_plugin_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/f9f26c8e4c35051adaaeb55a89e115f893de8984be2607e77d3f2d769f3050f4.json b/graphify-out/cache/ast/f9f26c8e4c35051adaaeb55a89e115f893de8984be2607e77d3f2d769f3050f4.json deleted file mode 100644 index e74111d..0000000 --- a/graphify-out/cache/ast/f9f26c8e4c35051adaaeb55a89e115f893de8984be2607e77d3f2d769f3050f4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_override_badge_py", "label": "override_badge.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L1"}, {"id": "components_override_badge_override_badge_props", "label": "override_badge_props()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L20"}, {"id": "components_override_badge_override_badge", "label": "override_badge()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L38"}, {"id": "components_override_badge_rationale_1", "label": "Override pill (Frontend Spec \u00a73.6.1, \u00a711). A pill that appears next to a run's", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L1"}, {"id": "components_override_badge_rationale_21", "label": "Compute styling props for the override pill.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L21"}, {"id": "components_override_badge_rationale_39", "label": "Build a clickable badge for the override state. Clicking opens the \u00a711.5 ov", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L39"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_override_badge_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_override_badge_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_override_badge_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_override_badge_py", "target": "exlab_wizard_ui", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_override_badge_py", "target": "components_override_badge_override_badge_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_override_badge_py", "target": "components_override_badge_override_badge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L38", "weight": 1.0}, {"source": "components_override_badge_override_badge", "target": "components_override_badge_override_badge_props", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L45", "weight": 1.0}, {"source": "components_override_badge_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_override_badge_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L1", "weight": 1.0}, {"source": "components_override_badge_rationale_21", "target": "components_override_badge_override_badge_props", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L21", "weight": 1.0}, {"source": "components_override_badge_rationale_39", "target": "components_override_badge_override_badge", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L39", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_override_badge_override_badge", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L51"}, {"caller_nid": "components_override_badge_override_badge", "callee": "badge", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L51"}, {"caller_nid": "components_override_badge_override_badge", "callee": "on", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L65"}, {"caller_nid": "components_override_badge_override_badge", "callee": "on_click", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py", "source_location": "L65"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fa3d6fa5423db65d7aeb93dc77fe31f673ad906d63ccfc2bb9eddf253621d32e.json b/graphify-out/cache/ast/fa3d6fa5423db65d7aeb93dc77fe31f673ad906d63ccfc2bb9eddf253621d32e.json deleted file mode 100644 index 4adfe95..0000000 --- a/graphify-out/cache/ast/fa3d6fa5423db65d7aeb93dc77fe31f673ad906d63ccfc2bb9eddf253621d32e.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "label": "session_store.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L1"}, {"id": "controller_session_store_session", "label": "Session", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L46"}, {"id": "controller_session_store_session_is_terminal", "label": ".is_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L87"}, {"id": "controller_session_store_sessionstore", "label": "SessionStore", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L92"}, {"id": "controller_session_store_sessionstore_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L99"}, {"id": "controller_session_store_sessionstore_open", "label": ".open()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L104"}, {"id": "controller_session_store_sessionstore_get", "label": ".get()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L125"}, {"id": "controller_session_store_sessionstore_iter_sorted", "label": ".iter_sorted()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L129"}, {"id": "controller_session_store_sessionstore_transition", "label": ".transition()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L138"}, {"id": "controller_session_store_sessionstore_attach_event_queue", "label": ".attach_event_queue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L159"}, {"id": "controller_session_store_sessionstore_heartbeat", "label": ".heartbeat()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L171"}, {"id": "controller_session_store_sessionstore_close", "label": ".close()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L182"}, {"id": "controller_session_store_sessionstore_abandoned_older_than", "label": ".abandoned_older_than()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L202"}, {"id": "controller_session_store_sessionstore_gc_loop", "label": ".gc_loop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L218"}, {"id": "controller_session_store_sessionstore_gc_once", "label": "._gc_once()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L236"}, {"id": "controller_session_store_on_operations_panel", "label": "on_operations_panel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L259"}, {"id": "controller_session_store_project_identifier", "label": "project_identifier()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L270"}, {"id": "controller_session_store_rationale_1", "label": "In-memory session store + GC for creation sessions. Backend Spec \u00a74.4.7. The :c", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L1"}, {"id": "controller_session_store_rationale_47", "label": "One creation session. Backend Spec \u00a74.4.7. Attributes: session_id:", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L47"}, {"id": "controller_session_store_rationale_88", "label": "Return ``True`` if the session reached a terminal state.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L88"}, {"id": "controller_session_store_rationale_93", "label": "In-memory session store. Backend Spec \u00a74.4.7. Sessions are keyed by UUID4 s", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L93"}, {"id": "controller_session_store_rationale_105", "label": "Create a fresh session in :data:`SessionState.PENDING` state.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L105"}, {"id": "controller_session_store_rationale_126", "label": "Return the session keyed by ``session_id``, or ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L126"}, {"id": "controller_session_store_rationale_130", "label": "Return ``(session_id, session)`` pairs, oldest-created first. The publi", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L130"}, {"id": "controller_session_store_rationale_139", "label": "Move ``session_id`` to ``new_state``, updating ``current_phase``. Valid", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L139"}, {"id": "controller_session_store_rationale_160", "label": "Attach a WebSocket fan-out queue to the session. The controller pushes", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L160"}, {"id": "controller_session_store_rationale_172", "label": "Refresh ``last_heartbeat`` so the GC will not close this session. No-op", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L172"}, {"id": "controller_session_store_rationale_183", "label": "Stamp a terminal-state session with the outcome envelope. ``outcome`` i", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L183"}, {"id": "controller_session_store_rationale_203", "label": "Return ids of :data:`SessionState.INPUT_REQUIRED` sessions whose ``last_", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L203"}, {"id": "controller_session_store_rationale_219", "label": "Run the abandoned-session GC forever. Backend Spec \u00a74.4.7. Sleeps ``int", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L219"}, {"id": "controller_session_store_rationale_237", "label": "One GC pass: close every abandoned ``INPUT_REQUIRED`` session.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L237"}, {"id": "controller_session_store_rationale_260", "label": "Return ``True`` when ``session`` belongs on the Operations panel. Frontend", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L260"}, {"id": "controller_session_store_rationale_271", "label": "Pluck a project identifier off a project / run creation request. A project", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L271"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "contextlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "exlab_wizard_controller_state_machine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L36", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "controller_session_store_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L46", "weight": 1.0}, {"source": "controller_session_store_session", "target": "controller_session_store_session_is_terminal", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L87", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "controller_session_store_sessionstore", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L92", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L99", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_open", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L104", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_get", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L125", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_iter_sorted", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L129", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_transition", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L138", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_attach_event_queue", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L159", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_heartbeat", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L171", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L182", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_abandoned_older_than", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L202", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_gc_loop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L218", "weight": 1.0}, {"source": "controller_session_store_sessionstore", "target": "controller_session_store_sessionstore_gc_once", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L236", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "controller_session_store_on_operations_panel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L259", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "target": "controller_session_store_project_identifier", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L270", "weight": 1.0}, {"source": "controller_session_store_sessionstore_open", "target": "controller_session_store_session", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L108", "weight": 1.0}, {"source": "controller_session_store_sessionstore_transition", "target": "controller_session_store_sessionstore_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L147", "weight": 1.0}, {"source": "controller_session_store_sessionstore_attach_event_queue", "target": "controller_session_store_sessionstore_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L166", "weight": 1.0}, {"source": "controller_session_store_sessionstore_heartbeat", "target": "controller_session_store_sessionstore_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L177", "weight": 1.0}, {"source": "controller_session_store_sessionstore_close", "target": "controller_session_store_sessionstore_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L192", "weight": 1.0}, {"source": "controller_session_store_sessionstore_gc_loop", "target": "controller_session_store_sessionstore_gc_once", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L232", "weight": 1.0}, {"source": "controller_session_store_sessionstore_gc_once", "target": "controller_session_store_sessionstore_abandoned_older_than", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L238", "weight": 1.0}, {"source": "controller_session_store_sessionstore_gc_once", "target": "controller_session_store_sessionstore_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L239", "weight": 1.0}, {"source": "controller_session_store_sessionstore_gc_once", "target": "controller_session_store_sessionstore_transition", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L243", "weight": 1.0}, {"source": "controller_session_store_sessionstore_gc_once", "target": "controller_session_store_sessionstore_close", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L245", "weight": 1.0}, {"source": "controller_session_store_project_identifier", "target": "controller_session_store_sessionstore_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L284", "weight": 1.0}, {"source": "controller_session_store_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_controller_session_store_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L1", "weight": 1.0}, {"source": "controller_session_store_rationale_47", "target": "controller_session_store_session", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L47", "weight": 1.0}, {"source": "controller_session_store_rationale_88", "target": "controller_session_store_session_is_terminal", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L88", "weight": 1.0}, {"source": "controller_session_store_rationale_93", "target": "controller_session_store_sessionstore", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L93", "weight": 1.0}, {"source": "controller_session_store_rationale_105", "target": "controller_session_store_sessionstore_open", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L105", "weight": 1.0}, {"source": "controller_session_store_rationale_126", "target": "controller_session_store_sessionstore_get", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L126", "weight": 1.0}, {"source": "controller_session_store_rationale_130", "target": "controller_session_store_sessionstore_iter_sorted", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L130", "weight": 1.0}, {"source": "controller_session_store_rationale_139", "target": "controller_session_store_sessionstore_transition", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L139", "weight": 1.0}, {"source": "controller_session_store_rationale_160", "target": "controller_session_store_sessionstore_attach_event_queue", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L160", "weight": 1.0}, {"source": "controller_session_store_rationale_172", "target": "controller_session_store_sessionstore_heartbeat", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L172", "weight": 1.0}, {"source": "controller_session_store_rationale_183", "target": "controller_session_store_sessionstore_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L183", "weight": 1.0}, {"source": "controller_session_store_rationale_203", "target": "controller_session_store_sessionstore_abandoned_older_than", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L203", "weight": 1.0}, {"source": "controller_session_store_rationale_219", "target": "controller_session_store_sessionstore_gc_loop", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L219", "weight": 1.0}, {"source": "controller_session_store_rationale_237", "target": "controller_session_store_sessionstore_gc_once", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L237", "weight": 1.0}, {"source": "controller_session_store_rationale_260", "target": "controller_session_store_on_operations_panel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L260", "weight": 1.0}, {"source": "controller_session_store_rationale_271", "target": "controller_session_store_project_identifier", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L271", "weight": 1.0}], "raw_calls": [{"caller_nid": "controller_session_store_sessionstore_open", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L106"}, {"caller_nid": "controller_session_store_sessionstore_open", "callee": "uuid4", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L106"}, {"caller_nid": "controller_session_store_sessionstore_open", "callee": "utc_now", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L107"}, {"caller_nid": "controller_session_store_sessionstore_open", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L119"}, {"caller_nid": "controller_session_store_sessionstore_iter_sorted", "callee": "sorted", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L136"}, {"caller_nid": "controller_session_store_sessionstore_iter_sorted", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L136"}, {"caller_nid": "controller_session_store_sessionstore_transition", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L149"}, {"caller_nid": "controller_session_store_sessionstore_transition", "callee": "assert_transition", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L150"}, {"caller_nid": "controller_session_store_sessionstore_transition", "callee": "state_to_phase", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L152"}, {"caller_nid": "controller_session_store_sessionstore_attach_event_queue", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L168"}, {"caller_nid": "controller_session_store_sessionstore_heartbeat", "callee": "utc_now", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L180"}, {"caller_nid": "controller_session_store_sessionstore_abandoned_older_than", "callee": "utc_now", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L211"}, {"caller_nid": "controller_session_store_sessionstore_abandoned_older_than", "callee": "items", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L214"}, {"caller_nid": "controller_session_store_sessionstore_gc_loop", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L228"}, {"caller_nid": "controller_session_store_sessionstore_gc_loop", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L231"}, {"caller_nid": "controller_session_store_sessionstore_gc_once", "callee": "suppress", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L242"}, {"caller_nid": "controller_session_store_sessionstore_gc_once", "callee": "suppress", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L251"}, {"caller_nid": "controller_session_store_sessionstore_gc_once", "callee": "put_nowait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L252"}, {"caller_nid": "controller_session_store_sessionstore_gc_once", "callee": "info", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L253"}, {"caller_nid": "controller_session_store_project_identifier", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L279"}, {"caller_nid": "controller_session_store_project_identifier", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L282"}, {"caller_nid": "controller_session_store_project_identifier", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L283"}, {"caller_nid": "controller_session_store_project_identifier", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L285"}, {"caller_nid": "controller_session_store_project_identifier", "callee": "getattr", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L287"}, {"caller_nid": "controller_session_store_project_identifier", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py", "source_location": "L288"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fa4d363bb98c39da2247bfabfa212602448f65bc0cd9aa18a4a7204952288251.json b/graphify-out/cache/ast/fa4d363bb98c39da2247bfabfa212602448f65bc0cd9aa18a4a7204952288251.json deleted file mode 100644 index 065381a..0000000 --- a/graphify-out/cache/ast/fa4d363bb98c39da2247bfabfa212602448f65bc0cd9aa18a4a7204952288251.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_docs_source_conf_py", "label": "conf.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L1"}, {"id": "source_conf_noisefilter", "label": "_NoiseFilter", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L200"}, {"id": "source_conf_noisefilter_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L208"}, {"id": "source_conf_noisefilter_filter", "label": ".filter()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L212"}, {"id": "source_conf_setup", "label": "setup()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L271"}, {"id": "source_conf_rationale_1", "label": "Sphinx configuration for ExLab-Wizard documentation. The configuration wires th", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L1"}, {"id": "source_conf_rationale_201", "label": "Drop uncategorised warnings whose message text matches a known needle. Inse", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L201"}, {"id": "source_conf_rationale_272", "label": "Install the noise filter at the head of the warning handler chain. Sphinx w", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L272"}], "edges": [{"source": "users_alex_projects_exlabwizard_docs_source_conf_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_docs_source_conf_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_docs_source_conf_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_docs_source_conf_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_docs_source_conf_py", "target": "exlab_wizard_api", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L30", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_docs_source_conf_py", "target": "exlab_wizard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_docs_source_conf_py", "target": "source_conf_noisefilter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L200", "weight": 1.0}, {"source": "source_conf_noisefilter", "target": "source_conf_noisefilter_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L208", "weight": 1.0}, {"source": "source_conf_noisefilter", "target": "source_conf_noisefilter_filter", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L212", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_docs_source_conf_py", "target": "source_conf_setup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L271", "weight": 1.0}, {"source": "source_conf_setup", "target": "source_conf_noisefilter", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L289", "weight": 1.0}, {"source": "source_conf_rationale_1", "target": "users_alex_projects_exlabwizard_docs_source_conf_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L1", "weight": 1.0}, {"source": "source_conf_rationale_201", "target": "source_conf_noisefilter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L201", "weight": 1.0}, {"source": "source_conf_rationale_272", "target": "source_conf_setup", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L272", "weight": 1.0}], "raw_calls": [{"caller_nid": "source_conf_noisefilter_init", "callee": "super", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L209"}, {"caller_nid": "source_conf_noisefilter_filter", "callee": "getMessage", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L213"}, {"caller_nid": "source_conf_noisefilter_filter", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L214"}, {"caller_nid": "source_conf_setup", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L279"}, {"caller_nid": "source_conf_setup", "callee": "extend", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L281"}, {"caller_nid": "source_conf_setup", "callee": "getLogger", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L288"}, {"caller_nid": "source_conf_setup", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L289"}, {"caller_nid": "source_conf_setup", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L291"}, {"caller_nid": "source_conf_setup", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/docs/source/conf.py", "source_location": "L294"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fa7cb31617a7d753d74f9f7ba678580a57b9b8ffaf956d7f7c83f50efcb131a4.json b/graphify-out/cache/ast/fa7cb31617a7d753d74f9f7ba678580a57b9b8ffaf956d7f7c83f50efcb131a4.json deleted file mode 100644 index c1e494c..0000000 --- a/graphify-out/cache/ast/fa7cb31617a7d753d74f9f7ba678580a57b9b8ffaf956d7f7c83f50efcb131a4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/__init__.py", "source_location": "L1"}, {"id": "crash_plugin_init_rationale_1", "label": "crash_plugin -- exercises subprocess crash containment (SIGSEGV-like).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_init_py", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_plugin_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "crash_plugin_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_crash_plugin_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/fb79b4053a0bb787e3749eeaac17b7aac34fdd5f379ce1332ad4f8ed46f8ded4.json b/graphify-out/cache/ast/fb79b4053a0bb787e3749eeaac17b7aac34fdd5f379ce1332ad4f8ed46f8ded4.json deleted file mode 100644 index de588ec..0000000 --- a/graphify-out/cache/ast/fb79b4053a0bb787e3749eeaac17b7aac34fdd5f379ce1332ad4f8ed46f8ded4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "label": "test_sessions.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L1"}, {"id": "api_test_sessions_ready_config", "label": "_ready_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L29"}, {"id": "api_test_sessions_stubcontroller", "label": "_StubController", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L53"}, {"id": "api_test_sessions_stubcontroller_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L56"}, {"id": "api_test_sessions_stubcontroller_create_project", "label": ".create_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L62"}, {"id": "api_test_sessions_stubcontroller_create_run", "label": ".create_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L74"}, {"id": "api_test_sessions_stubcontroller_status", "label": ".status()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L86"}, {"id": "api_test_sessions_stubcontroller_resume", "label": ".resume()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L97"}, {"id": "api_test_sessions_stubcontroller_cancel", "label": ".cancel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L101"}, {"id": "api_test_sessions_stubcontroller_subscribe", "label": ".subscribe()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L108"}, {"id": "api_test_sessions_test_create_session_project", "label": "test_create_session_project()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L121"}, {"id": "api_test_sessions_test_create_session_run", "label": "test_create_session_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L152"}, {"id": "api_test_sessions_test_get_session_returns_snapshot", "label": "test_get_session_returns_snapshot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L178"}, {"id": "api_test_sessions_test_get_session_404_for_unknown", "label": "test_get_session_404_for_unknown()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L205"}, {"id": "api_test_sessions_test_post_resume_invokes_controller", "label": "test_post_resume_invokes_controller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L218"}, {"id": "api_test_sessions_test_post_cancel_invokes_controller", "label": "test_post_cancel_invokes_controller()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L239"}, {"id": "api_test_sessions_test_post_cancel_404_for_unknown", "label": "test_post_cancel_404_for_unknown()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L256"}, {"id": "api_test_sessions_test_post_resume_409_for_terminal_session", "label": "test_post_resume_409_for_terminal_session()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L267"}, {"id": "api_test_sessions_test_websocket_streams_session_events", "label": "test_websocket_streams_session_events()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L284"}, {"id": "api_test_sessions_test_websocket_unknown_session_closes", "label": "test_websocket_unknown_session_closes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L307"}, {"id": "api_test_sessions_make_request", "label": "_make_request()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L321"}, {"id": "api_test_sessions_test_create_session_validation_error_returns_422", "label": "test_create_session_validation_error_returns_422()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L338"}, {"id": "api_test_sessions_rationale_1", "label": "Unit tests for the ``/sessions`` router.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L1"}, {"id": "api_test_sessions_rationale_54", "label": "Minimal in-memory controller for routing tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L54"}, {"id": "api_test_sessions_rationale_339", "label": "Posting without ``kind`` discriminator must 422.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L339"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "fastapi_testclient", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "exlab_wizard_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "exlab_wizard_controller_creation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "exlab_wizard_controller_session_store", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "exlab_wizard_controller_state_machine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_ready_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_stubcontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L53", "weight": 1.0}, {"source": "api_test_sessions_stubcontroller", "target": "api_test_sessions_stubcontroller_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L56", "weight": 1.0}, {"source": "api_test_sessions_stubcontroller", "target": "api_test_sessions_stubcontroller_create_project", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L62", "weight": 1.0}, {"source": "api_test_sessions_stubcontroller", "target": "api_test_sessions_stubcontroller_create_run", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L74", "weight": 1.0}, {"source": "api_test_sessions_stubcontroller", "target": "api_test_sessions_stubcontroller_status", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L86", "weight": 1.0}, {"source": "api_test_sessions_stubcontroller", "target": "api_test_sessions_stubcontroller_resume", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L97", "weight": 1.0}, {"source": "api_test_sessions_stubcontroller", "target": "api_test_sessions_stubcontroller_cancel", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L101", "weight": 1.0}, {"source": "api_test_sessions_stubcontroller", "target": "api_test_sessions_stubcontroller_subscribe", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_create_session_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_create_session_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L152", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_get_session_returns_snapshot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L178", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_get_session_404_for_unknown", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L205", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_post_resume_invokes_controller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L218", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_post_cancel_invokes_controller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L239", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_post_cancel_404_for_unknown", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L256", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_post_resume_409_for_terminal_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L267", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_websocket_streams_session_events", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L284", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_websocket_unknown_session_closes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L307", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_make_request", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L321", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "target": "api_test_sessions_test_create_session_validation_error_returns_422", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L338", "weight": 1.0}, {"source": "api_test_sessions_stubcontroller_resume", "target": "api_test_sessions_stubcontroller_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L99", "weight": 1.0}, {"source": "api_test_sessions_test_create_session_project", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L122", "weight": 1.0}, {"source": "api_test_sessions_test_create_session_project", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L124", "weight": 1.0}, {"source": "api_test_sessions_test_create_session_run", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L153", "weight": 1.0}, {"source": "api_test_sessions_test_create_session_run", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L155", "weight": 1.0}, {"source": "api_test_sessions_test_get_session_returns_snapshot", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L179", "weight": 1.0}, {"source": "api_test_sessions_test_get_session_returns_snapshot", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L181", "weight": 1.0}, {"source": "api_test_sessions_test_get_session_404_for_unknown", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L206", "weight": 1.0}, {"source": "api_test_sessions_test_get_session_404_for_unknown", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L208", "weight": 1.0}, {"source": "api_test_sessions_test_post_resume_invokes_controller", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L219", "weight": 1.0}, {"source": "api_test_sessions_test_post_resume_invokes_controller", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L221", "weight": 1.0}, {"source": "api_test_sessions_test_post_resume_invokes_controller", "target": "api_test_sessions_make_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L225", "weight": 1.0}, {"source": "api_test_sessions_test_post_cancel_invokes_controller", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L240", "weight": 1.0}, {"source": "api_test_sessions_test_post_cancel_invokes_controller", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L242", "weight": 1.0}, {"source": "api_test_sessions_test_post_cancel_invokes_controller", "target": "api_test_sessions_make_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L245", "weight": 1.0}, {"source": "api_test_sessions_test_post_cancel_404_for_unknown", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L257", "weight": 1.0}, {"source": "api_test_sessions_test_post_cancel_404_for_unknown", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L259", "weight": 1.0}, {"source": "api_test_sessions_test_post_resume_409_for_terminal_session", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L268", "weight": 1.0}, {"source": "api_test_sessions_test_post_resume_409_for_terminal_session", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L270", "weight": 1.0}, {"source": "api_test_sessions_test_post_resume_409_for_terminal_session", "target": "api_test_sessions_make_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L273", "weight": 1.0}, {"source": "api_test_sessions_test_websocket_streams_session_events", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L287", "weight": 1.0}, {"source": "api_test_sessions_test_websocket_streams_session_events", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L289", "weight": 1.0}, {"source": "api_test_sessions_test_websocket_streams_session_events", "target": "api_test_sessions_make_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L292", "weight": 1.0}, {"source": "api_test_sessions_test_websocket_unknown_session_closes", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L308", "weight": 1.0}, {"source": "api_test_sessions_test_websocket_unknown_session_closes", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L310", "weight": 1.0}, {"source": "api_test_sessions_test_create_session_validation_error_returns_422", "target": "api_test_sessions_stubcontroller", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L340", "weight": 1.0}, {"source": "api_test_sessions_test_create_session_validation_error_returns_422", "target": "api_test_sessions_ready_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L342", "weight": 1.0}, {"source": "api_test_sessions_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_sessions_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L1", "weight": 1.0}, {"source": "api_test_sessions_rationale_54", "target": "api_test_sessions_stubcontroller", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L54", "weight": 1.0}, {"source": "api_test_sessions_rationale_339", "target": "api_test_sessions_test_create_session_validation_error_returns_422", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L339", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_sessions_ready_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L32"}, {"caller_nid": "api_test_sessions_ready_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L33"}, {"caller_nid": "api_test_sessions_ready_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L35"}, {"caller_nid": "api_test_sessions_ready_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L40"}, {"caller_nid": "api_test_sessions_ready_config", "callee": "LIMSConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L48"}, {"caller_nid": "api_test_sessions_ready_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L49"}, {"caller_nid": "api_test_sessions_stubcontroller_init", "callee": "SessionStore", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L57"}, {"caller_nid": "api_test_sessions_stubcontroller_create_project", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L63"}, {"caller_nid": "api_test_sessions_stubcontroller_create_project", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L64"}, {"caller_nid": "api_test_sessions_stubcontroller_create_project", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L65"}, {"caller_nid": "api_test_sessions_stubcontroller_create_project", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L66"}, {"caller_nid": "api_test_sessions_stubcontroller_create_project", "callee": "SessionHandle", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L67"}, {"caller_nid": "api_test_sessions_stubcontroller_create_run", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L75"}, {"caller_nid": "api_test_sessions_stubcontroller_create_run", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L76"}, {"caller_nid": "api_test_sessions_stubcontroller_create_run", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L77"}, {"caller_nid": "api_test_sessions_stubcontroller_create_run", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L78"}, {"caller_nid": "api_test_sessions_stubcontroller_create_run", "callee": "SessionHandle", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L79"}, {"caller_nid": "api_test_sessions_stubcontroller_status", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L87"}, {"caller_nid": "api_test_sessions_stubcontroller_status", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L89"}, {"caller_nid": "api_test_sessions_stubcontroller_status", "callee": "SessionHandle", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L90"}, {"caller_nid": "api_test_sessions_stubcontroller_resume", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L98"}, {"caller_nid": "api_test_sessions_stubcontroller_resume", "callee": "dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L98"}, {"caller_nid": "api_test_sessions_stubcontroller_cancel", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L102"}, {"caller_nid": "api_test_sessions_stubcontroller_cancel", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L103"}, {"caller_nid": "api_test_sessions_stubcontroller_cancel", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L104"}, {"caller_nid": "api_test_sessions_stubcontroller_cancel", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L105"}, {"caller_nid": "api_test_sessions_stubcontroller_cancel", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L106"}, {"caller_nid": "api_test_sessions_stubcontroller_subscribe", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L109"}, {"caller_nid": "api_test_sessions_stubcontroller_subscribe", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L111"}, {"caller_nid": "api_test_sessions_stubcontroller_subscribe", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L113"}, {"caller_nid": "api_test_sessions_stubcontroller_subscribe", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L115"}, {"caller_nid": "api_test_sessions_stubcontroller_subscribe", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L117"}, {"caller_nid": "api_test_sessions_test_create_session_project", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L123"}, {"caller_nid": "api_test_sessions_test_create_session_project", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L126"}, {"caller_nid": "api_test_sessions_test_create_session_project", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L127"}, {"caller_nid": "api_test_sessions_test_create_session_project", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L131"}, {"caller_nid": "api_test_sessions_test_create_session_project", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L143"}, {"caller_nid": "api_test_sessions_test_create_session_project", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L145"}, {"caller_nid": "api_test_sessions_test_create_session_project", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L148"}, {"caller_nid": "api_test_sessions_test_create_session_project", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L149"}, {"caller_nid": "api_test_sessions_test_create_session_run", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L154"}, {"caller_nid": "api_test_sessions_test_create_session_run", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L157"}, {"caller_nid": "api_test_sessions_test_create_session_run", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L158"}, {"caller_nid": "api_test_sessions_test_create_session_run", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L163"}, {"caller_nid": "api_test_sessions_test_create_session_run", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L172"}, {"caller_nid": "api_test_sessions_test_create_session_run", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L174"}, {"caller_nid": "api_test_sessions_test_get_session_returns_snapshot", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L180"}, {"caller_nid": "api_test_sessions_test_get_session_returns_snapshot", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L183"}, {"caller_nid": "api_test_sessions_test_get_session_returns_snapshot", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L184"}, {"caller_nid": "api_test_sessions_test_get_session_returns_snapshot", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L186"}, {"caller_nid": "api_test_sessions_test_get_session_returns_snapshot", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L200"}, {"caller_nid": "api_test_sessions_test_get_session_returns_snapshot", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L201"}, {"caller_nid": "api_test_sessions_test_get_session_404_for_unknown", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L207"}, {"caller_nid": "api_test_sessions_test_get_session_404_for_unknown", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L210"}, {"caller_nid": "api_test_sessions_test_get_session_404_for_unknown", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L211"}, {"caller_nid": "api_test_sessions_test_get_session_404_for_unknown", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L212"}, {"caller_nid": "api_test_sessions_test_get_session_404_for_unknown", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L214"}, {"caller_nid": "api_test_sessions_test_post_resume_invokes_controller", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L220"}, {"caller_nid": "api_test_sessions_test_post_resume_invokes_controller", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L223"}, {"caller_nid": "api_test_sessions_test_post_resume_invokes_controller", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L225"}, {"caller_nid": "api_test_sessions_test_post_resume_invokes_controller", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L226"}, {"caller_nid": "api_test_sessions_test_post_resume_invokes_controller", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L227"}, {"caller_nid": "api_test_sessions_test_post_resume_invokes_controller", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L228"}, {"caller_nid": "api_test_sessions_test_post_resume_invokes_controller", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L229"}, {"caller_nid": "api_test_sessions_test_post_resume_invokes_controller", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L230"}, {"caller_nid": "api_test_sessions_test_post_resume_invokes_controller", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L231"}, {"caller_nid": "api_test_sessions_test_post_cancel_invokes_controller", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L241"}, {"caller_nid": "api_test_sessions_test_post_cancel_invokes_controller", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L244"}, {"caller_nid": "api_test_sessions_test_post_cancel_invokes_controller", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L245"}, {"caller_nid": "api_test_sessions_test_post_cancel_invokes_controller", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L246"}, {"caller_nid": "api_test_sessions_test_post_cancel_invokes_controller", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L247"}, {"caller_nid": "api_test_sessions_test_post_cancel_invokes_controller", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L248"}, {"caller_nid": "api_test_sessions_test_post_cancel_404_for_unknown", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L258"}, {"caller_nid": "api_test_sessions_test_post_cancel_404_for_unknown", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L261"}, {"caller_nid": "api_test_sessions_test_post_cancel_404_for_unknown", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L262"}, {"caller_nid": "api_test_sessions_test_post_cancel_404_for_unknown", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L263"}, {"caller_nid": "api_test_sessions_test_post_resume_409_for_terminal_session", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L269"}, {"caller_nid": "api_test_sessions_test_post_resume_409_for_terminal_session", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L272"}, {"caller_nid": "api_test_sessions_test_post_resume_409_for_terminal_session", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L273"}, {"caller_nid": "api_test_sessions_test_post_resume_409_for_terminal_session", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L274"}, {"caller_nid": "api_test_sessions_test_post_resume_409_for_terminal_session", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L275"}, {"caller_nid": "api_test_sessions_test_post_resume_409_for_terminal_session", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L276"}, {"caller_nid": "api_test_sessions_test_post_resume_409_for_terminal_session", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L277"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L288"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L291"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "open", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L292"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "Queue", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L293"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "put_nowait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L294"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "put_nowait", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L297"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L299"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "websocket_connect", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L300"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L301"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "receive_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L301"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "loads", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L303"}, {"caller_nid": "api_test_sessions_test_websocket_streams_session_events", "callee": "receive_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L303"}, {"caller_nid": "api_test_sessions_test_websocket_unknown_session_closes", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L309"}, {"caller_nid": "api_test_sessions_test_websocket_unknown_session_closes", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L312"}, {"caller_nid": "api_test_sessions_test_websocket_unknown_session_closes", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L313"}, {"caller_nid": "api_test_sessions_test_websocket_unknown_session_closes", "callee": "websocket_connect", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L315"}, {"caller_nid": "api_test_sessions_test_websocket_unknown_session_closes", "callee": "receive_json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L316"}, {"caller_nid": "api_test_sessions_make_request", "callee": "ProjectCreateRequest", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L322"}, {"caller_nid": "api_test_sessions_make_request", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L324"}, {"caller_nid": "api_test_sessions_test_create_session_validation_error_returns_422", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L341"}, {"caller_nid": "api_test_sessions_test_create_session_validation_error_returns_422", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L344"}, {"caller_nid": "api_test_sessions_test_create_session_validation_error_returns_422", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L345"}, {"caller_nid": "api_test_sessions_test_create_session_validation_error_returns_422", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L346"}, {"caller_nid": "api_test_sessions_test_create_session_validation_error_returns_422", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py", "source_location": "L348"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fc15153bed595e5b40c77bdc0447459f8da423edeee7ce6c8697dccd0ba9e712.json b/graphify-out/cache/ast/fc15153bed595e5b40c77bdc0447459f8da423edeee7ce6c8697dccd0ba9e712.json deleted file mode 100644 index 8feedad..0000000 --- a/graphify-out/cache/ast/fc15153bed595e5b40c77bdc0447459f8da423edeee7ce6c8697dccd0ba9e712.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "label": "session_progress.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L1"}, {"id": "components_session_progress_phaserow", "label": "PhaseRow", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L46"}, {"id": "components_session_progress_compute_phase_rows", "label": "compute_phase_rows()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L56"}, {"id": "components_session_progress_session_progress", "label": "session_progress()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L93"}, {"id": "components_session_progress_sessionprogressstate", "label": "SessionProgressState", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L171"}, {"id": "components_session_progress_apply_frame", "label": "apply_frame()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L186"}, {"id": "components_session_progress_rationale_1", "label": "Wizard session-progress bar (Frontend Spec \u00a710.1, \u00a79.3). Drives a phase indicat", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L1"}, {"id": "components_session_progress_rationale_47", "label": "One renderable row in the session-progress component.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L47"}, {"id": "components_session_progress_rationale_61", "label": "Return one :class:`PhaseRow` per phase, in canonical order. A phase is *don", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L61"}, {"id": "components_session_progress_rationale_101", "label": "Build the progress bar for the Confirm & Create step. The wizard reaches in", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L101"}, {"id": "components_session_progress_rationale_172", "label": "Mutable phase/sub-progress state folded from controller WS frames. The wiza", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L172"}, {"id": "components_session_progress_rationale_187", "label": "Fold one controller WS ``frame`` into ``state`` in place. Returns ``True``", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L187"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "target": "components_session_progress_phaserow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L46", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "target": "components_session_progress_compute_phase_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "target": "components_session_progress_session_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L93", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "target": "components_session_progress_sessionprogressstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L171", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "target": "components_session_progress_apply_frame", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L186", "weight": 1.0}, {"source": "components_session_progress_compute_phase_rows", "target": "components_session_progress_phaserow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L82", "weight": 1.0}, {"source": "components_session_progress_session_progress", "target": "components_session_progress_compute_phase_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L108", "weight": 1.0}, {"source": "components_session_progress_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_ui_components_session_progress_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L1", "weight": 1.0}, {"source": "components_session_progress_rationale_47", "target": "components_session_progress_phaserow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L47", "weight": 1.0}, {"source": "components_session_progress_rationale_61", "target": "components_session_progress_compute_phase_rows", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L61", "weight": 1.0}, {"source": "components_session_progress_rationale_101", "target": "components_session_progress_session_progress", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L101", "weight": 1.0}, {"source": "components_session_progress_rationale_172", "target": "components_session_progress_sessionprogressstate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L172", "weight": 1.0}, {"source": "components_session_progress_rationale_187", "target": "components_session_progress_apply_frame", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L187", "weight": 1.0}], "raw_calls": [{"caller_nid": "components_session_progress_compute_phase_rows", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L70"}, {"caller_nid": "components_session_progress_compute_phase_rows", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L81"}, {"caller_nid": "components_session_progress_session_progress", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L130"}, {"caller_nid": "components_session_progress_session_progress", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L130"}, {"caller_nid": "components_session_progress_session_progress", "callee": "column", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L130"}, {"caller_nid": "components_session_progress_session_progress", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L133"}, {"caller_nid": "components_session_progress_session_progress", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L133"}, {"caller_nid": "components_session_progress_session_progress", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L133"}, {"caller_nid": "components_session_progress_session_progress", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L141"}, {"caller_nid": "components_session_progress_session_progress", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L141"}, {"caller_nid": "components_session_progress_session_progress", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L142"}, {"caller_nid": "components_session_progress_session_progress", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L142"}, {"caller_nid": "components_session_progress_session_progress", "callee": "linear_progress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L142"}, {"caller_nid": "components_session_progress_session_progress", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L149"}, {"caller_nid": "components_session_progress_session_progress", "callee": "classes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L149"}, {"caller_nid": "components_session_progress_session_progress", "callee": "row", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L149"}, {"caller_nid": "components_session_progress_session_progress", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L151"}, {"caller_nid": "components_session_progress_session_progress", "callee": "label", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L151"}, {"caller_nid": "components_session_progress_session_progress", "callee": "style", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L159"}, {"caller_nid": "components_session_progress_session_progress", "callee": "props", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L159"}, {"caller_nid": "components_session_progress_session_progress", "callee": "linear_progress", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L159"}, {"caller_nid": "components_session_progress_apply_frame", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L203"}, {"caller_nid": "components_session_progress_apply_frame", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L205"}, {"caller_nid": "components_session_progress_apply_frame", "callee": "_complete_through", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L210"}, {"caller_nid": "components_session_progress_apply_frame", "callee": "index", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L210"}, {"caller_nid": "components_session_progress_apply_frame", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L217"}, {"caller_nid": "components_session_progress_apply_frame", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L218"}, {"caller_nid": "components_session_progress_apply_frame", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L219"}, {"caller_nid": "components_session_progress_apply_frame", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L219"}, {"caller_nid": "components_session_progress_apply_frame", "callee": "_complete_through", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L222"}, {"caller_nid": "components_session_progress_apply_frame", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py", "source_location": "L222"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fc8f57326f846782e2cf68ae5133d047955c030f10bd7db7c7fe43f82a2a72c9.json b/graphify-out/cache/ast/fc8f57326f846782e2cf68ae5133d047955c030f10bd7db7c7fe43f82a2a72c9.json deleted file mode 100644 index 0f9a84e..0000000 --- a/graphify-out/cache/ast/fc8f57326f846782e2cf68ae5133d047955c030f10bd7db7c7fe43f82a2a72c9.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "label": "test_queue.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L1"}, {"id": "sync_test_queue_queue", "label": "queue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L26"}, {"id": "sync_test_queue_test_insert_creates_queued_row", "label": "test_insert_creates_queued_row()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L35"}, {"id": "sync_test_queue_test_insert_unique_constraint", "label": "test_insert_unique_constraint()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L45"}, {"id": "sync_test_queue_test_files_column_round_trips", "label": "test_files_column_round_trips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L52"}, {"id": "sync_test_queue_test_files_column_defaults_to_empty", "label": "test_files_column_defaults_to_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L62"}, {"id": "sync_test_queue_test_requeue_with_files_resets_terminal_job", "label": "test_requeue_with_files_resets_terminal_job()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L71"}, {"id": "sync_test_queue_test_get_by_id_and_run_path", "label": "test_get_by_id_and_run_path()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L83"}, {"id": "sync_test_queue_test_get_missing_returns_none", "label": "test_get_missing_returns_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L92"}, {"id": "sync_test_queue_test_transition_forward", "label": "test_transition_forward()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L97"}, {"id": "sync_test_queue_test_transition_unknown_raises", "label": "test_transition_unknown_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L106"}, {"id": "sync_test_queue_test_transition_increments_verify_passes", "label": "test_transition_increments_verify_passes()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L111"}, {"id": "sync_test_queue_test_record_failure_increments_attempts", "label": "test_record_failure_increments_attempts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L123"}, {"id": "sync_test_queue_test_record_failure_terminal", "label": "test_record_failure_terminal()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L132"}, {"id": "sync_test_queue_test_record_failure_terminal_after_max_attempts", "label": "test_record_failure_terminal_after_max_attempts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L139"}, {"id": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", "label": "test_compute_next_attempt_at_uses_schedule()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L148"}, {"id": "sync_test_queue_test_compute_next_attempt_at_out_of_range", "label": "test_compute_next_attempt_at_out_of_range()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L158"}, {"id": "sync_test_queue_test_persistence_across_reinit", "label": "test_persistence_across_reinit()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L164"}, {"id": "sync_test_queue_test_init_replays_running_to_queued", "label": "test_init_replays_running_to_queued()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L180"}, {"id": "sync_test_queue_test_list_in_state_returns_only_matching", "label": "test_list_in_state_returns_only_matching()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L197"}, {"id": "sync_test_queue_test_list_all_orders_by_enqueued_at", "label": "test_list_all_orders_by_enqueued_at()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L207"}, {"id": "sync_test_queue_test_reset_to_queued_clears_attempts", "label": "test_reset_to_queued_clears_attempts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L215"}, {"id": "sync_test_queue_test_reset_to_queued_unknown_raises", "label": "test_reset_to_queued_unknown_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L224"}, {"id": "sync_test_queue_test_record_failure_unknown_raises", "label": "test_record_failure_unknown_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L229"}, {"id": "sync_test_queue_test_delete_removes_row", "label": "test_delete_removes_row()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L234"}, {"id": "sync_test_queue_test_is_terminal_classifies_states", "label": "test_is_terminal_classifies_states()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L240"}, {"id": "sync_test_queue_test_init_required_before_use", "label": "test_init_required_before_use()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L247"}, {"id": "sync_test_queue_test_close_is_idempotent", "label": "test_close_is_idempotent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L254"}, {"id": "sync_test_queue_rationale_1", "label": "Tests for ``exlab_wizard.sync.queue``. Covers the durable SQLite-backed sync-jo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L1"}, {"id": "sync_test_queue_rationale_36", "label": "``insert`` produces a QUEUED row with a generated UUID job id.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L36"}, {"id": "sync_test_queue_rationale_46", "label": "Two inserts on the same run_path violate UNIQUE.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L46"}, {"id": "sync_test_queue_rationale_53", "label": "The per-file ``files`` list round-trips through insert and read.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L53"}, {"id": "sync_test_queue_rationale_63", "label": "A job inserted without ``files`` reads back as the empty 'whole run' tuple.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L63"}, {"id": "sync_test_queue_rationale_72", "label": "``requeue_with_files`` re-arms a terminal job in QUEUED with a new subset.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L72"}, {"id": "sync_test_queue_rationale_149", "label": "The 1st through 5th attempts use the documented backoff sequence.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L149"}, {"id": "sync_test_queue_rationale_159", "label": "Attempts <1 or >MAX_ATTEMPTS yield ``None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L159"}, {"id": "sync_test_queue_rationale_165", "label": "A queue rebuilt against the same db file sees the prior rows.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L165"}, {"id": "sync_test_queue_rationale_181", "label": "A RUNNING row from a prior process is downgraded to QUEUED on restart.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L181"}, {"id": "sync_test_queue_rationale_248", "label": "Operations without init() raise a clear RuntimeError.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L248"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L10", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "aiosqlite", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "exlab_wizard_sync_queue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_queue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_insert_creates_queued_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_insert_unique_constraint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L45", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_files_column_round_trips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_files_column_defaults_to_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L62", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_requeue_with_files_resets_terminal_job", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L71", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_get_by_id_and_run_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L83", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_get_missing_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L92", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_transition_forward", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L97", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_transition_unknown_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L106", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_transition_increments_verify_passes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L111", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_record_failure_increments_attempts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L123", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_record_failure_terminal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L132", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_record_failure_terminal_after_max_attempts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L139", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L148", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_compute_next_attempt_at_out_of_range", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L158", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_persistence_across_reinit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L164", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_init_replays_running_to_queued", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L180", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_list_in_state_returns_only_matching", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L197", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_list_all_orders_by_enqueued_at", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L207", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_reset_to_queued_clears_attempts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L215", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_reset_to_queued_unknown_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L224", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_record_failure_unknown_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L229", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_delete_removes_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L234", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_is_terminal_classifies_states", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L240", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_init_required_before_use", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L247", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "target": "sync_test_queue_test_close_is_idempotent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L254", "weight": 1.0}, {"source": "sync_test_queue_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_sync_test_queue_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_test_queue_rationale_36", "target": "sync_test_queue_test_insert_creates_queued_row", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L36", "weight": 1.0}, {"source": "sync_test_queue_rationale_46", "target": "sync_test_queue_test_insert_unique_constraint", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L46", "weight": 1.0}, {"source": "sync_test_queue_rationale_53", "target": "sync_test_queue_test_files_column_round_trips", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L53", "weight": 1.0}, {"source": "sync_test_queue_rationale_63", "target": "sync_test_queue_test_files_column_defaults_to_empty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L63", "weight": 1.0}, {"source": "sync_test_queue_rationale_72", "target": "sync_test_queue_test_requeue_with_files_resets_terminal_job", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L72", "weight": 1.0}, {"source": "sync_test_queue_rationale_149", "target": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L149", "weight": 1.0}, {"source": "sync_test_queue_rationale_159", "target": "sync_test_queue_test_compute_next_attempt_at_out_of_range", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L159", "weight": 1.0}, {"source": "sync_test_queue_rationale_165", "target": "sync_test_queue_test_persistence_across_reinit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L165", "weight": 1.0}, {"source": "sync_test_queue_rationale_181", "target": "sync_test_queue_test_init_replays_running_to_queued", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L181", "weight": 1.0}, {"source": "sync_test_queue_rationale_248", "target": "sync_test_queue_test_init_required_before_use", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L248", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_test_queue_queue", "callee": "SyncQueue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L27"}, {"caller_nid": "sync_test_queue_queue", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L28"}, {"caller_nid": "sync_test_queue_queue", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L32"}, {"caller_nid": "sync_test_queue_test_insert_creates_queued_row", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L37"}, {"caller_nid": "sync_test_queue_test_insert_unique_constraint", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L47"}, {"caller_nid": "sync_test_queue_test_insert_unique_constraint", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L48"}, {"caller_nid": "sync_test_queue_test_insert_unique_constraint", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L49"}, {"caller_nid": "sync_test_queue_test_files_column_round_trips", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L55"}, {"caller_nid": "sync_test_queue_test_files_column_round_trips", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L56"}, {"caller_nid": "sync_test_queue_test_files_column_round_trips", "callee": "get_by_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L57"}, {"caller_nid": "sync_test_queue_test_files_column_round_trips", "callee": "tuple", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L59"}, {"caller_nid": "sync_test_queue_test_files_column_defaults_to_empty", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L64"}, {"caller_nid": "sync_test_queue_test_files_column_defaults_to_empty", "callee": "get_by_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L66"}, {"caller_nid": "sync_test_queue_test_requeue_with_files_resets_terminal_job", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L73"}, {"caller_nid": "sync_test_queue_test_requeue_with_files_resets_terminal_job", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L74"}, {"caller_nid": "sync_test_queue_test_requeue_with_files_resets_terminal_job", "callee": "requeue_with_files", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L75"}, {"caller_nid": "sync_test_queue_test_get_by_id_and_run_path", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L84"}, {"caller_nid": "sync_test_queue_test_get_by_id_and_run_path", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L85"}, {"caller_nid": "sync_test_queue_test_get_by_id_and_run_path", "callee": "get_by_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L86"}, {"caller_nid": "sync_test_queue_test_get_missing_returns_none", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L93"}, {"caller_nid": "sync_test_queue_test_get_missing_returns_none", "callee": "get_by_run_path", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L94"}, {"caller_nid": "sync_test_queue_test_transition_forward", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L98"}, {"caller_nid": "sync_test_queue_test_transition_forward", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L99"}, {"caller_nid": "sync_test_queue_test_transition_forward", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L101"}, {"caller_nid": "sync_test_queue_test_transition_unknown_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L107"}, {"caller_nid": "sync_test_queue_test_transition_unknown_raises", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L108"}, {"caller_nid": "sync_test_queue_test_transition_increments_verify_passes", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L112"}, {"caller_nid": "sync_test_queue_test_transition_increments_verify_passes", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L113"}, {"caller_nid": "sync_test_queue_test_record_failure_increments_attempts", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L124"}, {"caller_nid": "sync_test_queue_test_record_failure_increments_attempts", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L125"}, {"caller_nid": "sync_test_queue_test_record_failure_terminal", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L133"}, {"caller_nid": "sync_test_queue_test_record_failure_terminal", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L134"}, {"caller_nid": "sync_test_queue_test_record_failure_terminal_after_max_attempts", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L140"}, {"caller_nid": "sync_test_queue_test_record_failure_terminal_after_max_attempts", "callee": "range", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L142"}, {"caller_nid": "sync_test_queue_test_record_failure_terminal_after_max_attempts", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L143"}, {"caller_nid": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", "callee": "datetime", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L150"}, {"caller_nid": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", "callee": "list", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L151"}, {"caller_nid": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", "callee": "enumerate", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L152"}, {"caller_nid": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", "callee": "compute_next_attempt_at", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L153"}, {"caller_nid": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", "callee": "strftime", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L154"}, {"caller_nid": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L154"}, {"caller_nid": "sync_test_queue_test_compute_next_attempt_at_out_of_range", "callee": "compute_next_attempt_at", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L160"}, {"caller_nid": "sync_test_queue_test_compute_next_attempt_at_out_of_range", "callee": "compute_next_attempt_at", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L161"}, {"caller_nid": "sync_test_queue_test_persistence_across_reinit", "callee": "SyncQueue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L167"}, {"caller_nid": "sync_test_queue_test_persistence_across_reinit", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L168"}, {"caller_nid": "sync_test_queue_test_persistence_across_reinit", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L169"}, {"caller_nid": "sync_test_queue_test_persistence_across_reinit", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L170"}, {"caller_nid": "sync_test_queue_test_persistence_across_reinit", "callee": "SyncQueue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L172"}, {"caller_nid": "sync_test_queue_test_persistence_across_reinit", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L173"}, {"caller_nid": "sync_test_queue_test_persistence_across_reinit", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L174"}, {"caller_nid": "sync_test_queue_test_persistence_across_reinit", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L176"}, {"caller_nid": "sync_test_queue_test_persistence_across_reinit", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L177"}, {"caller_nid": "sync_test_queue_test_init_replays_running_to_queued", "callee": "SyncQueue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L183"}, {"caller_nid": "sync_test_queue_test_init_replays_running_to_queued", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L184"}, {"caller_nid": "sync_test_queue_test_init_replays_running_to_queued", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L185"}, {"caller_nid": "sync_test_queue_test_init_replays_running_to_queued", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L186"}, {"caller_nid": "sync_test_queue_test_init_replays_running_to_queued", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L187"}, {"caller_nid": "sync_test_queue_test_init_replays_running_to_queued", "callee": "SyncQueue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L189"}, {"caller_nid": "sync_test_queue_test_init_replays_running_to_queued", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L190"}, {"caller_nid": "sync_test_queue_test_init_replays_running_to_queued", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L191"}, {"caller_nid": "sync_test_queue_test_init_replays_running_to_queued", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L194"}, {"caller_nid": "sync_test_queue_test_list_in_state_returns_only_matching", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L198"}, {"caller_nid": "sync_test_queue_test_list_in_state_returns_only_matching", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L199"}, {"caller_nid": "sync_test_queue_test_list_in_state_returns_only_matching", "callee": "transition", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L200"}, {"caller_nid": "sync_test_queue_test_list_in_state_returns_only_matching", "callee": "list_in_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L201"}, {"caller_nid": "sync_test_queue_test_list_in_state_returns_only_matching", "callee": "list_in_state", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L202"}, {"caller_nid": "sync_test_queue_test_list_all_orders_by_enqueued_at", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L208"}, {"caller_nid": "sync_test_queue_test_list_all_orders_by_enqueued_at", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L209"}, {"caller_nid": "sync_test_queue_test_list_all_orders_by_enqueued_at", "callee": "list_all", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L210"}, {"caller_nid": "sync_test_queue_test_reset_to_queued_clears_attempts", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L216"}, {"caller_nid": "sync_test_queue_test_reset_to_queued_clears_attempts", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L217"}, {"caller_nid": "sync_test_queue_test_reset_to_queued_clears_attempts", "callee": "reset_to_queued", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L218"}, {"caller_nid": "sync_test_queue_test_reset_to_queued_unknown_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L225"}, {"caller_nid": "sync_test_queue_test_reset_to_queued_unknown_raises", "callee": "reset_to_queued", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L226"}, {"caller_nid": "sync_test_queue_test_record_failure_unknown_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L230"}, {"caller_nid": "sync_test_queue_test_record_failure_unknown_raises", "callee": "record_failure", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L231"}, {"caller_nid": "sync_test_queue_test_delete_removes_row", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L235"}, {"caller_nid": "sync_test_queue_test_delete_removes_row", "callee": "delete", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L236"}, {"caller_nid": "sync_test_queue_test_delete_removes_row", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L237"}, {"caller_nid": "sync_test_queue_test_is_terminal_classifies_states", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L241"}, {"caller_nid": "sync_test_queue_test_is_terminal_classifies_states", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L242"}, {"caller_nid": "sync_test_queue_test_is_terminal_classifies_states", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L243"}, {"caller_nid": "sync_test_queue_test_is_terminal_classifies_states", "callee": "is_terminal", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L244"}, {"caller_nid": "sync_test_queue_test_init_required_before_use", "callee": "SyncQueue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L249"}, {"caller_nid": "sync_test_queue_test_init_required_before_use", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L250"}, {"caller_nid": "sync_test_queue_test_init_required_before_use", "callee": "insert", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L251"}, {"caller_nid": "sync_test_queue_test_close_is_idempotent", "callee": "SyncQueue", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L255"}, {"caller_nid": "sync_test_queue_test_close_is_idempotent", "callee": "init", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L256"}, {"caller_nid": "sync_test_queue_test_close_is_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L257"}, {"caller_nid": "sync_test_queue_test_close_is_idempotent", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py", "source_location": "L259"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fcd72e85bb4758dc2987f4517d81e393fe44d78e8ff643cbf78887ee3f927f4a.json b/graphify-out/cache/ast/fcd72e85bb4758dc2987f4517d81e393fe44d78e8ff643cbf78887ee3f927f4a.json deleted file mode 100644 index 4e2c8b7..0000000 --- a/graphify-out/cache/ast/fcd72e85bb4758dc2987f4517d81e393fe44d78e8ff643cbf78887ee3f927f4a.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "label": "test_context.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L1"}, {"id": "logging_test_context_reset_context", "label": "_reset_context()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L31"}, {"id": "logging_test_context_test_set_run_context_pushes_supplied_vars", "label": "test_set_run_context_pushes_supplied_vars()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L41"}, {"id": "logging_test_context_test_unsupplied_vars_are_unchanged", "label": "test_unsupplied_vars_are_unchanged()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L56"}, {"id": "logging_test_context_test_context_exit_restores_prior_values", "label": "test_context_exit_restores_prior_values()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L70"}, {"id": "logging_test_context_test_context_exit_clears_when_no_prior_value", "label": "test_context_exit_clears_when_no_prior_value()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L81"}, {"id": "logging_test_context_test_set_run_context_with_no_args_is_noop", "label": "test_set_run_context_with_no_args_is_noop()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L88"}, {"id": "logging_test_context_test_concurrent_asyncio_tasks_have_independent_contexts", "label": "test_concurrent_asyncio_tasks_have_independent_contexts()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L101"}, {"id": "logging_test_context_test_get_run_context_returns_snapshot_dict", "label": "test_get_run_context_returns_snapshot_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L134"}, {"id": "logging_test_context_test_get_run_context_returns_all_keys_even_when_empty", "label": "test_get_run_context_returns_all_keys_even_when_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L149"}, {"id": "logging_test_context_test_clear_run_context_resets_every_var", "label": "test_clear_run_context_resets_every_var()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L163"}, {"id": "logging_test_context_rationale_1", "label": "Tests for ``exlab_wizard.logging.context``. Backend Spec \u00a716.2.3 commits the pe", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L1"}, {"id": "logging_test_context_rationale_32", "label": "Wipe context vars before each test to prevent cross-test leakage.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L32"}, {"id": "logging_test_context_rationale_102", "label": "Two ``asyncio.gather``-ed tasks must not see each other's context. This is", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L102"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "exlab_wizard_logging_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "logging_test_context_reset_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L31", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "logging_test_context_test_set_run_context_pushes_supplied_vars", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L41", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "logging_test_context_test_unsupplied_vars_are_unchanged", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "logging_test_context_test_context_exit_restores_prior_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "logging_test_context_test_context_exit_clears_when_no_prior_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L81", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "logging_test_context_test_set_run_context_with_no_args_is_noop", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L88", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "logging_test_context_test_concurrent_asyncio_tasks_have_independent_contexts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L101", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "logging_test_context_test_get_run_context_returns_snapshot_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L134", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "logging_test_context_test_get_run_context_returns_all_keys_even_when_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L149", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "target": "logging_test_context_test_clear_run_context_resets_every_var", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L163", "weight": 1.0}, {"source": "logging_test_context_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_logging_test_context_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L1", "weight": 1.0}, {"source": "logging_test_context_rationale_32", "target": "logging_test_context_reset_context", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L32", "weight": 1.0}, {"source": "logging_test_context_rationale_102", "target": "logging_test_context_test_concurrent_asyncio_tasks_have_independent_contexts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L102", "weight": 1.0}], "raw_calls": [{"caller_nid": "logging_test_context_reset_context", "callee": "clear_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L33"}, {"caller_nid": "logging_test_context_test_set_run_context_pushes_supplied_vars", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L42"}, {"caller_nid": "logging_test_context_test_set_run_context_pushes_supplied_vars", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L49"}, {"caller_nid": "logging_test_context_test_set_run_context_pushes_supplied_vars", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L50"}, {"caller_nid": "logging_test_context_test_set_run_context_pushes_supplied_vars", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L51"}, {"caller_nid": "logging_test_context_test_set_run_context_pushes_supplied_vars", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L52"}, {"caller_nid": "logging_test_context_test_set_run_context_pushes_supplied_vars", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L53"}, {"caller_nid": "logging_test_context_test_unsupplied_vars_are_unchanged", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L59"}, {"caller_nid": "logging_test_context_test_unsupplied_vars_are_unchanged", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L60"}, {"caller_nid": "logging_test_context_test_unsupplied_vars_are_unchanged", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L62"}, {"caller_nid": "logging_test_context_test_unsupplied_vars_are_unchanged", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L63"}, {"caller_nid": "logging_test_context_test_unsupplied_vars_are_unchanged", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L64"}, {"caller_nid": "logging_test_context_test_unsupplied_vars_are_unchanged", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L66"}, {"caller_nid": "logging_test_context_test_unsupplied_vars_are_unchanged", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L67"}, {"caller_nid": "logging_test_context_test_context_exit_restores_prior_values", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L71"}, {"caller_nid": "logging_test_context_test_context_exit_restores_prior_values", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L72"}, {"caller_nid": "logging_test_context_test_context_exit_restores_prior_values", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L73"}, {"caller_nid": "logging_test_context_test_context_exit_restores_prior_values", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L74"}, {"caller_nid": "logging_test_context_test_context_exit_restores_prior_values", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L76"}, {"caller_nid": "logging_test_context_test_context_exit_restores_prior_values", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L78"}, {"caller_nid": "logging_test_context_test_context_exit_clears_when_no_prior_value", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L82"}, {"caller_nid": "logging_test_context_test_context_exit_clears_when_no_prior_value", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L83"}, {"caller_nid": "logging_test_context_test_context_exit_clears_when_no_prior_value", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L84"}, {"caller_nid": "logging_test_context_test_context_exit_clears_when_no_prior_value", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L85"}, {"caller_nid": "logging_test_context_test_set_run_context_with_no_args_is_noop", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L90"}, {"caller_nid": "logging_test_context_test_set_run_context_with_no_args_is_noop", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L91"}, {"caller_nid": "logging_test_context_test_set_run_context_with_no_args_is_noop", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L92"}, {"caller_nid": "logging_test_context_test_set_run_context_with_no_args_is_noop", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L93"}, {"caller_nid": "logging_test_context_test_concurrent_asyncio_tasks_have_independent_contexts", "callee": "gather", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L121"}, {"caller_nid": "logging_test_context_test_concurrent_asyncio_tasks_have_independent_contexts", "callee": "task_a", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L121"}, {"caller_nid": "logging_test_context_test_concurrent_asyncio_tasks_have_independent_contexts", "callee": "task_b", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L121"}, {"caller_nid": "logging_test_context_test_get_run_context_returns_snapshot_dict", "callee": "set_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L135"}, {"caller_nid": "logging_test_context_test_get_run_context_returns_snapshot_dict", "callee": "get_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L136"}, {"caller_nid": "logging_test_context_test_get_run_context_returns_snapshot_dict", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L139"}, {"caller_nid": "logging_test_context_test_get_run_context_returns_all_keys_even_when_empty", "callee": "get_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L150"}, {"caller_nid": "logging_test_context_test_get_run_context_returns_all_keys_even_when_empty", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L153"}, {"caller_nid": "logging_test_context_test_get_run_context_returns_all_keys_even_when_empty", "callee": "keys", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L153"}, {"caller_nid": "logging_test_context_test_get_run_context_returns_all_keys_even_when_empty", "callee": "all", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L160"}, {"caller_nid": "logging_test_context_test_get_run_context_returns_all_keys_even_when_empty", "callee": "values", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L160"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L166"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L167"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L168"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L169"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "set", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L170"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "clear_run_context", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L172"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L174"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L175"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L176"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L177"}, {"caller_nid": "logging_test_context_test_clear_run_context_resets_every_var", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py", "source_location": "L178"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fcff1657f2b0ba63ad207264046f03dfce7d68aacf3e111413ab33e9d99c2953.json b/graphify-out/cache/ast/fcff1657f2b0ba63ad207264046f03dfce7d68aacf3e111413ab33e9d99c2953.json deleted file mode 100644 index 3a4babf..0000000 --- a/graphify-out/cache/ast/fcff1657f2b0ba63ad207264046f03dfce7d68aacf3e111413ab33e9d99c2953.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "label": "test_run.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L1"}, {"id": "transports_test_run_test_run_subprocess_returns_rc_and_streams", "label": "test_run_subprocess_returns_rc_and_streams()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L19"}, {"id": "transports_test_run_test_run_subprocess_forwards_env", "label": "test_run_subprocess_forwards_env()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L28"}, {"id": "transports_test_run_test_run_subprocess_preserves_existing_environ", "label": "test_run_subprocess_preserves_existing_environ()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L38"}, {"id": "transports_test_run_test_run_subprocess_pipes_stdin_payload", "label": "test_run_subprocess_pipes_stdin_payload()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L56"}, {"id": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log", "label": "test_run_subprocess_masks_named_env_in_debug_log()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L66"}, {"id": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none", "label": "test_run_subprocess_omits_env_log_when_env_is_none()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L86"}, {"id": "transports_test_run_rationale_1", "label": "Unit tests for ``exlab_wizard.sync.transports._run.run_subprocess``. The rclone", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L1"}, {"id": "transports_test_run_rationale_29", "label": "An env-dict entry must surface in the child process' environment.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L29"}, {"id": "transports_test_run_rationale_39", "label": "Caller-supplied env is *merged* over ``os.environ`` -- it does not replace it.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L39"}, {"id": "transports_test_run_rationale_57", "label": "A bytes payload is fed to stdin and closed.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L57"}, {"id": "transports_test_run_rationale_67", "label": "``mask_for_log`` redacts the listed env keys from the debug log line.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L67"}, {"id": "transports_test_run_rationale_87", "label": "No env block in the log when the caller passes ``env=None``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L87"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "target": "exlab_wizard_sync_transports_run", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L16", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "target": "transports_test_run_test_run_subprocess_returns_rc_and_streams", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "target": "transports_test_run_test_run_subprocess_forwards_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "target": "transports_test_run_test_run_subprocess_preserves_existing_environ", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "target": "transports_test_run_test_run_subprocess_pipes_stdin_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L56", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "target": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L66", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "target": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L86", "weight": 1.0}, {"source": "transports_test_run_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_sync_transports_test_run_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L1", "weight": 1.0}, {"source": "transports_test_run_rationale_29", "target": "transports_test_run_test_run_subprocess_forwards_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L29", "weight": 1.0}, {"source": "transports_test_run_rationale_39", "target": "transports_test_run_test_run_subprocess_preserves_existing_environ", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L39", "weight": 1.0}, {"source": "transports_test_run_rationale_57", "target": "transports_test_run_test_run_subprocess_pipes_stdin_payload", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L57", "weight": 1.0}, {"source": "transports_test_run_rationale_67", "target": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L67", "weight": 1.0}, {"source": "transports_test_run_rationale_87", "target": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L87", "weight": 1.0}], "raw_calls": [{"caller_nid": "transports_test_run_test_run_subprocess_returns_rc_and_streams", "callee": "run_subprocess", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L20"}, {"caller_nid": "transports_test_run_test_run_subprocess_forwards_env", "callee": "run_subprocess", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L30"}, {"caller_nid": "transports_test_run_test_run_subprocess_preserves_existing_environ", "callee": "run_subprocess", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L44"}, {"caller_nid": "transports_test_run_test_run_subprocess_pipes_stdin_payload", "callee": "run_subprocess", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L58"}, {"caller_nid": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log", "callee": "set_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L68"}, {"caller_nid": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log", "callee": "run_subprocess", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L69"}, {"caller_nid": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L75"}, {"caller_nid": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log", "callee": "getMessage", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L75"}, {"caller_nid": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none", "callee": "set_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L88"}, {"caller_nid": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none", "callee": "run_subprocess", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L89"}, {"caller_nid": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none", "callee": "join", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L90"}, {"caller_nid": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none", "callee": "getMessage", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py", "source_location": "L90"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fd4af732dddaf8cf0b59809cdca3fce8ad2b3739bbd9584e2d34a837031d3a17.json b/graphify-out/cache/ast/fd4af732dddaf8cf0b59809cdca3fce8ad2b3739bbd9584e2d34a837031d3a17.json deleted file mode 100644 index 6fd3659..0000000 --- a/graphify-out/cache/ast/fd4af732dddaf8cf0b59809cdca3fce8ad2b3739bbd9584e2d34a837031d3a17.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/__init__.py", "source_location": "L1"}, {"id": "failures_init_rationale_1", "label": "Failure-mode plugin fixtures (timeout, error, input-required, policy, crash).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/__init__.py", "source_location": "L1"}], "edges": [{"source": "failures_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_fixtures_plugins_failures_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/fd5cab5574a3c5504ccb1c34cb9dc0fc02bbd8ed98ac7bc82191e753d86de7a5.json b/graphify-out/cache/ast/fd5cab5574a3c5504ccb1c34cb9dc0fc02bbd8ed98ac7bc82191e753d86de7a5.json deleted file mode 100644 index 6124904..0000000 --- a/graphify-out/cache/ast/fd5cab5574a3c5504ccb1c34cb9dc0fc02bbd8ed98ac7bc82191e753d86de7a5.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "label": "welcome_page.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L1"}, {"id": "page_objects_welcome_page_welcomepage", "label": "WelcomePage", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L11"}, {"id": "page_objects_welcome_page_welcomepage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L14"}, {"id": "page_objects_welcome_page_card", "label": "card()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L18"}, {"id": "page_objects_welcome_page_headline", "label": "headline()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L23"}, {"id": "page_objects_welcome_page_autostart_toggle", "label": "autostart_toggle()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L28"}, {"id": "page_objects_welcome_page_get_started", "label": "get_started()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L33"}, {"id": "page_objects_welcome_page_skip_for_now", "label": "skip_for_now()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L38"}, {"id": "page_objects_welcome_page_status_marker", "label": "status_marker()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L43"}, {"id": "page_objects_welcome_page_rationale_1", "label": "Page object for the first-launch welcome card. Frontend Spec \u00a76.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L1"}, {"id": "page_objects_welcome_page_rationale_12", "label": "Page object for the welcome card shown on first launch. Frontend Spec \u00a76.1.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L12"}, {"id": "page_objects_welcome_page_rationale_19", "label": "The welcome card container.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L19"}, {"id": "page_objects_welcome_page_rationale_24", "label": "The welcome card headline / title element.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L24"}, {"id": "page_objects_welcome_page_rationale_29", "label": "The autostart-on-login toggle on the welcome card.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L29"}, {"id": "page_objects_welcome_page_rationale_34", "label": "The primary \"Get started\" CTA on the welcome card.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L34"}, {"id": "page_objects_welcome_page_rationale_39", "label": "The secondary \"Skip for now\" CTA on the welcome card.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L39"}, {"id": "page_objects_welcome_page_rationale_44", "label": "Hidden marker emitted by the test app to surface state.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L44"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "target": "playwright_sync_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L8", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "target": "page_objects_welcome_page_welcomepage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L11", "weight": 1.0}, {"source": "page_objects_welcome_page_welcomepage", "target": "page_objects_welcome_page_welcomepage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L14", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "target": "page_objects_welcome_page_card", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "target": "page_objects_welcome_page_headline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "target": "page_objects_welcome_page_autostart_toggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "target": "page_objects_welcome_page_get_started", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L33", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "target": "page_objects_welcome_page_skip_for_now", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L38", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "target": "page_objects_welcome_page_status_marker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L43", "weight": 1.0}, {"source": "page_objects_welcome_page_rationale_1", "target": "users_alex_projects_exlabwizard_tests_e2e_page_objects_welcome_page_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L1", "weight": 1.0}, {"source": "page_objects_welcome_page_rationale_12", "target": "page_objects_welcome_page_welcomepage", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L12", "weight": 1.0}, {"source": "page_objects_welcome_page_rationale_19", "target": "page_objects_welcome_page_welcomepage_card", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L19", "weight": 1.0}, {"source": "page_objects_welcome_page_rationale_24", "target": "page_objects_welcome_page_welcomepage_headline", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L24", "weight": 1.0}, {"source": "page_objects_welcome_page_rationale_29", "target": "page_objects_welcome_page_welcomepage_autostart_toggle", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L29", "weight": 1.0}, {"source": "page_objects_welcome_page_rationale_34", "target": "page_objects_welcome_page_welcomepage_get_started", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L34", "weight": 1.0}, {"source": "page_objects_welcome_page_rationale_39", "target": "page_objects_welcome_page_welcomepage_skip_for_now", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L39", "weight": 1.0}, {"source": "page_objects_welcome_page_rationale_44", "target": "page_objects_welcome_page_welcomepage_status_marker", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L44", "weight": 1.0}], "raw_calls": [{"caller_nid": "page_objects_welcome_page_card", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L20"}, {"caller_nid": "page_objects_welcome_page_headline", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L25"}, {"caller_nid": "page_objects_welcome_page_autostart_toggle", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L30"}, {"caller_nid": "page_objects_welcome_page_get_started", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L35"}, {"caller_nid": "page_objects_welcome_page_skip_for_now", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L40"}, {"caller_nid": "page_objects_welcome_page_status_marker", "callee": "get_by_test_id", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py", "source_location": "L45"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fd9c3892cbfad2c0f6eb7f7262a2c7c0eddb39c4fefb23c395f7279f931e1406.json b/graphify-out/cache/ast/fd9c3892cbfad2c0f6eb7f7262a2c7c0eddb39c4fefb23c395f7279f931e1406.json deleted file mode 100644 index ab4cef4..0000000 --- a/graphify-out/cache/ast/fd9c3892cbfad2c0f6eb7f7262a2c7c0eddb39c4fefb23c395f7279f931e1406.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "label": "test_staging_router.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L1"}, {"id": "api_test_staging_router_handle", "label": "_Handle", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L35"}, {"id": "api_test_staging_router_stubnassync", "label": "_StubNasSync", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L41"}, {"id": "api_test_staging_router_stubnassync_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L44"}, {"id": "api_test_staging_router_stubnassync_enqueue", "label": ".enqueue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L47"}, {"id": "api_test_staging_router_make_config", "label": "_make_config()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L52"}, {"id": "api_test_staging_router_seed_run", "label": "_seed_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L77"}, {"id": "api_test_staging_router_write_creation_json", "label": "_write_creation_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L90"}, {"id": "api_test_staging_router_seed_real_run", "label": "_seed_real_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L127"}, {"id": "api_test_staging_router_mark_synced", "label": "_mark_synced()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L140"}, {"id": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", "label": "test_get_staging_returns_empty_when_staging_root_unset()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L155"}, {"id": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", "label": "test_force_sync_returns_no_503_when_run_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L165"}, {"id": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", "label": "test_clear_returns_no_503_when_run_missing()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L174"}, {"id": "api_test_staging_router_test_get_staging_returns_run_rows", "label": "test_get_staging_returns_run_rows()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L188"}, {"id": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "label": "test_get_staging_derives_current_state_from_sync_state_rollup()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L208"}, {"id": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", "label": "test_get_staging_returns_empty_runs_for_missing_root()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L219"}, {"id": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", "label": "test_force_sync_invokes_nas_sync_enqueue()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L234"}, {"id": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", "label": "test_force_sync_returns_503_when_nas_sync_unwired()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L249"}, {"id": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "label": "test_clear_endpoint_deletes_synced_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L263"}, {"id": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "label": "test_clear_endpoint_rejects_non_synced_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L284"}, {"id": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", "label": "test_clear_endpoint_idempotent_for_missing_run()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L296"}, {"id": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "label": "test_clear_verified_endpoint_clears_only_synced_runs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L314"}, {"id": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", "label": "test_clear_verified_endpoint_returns_empty_when_no_verified_runs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L340"}, {"id": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired", "label": "test_clear_verified_endpoint_returns_503_when_config_unwired()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L351"}, {"id": "api_test_staging_router_test_keep_local_toggles_sync_state", "label": "test_keep_local_toggles_sync_state()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L366"}, {"id": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "label": "test_keep_local_toggle_off_round_trips()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L389"}, {"id": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", "label": "test_keep_local_returns_503_when_writer_unwired()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L407"}, {"id": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired", "label": "test_keep_local_returns_503_when_config_unwired()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L421"}, {"id": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", "label": "test_keep_local_rejects_extra_body_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L433"}, {"id": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "label": "test_keep_local_returns_404_for_path_outside_allowed_roots()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L447"}, {"id": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "label": "test_keep_local_returns_404_when_run_has_no_creation_json()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L468"}, {"id": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "label": "test_keep_local_creates_sync_state_when_cache_dir_absent()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L486"}, {"id": "api_test_staging_router_rationale_1", "label": "Unit tests for the ``/staging`` router. Backend Spec \u00a713.7, \u00a713.8. The operator", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L1"}, {"id": "api_test_staging_router_rationale_42", "label": "In-memory sync-queue stub recording ``enqueue`` calls (force-sync).", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L42"}, {"id": "api_test_staging_router_rationale_91", "label": "Write a minimal ``creation.json`` so a dir reads as a real run. The ``POST", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L91"}, {"id": "api_test_staging_router_rationale_134", "label": "Seed a run dir that carries a ``creation.json`` -- a real run.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L134"}, {"id": "api_test_staging_router_rationale_141", "label": "Write a fully-verified ``sync_state.json`` so the run rolls up to ``synced``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L141"}, {"id": "api_test_staging_router_rationale_297", "label": "A run with no queue job and no directory clears to zeros.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L297"}, {"id": "api_test_staging_router_rationale_315", "label": "The bulk endpoint clears every fully-``synced`` run and reports paths.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L315"}, {"id": "api_test_staging_router_rationale_341", "label": "No verified rows -> empty cleared_paths, no error.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L341"}, {"id": "api_test_staging_router_rationale_352", "label": "A deps without a config raises the standard 503.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L352"}, {"id": "api_test_staging_router_rationale_367", "label": "The endpoint flips ``keep_local`` in the run's ``sync_state.json``.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L367"}, {"id": "api_test_staging_router_rationale_390", "label": "Setting ``keep_local`` False after True clears the flag on disk.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L390"}, {"id": "api_test_staging_router_rationale_408", "label": "A deps without a ``sync_state_writer`` raises the standard 503.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L408"}, {"id": "api_test_staging_router_rationale_422", "label": "A deps without a config raises the standard 503.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L422"}, {"id": "api_test_staging_router_rationale_434", "label": "The request model forbids unknown fields.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L434"}, {"id": "api_test_staging_router_rationale_448", "label": "A path outside the configured roots is rejected before any write. Operator-", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L448"}, {"id": "api_test_staging_router_rationale_469", "label": "A dir under an allowed root but without a creation.json is not a run.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L469"}, {"id": "api_test_staging_router_rationale_487", "label": "The writer mkdir's the .exlab-wizard/ dir -- a real run with only a creation", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L487"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L12", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L13", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "fastapi_testclient", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L15", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "exlab_wizard_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L17", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "exlab_wizard_cache_sync_state_writer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_handle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L35", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_stubnassync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L41", "weight": 1.0}, {"source": "api_test_staging_router_stubnassync", "target": "api_test_staging_router_stubnassync_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L44", "weight": 1.0}, {"source": "api_test_staging_router_stubnassync", "target": "api_test_staging_router_stubnassync_enqueue", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L47", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_make_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L52", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_seed_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L77", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_write_creation_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_seed_real_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L127", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_mark_synced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L140", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L155", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L165", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L174", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_get_staging_returns_run_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L188", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L208", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L219", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L234", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L249", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L263", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L284", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L296", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L314", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L340", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L351", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_keep_local_toggles_sync_state", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L366", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L389", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L407", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L421", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L433", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L447", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L468", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "target": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L486", "weight": 1.0}, {"source": "api_test_staging_router_stubnassync_enqueue", "target": "api_test_staging_router_handle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L49", "weight": 1.0}, {"source": "api_test_staging_router_seed_real_run", "target": "api_test_staging_router_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L135", "weight": 1.0}, {"source": "api_test_staging_router_seed_real_run", "target": "api_test_staging_router_write_creation_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L136", "weight": 1.0}, {"source": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L156", "weight": 1.0}, {"source": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L166", "weight": 1.0}, {"source": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", "target": "api_test_staging_router_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L167", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L175", "weight": 1.0}, {"source": "api_test_staging_router_test_get_staging_returns_run_rows", "target": "api_test_staging_router_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L189", "weight": 1.0}, {"source": "api_test_staging_router_test_get_staging_returns_run_rows", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L190", "weight": 1.0}, {"source": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "target": "api_test_staging_router_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L209", "weight": 1.0}, {"source": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "target": "api_test_staging_router_mark_synced", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L210", "weight": 1.0}, {"source": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L211", "weight": 1.0}, {"source": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L220", "weight": 1.0}, {"source": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", "target": "api_test_staging_router_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L235", "weight": 1.0}, {"source": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", "target": "api_test_staging_router_stubnassync", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L236", "weight": 1.0}, {"source": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L237", "weight": 1.0}, {"source": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L250", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "target": "api_test_staging_router_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L264", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "target": "api_test_staging_router_mark_synced", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L265", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L266", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "target": "api_test_staging_router_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L285", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L286", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L298", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "target": "api_test_staging_router_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L316", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "target": "api_test_staging_router_mark_synced", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L319", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L323", "weight": 1.0}, {"source": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L342", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_toggles_sync_state", "target": "api_test_staging_router_seed_real_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L368", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_toggles_sync_state", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L370", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "target": "api_test_staging_router_seed_real_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L391", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L394", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", "target": "api_test_staging_router_seed_real_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L409", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L410", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", "target": "api_test_staging_router_seed_real_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L435", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L436", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L455", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "target": "api_test_staging_router_seed_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L471", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L472", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "target": "api_test_staging_router_seed_real_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L490", "weight": 1.0}, {"source": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "target": "api_test_staging_router_make_config", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L491", "weight": 1.0}, {"source": "api_test_staging_router_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_staging_router_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L1", "weight": 1.0}, {"source": "api_test_staging_router_rationale_42", "target": "api_test_staging_router_stubnassync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L42", "weight": 1.0}, {"source": "api_test_staging_router_rationale_91", "target": "api_test_staging_router_write_creation_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L91", "weight": 1.0}, {"source": "api_test_staging_router_rationale_134", "target": "api_test_staging_router_seed_real_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L134", "weight": 1.0}, {"source": "api_test_staging_router_rationale_141", "target": "api_test_staging_router_mark_synced", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L141", "weight": 1.0}, {"source": "api_test_staging_router_rationale_297", "target": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L297", "weight": 1.0}, {"source": "api_test_staging_router_rationale_315", "target": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L315", "weight": 1.0}, {"source": "api_test_staging_router_rationale_341", "target": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L341", "weight": 1.0}, {"source": "api_test_staging_router_rationale_352", "target": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L352", "weight": 1.0}, {"source": "api_test_staging_router_rationale_367", "target": "api_test_staging_router_test_keep_local_toggles_sync_state", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L367", "weight": 1.0}, {"source": "api_test_staging_router_rationale_390", "target": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L390", "weight": 1.0}, {"source": "api_test_staging_router_rationale_408", "target": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L408", "weight": 1.0}, {"source": "api_test_staging_router_rationale_422", "target": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L422", "weight": 1.0}, {"source": "api_test_staging_router_rationale_434", "target": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L434", "weight": 1.0}, {"source": "api_test_staging_router_rationale_448", "target": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L448", "weight": 1.0}, {"source": "api_test_staging_router_rationale_469", "target": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L469", "weight": 1.0}, {"source": "api_test_staging_router_rationale_487", "target": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L487", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_staging_router_stubnassync_enqueue", "callee": "append", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L48"}, {"caller_nid": "api_test_staging_router_stubnassync_enqueue", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L49"}, {"caller_nid": "api_test_staging_router_make_config", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L53"}, {"caller_nid": "api_test_staging_router_make_config", "callee": "PathsConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L54"}, {"caller_nid": "api_test_staging_router_make_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L54"}, {"caller_nid": "api_test_staging_router_make_config", "callee": "EquipmentConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L56"}, {"caller_nid": "api_test_staging_router_make_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L59"}, {"caller_nid": "api_test_staging_router_make_config", "callee": "RcloneSftpTransport", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L61"}, {"caller_nid": "api_test_staging_router_make_config", "callee": "OrchestratorConfig", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L69"}, {"caller_nid": "api_test_staging_router_make_config", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L71"}, {"caller_nid": "api_test_staging_router_make_config", "callee": "OrchestratorStagingCleanup", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L72"}, {"caller_nid": "api_test_staging_router_seed_run", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L85"}, {"caller_nid": "api_test_staging_router_seed_run", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L86"}, {"caller_nid": "api_test_staging_router_write_creation_json", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L108"}, {"caller_nid": "api_test_staging_router_write_creation_json", "callee": "CreationJson", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L109"}, {"caller_nid": "api_test_staging_router_write_creation_json", "callee": "LimsProjectBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L115"}, {"caller_nid": "api_test_staging_router_write_creation_json", "callee": "TemplateBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L118"}, {"caller_nid": "api_test_staging_router_write_creation_json", "callee": "PathsBlock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L122"}, {"caller_nid": "api_test_staging_router_write_creation_json", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L122"}, {"caller_nid": "api_test_staging_router_write_creation_json", "callee": "write_bytes", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L124"}, {"caller_nid": "api_test_staging_router_write_creation_json", "callee": "encode", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L124"}, {"caller_nid": "api_test_staging_router_mark_synced", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L142"}, {"caller_nid": "api_test_staging_router_mark_synced", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L143"}, {"caller_nid": "api_test_staging_router_mark_synced", "callee": "upsert_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L144"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L157"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L158"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L159"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L160"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L162"}, {"caller_nid": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L167"}, {"caller_nid": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L168"}, {"caller_nid": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L169"}, {"caller_nid": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L170"}, {"caller_nid": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L176"}, {"caller_nid": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L177"}, {"caller_nid": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L178"}, {"caller_nid": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L179"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_run_rows", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L191"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_run_rows", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L191"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_run_rows", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L192"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_run_rows", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L193"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_run_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L194"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_run_rows", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L196"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_run_rows", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L198"}, {"caller_nid": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L212"}, {"caller_nid": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L212"}, {"caller_nid": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L213"}, {"caller_nid": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L214"}, {"caller_nid": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L215"}, {"caller_nid": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L216"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L221"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L222"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L223"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L224"}, {"caller_nid": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L226"}, {"caller_nid": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L238"}, {"caller_nid": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L239"}, {"caller_nid": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L240"}, {"caller_nid": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L241"}, {"caller_nid": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L243"}, {"caller_nid": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L251"}, {"caller_nid": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L252"}, {"caller_nid": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L253"}, {"caller_nid": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L254"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L267"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L267"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L268"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L269"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L270"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L272"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L277"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L278"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L280"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "read", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L280"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L280"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L287"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L287"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L288"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L289"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L290"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L292"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L293"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L299"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L300"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L301"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L302"}, {"caller_nid": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L304"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L324"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L324"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L325"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L326"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L327"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L330"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "set", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L331"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L331"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L331"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L333"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L334"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L335"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L337"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L343"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L344"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L345"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L346"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L348"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L354"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L355"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L356"}, {"caller_nid": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L357"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggles_sync_state", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L369"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggles_sync_state", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L371"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggles_sync_state", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L372"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggles_sync_state", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L373"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggles_sync_state", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L374"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggles_sync_state", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L379"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggles_sync_state", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L381"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggles_sync_state", "callee": "read_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L385"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L392"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "callee": "run", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L393"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "callee": "set_keep_local", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L393"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L395"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L396"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L397"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L398"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "callee": "json", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L403"}, {"caller_nid": "api_test_staging_router_test_keep_local_toggle_off_round_trips", "callee": "read_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L404"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L411"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L412"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L413"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L414"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L423"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L424"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L425"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L426"}, {"caller_nid": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L437"}, {"caller_nid": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L437"}, {"caller_nid": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L438"}, {"caller_nid": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L439"}, {"caller_nid": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L440"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L456"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L456"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L457"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L458"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L459"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L465"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", "callee": "Path", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L465"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L473"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L474"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L475"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L476"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L477"}, {"caller_nid": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", "callee": "exists", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L483"}, {"caller_nid": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "callee": "SyncStateWriter", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L492"}, {"caller_nid": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L493"}, {"caller_nid": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L494"}, {"caller_nid": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "callee": "TestClient", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L495"}, {"caller_nid": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "callee": "post", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L496"}, {"caller_nid": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", "callee": "read_sync", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py", "source_location": "L501"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fe4903a16c864a025893cd941014f94e36514a4680b6b5704944f2c247359ed4.json b/graphify-out/cache/ast/fe4903a16c864a025893cd941014f94e36514a4680b6b5704944f2c247359ed4.json deleted file mode 100644 index e735e6d..0000000 --- a/graphify-out/cache/ast/fe4903a16c864a025893cd941014f94e36514a4680b6b5704944f2c247359ed4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_cleanup_py", "label": "cleanup.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L1"}, {"id": "sync_cleanup_has_recent_revocation", "label": "has_recent_revocation()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L39"}, {"id": "sync_cleanup_cleanup_interlocks_satisfied", "label": "cleanup_interlocks_satisfied()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L65"}, {"id": "sync_cleanup_rationale_1", "label": "Cleanup safety interlocks. Backend Spec \u00a77.1.6. The cleanup reaper deletes loca", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L1"}, {"id": "sync_cleanup_rationale_45", "label": "Return True if any tombstone was recorded within ``min_age_hours``. A tombs", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L45"}, {"id": "sync_cleanup_rationale_74", "label": "Evaluate every \u00a77.1.6 interlock; return True iff all pass. Logs a debug ent", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L74"}], "edges": [{"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_cleanup_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L23", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_cleanup_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_cleanup_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L26", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_cleanup_py", "target": "exlab_wizard_logging", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_cleanup_py", "target": "exlab_wizard_sync_queue", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_cleanup_py", "target": "exlab_wizard_utils_time", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L29", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_cleanup_py", "target": "sync_cleanup_has_recent_revocation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L39", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_cleanup_py", "target": "sync_cleanup_cleanup_interlocks_satisfied", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L65", "weight": 1.0}, {"source": "sync_cleanup_cleanup_interlocks_satisfied", "target": "sync_cleanup_has_recent_revocation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L114", "weight": 1.0}, {"source": "sync_cleanup_rationale_1", "target": "users_alex_projects_exlabwizard_src_exlab_wizard_sync_cleanup_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L1", "weight": 1.0}, {"source": "sync_cleanup_rationale_45", "target": "sync_cleanup_has_recent_revocation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L45", "weight": 1.0}, {"source": "sync_cleanup_rationale_74", "target": "sync_cleanup_cleanup_interlocks_satisfied", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L74", "weight": 1.0}], "raw_calls": [{"caller_nid": "sync_cleanup_has_recent_revocation", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L52"}, {"caller_nid": "sync_cleanup_has_recent_revocation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L54"}, {"caller_nid": "sync_cleanup_has_recent_revocation", "callee": "parse_utc_iso_or_none", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L56"}, {"caller_nid": "sync_cleanup_has_recent_revocation", "callee": "get", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L56"}, {"caller_nid": "sync_cleanup_cleanup_interlocks_satisfied", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L85"}, {"caller_nid": "sync_cleanup_cleanup_interlocks_satisfied", "callee": "parse_utc_iso_or_none", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L94"}, {"caller_nid": "sync_cleanup_cleanup_interlocks_satisfied", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L96"}, {"caller_nid": "sync_cleanup_cleanup_interlocks_satisfied", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L99"}, {"caller_nid": "sync_cleanup_cleanup_interlocks_satisfied", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L100"}, {"caller_nid": "sync_cleanup_cleanup_interlocks_satisfied", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L110"}, {"caller_nid": "sync_cleanup_cleanup_interlocks_satisfied", "callee": "debug", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py", "source_location": "L119"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fe5f9d08eac0d2868481108c00aece0c18f8825ddb84a1c3e6aa056b2edaf31d.json b/graphify-out/cache/ast/fe5f9d08eac0d2868481108c00aece0c18f8825ddb84a1c3e6aa056b2edaf31d.json deleted file mode 100644 index 6ab2fb0..0000000 --- a/graphify-out/cache/ast/fe5f9d08eac0d2868481108c00aece0c18f8825ddb84a1c3e6aa056b2edaf31d.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "label": "test_copier_driver.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L1"}, {"id": "template_test_copier_driver_test_core_readme_field_ids_pins_the_three_core_fields", "label": "test_core_readme_field_ids_pins_the_three_core_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L59"}, {"id": "template_test_copier_driver_test_resolve_project_basic_returns_resolved_template", "label": "test_resolve_project_basic_returns_resolved_template()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L70"}, {"id": "template_test_copier_driver_test_resolve_run_basic_experimental_sets_run_scope_experimental", "label": "test_resolve_run_basic_experimental_sets_run_scope_experimental()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L90"}, {"id": "template_test_copier_driver_test_resolve_run_basic_test_sets_run_scope_test", "label": "test_resolve_run_basic_test_sets_run_scope_test()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L100"}, {"id": "template_test_copier_driver_test_resolve_run_basic_both_sets_run_scope_both", "label": "test_resolve_run_basic_both_sets_run_scope_both()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L108"}, {"id": "template_test_copier_driver_test_resolve_missing_version_raises_template_load_error_mentioning_field", "label": "test_resolve_missing_version_raises_template_load_error_mentioning_field()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L121"}, {"id": "template_test_copier_driver_test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender", "label": "test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L130"}, {"id": "template_test_copier_driver_test_resolve_redeclares_core_is_also_caught_as_template_load_error", "label": "test_resolve_redeclares_core_is_also_caught_as_template_load_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L138"}, {"id": "template_test_copier_driver_test_resolve_missing_copier_yml_raises_template_load_error", "label": "test_resolve_missing_copier_yml_raises_template_load_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L146"}, {"id": "template_test_copier_driver_test_resolve_scope_mismatch_raises_template_load_error", "label": "test_resolve_scope_mismatch_raises_template_load_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L156"}, {"id": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises", "label": "test_resolve_run_template_missing_run_scope_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L165"}, {"id": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises", "label": "test_resolve_run_template_invalid_run_scope_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L179"}, {"id": "template_test_copier_driver_test_resolve_with_tasks_does_not_raise", "label": "test_resolve_with_tasks_does_not_raise()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L198"}, {"id": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log", "label": "test_resolve_with_tasks_emits_warning_log()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L208"}, {"id": "template_test_copier_driver_test_render_project_basic_writes_readme", "label": "test_render_project_basic_writes_readme()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L227"}, {"id": "template_test_copier_driver_test_render_project_basic_files_written_lists_the_readme", "label": "test_render_project_basic_files_written_lists_the_readme()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L245"}, {"id": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", "label": "test_render_with_tasks_silently_ignores_tasks_and_writes_file()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L263"}, {"id": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises", "label": "test_render_into_dst_with_conflicting_files_raises()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L288"}, {"id": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", "label": "test_render_calls_copier_run_copy_with_spec_kwargs()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L322"}, {"id": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", "label": "test_resolve_unreadable_copier_yml_raises_template_load_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L350"}, {"id": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error", "label": "test_resolve_malformed_yaml_raises_template_load_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L371"}, {"id": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type", "label": "test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L387"}, {"id": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error", "label": "test_resolve_non_mapping_yaml_raises_template_load_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L403"}, {"id": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error", "label": "test_resolve_missing_exlab_type_raises_template_load_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L421"}, {"id": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error", "label": "test_resolve_invalid_exlab_type_value_raises_template_load_error()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L436"}, {"id": "template_test_copier_driver_test_resolve_readme_fields_with_non_core_entries_passes_through", "label": "test_resolve_readme_fields_with_non_core_entries_passes_through()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L461"}, {"id": "template_test_copier_driver_test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields", "label": "test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L488"}, {"id": "template_test_copier_driver_test_resolve_readme_fields_not_a_list_yields_empty_extra_fields", "label": "test_resolve_readme_fields_not_a_list_yields_empty_extra_fields()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L505"}, {"id": "template_test_copier_driver_test_resolve_non_string_description_falls_back_to_empty", "label": "test_resolve_non_string_description_falls_back_to_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L532"}, {"id": "template_test_copier_driver_test_resolve_plugin_order_preserved", "label": "test_resolve_plugin_order_preserved()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L548"}, {"id": "template_test_copier_driver_test_resolve_non_list_plugin_order_falls_back_to_empty", "label": "test_resolve_non_list_plugin_order_falls_back_to_empty()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L567"}, {"id": "template_test_copier_driver_test_render_snapshots_existing_regular_file_at_dst", "label": "test_render_snapshots_existing_regular_file_at_dst()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L587"}, {"id": "template_test_copier_driver_rationale_1", "label": "Unit tests for ``exlab_wizard.template.copier_driver``. These tests pin the \u00a74.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L1"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L19", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L20", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L21", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L22", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "copier_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L25", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "exlab_wizard_constants", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L27", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "exlab_wizard_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L28", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "exlab_wizard_template_copier_driver", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L32", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_core_readme_field_ids_pins_the_three_core_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L59", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_project_basic_returns_resolved_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L70", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_run_basic_experimental_sets_run_scope_experimental", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L90", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_run_basic_test_sets_run_scope_test", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L100", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_run_basic_both_sets_run_scope_both", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L108", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_missing_version_raises_template_load_error_mentioning_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L121", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L130", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_redeclares_core_is_also_caught_as_template_load_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L138", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_missing_copier_yml_raises_template_load_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L146", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_scope_mismatch_raises_template_load_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L156", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L165", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L179", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_with_tasks_does_not_raise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L198", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L208", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_render_project_basic_writes_readme", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L227", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_render_project_basic_files_written_lists_the_readme", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L245", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L263", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L288", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L322", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L350", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L371", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L387", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L403", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L421", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L436", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_readme_fields_with_non_core_entries_passes_through", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L461", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L488", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_readme_fields_not_a_list_yields_empty_extra_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L505", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_non_string_description_falls_back_to_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L532", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_plugin_order_preserved", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L548", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_resolve_non_list_plugin_order_falls_back_to_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L567", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "target": "template_test_copier_driver_test_render_snapshots_existing_regular_file_at_dst", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L587", "weight": 1.0}, {"source": "template_test_copier_driver_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_template_test_copier_driver_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "template_test_copier_driver_test_core_readme_field_ids_pins_the_three_core_fields", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L62"}, {"caller_nid": "template_test_copier_driver_test_resolve_project_basic_returns_resolved_template", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L71"}, {"caller_nid": "template_test_copier_driver_test_resolve_project_basic_returns_resolved_template", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L72"}, {"caller_nid": "template_test_copier_driver_test_resolve_project_basic_returns_resolved_template", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L74"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_basic_experimental_sets_run_scope_experimental", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L91"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_basic_experimental_sets_run_scope_experimental", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L92"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_basic_test_sets_run_scope_test", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L101"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_basic_test_sets_run_scope_test", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L102"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_basic_both_sets_run_scope_both", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L109"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_basic_both_sets_run_scope_both", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L110"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_version_raises_template_load_error_mentioning_field", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L124"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_version_raises_template_load_error_mentioning_field", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L125"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_version_raises_template_load_error_mentioning_field", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L126"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_version_raises_template_load_error_mentioning_field", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L127"}, {"caller_nid": "template_test_copier_driver_test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L131"}, {"caller_nid": "template_test_copier_driver_test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L132"}, {"caller_nid": "template_test_copier_driver_test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L133"}, {"caller_nid": "template_test_copier_driver_test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L135"}, {"caller_nid": "template_test_copier_driver_test_resolve_redeclares_core_is_also_caught_as_template_load_error", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L141"}, {"caller_nid": "template_test_copier_driver_test_resolve_redeclares_core_is_also_caught_as_template_load_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L142"}, {"caller_nid": "template_test_copier_driver_test_resolve_redeclares_core_is_also_caught_as_template_load_error", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L143"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_copier_yml_raises_template_load_error", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L148"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_copier_yml_raises_template_load_error", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L150"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_copier_yml_raises_template_load_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L151"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_copier_yml_raises_template_load_error", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L152"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_copier_yml_raises_template_load_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L153"}, {"caller_nid": "template_test_copier_driver_test_resolve_scope_mismatch_raises_template_load_error", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L158"}, {"caller_nid": "template_test_copier_driver_test_resolve_scope_mismatch_raises_template_load_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L159"}, {"caller_nid": "template_test_copier_driver_test_resolve_scope_mismatch_raises_template_load_error", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L160"}, {"caller_nid": "template_test_copier_driver_test_resolve_scope_mismatch_raises_template_load_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L161"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L168"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L169"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L173"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L174"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L175"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L176"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L182"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L183"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L187"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L188"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L189"}, {"caller_nid": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L190"}, {"caller_nid": "template_test_copier_driver_test_resolve_with_tasks_does_not_raise", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L200"}, {"caller_nid": "template_test_copier_driver_test_resolve_with_tasks_does_not_raise", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L201"}, {"caller_nid": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L211"}, {"caller_nid": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log", "callee": "at_level", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L212"}, {"caller_nid": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L213"}, {"caller_nid": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log", "callee": "any", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L217"}, {"caller_nid": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log", "callee": "getMessage", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L217"}, {"caller_nid": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log", "callee": "getMessage", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L218"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_writes_readme", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L228"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_writes_readme", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L229"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_writes_readme", "callee": "render", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L233"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_writes_readme", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L235"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_writes_readme", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L241"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_writes_readme", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L242"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_files_written_lists_the_readme", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L248"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_files_written_lists_the_readme", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L249"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_files_written_lists_the_readme", "callee": "render", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L252"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_files_written_lists_the_readme", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L254"}, {"caller_nid": "template_test_copier_driver_test_render_project_basic_files_written_lists_the_readme", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L260"}, {"caller_nid": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L272"}, {"caller_nid": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L273"}, {"caller_nid": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", "callee": "render", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L276"}, {"caller_nid": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", "callee": "is_file", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L279"}, {"caller_nid": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", "callee": "strip", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L280"}, {"caller_nid": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", "callee": "read_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L280"}, {"caller_nid": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L285"}, {"caller_nid": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L297"}, {"caller_nid": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L298"}, {"caller_nid": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises", "callee": "render", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L302"}, {"caller_nid": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L307"}, {"caller_nid": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L313"}, {"caller_nid": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises", "callee": "render", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L314"}, {"caller_nid": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L327"}, {"caller_nid": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L328"}, {"caller_nid": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", "callee": "patch", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L331"}, {"caller_nid": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", "callee": "render", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L332"}, {"caller_nid": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", "callee": "assert_called_once", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L334"}, {"caller_nid": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L336"}, {"caller_nid": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L337"}, {"caller_nid": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L359"}, {"caller_nid": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L360"}, {"caller_nid": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L362"}, {"caller_nid": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", "callee": "object", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L364"}, {"caller_nid": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L365"}, {"caller_nid": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L367"}, {"caller_nid": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L368"}, {"caller_nid": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L375"}, {"caller_nid": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L376"}, {"caller_nid": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L381"}, {"caller_nid": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L382"}, {"caller_nid": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L383"}, {"caller_nid": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L384"}, {"caller_nid": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L394"}, {"caller_nid": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L395"}, {"caller_nid": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L397"}, {"caller_nid": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L398"}, {"caller_nid": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L399"}, {"caller_nid": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L400"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L409"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L410"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L415"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L416"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L417"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L418"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L424"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L425"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L430"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L431"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L432"}, {"caller_nid": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L433"}, {"caller_nid": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L442"}, {"caller_nid": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L443"}, {"caller_nid": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L448"}, {"caller_nid": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L449"}, {"caller_nid": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L450"}, {"caller_nid": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error", "callee": "str", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L451"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_fields_with_non_core_entries_passes_through", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L468"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_fields_with_non_core_entries_passes_through", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L469"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_fields_with_non_core_entries_passes_through", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L481"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_fields_with_non_core_entries_passes_through", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L482"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_fields_with_non_core_entries_passes_through", "callee": "len", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L484"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L494"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L495"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L500"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L501"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_fields_not_a_list_yields_empty_extra_fields", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L512"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_fields_not_a_list_yields_empty_extra_fields", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L513"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_fields_not_a_list_yields_empty_extra_fields", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L522"}, {"caller_nid": "template_test_copier_driver_test_resolve_readme_fields_not_a_list_yields_empty_extra_fields", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L523"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_string_description_falls_back_to_empty", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L537"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_string_description_falls_back_to_empty", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L538"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_string_description_falls_back_to_empty", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L543"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_string_description_falls_back_to_empty", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L544"}, {"caller_nid": "template_test_copier_driver_test_resolve_plugin_order_preserved", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L552"}, {"caller_nid": "template_test_copier_driver_test_resolve_plugin_order_preserved", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L553"}, {"caller_nid": "template_test_copier_driver_test_resolve_plugin_order_preserved", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L562"}, {"caller_nid": "template_test_copier_driver_test_resolve_plugin_order_preserved", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L563"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_list_plugin_order_falls_back_to_empty", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L571"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_list_plugin_order_falls_back_to_empty", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L572"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_list_plugin_order_falls_back_to_empty", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L577"}, {"caller_nid": "template_test_copier_driver_test_resolve_non_list_plugin_order_falls_back_to_empty", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L578"}, {"caller_nid": "template_test_copier_driver_test_render_snapshots_existing_regular_file_at_dst", "callee": "TemplateEngine", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L592"}, {"caller_nid": "template_test_copier_driver_test_render_snapshots_existing_regular_file_at_dst", "callee": "resolve", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L593"}, {"caller_nid": "template_test_copier_driver_test_render_snapshots_existing_regular_file_at_dst", "callee": "write_text", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L595"}, {"caller_nid": "template_test_copier_driver_test_render_snapshots_existing_regular_file_at_dst", "callee": "raises", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L600"}, {"caller_nid": "template_test_copier_driver_test_render_snapshots_existing_regular_file_at_dst", "callee": "render", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py", "source_location": "L601"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/fe5ff4570021584f1a7dacd1d1fbbe6fa51699a08c1d95249821a532fe87b8ce.json b/graphify-out/cache/ast/fe5ff4570021584f1a7dacd1d1fbbe6fa51699a08c1d95249821a532fe87b8ce.json deleted file mode 100644 index e26f5ac..0000000 --- a/graphify-out/cache/ast/fe5ff4570021584f1a7dacd1d1fbbe6fa51699a08c1d95249821a532fe87b8ce.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "label": "test_app.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L1"}, {"id": "api_test_app_f", "label": "_F", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L21"}, {"id": "api_test_app_f_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L24"}, {"id": "api_test_app_test_diff_findings_added_removed_changed", "label": "test_diff_findings_added_removed_changed()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L37"}, {"id": "api_test_app_test_finding_to_dict_handles_dataclass_and_dict", "label": "test_finding_to_dict_handles_dataclass_and_dict()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L48"}, {"id": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", "label": "test_audit_channel_publishes_snapshot_to_subscriber()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L57"}, {"id": "api_test_app_test_audit_channel_publishes_delta", "label": "test_audit_channel_publishes_delta()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L78"}, {"id": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot", "label": "test_audit_channel_late_subscribe_receives_latest_snapshot()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L101"}, {"id": "api_test_app_test_audit_channel_close_signals_subscribers", "label": "test_audit_channel_close_signals_subscribers()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L119"}, {"id": "api_test_app_test_create_app_uses_supplied_dependencies", "label": "test_create_app_uses_supplied_dependencies()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L135"}, {"id": "api_test_app_test_create_app_creates_default_dependencies", "label": "test_create_app_creates_default_dependencies()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L141"}, {"id": "api_test_app_test_create_app_attaches_audit_channel", "label": "test_create_app_attaches_audit_channel()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L147"}, {"id": "api_test_app_test_lifespan_starts_and_stops_audit_task", "label": "test_lifespan_starts_and_stops_audit_task()", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L154"}, {"id": "api_test_app_rationale_1", "label": "Unit tests for ``exlab_wizard.api.app``: AuditChannel + app factory.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L1"}, {"id": "api_test_app_rationale_22", "label": "Tiny finding-shaped object for diff tests.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L22"}, {"id": "api_test_app_rationale_155", "label": "When start_audit_task=True the lifespan starts the audit task and cancels on clo", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L155"}], "edges": [{"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L5", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L6", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L7", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L9", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "exlab_wizard_api_app", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L11", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "exlab_wizard_config_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L18", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L21", "weight": 1.0}, {"source": "api_test_app_f", "target": "api_test_app_f_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L24", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_test_diff_findings_added_removed_changed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L37", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_test_finding_to_dict_handles_dataclass_and_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L48", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L57", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_test_audit_channel_publishes_delta", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L78", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L101", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_test_audit_channel_close_signals_subscribers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L119", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_test_create_app_uses_supplied_dependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L135", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_test_create_app_creates_default_dependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L141", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_test_create_app_attaches_audit_channel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L147", "weight": 1.0}, {"source": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "target": "api_test_app_test_lifespan_starts_and_stops_audit_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L154", "weight": 1.0}, {"source": "api_test_app_test_diff_findings_added_removed_changed", "target": "api_test_app_f", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L38", "weight": 1.0}, {"source": "api_test_app_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_api_test_app_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L1", "weight": 1.0}, {"source": "api_test_app_rationale_22", "target": "api_test_app_f", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L22", "weight": 1.0}, {"source": "api_test_app_rationale_155", "target": "api_test_app_test_lifespan_starts_and_stops_audit_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L155", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_test_app_test_diff_findings_added_removed_changed", "callee": "_diff_findings", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L42"}, {"caller_nid": "api_test_app_test_finding_to_dict_handles_dataclass_and_dict", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L49"}, {"caller_nid": "api_test_app_test_finding_to_dict_handles_dataclass_and_dict", "callee": "_finding_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L51"}, {"caller_nid": "api_test_app_test_finding_to_dict_handles_dataclass_and_dict", "callee": "_finding_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L52"}, {"caller_nid": "api_test_app_test_finding_to_dict_handles_dataclass_and_dict", "callee": "_finding_to_dict", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L53"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", "callee": "AuditChannel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L58"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L59"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L69"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", "callee": "collect", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L69"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L70"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", "callee": "publish_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L71"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L72"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_delta", "callee": "AuditChannel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L79"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_delta", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L80"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_delta", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L90"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_delta", "callee": "collect", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L90"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_delta", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L91"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_delta", "callee": "publish_delta", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L92"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_delta", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L95"}, {"caller_nid": "api_test_app_test_audit_channel_publishes_delta", "callee": "next", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L96"}, {"caller_nid": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot", "callee": "AuditChannel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L102"}, {"caller_nid": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L103"}, {"caller_nid": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot", "callee": "publish_snapshot", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L105"}, {"caller_nid": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L113"}, {"caller_nid": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot", "callee": "collect", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L113"}, {"caller_nid": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L114"}, {"caller_nid": "api_test_app_test_audit_channel_close_signals_subscribers", "callee": "AuditChannel", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L120"}, {"caller_nid": "api_test_app_test_audit_channel_close_signals_subscribers", "callee": "create_task", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L127"}, {"caller_nid": "api_test_app_test_audit_channel_close_signals_subscribers", "callee": "collect", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L127"}, {"caller_nid": "api_test_app_test_audit_channel_close_signals_subscribers", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L128"}, {"caller_nid": "api_test_app_test_audit_channel_close_signals_subscribers", "callee": "close", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L129"}, {"caller_nid": "api_test_app_test_audit_channel_close_signals_subscribers", "callee": "wait_for", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L130"}, {"caller_nid": "api_test_app_test_create_app_uses_supplied_dependencies", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L136"}, {"caller_nid": "api_test_app_test_create_app_uses_supplied_dependencies", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L136"}, {"caller_nid": "api_test_app_test_create_app_uses_supplied_dependencies", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L137"}, {"caller_nid": "api_test_app_test_create_app_creates_default_dependencies", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L142"}, {"caller_nid": "api_test_app_test_create_app_creates_default_dependencies", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L142"}, {"caller_nid": "api_test_app_test_create_app_attaches_audit_channel", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L148"}, {"caller_nid": "api_test_app_test_create_app_attaches_audit_channel", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L148"}, {"caller_nid": "api_test_app_test_create_app_attaches_audit_channel", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L149"}, {"caller_nid": "api_test_app_test_lifespan_starts_and_stops_audit_task", "callee": "AppDependencies", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L164"}, {"caller_nid": "api_test_app_test_lifespan_starts_and_stops_audit_task", "callee": "Config", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L164"}, {"caller_nid": "api_test_app_test_lifespan_starts_and_stops_audit_task", "callee": "StubValidator", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L164"}, {"caller_nid": "api_test_app_test_lifespan_starts_and_stops_audit_task", "callee": "create_app", "is_member_call": false, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L165"}, {"caller_nid": "api_test_app_test_lifespan_starts_and_stops_audit_task", "callee": "lifespan_context", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L167"}, {"caller_nid": "api_test_app_test_lifespan_starts_and_stops_audit_task", "callee": "sleep", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L169"}, {"caller_nid": "api_test_app_test_lifespan_starts_and_stops_audit_task", "callee": "done", "is_member_call": true, "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py", "source_location": "L171"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/ff55eca63eebf249183ade35bc04ba83e65f03b235eeed4b5db3287baefd5aa4.json b/graphify-out/cache/ast/ff55eca63eebf249183ade35bc04ba83e65f03b235eeed4b5db3287baefd5aa4.json deleted file mode 100644 index 175f801..0000000 --- a/graphify-out/cache/ast/ff55eca63eebf249183ade35bc04ba83e65f03b235eeed4b5db3287baefd5aa4.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "users_alex_projects_exlabwizard_tests_unit_tray_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/__init__.py", "source_location": "L1"}, {"id": "tray_init_rationale_1", "label": "Unit tests for ``exlab_wizard.tray``. Backend Spec \u00a74.3.2.", "file_type": "rationale", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/__init__.py", "source_location": "L1"}], "edges": [{"source": "tray_init_rationale_1", "target": "users_alex_projects_exlabwizard_tests_unit_tray_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/alex/Projects/ExLabWizard/tests/unit/tray/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/graph.json b/graphify-out/graph.json deleted file mode 100644 index 2303de9..0000000 --- a/graphify-out/graph.json +++ /dev/null @@ -1,256788 +0,0 @@ -{ - "directed": false, - "multigraph": false, - "graph": {}, - "nodes": [ - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/__init__.py", - "source_location": "L1", - "id": "tests_init_py", - "community": 552, - "norm_label": "__init__.py" - }, - { - "label": "test_errors.py", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L1", - "id": "tests_unit_test_errors_py", - "community": 15, - "norm_label": "test_errors.py" - }, - { - "label": "test_exlab_error_is_subclass_of_exception()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L33", - "id": "unit_test_errors_test_exlab_error_is_subclass_of_exception", - "community": 15, - "norm_label": "test_exlab_error_is_subclass_of_exception()" - }, - { - "label": "test_exlab_error_can_be_raised_and_caught()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L37", - "id": "unit_test_errors_test_exlab_error_can_be_raised_and_caught", - "community": 15, - "norm_label": "test_exlab_error_can_be_raised_and_caught()" - }, - { - "label": "test_config_error_is_subclass_of_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L48", - "id": "unit_test_errors_test_config_error_is_subclass_of_exlab_error", - "community": 15, - "norm_label": "test_config_error_is_subclass_of_exlab_error()" - }, - { - "label": "test_config_error_can_be_raised_and_caught()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L52", - "id": "unit_test_errors_test_config_error_can_be_raised_and_caught", - "community": 10, - "norm_label": "test_config_error_can_be_raised_and_caught()" - }, - { - "label": "test_validation_error_is_subclass_of_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L57", - "id": "unit_test_errors_test_validation_error_is_subclass_of_exlab_error", - "community": 15, - "norm_label": "test_validation_error_is_subclass_of_exlab_error()" - }, - { - "label": "test_validation_error_can_be_raised_and_caught()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L61", - "id": "unit_test_errors_test_validation_error_can_be_raised_and_caught", - "community": 10, - "norm_label": "test_validation_error_can_be_raised_and_caught()" - }, - { - "label": "test_template_load_error_is_subclass_of_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L66", - "id": "unit_test_errors_test_template_load_error_is_subclass_of_exlab_error", - "community": 15, - "norm_label": "test_template_load_error_is_subclass_of_exlab_error()" - }, - { - "label": "test_template_load_error_can_be_raised_and_caught()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L70", - "id": "unit_test_errors_test_template_load_error_can_be_raised_and_caught", - "community": 15, - "norm_label": "test_template_load_error_can_be_raised_and_caught()" - }, - { - "label": "test_plugin_error_is_subclass_of_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L75", - "id": "unit_test_errors_test_plugin_error_is_subclass_of_exlab_error", - "community": 15, - "norm_label": "test_plugin_error_is_subclass_of_exlab_error()" - }, - { - "label": "test_plugin_error_can_be_raised_and_caught()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L79", - "id": "unit_test_errors_test_plugin_error_can_be_raised_and_caught", - "community": 15, - "norm_label": "test_plugin_error_can_be_raised_and_caught()" - }, - { - "label": "test_keyring_unavailable_error_is_subclass_of_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L84", - "id": "unit_test_errors_test_keyring_unavailable_error_is_subclass_of_exlab_error", - "community": 15, - "norm_label": "test_keyring_unavailable_error_is_subclass_of_exlab_error()" - }, - { - "label": "test_keyring_unavailable_error_can_be_raised_and_caught()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L88", - "id": "unit_test_errors_test_keyring_unavailable_error_can_be_raised_and_caught", - "community": 15, - "norm_label": "test_keyring_unavailable_error_can_be_raised_and_caught()" - }, - { - "label": "test_setup_incomplete_error_is_subclass_of_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L93", - "id": "unit_test_errors_test_setup_incomplete_error_is_subclass_of_exlab_error", - "community": 15, - "norm_label": "test_setup_incomplete_error_is_subclass_of_exlab_error()" - }, - { - "label": "test_setup_incomplete_error_can_be_raised_and_caught()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L97", - "id": "unit_test_errors_test_setup_incomplete_error_can_be_raised_and_caught", - "community": 15, - "norm_label": "test_setup_incomplete_error_can_be_raised_and_caught()" - }, - { - "label": "test_template_core_field_redeclared_is_subclass_of_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L107", - "id": "unit_test_errors_test_template_core_field_redeclared_is_subclass_of_template_load_error", - "community": 15, - "norm_label": "test_template_core_field_redeclared_is_subclass_of_template_load_error()" - }, - { - "label": "test_template_core_field_redeclared_is_also_subclass_of_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L112", - "id": "unit_test_errors_test_template_core_field_redeclared_is_also_subclass_of_exlab_error", - "community": 15, - "norm_label": "test_template_core_field_redeclared_is_also_subclass_of_exlab_error()" - }, - { - "label": "test_template_core_field_redeclared_can_be_caught_as_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L116", - "id": "unit_test_errors_test_template_core_field_redeclared_can_be_caught_as_template_load_error", - "community": 15, - "norm_label": "test_template_core_field_redeclared_can_be_caught_as_template_load_error()" - }, - { - "label": "test_template_core_field_redeclared_can_be_caught_as_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L121", - "id": "unit_test_errors_test_template_core_field_redeclared_can_be_caught_as_exlab_error", - "community": 15, - "norm_label": "test_template_core_field_redeclared_can_be_caught_as_exlab_error()" - }, - { - "label": "test_plugin_input_required_is_subclass_of_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L131", - "id": "unit_test_errors_test_plugin_input_required_is_subclass_of_exlab_error", - "community": 15, - "norm_label": "test_plugin_input_required_is_subclass_of_exlab_error()" - }, - { - "label": "test_plugin_input_required_sets_fields_attribute()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L135", - "id": "unit_test_errors_test_plugin_input_required_sets_fields_attribute", - "community": 15, - "norm_label": "test_plugin_input_required_sets_fields_attribute()" - }, - { - "label": "test_plugin_input_required_accepts_empty_fields_list()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L141", - "id": "unit_test_errors_test_plugin_input_required_accepts_empty_fields_list", - "community": 15, - "norm_label": "test_plugin_input_required_accepts_empty_fields_list()" - }, - { - "label": "test_plugin_input_required_reason_property_returns_message_string()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L146", - "id": "unit_test_errors_test_plugin_input_required_reason_property_returns_message_string", - "community": 15, - "norm_label": "test_plugin_input_required_reason_property_returns_message_string()" - }, - { - "label": "test_plugin_input_required_str_equals_reason()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L151", - "id": "unit_test_errors_test_plugin_input_required_str_equals_reason", - "community": 15, - "norm_label": "test_plugin_input_required_str_equals_reason()" - }, - { - "label": "test_plugin_input_required_can_be_raised_and_caught()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L157", - "id": "unit_test_errors_test_plugin_input_required_can_be_raised_and_caught", - "community": 15, - "norm_label": "test_plugin_input_required_can_be_raised_and_caught()" - }, - { - "label": "test_plugin_input_required_can_be_caught_as_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L164", - "id": "unit_test_errors_test_plugin_input_required_can_be_caught_as_exlab_error", - "community": 15, - "norm_label": "test_plugin_input_required_can_be_caught_as_exlab_error()" - }, - { - "label": "test_schema_major_mismatch_is_subclass_of_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L174", - "id": "unit_test_errors_test_schema_major_mismatch_is_subclass_of_exlab_error", - "community": 15, - "norm_label": "test_schema_major_mismatch_is_subclass_of_exlab_error()" - }, - { - "label": "test_schema_major_mismatch_sets_expected_major_attribute()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L178", - "id": "unit_test_errors_test_schema_major_mismatch_sets_expected_major_attribute", - "community": 15, - "norm_label": "test_schema_major_mismatch_sets_expected_major_attribute()" - }, - { - "label": "test_schema_major_mismatch_sets_found_attribute()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L183", - "id": "unit_test_errors_test_schema_major_mismatch_sets_found_attribute", - "community": 15, - "norm_label": "test_schema_major_mismatch_sets_found_attribute()" - }, - { - "label": "test_schema_major_mismatch_str_contains_expected_and_found()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L188", - "id": "unit_test_errors_test_schema_major_mismatch_str_contains_expected_and_found", - "community": 15, - "norm_label": "test_schema_major_mismatch_str_contains_expected_and_found()" - }, - { - "label": "test_schema_major_mismatch_can_be_raised_and_caught()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L195", - "id": "unit_test_errors_test_schema_major_mismatch_can_be_raised_and_caught", - "community": 15, - "norm_label": "test_schema_major_mismatch_can_be_raised_and_caught()" - }, - { - "label": "test_schema_major_mismatch_can_be_caught_as_exlab_error()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L202", - "id": "unit_test_errors_test_schema_major_mismatch_can_be_caught_as_exlab_error", - "community": 15, - "norm_label": "test_schema_major_mismatch_can_be_caught_as_exlab_error()" - }, - { - "label": "test_all_lists_every_public_exception_class()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L212", - "id": "unit_test_errors_test_all_lists_every_public_exception_class", - "community": 15, - "norm_label": "test_all_lists_every_public_exception_class()" - }, - { - "label": "test_all_entries_resolve_to_module_attributes()", - "file_type": "code", - "source_file": "tests/unit/test_errors.py", - "source_location": "L229", - "id": "unit_test_errors_test_all_entries_resolve_to_module_attributes", - "community": 15, - "norm_label": "test_all_entries_resolve_to_module_attributes()" - }, - { - "label": "Tests for the top-level exception hierarchy in ``exlab_wizard.errors``. These t", - "file_type": "rationale", - "source_file": "tests/unit/test_errors.py", - "source_location": "L1", - "id": "unit_test_errors_rationale_1", - "community": 15, - "norm_label": "tests for the top-level exception hierarchy in ``exlab_wizard.errors``. these t" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/__init__.py", - "source_location": "L1", - "id": "tests_unit_init_py", - "community": 553, - "norm_label": "__init__.py" - }, - { - "label": "test_paths.py", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1", - "id": "tests_unit_test_paths_py", - "community": 75, - "norm_label": "test_paths.py" - }, - { - "label": "_make_equipment()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L52", - "id": "unit_test_paths_make_equipment", - "community": 59, - "norm_label": "_make_equipment()" - }, - { - "label": "_make_orchestrator()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L64", - "id": "unit_test_paths_make_orchestrator", - "community": 59, - "norm_label": "_make_orchestrator()" - }, - { - "label": "_ready_config()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L74", - "id": "unit_test_paths_ready_config", - "community": 160, - "norm_label": "_ready_config()" - }, - { - "label": "fake_home()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L103", - "id": "unit_test_paths_fake_home", - "community": 489, - "norm_label": "fake_home()" - }, - { - "label": "test_os_config_path_macos()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L126", - "id": "unit_test_paths_test_os_config_path_macos", - "community": 76, - "norm_label": "test_os_config_path_macos()" - }, - { - "label": "test_os_config_path_windows()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L132", - "id": "unit_test_paths_test_os_config_path_windows", - "community": 76, - "norm_label": "test_os_config_path_windows()" - }, - { - "label": "test_os_config_path_linux_with_xdg()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L140", - "id": "unit_test_paths_test_os_config_path_linux_with_xdg", - "community": 76, - "norm_label": "test_os_config_path_linux_with_xdg()" - }, - { - "label": "test_os_config_path_linux_without_xdg()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L148", - "id": "unit_test_paths_test_os_config_path_linux_without_xdg", - "community": 76, - "norm_label": "test_os_config_path_linux_without_xdg()" - }, - { - "label": "test_os_state_path_macos()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L159", - "id": "unit_test_paths_test_os_state_path_macos", - "community": 239, - "norm_label": "test_os_state_path_macos()" - }, - { - "label": "test_os_state_path_windows()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L165", - "id": "unit_test_paths_test_os_state_path_windows", - "community": 239, - "norm_label": "test_os_state_path_windows()" - }, - { - "label": "test_os_state_path_linux_with_xdg()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L173", - "id": "unit_test_paths_test_os_state_path_linux_with_xdg", - "community": 239, - "norm_label": "test_os_state_path_linux_with_xdg()" - }, - { - "label": "test_os_state_path_linux_without_xdg()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L181", - "id": "unit_test_paths_test_os_state_path_linux_without_xdg", - "community": 239, - "norm_label": "test_os_state_path_linux_without_xdg()" - }, - { - "label": "test_os_cache_path_macos()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L192", - "id": "unit_test_paths_test_os_cache_path_macos", - "community": 76, - "norm_label": "test_os_cache_path_macos()" - }, - { - "label": "test_os_cache_path_windows()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L198", - "id": "unit_test_paths_test_os_cache_path_windows", - "community": 76, - "norm_label": "test_os_cache_path_windows()" - }, - { - "label": "test_os_cache_path_linux_with_xdg()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L206", - "id": "unit_test_paths_test_os_cache_path_linux_with_xdg", - "community": 76, - "norm_label": "test_os_cache_path_linux_with_xdg()" - }, - { - "label": "test_os_cache_path_linux_without_xdg()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L214", - "id": "unit_test_paths_test_os_cache_path_linux_without_xdg", - "community": 76, - "norm_label": "test_os_cache_path_linux_without_xdg()" - }, - { - "label": "test_os_central_log_path_macos()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L225", - "id": "unit_test_paths_test_os_central_log_path_macos", - "community": 238, - "norm_label": "test_os_central_log_path_macos()" - }, - { - "label": "test_os_central_log_path_windows()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L231", - "id": "unit_test_paths_test_os_central_log_path_windows", - "community": 238, - "norm_label": "test_os_central_log_path_windows()" - }, - { - "label": "test_os_central_log_path_linux_with_xdg()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L239", - "id": "unit_test_paths_test_os_central_log_path_linux_with_xdg", - "community": 238, - "norm_label": "test_os_central_log_path_linux_with_xdg()" - }, - { - "label": "test_os_central_log_path_linux_without_xdg()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L249", - "id": "unit_test_paths_test_os_central_log_path_linux_without_xdg", - "community": 238, - "norm_label": "test_os_central_log_path_linux_without_xdg()" - }, - { - "label": "test_suggested_staging_root_linux_fallback()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L266", - "id": "unit_test_paths_test_suggested_staging_root_linux_fallback", - "community": 76, - "norm_label": "test_suggested_staging_root_linux_fallback()" - }, - { - "label": "test_suggested_staging_root_linux_honors_xdg_data_home()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L274", - "id": "unit_test_paths_test_suggested_staging_root_linux_honors_xdg_data_home", - "community": 76, - "norm_label": "test_suggested_staging_root_linux_honors_xdg_data_home()" - }, - { - "label": "test_suggested_staging_root_macos()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L283", - "id": "unit_test_paths_test_suggested_staging_root_macos", - "community": 76, - "norm_label": "test_suggested_staging_root_macos()" - }, - { - "label": "test_suggested_staging_root_windows()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L289", - "id": "unit_test_paths_test_suggested_staging_root_windows", - "community": 76, - "norm_label": "test_suggested_staging_root_windows()" - }, - { - "label": "test_test_mode_suffixes_os_config_path()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L310", - "id": "unit_test_paths_test_test_mode_suffixes_os_config_path", - "community": 76, - "norm_label": "test_test_mode_suffixes_os_config_path()" - }, - { - "label": "test_test_mode_suffixes_os_state_path()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L319", - "id": "unit_test_paths_test_test_mode_suffixes_os_state_path", - "community": 239, - "norm_label": "test_test_mode_suffixes_os_state_path()" - }, - { - "label": "test_test_mode_suffixes_os_cache_path()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L326", - "id": "unit_test_paths_test_test_mode_suffixes_os_cache_path", - "community": 76, - "norm_label": "test_test_mode_suffixes_os_cache_path()" - }, - { - "label": "test_test_mode_suffixes_os_central_log_path()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L333", - "id": "unit_test_paths_test_test_mode_suffixes_os_central_log_path", - "community": 238, - "norm_label": "test_test_mode_suffixes_os_central_log_path()" - }, - { - "label": "test_test_mode_suffixes_suggested_staging_root()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L342", - "id": "unit_test_paths_test_test_mode_suffixes_suggested_staging_root", - "community": 76, - "norm_label": "test_test_mode_suffixes_suggested_staging_root()" - }, - { - "label": "test_test_mode_off_does_not_suffix()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L353", - "id": "unit_test_paths_test_test_mode_off_does_not_suffix", - "community": 76, - "norm_label": "test_test_mode_off_does_not_suffix()" - }, - { - "label": "test_ensure_dir_creates_missing()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L372", - "id": "unit_test_paths_test_ensure_dir_creates_missing", - "community": 238, - "norm_label": "test_ensure_dir_creates_missing()" - }, - { - "label": "test_ensure_dir_idempotent_when_exists()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L380", - "id": "unit_test_paths_test_ensure_dir_idempotent_when_exists", - "community": 238, - "norm_label": "test_ensure_dir_idempotent_when_exists()" - }, - { - "label": "test_ensure_state_dir_creates_state_dir()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L389", - "id": "unit_test_paths_test_ensure_state_dir_creates_state_dir", - "community": 239, - "norm_label": "test_ensure_state_dir_creates_state_dir()" - }, - { - "label": "test_ensure_central_log_dir_creates_parent()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L398", - "id": "unit_test_paths_test_ensure_central_log_dir_creates_parent", - "community": 238, - "norm_label": "test_ensure_central_log_dir_creates_parent()" - }, - { - "label": "test_canonicalize_equipment_id_accepts_canonical()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L412", - "id": "unit_test_paths_test_canonicalize_equipment_id_accepts_canonical", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_accepts_canonical()" - }, - { - "label": "test_canonicalize_equipment_id_accepts_other_canonical_examples()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L420", - "id": "unit_test_paths_test_canonicalize_equipment_id_accepts_other_canonical_examples", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_accepts_other_canonical_examples()" - }, - { - "label": "test_canonicalize_equipment_id_rejects_lowercase()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L424", - "id": "unit_test_paths_test_canonicalize_equipment_id_rejects_lowercase", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_rejects_lowercase()" - }, - { - "label": "test_canonicalize_equipment_id_rejects_hyphen()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L429", - "id": "unit_test_paths_test_canonicalize_equipment_id_rejects_hyphen", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_rejects_hyphen()" - }, - { - "label": "test_canonicalize_equipment_id_rejects_leading_digit()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L434", - "id": "unit_test_paths_test_canonicalize_equipment_id_rejects_leading_digit", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_rejects_leading_digit()" - }, - { - "label": "test_canonicalize_equipment_id_rejects_space()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L439", - "id": "unit_test_paths_test_canonicalize_equipment_id_rejects_space", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_rejects_space()" - }, - { - "label": "test_canonicalize_equipment_id_rejects_non_ascii()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L444", - "id": "unit_test_paths_test_canonicalize_equipment_id_rejects_non_ascii", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_rejects_non_ascii()" - }, - { - "label": "test_canonicalize_equipment_id_rejects_too_long()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L449", - "id": "unit_test_paths_test_canonicalize_equipment_id_rejects_too_long", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_rejects_too_long()" - }, - { - "label": "test_canonicalize_equipment_id_accepts_max_length()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L457", - "id": "unit_test_paths_test_canonicalize_equipment_id_accepts_max_length", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_accepts_max_length()" - }, - { - "label": "test_canonicalize_equipment_id_rejects_empty()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L462", - "id": "unit_test_paths_test_canonicalize_equipment_id_rejects_empty", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_rejects_empty()" - }, - { - "label": "test_canonicalize_equipment_id_rejects_none()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L467", - "id": "unit_test_paths_test_canonicalize_equipment_id_rejects_none", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_rejects_none()" - }, - { - "label": "test_canonicalize_equipment_id_rejects_int()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L474", - "id": "unit_test_paths_test_canonicalize_equipment_id_rejects_int", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_rejects_int()" - }, - { - "label": "test_canonicalize_equipment_id_does_not_mutate_input()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L482", - "id": "unit_test_paths_test_canonicalize_equipment_id_does_not_mutate_input", - "community": 75, - "norm_label": "test_canonicalize_equipment_id_does_not_mutate_input()" - }, - { - "label": "test_compose_run_path_experimental()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L500", - "id": "unit_test_paths_test_compose_run_path_experimental", - "community": 176, - "norm_label": "test_compose_run_path_experimental()" - }, - { - "label": "test_compose_run_path_test()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L512", - "id": "unit_test_paths_test_compose_run_path_test", - "community": 176, - "norm_label": "test_compose_run_path_test()" - }, - { - "label": "test_compose_run_path_strftime_format()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L524", - "id": "unit_test_paths_test_compose_run_path_strftime_format", - "community": 176, - "norm_label": "test_compose_run_path_strftime_format()" - }, - { - "label": "test_compose_run_path_experimental_under_runs_subdir()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L541", - "id": "unit_test_paths_test_compose_run_path_experimental_under_runs_subdir", - "community": 176, - "norm_label": "test_compose_run_path_experimental_under_runs_subdir()" - }, - { - "label": "test_compose_run_path_same_minute_collision_returns_same_path()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L554", - "id": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path", - "community": 176, - "norm_label": "test_compose_run_path_same_minute_collision_returns_same_path()" - }, - { - "label": "test_compose_run_path_rejects_invalid_equipment_id()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L575", - "id": "unit_test_paths_test_compose_run_path_rejects_invalid_equipment_id", - "community": 176, - "norm_label": "test_compose_run_path_rejects_invalid_equipment_id()" - }, - { - "label": "test_compose_run_path_rejects_unsafe_project_name()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L586", - "id": "unit_test_paths_test_compose_run_path_rejects_unsafe_project_name", - "community": 176, - "norm_label": "test_compose_run_path_rejects_unsafe_project_name()" - }, - { - "label": "test_compose_project_path_basic()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L597", - "id": "unit_test_paths_test_compose_project_path_basic", - "community": 75, - "norm_label": "test_compose_project_path_basic()" - }, - { - "label": "test_compose_project_path_rejects_invalid_equipment_id()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L607", - "id": "unit_test_paths_test_compose_project_path_rejects_invalid_equipment_id", - "community": 75, - "norm_label": "test_compose_project_path_rejects_invalid_equipment_id()" - }, - { - "label": "test_compose_project_path_rejects_unsafe_project_name()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L616", - "id": "unit_test_paths_test_compose_project_path_rejects_unsafe_project_name", - "community": 75, - "norm_label": "test_compose_project_path_rejects_unsafe_project_name()" - }, - { - "label": "test_compose_run_path_rejects_non_str_project_name()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L625", - "id": "unit_test_paths_test_compose_run_path_rejects_non_str_project_name", - "community": 176, - "norm_label": "test_compose_run_path_rejects_non_str_project_name()" - }, - { - "label": "test_compose_run_path_rejects_empty_project_name()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L638", - "id": "unit_test_paths_test_compose_run_path_rejects_empty_project_name", - "community": 176, - "norm_label": "test_compose_run_path_rejects_empty_project_name()" - }, - { - "label": "test_compose_project_path_rejects_non_str_project_name()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L651", - "id": "unit_test_paths_test_compose_project_path_rejects_non_str_project_name", - "community": 75, - "norm_label": "test_compose_project_path_rejects_non_str_project_name()" - }, - { - "label": "test_validate_project_name_accepts_human_readable_names()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L666", - "id": "unit_test_paths_test_validate_project_name_accepts_human_readable_names", - "community": 256, - "norm_label": "test_validate_project_name_accepts_human_readable_names()" - }, - { - "label": "test_validate_project_name_rejects_unsafe_names()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L690", - "id": "unit_test_paths_test_validate_project_name_rejects_unsafe_names", - "community": 256, - "norm_label": "test_validate_project_name_rejects_unsafe_names()" - }, - { - "label": "test_validate_project_name_rejects_overlong_name()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L696", - "id": "unit_test_paths_test_validate_project_name_rejects_overlong_name", - "community": 256, - "norm_label": "test_validate_project_name_rejects_overlong_name()" - }, - { - "label": "test_validate_project_name_does_not_mutate_input()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L702", - "id": "unit_test_paths_test_validate_project_name_does_not_mutate_input", - "community": 256, - "norm_label": "test_validate_project_name_does_not_mutate_input()" - }, - { - "label": "test_evaluate_setup_state_no_config()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L713", - "id": "unit_test_paths_test_evaluate_setup_state_no_config", - "community": 75, - "norm_label": "test_evaluate_setup_state_no_config()" - }, - { - "label": "test_evaluate_setup_state_missing_paths()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L717", - "id": "unit_test_paths_test_evaluate_setup_state_missing_paths", - "community": 59, - "norm_label": "test_evaluate_setup_state_missing_paths()" - }, - { - "label": "test_evaluate_setup_state_missing_paths_partial()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L726", - "id": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", - "community": 59, - "norm_label": "test_evaluate_setup_state_missing_paths_partial()" - }, - { - "label": "test_evaluate_setup_state_no_equipment()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L740", - "id": "unit_test_paths_test_evaluate_setup_state_no_equipment", - "community": 59, - "norm_label": "test_evaluate_setup_state_no_equipment()" - }, - { - "label": "test_evaluate_setup_state_no_orchestrator()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L753", - "id": "unit_test_paths_test_evaluate_setup_state_no_orchestrator", - "community": 59, - "norm_label": "test_evaluate_setup_state_no_orchestrator()" - }, - { - "label": "test_evaluate_setup_state_no_orchestrator_when_only_staging_set()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L766", - "id": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", - "community": 59, - "norm_label": "test_evaluate_setup_state_no_orchestrator_when_only_staging_set()" - }, - { - "label": "test_evaluate_setup_state_blank_staging_root_is_allowed()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L782", - "id": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", - "community": 0, - "norm_label": "test_evaluate_setup_state_blank_staging_root_is_allowed()" - }, - { - "label": "test_setup_state_missing_for_no_orchestrator_lists_only_label()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L800", - "id": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", - "community": 59, - "norm_label": "test_setup_state_missing_for_no_orchestrator_lists_only_label()" - }, - { - "label": "test_evaluate_setup_state_no_lims()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L817", - "id": "unit_test_paths_test_evaluate_setup_state_no_lims", - "community": 0, - "norm_label": "test_evaluate_setup_state_no_lims()" - }, - { - "label": "test_evaluate_setup_state_lims_via_offline_catalogue()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L834", - "id": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", - "community": 59, - "norm_label": "test_evaluate_setup_state_lims_via_offline_catalogue()" - }, - { - "label": "test_evaluate_setup_state_lims_unreachable()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L857", - "id": "unit_test_paths_test_evaluate_setup_state_lims_unreachable", - "community": 160, - "norm_label": "test_evaluate_setup_state_lims_unreachable()" - }, - { - "label": "test_evaluate_setup_state_ready()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L864", - "id": "unit_test_paths_test_evaluate_setup_state_ready", - "community": 160, - "norm_label": "test_evaluate_setup_state_ready()" - }, - { - "label": "test_evaluate_setup_state_keyring_missing()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L868", - "id": "unit_test_paths_test_evaluate_setup_state_keyring_missing", - "community": 160, - "norm_label": "test_evaluate_setup_state_keyring_missing()" - }, - { - "label": "_nas_remote_config()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L877", - "id": "unit_test_paths_nas_remote_config", - "community": 59, - "norm_label": "_nas_remote_config()" - }, - { - "label": "test_setup_incomplete_when_nas_remote_blank()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L903", - "id": "unit_test_paths_test_setup_incomplete_when_nas_remote_blank", - "community": 59, - "norm_label": "test_setup_incomplete_when_nas_remote_blank()" - }, - { - "label": "test_setup_incomplete_when_remote_not_in_rclone_conf()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L911", - "id": "unit_test_paths_test_setup_incomplete_when_remote_not_in_rclone_conf", - "community": 59, - "norm_label": "test_setup_incomplete_when_remote_not_in_rclone_conf()" - }, - { - "label": "test_setup_ready_when_remote_present()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L921", - "id": "unit_test_paths_test_setup_ready_when_remote_present", - "community": 59, - "norm_label": "test_setup_ready_when_remote_present()" - }, - { - "label": "test_evaluate_setup_state_nas_state_precedes_lims_state()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L931", - "id": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state", - "community": 160, - "norm_label": "test_evaluate_setup_state_nas_state_precedes_lims_state()" - }, - { - "label": "test_setup_state_missing_for_no_nas_remote_reports_remote_field()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L943", - "id": "unit_test_paths_test_setup_state_missing_for_no_nas_remote_reports_remote_field", - "community": 177, - "norm_label": "test_setup_state_missing_for_no_nas_remote_reports_remote_field()" - }, - { - "label": "test_setup_state_next_action_for_no_nas_remote()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L956", - "id": "unit_test_paths_test_setup_state_next_action_for_no_nas_remote", - "community": 75, - "norm_label": "test_setup_state_next_action_for_no_nas_remote()" - }, - { - "label": "test_evaluate_setup_state_endpoint_only_missing_email()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L965", - "id": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", - "community": 59, - "norm_label": "test_evaluate_setup_state_endpoint_only_missing_email()" - }, - { - "label": "test_setup_state_next_action_table()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L999", - "id": "unit_test_paths_test_setup_state_next_action_table", - "community": 75, - "norm_label": "test_setup_state_next_action_table()" - }, - { - "label": "test_setup_state_missing_when_no_config()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1008", - "id": "unit_test_paths_test_setup_state_missing_when_no_config", - "community": 177, - "norm_label": "test_setup_state_missing_when_no_config()" - }, - { - "label": "test_setup_state_missing_when_ready()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1016", - "id": "unit_test_paths_test_setup_state_missing_when_ready", - "community": 160, - "norm_label": "test_setup_state_missing_when_ready()" - }, - { - "label": "test_setup_state_missing_when_lims_unreachable_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1020", - "id": "unit_test_paths_test_setup_state_missing_when_lims_unreachable_returns_empty", - "community": 160, - "norm_label": "test_setup_state_missing_when_lims_unreachable_returns_empty()" - }, - { - "label": "test_setup_state_missing_for_paths_lists_each_unset()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1025", - "id": "unit_test_paths_test_setup_state_missing_for_paths_lists_each_unset", - "community": 177, - "norm_label": "test_setup_state_missing_for_paths_lists_each_unset()" - }, - { - "label": "test_setup_state_missing_for_no_equipment()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1036", - "id": "unit_test_paths_test_setup_state_missing_for_no_equipment", - "community": 160, - "norm_label": "test_setup_state_missing_for_no_equipment()" - }, - { - "label": "test_setup_state_missing_for_no_lims_lists_endpoint_email()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1041", - "id": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", - "community": 59, - "norm_label": "test_setup_state_missing_for_no_lims_lists_endpoint_email()" - }, - { - "label": "test_setup_state_missing_for_missing_paths_with_none_config()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1058", - "id": "unit_test_paths_test_setup_state_missing_for_missing_paths_with_none_config", - "community": 177, - "norm_label": "test_setup_state_missing_for_missing_paths_with_none_config()" - }, - { - "label": "test_setup_state_missing_for_no_lims_with_none_config()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1069", - "id": "unit_test_paths_test_setup_state_missing_for_no_lims_with_none_config", - "community": 177, - "norm_label": "test_setup_state_missing_for_no_lims_with_none_config()" - }, - { - "label": "test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1077", - "id": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", - "community": 59, - "norm_label": "test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set()" - }, - { - "label": "test_setup_state_missing_unrecognized_state_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1103", - "id": "unit_test_paths_test_setup_state_missing_unrecognized_state_returns_empty", - "community": 177, - "norm_label": "test_setup_state_missing_unrecognized_state_returns_empty()" - }, - { - "label": "Unit tests for ``exlab_wizard.paths``. OS-aware directory helpers + equipment-i", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1", - "id": "unit_test_paths_rationale_1", - "community": 75, - "norm_label": "unit tests for ``exlab_wizard.paths``. os-aware directory helpers + equipment-i" - }, - { - "label": "Construct a minimal valid EquipmentConfig for setup-state fixtures.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L53", - "id": "unit_test_paths_rationale_53", - "community": 59, - "norm_label": "construct a minimal valid equipmentconfig for setup-state fixtures." - }, - { - "label": "Minimal orchestrator identity (Redesign \u00a73.1) for setup-state fixtures.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L65", - "id": "unit_test_paths_rationale_65", - "community": 59, - "norm_label": "minimal orchestrator identity (redesign \u00a73.1) for setup-state fixtures." - }, - { - "label": "Construct a fully READY Config (paths + equipment + LIMS endpoint+email). R", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L75", - "id": "unit_test_paths_rationale_75", - "community": 160, - "norm_label": "construct a fully ready config (paths + equipment + lims endpoint+email). r" - }, - { - "label": "Return a fake HOME under tmp_path; route ``Path.home()`` to it.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L104", - "id": "unit_test_paths_rationale_104", - "community": 489, - "norm_label": "return a fake home under tmp_path; route ``path.home()`` to it." - }, - { - "label": "The suggestion now nests under APP_NAME on every platform, so the test-mode", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L345", - "id": "unit_test_paths_rationale_345", - "community": 76, - "norm_label": "the suggestion now nests under app_name on every platform, so the test-mode" - }, - { - "label": "Unset / non-'1' values must leave the real OS dirs untouched.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L354", - "id": "unit_test_paths_rationale_354", - "community": 76, - "norm_label": "unset / non-'1' values must leave the real os dirs untouched." - }, - { - "label": "Non-str input hits the isinstance guard, not the regex.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L468", - "id": "unit_test_paths_rationale_468", - "community": 75, - "norm_label": "non-str input hits the isinstance guard, not the regex." - }, - { - "label": "Non-str input hits the isinstance guard, not the length / regex check.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L475", - "id": "unit_test_paths_rationale_475", - "community": 75, - "norm_label": "non-str input hits the isinstance guard, not the length / regex check." - }, - { - "label": "Spec contract: input must already be canonical; no silent uppercasing.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L483", - "id": "unit_test_paths_rationale_483", - "community": 75, - "norm_label": "spec contract: input must already be canonical; no silent uppercasing." - }, - { - "label": "The leaf is ISO 8601 with colons replaced by hyphens. \u00a73.1. Redesign \u00a73.4:", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L525", - "id": "unit_test_paths_rationale_525", - "community": 176, - "norm_label": "the leaf is iso 8601 with colons replaced by hyphens. \u00a73.1. redesign \u00a73.4:" - }, - { - "label": "Redesign \u00a73.4: experimental runs live under /Runs/Run_*.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L542", - "id": "unit_test_paths_rationale_542", - "community": 176, - "norm_label": "redesign \u00a73.4: experimental runs live under /runs/run_*." - }, - { - "label": "Redesign \u00a73.4: two runs in the same minute resolve to the same path (Copier", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L555", - "id": "unit_test_paths_rationale_555", - "community": 176, - "norm_label": "redesign \u00a73.4: two runs in the same minute resolve to the same path (copier" - }, - { - "label": "A non-str project_name hits the isinstance guard.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L626", - "id": "unit_test_paths_rationale_626", - "community": 176, - "norm_label": "a non-str project_name hits the isinstance guard." - }, - { - "label": "An empty-string project_name also hits the same guard.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L639", - "id": "unit_test_paths_rationale_639", - "community": 176, - "norm_label": "an empty-string project_name also hits the same guard." - }, - { - "label": "Spaces and ordinary punctuation are fine -- the name is used verbatim.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L667", - "id": "unit_test_paths_rationale_667", - "community": 256, - "norm_label": "spaces and ordinary punctuation are fine -- the name is used verbatim." - }, - { - "label": "The \u00a73.2 contract is 'used verbatim' -- no canonicalisation.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L703", - "id": "unit_test_paths_rationale_703", - "community": 256, - "norm_label": "the \u00a73.2 contract is 'used verbatim' -- no canonicalisation." - }, - { - "label": "Only one path is empty -- still INCOMPLETE_MISSING_PATHS.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L727", - "id": "unit_test_paths_rationale_727", - "community": 59, - "norm_label": "only one path is empty -- still incomplete_missing_paths." - }, - { - "label": "Only ``label`` gates orchestrator identity; a blank label trips it.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L754", - "id": "unit_test_paths_rationale_754", - "community": 59, - "norm_label": "only ``label`` gates orchestrator identity; a blank label trips it." - }, - { - "label": "A staging root without a label still trips -- staging never substitutes.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L767", - "id": "unit_test_paths_rationale_767", - "community": 59, - "norm_label": "a staging root without a label still trips -- staging never substitutes." - }, - { - "label": "staging_root is opt-in: a blank value does not block READY.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L783", - "id": "unit_test_paths_rationale_783", - "community": 0, - "norm_label": "staging_root is opt-in: a blank value does not block ready." - }, - { - "label": "The orchestrator missing-field rollup no longer mentions staging_root.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L801", - "id": "unit_test_paths_rationale_801", - "community": 59, - "norm_label": "the orchestrator missing-field rollup no longer mentions staging_root." - }, - { - "label": "Offline catalogue path satisfies the LIMS slot without endpoint+email.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L835", - "id": "unit_test_paths_rationale_835", - "community": 59, - "norm_label": "offline catalogue path satisfies the lims slot without endpoint+email." - }, - { - "label": "endpoint+email present but keyring lacks the password -> INCOMPLETE_NO_LIMS.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L869", - "id": "unit_test_paths_rationale_869", - "community": 160, - "norm_label": "endpoint+email present but keyring lacks the password -> incomplete_no_lims." - }, - { - "label": "Build a READY-shaped config with a single nas-mode equipment. NAS sync is i", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L878", - "id": "unit_test_paths_rationale_878", - "community": 59, - "norm_label": "build a ready-shaped config with a single nas-mode equipment. nas sync is i" - }, - { - "label": "NAS sync in use but no remote configured -> INCOMPLETE_NO_NAS_REMOTE.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L904", - "id": "unit_test_paths_rationale_904", - "community": 59, - "norm_label": "nas sync in use but no remote configured -> incomplete_no_nas_remote." - }, - { - "label": "Remote named but absent from rclone.conf -> INCOMPLETE_NO_NAS_REMOTE.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L912", - "id": "unit_test_paths_rationale_912", - "community": 59, - "norm_label": "remote named but absent from rclone.conf -> incomplete_no_nas_remote." - }, - { - "label": "Remote named and present in rclone.conf -> READY.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L922", - "id": "unit_test_paths_rationale_922", - "community": 59, - "norm_label": "remote named and present in rclone.conf -> ready." - }, - { - "label": "A configured LIMS does not mask the missing NAS remote.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L932", - "id": "unit_test_paths_rationale_932", - "community": 160, - "norm_label": "a configured lims does not mask the missing nas remote." - }, - { - "label": "The missing list names ``nas.remote`` and distinguishes unset vs absent.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L944", - "id": "unit_test_paths_rationale_944", - "community": 177, - "norm_label": "the missing list names ``nas.remote`` and distinguishes unset vs absent." - }, - { - "label": "endpoint present but email empty -> INCOMPLETE_NO_LIMS (email is required).", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L966", - "id": "unit_test_paths_rationale_966", - "community": 59, - "norm_label": "endpoint present but email empty -> incomplete_no_lims (email is required)." - }, - { - "label": "Soft block: surfaces a banner, not a missing-field list.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1021", - "id": "unit_test_paths_rationale_1021", - "community": 160, - "norm_label": "soft block: surfaces a banner, not a missing-field list." - }, - { - "label": "When config is None but state is INCOMPLETE_MISSING_PATHS, every paths field", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1059", - "id": "unit_test_paths_rationale_1059", - "community": 177, - "norm_label": "when config is none but state is incomplete_missing_paths, every paths field" - }, - { - "label": "When config is None but state is INCOMPLETE_NO_LIMS, the whole lims block is", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1070", - "id": "unit_test_paths_rationale_1070", - "community": 177, - "norm_label": "when config is none but state is incomplete_no_lims, the whole lims block is" - }, - { - "label": "endpoint+email both filled in but no offline catalogue -> the keyring-passwo", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1078", - "id": "unit_test_paths_rationale_1078", - "community": 59, - "norm_label": "endpoint+email both filled in but no offline catalogue -> the keyring-passwo" - }, - { - "label": "Defensive fallback: any value that isn't a recognized SetupState returns an", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1104", - "id": "unit_test_paths_rationale_1104", - "community": 177, - "norm_label": "defensive fallback: any value that isn't a recognized setupstate returns an" - }, - { - "label": "test_main.py", - "file_type": "code", - "source_file": "tests/unit/test_main.py", - "source_location": "L1", - "id": "tests_unit_test_main_py", - "community": 388, - "norm_label": "test_main.py" - }, - { - "label": "test_main_returns_zero()", - "file_type": "code", - "source_file": "tests/unit/test_main.py", - "source_location": "L14", - "id": "unit_test_main_test_main_returns_zero", - "community": 388, - "norm_label": "test_main_returns_zero()" - }, - { - "label": "test_main_prints_hint()", - "file_type": "code", - "source_file": "tests/unit/test_main.py", - "source_location": "L19", - "id": "unit_test_main_test_main_prints_hint", - "community": 388, - "norm_label": "test_main_prints_hint()" - }, - { - "label": "Tests for the CLI alias entry point in ``exlab_wizard.__main__``. The entry poi", - "file_type": "rationale", - "source_file": "tests/unit/test_main.py", - "source_location": "L1", - "id": "unit_test_main_rationale_1", - "community": 388, - "norm_label": "tests for the cli alias entry point in ``exlab_wizard.__main__``. the entry poi" - }, - { - "label": "test_wizard_run_page.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L1", - "id": "tests_unit_ui_test_wizard_run_page_py", - "community": 56, - "norm_label": "test_wizard_run_page.py" - }, - { - "label": "test_can_advance_template_step_requires_selection()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L34", - "id": "ui_test_wizard_run_page_test_can_advance_template_step_requires_selection", - "community": 56, - "norm_label": "test_can_advance_template_step_requires_selection()" - }, - { - "label": "test_can_advance_variables_step_always_true()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L41", - "id": "ui_test_wizard_run_page_test_can_advance_variables_step_always_true", - "community": 56, - "norm_label": "test_can_advance_variables_step_always_true()" - }, - { - "label": "test_can_advance_preview_step_blocks_on_validator_findings()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L46", - "id": "ui_test_wizard_run_page_test_can_advance_preview_step_blocks_on_validator_findings", - "community": 56, - "norm_label": "test_can_advance_preview_step_blocks_on_validator_findings()" - }, - { - "label": "test_can_advance_confirm_step_always_true()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L53", - "id": "ui_test_wizard_run_page_test_can_advance_confirm_step_always_true", - "community": 56, - "norm_label": "test_can_advance_confirm_step_always_true()" - }, - { - "label": "test_can_advance_default_step_is_project_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L58", - "id": "ui_test_wizard_run_page_test_can_advance_default_step_is_project_equipment", - "community": 56, - "norm_label": "test_can_advance_default_step_is_project_equipment()" - }, - { - "label": "test_can_advance_readme_blocks_on_partial_core_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L68", - "id": "ui_test_wizard_run_page_test_can_advance_readme_blocks_on_partial_core_fields", - "community": 56, - "norm_label": "test_can_advance_readme_blocks_on_partial_core_fields()" - }, - { - "label": "test_state_run_kind_is_bound_and_drives_helpers()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L81", - "id": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", - "community": 56, - "norm_label": "test_state_run_kind_is_bound_and_drives_helpers()" - }, - { - "label": "test_preview_path_segments_experimental_uses_run_prefix()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L98", - "id": "ui_test_wizard_run_page_test_preview_path_segments_experimental_uses_run_prefix", - "community": 56, - "norm_label": "test_preview_path_segments_experimental_uses_run_prefix()" - }, - { - "label": "test_preview_path_segments_test_uses_testrun_prefix_and_folder()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L109", - "id": "ui_test_wizard_run_page_test_preview_path_segments_test_uses_testrun_prefix_and_folder", - "community": 56, - "norm_label": "test_preview_path_segments_test_uses_testrun_prefix_and_folder()" - }, - { - "label": "test_render_run_wizard_experimental_with_choices_does_not_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L126", - "id": "ui_test_wizard_run_page_test_render_run_wizard_experimental_with_choices_does_not_raise", - "community": 56, - "norm_label": "test_render_run_wizard_experimental_with_choices_does_not_raise()" - }, - { - "label": "test_render_run_wizard_test_with_choices_does_not_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L136", - "id": "ui_test_wizard_run_page_test_render_run_wizard_test_with_choices_does_not_raise", - "community": 56, - "norm_label": "test_render_run_wizard_test_with_choices_does_not_raise()" - }, - { - "label": "test_render_run_wizard_with_empty_choices_does_not_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L146", - "id": "ui_test_wizard_run_page_test_render_run_wizard_with_empty_choices_does_not_raise", - "community": 56, - "norm_label": "test_render_run_wizard_with_empty_choices_does_not_raise()" - }, - { - "label": "test_wizard_run_step_titles_cover_every_step()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L155", - "id": "ui_test_wizard_run_page_test_wizard_run_step_titles_cover_every_step", - "community": 56, - "norm_label": "test_wizard_run_step_titles_cover_every_step()" - }, - { - "label": "Tests for the New Run Wizard helpers (gaps not covered by test_pages). ``test_p", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L1", - "id": "ui_test_wizard_run_page_rationale_1", - "community": 56, - "norm_label": "tests for the new run wizard helpers (gaps not covered by test_pages). ``test_p" - }, - { - "label": "test_metadata_pane.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L1", - "id": "tests_unit_ui_test_metadata_pane_py", - "community": 146, - "norm_label": "test_metadata_pane.py" - }, - { - "label": "_walk()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L20", - "id": "ui_test_metadata_pane_walk", - "community": 146, - "norm_label": "_walk()" - }, - { - "label": "_by_testid()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L27", - "id": "ui_test_metadata_pane_by_testid", - "community": 146, - "norm_label": "_by_testid()" - }, - { - "label": "_texts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L31", - "id": "ui_test_metadata_pane_texts", - "community": 146, - "norm_label": "_texts()" - }, - { - "label": "_file_payload()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L35", - "id": "ui_test_metadata_pane_file_payload", - "community": 146, - "norm_label": "_file_payload()" - }, - { - "label": "test_selected_file_card_title_maps_kind()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L54", - "id": "ui_test_metadata_pane_test_selected_file_card_title_maps_kind", - "community": 132, - "norm_label": "test_selected_file_card_title_maps_kind()" - }, - { - "label": "test_file_sub_card_renders_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L66", - "id": "ui_test_metadata_pane_test_file_sub_card_renders_fields", - "community": 146, - "norm_label": "test_file_sub_card_renders_fields()" - }, - { - "label": "test_tombstone_file_sub_card_omits_size_and_notes_on_nas()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L81", - "id": "ui_test_metadata_pane_test_tombstone_file_sub_card_omits_size_and_notes_on_nas", - "community": 146, - "norm_label": "test_tombstone_file_sub_card_omits_size_and_notes_on_nas()" - }, - { - "label": "test_folder_sub_card_renders_count_no_size()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L98", - "id": "ui_test_metadata_pane_test_folder_sub_card_renders_count_no_size", - "community": 146, - "norm_label": "test_folder_sub_card_renders_count_no_size()" - }, - { - "label": "test_folder_sub_card_tolerates_degraded_scan()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L122", - "id": "ui_test_metadata_pane_test_folder_sub_card_tolerates_degraded_scan", - "community": 146, - "norm_label": "test_folder_sub_card_tolerates_degraded_scan()" - }, - { - "label": "test_sub_card_appends_after_empty_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L144", - "id": "ui_test_metadata_pane_test_sub_card_appends_after_empty_state", - "community": 146, - "norm_label": "test_sub_card_appends_after_empty_state()" - }, - { - "label": "test_sub_card_appends_after_populated_node()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L152", - "id": "ui_test_metadata_pane_test_sub_card_appends_after_populated_node", - "community": 146, - "norm_label": "test_sub_card_appends_after_populated_node()" - }, - { - "label": "test_no_sub_card_without_selected_file()", - "file_type": "code", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L169", - "id": "ui_test_metadata_pane_test_no_sub_card_without_selected_file", - "community": 146, - "norm_label": "test_no_sub_card_without_selected_file()" - }, - { - "label": "Unit tests for the metadata pane's selected-file/folder sub-card. GUI/Orchestra", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L1", - "id": "ui_test_metadata_pane_rationale_1", - "community": 146, - "norm_label": "unit tests for the metadata pane's selected-file/folder sub-card. gui/orchestra" - }, - { - "label": "A degraded folder scan (item_count=None / rollup=None) still renders.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L123", - "id": "ui_test_metadata_pane_rationale_123", - "community": 146, - "norm_label": "a degraded folder scan (item_count=none / rollup=none) still renders." - }, - { - "label": "With no node selected, the sub-card sits beneath the empty-state hint.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L145", - "id": "ui_test_metadata_pane_rationale_145", - "community": 146, - "norm_label": "with no node selected, the sub-card sits beneath the empty-state hint." - }, - { - "label": "A selected run node's content stays; the sub-card appends below it.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L153", - "id": "ui_test_metadata_pane_rationale_153", - "community": 146, - "norm_label": "a selected run node's content stays; the sub-card appends below it." - }, - { - "label": "test_components.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L1", - "id": "tests_unit_ui_test_components_py", - "community": 51, - "norm_label": "test_components.py" - }, - { - "label": "test_mode_badge_test_uses_warning_token()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L37", - "id": "ui_test_components_test_mode_badge_test_uses_warning_token", - "community": 512, - "norm_label": "test_mode_badge_test_uses_warning_token()" - }, - { - "label": "test_mode_badge_experimental_uses_navy()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L45", - "id": "ui_test_components_test_mode_badge_experimental_uses_navy", - "community": 519, - "norm_label": "test_mode_badge_experimental_uses_navy()" - }, - { - "label": "test_mode_badge_none_falls_back_to_navy_with_placeholder()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L52", - "id": "ui_test_components_test_mode_badge_none_falls_back_to_navy_with_placeholder", - "community": 505, - "norm_label": "test_mode_badge_none_falls_back_to_navy_with_placeholder()" - }, - { - "label": "test_mode_badge_accepts_label_override()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L60", - "id": "ui_test_components_test_mode_badge_accepts_label_override", - "community": 518, - "norm_label": "test_mode_badge_accepts_label_override()" - }, - { - "label": "test_test_run_badge_uses_orange_aa_text()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L72", - "id": "ui_test_components_test_test_run_badge_uses_orange_aa_text", - "community": 506, - "norm_label": "test_test_run_badge_uses_orange_aa_text()" - }, - { - "label": "test_override_badge_active_uses_sky_aa_text()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L80", - "id": "ui_test_components_test_override_badge_active_uses_sky_aa_text", - "community": 509, - "norm_label": "test_override_badge_active_uses_sky_aa_text()" - }, - { - "label": "test_override_badge_inactive_uses_muted()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L88", - "id": "ui_test_components_test_override_badge_inactive_uses_muted", - "community": 520, - "norm_label": "test_override_badge_inactive_uses_muted()" - }, - { - "label": "test_sync_status_pending_uses_muted()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L100", - "id": "ui_test_components_test_sync_status_pending_uses_muted", - "community": 51, - "norm_label": "test_sync_status_pending_uses_muted()" - }, - { - "label": "test_sync_status_synced_uses_success()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L106", - "id": "ui_test_components_test_sync_status_synced_uses_success", - "community": 51, - "norm_label": "test_sync_status_synced_uses_success()" - }, - { - "label": "test_sync_status_failed_uses_danger()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L111", - "id": "ui_test_components_test_sync_status_failed_uses_danger", - "community": 51, - "norm_label": "test_sync_status_failed_uses_danger()" - }, - { - "label": "test_sync_status_blocked_uses_warning()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L116", - "id": "ui_test_components_test_sync_status_blocked_uses_warning", - "community": 508, - "norm_label": "test_sync_status_blocked_uses_warning()" - }, - { - "label": "test_sync_status_override_uses_info()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L123", - "id": "ui_test_components_test_sync_status_override_uses_info", - "community": 51, - "norm_label": "test_sync_status_override_uses_info()" - }, - { - "label": "test_sync_status_cleaned_uses_success_with_cloud_icon()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L128", - "id": "ui_test_components_test_sync_status_cleaned_uses_success_with_cloud_icon", - "community": 521, - "norm_label": "test_sync_status_cleaned_uses_success_with_cloud_icon()" - }, - { - "label": "test_sync_status_acquiring_uses_muted()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L136", - "id": "ui_test_components_test_sync_status_acquiring_uses_muted", - "community": 517, - "norm_label": "test_sync_status_acquiring_uses_muted()" - }, - { - "label": "test_sync_status_syncing_uses_info()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L145", - "id": "ui_test_components_test_sync_status_syncing_uses_info", - "community": 514, - "norm_label": "test_sync_status_syncing_uses_info()" - }, - { - "label": "test_sync_status_on_nas_uses_muted_cloud()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L154", - "id": "ui_test_components_test_sync_status_on_nas_uses_muted_cloud", - "community": 522, - "norm_label": "test_sync_status_on_nas_uses_muted_cloud()" - }, - { - "label": "test_sync_status_retrying_with_counter()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L163", - "id": "ui_test_components_test_sync_status_retrying_with_counter", - "community": 511, - "norm_label": "test_sync_status_retrying_with_counter()" - }, - { - "label": "test_sync_status_unknown_raises()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L171", - "id": "ui_test_components_test_sync_status_unknown_raises", - "community": 516, - "norm_label": "test_sync_status_unknown_raises()" - }, - { - "label": "test_sync_legend_entries_cover_every_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L178", - "id": "ui_test_components_test_sync_legend_entries_cover_every_state", - "community": 513, - "norm_label": "test_sync_legend_entries_cover_every_state()" - }, - { - "label": "test_session_progress_phase_order_is_canonical()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L200", - "id": "ui_test_components_test_session_progress_phase_order_is_canonical", - "community": 432, - "norm_label": "test_session_progress_phase_order_is_canonical()" - }, - { - "label": "test_apply_frame_advances_phase_and_marks_predecessors_done()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L216", - "id": "ui_test_components_test_apply_frame_advances_phase_and_marks_predecessors_done", - "community": 51, - "norm_label": "test_apply_frame_advances_phase_and_marks_predecessors_done()" - }, - { - "label": "test_apply_frame_progress_sets_plugin_sub_row()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L224", - "id": "ui_test_components_test_apply_frame_progress_sets_plugin_sub_row", - "community": 51, - "norm_label": "test_apply_frame_progress_sets_plugin_sub_row()" - }, - { - "label": "test_apply_frame_done_completes_all_phases()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L234", - "id": "ui_test_components_test_apply_frame_done_completes_all_phases", - "community": 51, - "norm_label": "test_apply_frame_done_completes_all_phases()" - }, - { - "label": "test_apply_frame_ignores_unknown_kinds_and_phases()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L241", - "id": "ui_test_components_test_apply_frame_ignores_unknown_kinds_and_phases", - "community": 51, - "norm_label": "test_apply_frame_ignores_unknown_kinds_and_phases()" - }, - { - "label": "test_session_progress_active_phase_marked()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L248", - "id": "ui_test_components_test_session_progress_active_phase_marked", - "community": 435, - "norm_label": "test_session_progress_active_phase_marked()" - }, - { - "label": "test_session_progress_plugin_sub_row_present()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L261", - "id": "ui_test_components_test_session_progress_plugin_sub_row_present", - "community": 434, - "norm_label": "test_session_progress_plugin_sub_row_present()" - }, - { - "label": "test_credential_field_states_default_to_not_set()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L283", - "id": "ui_test_components_test_credential_field_states_default_to_not_set", - "community": 51, - "norm_label": "test_credential_field_states_default_to_not_set()" - }, - { - "label": "test_credential_field_set_state_offers_replace_and_clear()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L290", - "id": "ui_test_components_test_credential_field_set_state_offers_replace_and_clear", - "community": 51, - "norm_label": "test_credential_field_set_state_offers_replace_and_clear()" - }, - { - "label": "test_credential_field_editing_offers_save_and_cancel()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L297", - "id": "ui_test_components_test_credential_field_editing_offers_save_and_cancel", - "community": 51, - "norm_label": "test_credential_field_editing_offers_save_and_cancel()" - }, - { - "label": "test_begin_edit_from_not_set_enters_editing_remembering_not_set()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L308", - "id": "ui_test_components_test_begin_edit_from_not_set_enters_editing_remembering_not_set", - "community": 436, - "norm_label": "test_begin_edit_from_not_set_enters_editing_remembering_not_set()" - }, - { - "label": "test_begin_edit_from_set_remembers_set_as_resting()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L318", - "id": "ui_test_components_test_begin_edit_from_set_remembers_set_as_resting", - "community": 437, - "norm_label": "test_begin_edit_from_set_remembers_set_as_resting()" - }, - { - "label": "test_cancel_edit_returns_to_remembered_resting_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L328", - "id": "ui_test_components_test_cancel_edit_returns_to_remembered_resting_state", - "community": 51, - "norm_label": "test_cancel_edit_returns_to_remembered_resting_state()" - }, - { - "label": "test_cancel_edit_from_fresh_edit_returns_to_not_set()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L335", - "id": "ui_test_components_test_cancel_edit_from_fresh_edit_returns_to_not_set", - "community": 51, - "norm_label": "test_cancel_edit_from_fresh_edit_returns_to_not_set()" - }, - { - "label": "test_commit_edit_with_value_transitions_to_set_and_signals_save()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L342", - "id": "ui_test_components_test_commit_edit_with_value_transitions_to_set_and_signals_save", - "community": 51, - "norm_label": "test_commit_edit_with_value_transitions_to_set_and_signals_save()" - }, - { - "label": "test_commit_edit_with_empty_value_stays_editing_and_skips_save()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L350", - "id": "ui_test_components_test_commit_edit_with_empty_value_stays_editing_and_skips_save", - "community": 433, - "norm_label": "test_commit_edit_with_empty_value_stays_editing_and_skips_save()" - }, - { - "label": "test_clear_credential_returns_to_not_set()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L359", - "id": "ui_test_components_test_clear_credential_returns_to_not_set", - "community": 51, - "norm_label": "test_clear_credential_returns_to_not_set()" - }, - { - "label": "test_connection_panel_hidden_when_no_result()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L371", - "id": "ui_test_components_test_connection_panel_hidden_when_no_result", - "community": 51, - "norm_label": "test_connection_panel_hidden_when_no_result()" - }, - { - "label": "test_connection_panel_visible_after_result()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L376", - "id": "ui_test_components_test_connection_panel_visible_after_result", - "community": 51, - "norm_label": "test_connection_panel_visible_after_result()" - }, - { - "label": "test_connection_panel_failure_color_is_danger()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L388", - "id": "ui_test_components_test_connection_panel_failure_color_is_danger", - "community": 51, - "norm_label": "test_connection_panel_failure_color_is_danger()" - }, - { - "label": "test_connection_panel_stale_appends_disclaimer()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L398", - "id": "ui_test_components_test_connection_panel_stale_appends_disclaimer", - "community": 51, - "norm_label": "test_connection_panel_stale_appends_disclaimer()" - }, - { - "label": "test_filter_chips_initial_state_respects_default_on()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L410", - "id": "ui_test_components_test_filter_chips_initial_state_respects_default_on", - "community": 51, - "norm_label": "test_filter_chips_initial_state_respects_default_on()" - }, - { - "label": "test_filter_chips_toggle_flips_membership()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L420", - "id": "ui_test_components_test_filter_chips_toggle_flips_membership", - "community": 51, - "norm_label": "test_filter_chips_toggle_flips_membership()" - }, - { - "label": "test_filter_chips_list_active_preserves_definition_order()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L429", - "id": "ui_test_components_test_filter_chips_list_active_preserves_definition_order", - "community": 51, - "norm_label": "test_filter_chips_list_active_preserves_definition_order()" - }, - { - "label": "test_status_bar_segment_normal_uses_muted()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L443", - "id": "ui_test_components_test_status_bar_segment_normal_uses_muted", - "community": 51, - "norm_label": "test_status_bar_segment_normal_uses_muted()" - }, - { - "label": "test_status_bar_segment_warning_prefix_glyph()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L449", - "id": "ui_test_components_test_status_bar_segment_warning_prefix_glyph", - "community": 51, - "norm_label": "test_status_bar_segment_warning_prefix_glyph()" - }, - { - "label": "test_status_bar_segment_danger_prefix_glyph()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L457", - "id": "ui_test_components_test_status_bar_segment_danger_prefix_glyph", - "community": 51, - "norm_label": "test_status_bar_segment_danger_prefix_glyph()" - }, - { - "label": "test_banner_stack_shows_visible_and_overflow_split()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L470", - "id": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", - "community": 438, - "norm_label": "test_banner_stack_shows_visible_and_overflow_split()" - }, - { - "label": "test_operations_modal_columns_match_spec()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L506", - "id": "ui_test_components_test_operations_modal_columns_match_spec", - "community": 51, - "norm_label": "test_operations_modal_columns_match_spec()" - }, - { - "label": "test_operations_modal_sort_suspended_first_oldest_first()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L519", - "id": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first", - "community": 431, - "norm_label": "test_operations_modal_sort_suspended_first_oldest_first()" - }, - { - "label": "test_operations_modal_state_glyph_known_states()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L552", - "id": "ui_test_components_test_operations_modal_state_glyph_known_states", - "community": 51, - "norm_label": "test_operations_modal_state_glyph_known_states()" - }, - { - "label": "test_operation_row_from_session_maps_state_buckets_and_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L558", - "id": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields", - "community": 51, - "norm_label": "test_operation_row_from_session_maps_state_buckets_and_fields()" - }, - { - "label": "test_collect_default_values_seeds_from_declared_defaults()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L615", - "id": "ui_test_components_test_collect_default_values_seeds_from_declared_defaults", - "community": 275, - "norm_label": "test_collect_default_values_seeds_from_declared_defaults()" - }, - { - "label": "test_input_required_dialog_builds_without_raising()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L629", - "id": "ui_test_components_test_input_required_dialog_builds_without_raising", - "community": 275, - "norm_label": "test_input_required_dialog_builds_without_raising()" - }, - { - "label": "test_bandwidth_window_validates_from_before_to()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L651", - "id": "ui_test_components_test_bandwidth_window_validates_from_before_to", - "community": 51, - "norm_label": "test_bandwidth_window_validates_from_before_to()" - }, - { - "label": "test_bandwidth_window_passes_when_correct()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L658", - "id": "ui_test_components_test_bandwidth_window_passes_when_correct", - "community": 51, - "norm_label": "test_bandwidth_window_passes_when_correct()" - }, - { - "label": "test_bandwidth_overlap_detected_for_shared_day_and_time()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L665", - "id": "ui_test_components_test_bandwidth_overlap_detected_for_shared_day_and_time", - "community": 51, - "norm_label": "test_bandwidth_overlap_detected_for_shared_day_and_time()" - }, - { - "label": "test_bandwidth_no_overlap_for_disjoint_days()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L671", - "id": "ui_test_components_test_bandwidth_no_overlap_for_disjoint_days", - "community": 51, - "norm_label": "test_bandwidth_no_overlap_for_disjoint_days()" - }, - { - "label": "test_validation_summary_hard_findings_use_warning()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L682", - "id": "ui_test_components_test_validation_summary_hard_findings_use_warning", - "community": 51, - "norm_label": "test_validation_summary_hard_findings_use_warning()" - }, - { - "label": "test_validation_summary_override_takes_priority()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L689", - "id": "ui_test_components_test_validation_summary_override_takes_priority", - "community": 51, - "norm_label": "test_validation_summary_override_takes_priority()" - }, - { - "label": "test_validation_summary_first_two_excerpts_returned_in_payload()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L701", - "id": "ui_test_components_test_validation_summary_first_two_excerpts_returned_in_payload", - "community": 51, - "norm_label": "test_validation_summary_first_two_excerpts_returned_in_payload()" - }, - { - "label": "test_validation_summary_override_line_includes_attribution()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L715", - "id": "ui_test_components_test_validation_summary_override_line_includes_attribution", - "community": 51, - "norm_label": "test_validation_summary_override_line_includes_attribution()" - }, - { - "label": "test_tree_filter_archived_default_off_hides_archived()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L736", - "id": "ui_test_components_test_tree_filter_archived_default_off_hides_archived", - "community": 394, - "norm_label": "test_tree_filter_archived_default_off_hides_archived()" - }, - { - "label": "test_tree_filter_archived_chip_on_shows_archived()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L747", - "id": "ui_test_components_test_tree_filter_archived_chip_on_shows_archived", - "community": 51, - "norm_label": "test_tree_filter_archived_chip_on_shows_archived()" - }, - { - "label": "test_tree_filter_deleted_always_shown()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L756", - "id": "ui_test_components_test_tree_filter_deleted_always_shown", - "community": 393, - "norm_label": "test_tree_filter_deleted_always_shown()" - }, - { - "label": "test_tree_filter_test_runs_chip_off_hides_test_runs()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L767", - "id": "ui_test_components_test_tree_filter_test_runs_chip_off_hides_test_runs", - "community": 51, - "norm_label": "test_tree_filter_test_runs_chip_off_hides_test_runs()" - }, - { - "label": "test_tree_build_nodes_yields_canonical_kinds()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L775", - "id": "ui_test_components_test_tree_build_nodes_yields_canonical_kinds", - "community": 51, - "norm_label": "test_tree_build_nodes_yields_canonical_kinds()" - }, - { - "label": "test_tree_test_run_carries_test_badge()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L788", - "id": "ui_test_components_test_tree_test_run_carries_test_badge", - "community": 51, - "norm_label": "test_tree_test_run_carries_test_badge()" - }, - { - "label": "test_tree_run_node_propagates_sync_status()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L803", - "id": "ui_test_components_test_tree_run_node_propagates_sync_status", - "community": 326, - "norm_label": "test_tree_run_node_propagates_sync_status()" - }, - { - "label": "test_to_nicegui_nodes_cleared_run_uses_cloud_icon()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L820", - "id": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", - "community": 326, - "norm_label": "test_to_nicegui_nodes_cleared_run_uses_cloud_icon()" - }, - { - "label": "test_to_nicegui_nodes_local_run_uses_local_icon()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L845", - "id": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", - "community": 391, - "norm_label": "test_to_nicegui_nodes_local_run_uses_local_icon()" - }, - { - "label": "test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L871", - "id": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", - "community": 327, - "norm_label": "test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon()" - }, - { - "label": "test_to_nicegui_nodes_carries_sync_title()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L888", - "id": "ui_test_components_test_to_nicegui_nodes_carries_sync_title", - "community": 515, - "norm_label": "test_to_nicegui_nodes_carries_sync_title()" - }, - { - "label": "test_build_tree_seeds_selected_node()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L912", - "id": "ui_test_components_test_build_tree_seeds_selected_node", - "community": 510, - "norm_label": "test_build_tree_seeds_selected_node()" - }, - { - "label": "test_build_tree_no_selection_leaves_selected_unset()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L930", - "id": "ui_test_components_test_build_tree_no_selection_leaves_selected_unset", - "community": 507, - "norm_label": "test_build_tree_no_selection_leaves_selected_unset()" - }, - { - "label": "test_equipment_node_relay_flag_emits_received_equipment_kind()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L948", - "id": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind", - "community": 327, - "norm_label": "test_equipment_node_relay_flag_emits_received_equipment_kind()" - }, - { - "label": "test_to_nicegui_nodes_emits_testid_kind()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L962", - "id": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", - "community": 395, - "norm_label": "test_to_nicegui_nodes_emits_testid_kind()" - }, - { - "label": "test_slot_template_emits_testid_data_node_id_and_context_menus()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L986", - "id": "ui_test_components_test_slot_template_emits_testid_data_node_id_and_context_menus", - "community": 390, - "norm_label": "test_slot_template_emits_testid_data_node_id_and_context_menus()" - }, - { - "label": "test_factories_smoke_outside_nicegui()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L1026", - "id": "ui_test_components_test_factories_smoke_outside_nicegui", - "community": 392, - "norm_label": "test_factories_smoke_outside_nicegui()" - }, - { - "label": "test_no_stray_ui_notify_calls_in_ui_package()", - "file_type": "code", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L1059", - "id": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", - "community": 389, - "norm_label": "test_no_stray_ui_notify_calls_in_ui_package()" - }, - { - "label": "Unit tests for the UI components. Each component exposes a pure-data ``*_props`", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L1", - "id": "ui_test_components_rationale_1", - "community": 51, - "norm_label": "unit tests for the ui components. each component exposes a pure-data ``*_props`" - }, - { - "label": "Test-mode badge maps to ``--color-warning`` (Frontend \u00a75.3).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L38", - "id": "ui_test_components_rationale_38", - "community": 512, - "norm_label": "test-mode badge maps to ``--color-warning`` (frontend \u00a75.3)." - }, - { - "label": "Experimental badge maps to ``--color-navy``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L46", - "id": "ui_test_components_rationale_46", - "community": 519, - "norm_label": "experimental badge maps to ``--color-navy``." - }, - { - "label": "A ``None`` run kind defaults to navy with a placeholder label.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L53", - "id": "ui_test_components_rationale_53", - "community": 505, - "norm_label": "a ``none`` run kind defaults to navy with a placeholder label." - }, - { - "label": "An explicit label overrides the default.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L61", - "id": "ui_test_components_rationale_61", - "community": 518, - "norm_label": "an explicit label overrides the default." - }, - { - "label": "The test-run pill uses the orange darkened-AA text variant.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L73", - "id": "ui_test_components_rationale_73", - "community": 506, - "norm_label": "the test-run pill uses the orange darkened-aa text variant." - }, - { - "label": "An active override pill uses the sky-blue AA text variant.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L81", - "id": "ui_test_components_rationale_81", - "community": 509, - "norm_label": "an active override pill uses the sky-blue aa text variant." - }, - { - "label": "An inactive override pill uses the muted gray.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L89", - "id": "ui_test_components_rationale_89", - "community": 520, - "norm_label": "an inactive override pill uses the muted gray." - }, - { - "label": "Blocked-by-validation maps to warning per Frontend \u00a72.1.4.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L117", - "id": "ui_test_components_rationale_117", - "community": 508, - "norm_label": "blocked-by-validation maps to warning per frontend \u00a72.1.4." - }, - { - "label": "Cleaned status (post-cleanup) reuses the success color with a cloud glyph.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L129", - "id": "ui_test_components_rationale_129", - "community": 521, - "norm_label": "cleaned status (post-cleanup) reuses the success color with a cloud glyph." - }, - { - "label": "``acquiring`` (new file, still settling) uses the muted token.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L137", - "id": "ui_test_components_rationale_137", - "community": 517, - "norm_label": "``acquiring`` (new file, still settling) uses the muted token." - }, - { - "label": "``syncing`` (settled, transferring) uses the info token.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L146", - "id": "ui_test_components_rationale_146", - "community": 514, - "norm_label": "``syncing`` (settled, transferring) uses the info token." - }, - { - "label": "``on_nas`` (tombstone, local copy cleared) uses a muted cloud glyph.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L155", - "id": "ui_test_components_rationale_155", - "community": 522, - "norm_label": "``on_nas`` (tombstone, local copy cleared) uses a muted cloud glyph." - }, - { - "label": "Retry counter renders as ``(N/M)`` (Frontend \u00a710.5.1).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L164", - "id": "ui_test_components_rationale_164", - "community": 511, - "norm_label": "retry counter renders as ``(n/m)`` (frontend \u00a710.5.1)." - }, - { - "label": "Unknown status values raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L172", - "id": "ui_test_components_rationale_172", - "community": 516, - "norm_label": "unknown status values raise." - }, - { - "label": "The legend lists one row per known state, each with icon + meaning, sourced", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L179", - "id": "ui_test_components_rationale_179", - "community": 513, - "norm_label": "the legend lists one row per known state, each with icon + meaning, sourced" - }, - { - "label": "The phase enum order matches Frontend \u00a710.1.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L201", - "id": "ui_test_components_rationale_201", - "community": 432, - "norm_label": "the phase enum order matches frontend \u00a710.1." - }, - { - "label": "The active phase has fraction 0.5 and ``is_active``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L249", - "id": "ui_test_components_rationale_249", - "community": 435, - "norm_label": "the active phase has fraction 0.5 and ``is_active``." - }, - { - "label": "When ``running_plugins`` carries N/M, a sub-row dict is emitted. We assert", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L262", - "id": "ui_test_components_rationale_262", - "community": 434, - "norm_label": "when ``running_plugins`` carries n/m, a sub-row dict is emitted. we assert" - }, - { - "label": "Clicking *Set* opens the editor; *Cancel* must return to Not set.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L309", - "id": "ui_test_components_rationale_309", - "community": 436, - "norm_label": "clicking *set* opens the editor; *cancel* must return to not set." - }, - { - "label": "Clicking *Replace* opens the editor; *Cancel* must return to Set.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L319", - "id": "ui_test_components_rationale_319", - "community": 437, - "norm_label": "clicking *replace* opens the editor; *cancel* must return to set." - }, - { - "label": "An empty input has nothing to persist -- stay in the editor.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L351", - "id": "ui_test_components_rationale_351", - "community": 433, - "norm_label": "an empty input has nothing to persist -- stay in the editor." - }, - { - "label": "Banners exceed the 2-cap; overflow is reported.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L471", - "id": "ui_test_components_rationale_471", - "community": 438, - "norm_label": "banners exceed the 2-cap; overflow is reported." - }, - { - "label": "Suspended rows sort first, oldest started_at first (\u00a79.5).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L520", - "id": "ui_test_components_rationale_520", - "community": 431, - "norm_label": "suspended rows sort first, oldest started_at first (\u00a79.5)." - }, - { - "label": "Archived projects are hidden by default.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L737", - "id": "ui_test_components_rationale_737", - "community": 394, - "norm_label": "archived projects are hidden by default." - }, - { - "label": "Deleted-from-LIMS rows always render (Frontend \u00a73.5.3).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L757", - "id": "ui_test_components_rationale_757", - "community": 393, - "norm_label": "deleted-from-lims rows always render (frontend \u00a73.5.3)." - }, - { - "label": "``RunNode.sync_status`` flows through to the resulting ``TreeNode``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L804", - "id": "ui_test_components_rationale_804", - "community": 326, - "norm_label": "``runnode.sync_status`` flows through to the resulting ``treenode``." - }, - { - "label": "A ``cleared`` run row carries the cloud-icon URL and its sync_status. Opera", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L821", - "id": "ui_test_components_rationale_821", - "community": 326, - "norm_label": "a ``cleared`` run row carries the cloud-icon url and its sync_status. opera" - }, - { - "label": "Any non-``cleaned`` sync status (or unset) maps to the local-icon URL.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L846", - "id": "ui_test_components_rationale_846", - "community": 391, - "norm_label": "any non-``cleaned`` sync status (or unset) maps to the local-icon url." - }, - { - "label": "Equipment and project rows render without the per-row sync icon.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L872", - "id": "ui_test_components_rationale_872", - "community": 327, - "norm_label": "equipment and project rows render without the per-row sync icon." - }, - { - "label": "Run rows carry a friendly ``sync_title`` hover tooltip mirroring the icon: c", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L889", - "id": "ui_test_components_rationale_889", - "community": 515, - "norm_label": "run rows carry a friendly ``sync_title`` hover tooltip mirroring the icon: c" - }, - { - "label": "``selected_node`` seeds Quasar's v-model:selected so the current node render", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L913", - "id": "ui_test_components_rationale_913", - "community": 510, - "norm_label": "``selected_node`` seeds quasar's v-model:selected so the current node render" - }, - { - "label": "Without ``selected_node`` the tree carries no seeded selection.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L931", - "id": "ui_test_components_rationale_931", - "community": 507, - "norm_label": "without ``selected_node`` the tree carries no seeded selection." - }, - { - "label": "An ``EquipmentNode(relay=True)`` builds a ``received_equipment`` row.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L949", - "id": "ui_test_components_rationale_949", - "community": 327, - "norm_label": "an ``equipmentnode(relay=true)`` builds a ``received_equipment`` row." - }, - { - "label": "Each row carries a ``testid_kind`` matching the Playwright contract.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L963", - "id": "ui_test_components_rationale_963", - "community": 395, - "norm_label": "each row carries a ``testid_kind`` matching the playwright contract." - }, - { - "label": "The ``default-header`` template carries the per-row anchors the Playwright f", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L987", - "id": "ui_test_components_rationale_987", - "community": 390, - "norm_label": "the ``default-header`` template carries the per-row anchors the playwright f" - }, - { - "label": "Each factory emits a dict (or NiceGUI element) without crashing. The factor", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L1027", - "id": "ui_test_components_rationale_1027", - "community": 392, - "norm_label": "each factory emits a dict (or nicegui element) without crashing. the factor" - }, - { - "label": "The pre-commit ``no-direct-ui-notify`` rule is mirrored in tests. Any call", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L1060", - "id": "ui_test_components_rationale_1060", - "community": 389, - "norm_label": "the pre-commit ``no-direct-ui-notify`` rule is mirrored in tests. any call" - }, - { - "label": "test_framed_pane.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L1", - "id": "tests_unit_ui_test_framed_pane_py", - "community": 61, - "norm_label": "test_framed_pane.py" - }, - { - "label": "test_card_style_uses_surface_border_shadow_radius_tokens()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L13", - "id": "ui_test_framed_pane_test_card_style_uses_surface_border_shadow_radius_tokens", - "community": 61, - "norm_label": "test_card_style_uses_surface_border_shadow_radius_tokens()" - }, - { - "label": "test_card_style_ends_with_semicolon_for_safe_concatenation()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L24", - "id": "ui_test_framed_pane_test_card_style_ends_with_semicolon_for_safe_concatenation", - "community": 61, - "norm_label": "test_card_style_ends_with_semicolon_for_safe_concatenation()" - }, - { - "label": "test_card_style_carries_literal_fallbacks()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L30", - "id": "ui_test_framed_pane_test_card_style_carries_literal_fallbacks", - "community": 61, - "norm_label": "test_card_style_carries_literal_fallbacks()" - }, - { - "label": "test_header_style_is_tinted_strip_with_rule()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L37", - "id": "ui_test_framed_pane_test_header_style_is_tinted_strip_with_rule", - "community": 61, - "norm_label": "test_header_style_is_tinted_strip_with_rule()" - }, - { - "label": "test_body_style_scrolls()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L44", - "id": "ui_test_framed_pane_test_body_style_scrolls", - "community": 61, - "norm_label": "test_body_style_scrolls()" - }, - { - "label": "test_framed_pane_yields_body_and_nests_children()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L50", - "id": "ui_test_framed_pane_test_framed_pane_yields_body_and_nests_children", - "community": 61, - "norm_label": "test_framed_pane_yields_body_and_nests_children()" - }, - { - "label": "test_framed_pane_card_carries_testid()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L66", - "id": "ui_test_framed_pane_test_framed_pane_card_carries_testid", - "community": 61, - "norm_label": "test_framed_pane_card_carries_testid()" - }, - { - "label": "test_framed_pane_applies_card_classes()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L77", - "id": "ui_test_framed_pane_test_framed_pane_applies_card_classes", - "community": 61, - "norm_label": "test_framed_pane_applies_card_classes()" - }, - { - "label": "test_framed_pane_no_card_classes_by_default()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L89", - "id": "ui_test_framed_pane_test_framed_pane_no_card_classes_by_default", - "community": 61, - "norm_label": "test_framed_pane_no_card_classes_by_default()" - }, - { - "label": "test_framed_pane_renders_header_extra_in_strip()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L98", - "id": "ui_test_framed_pane_test_framed_pane_renders_header_extra_in_strip", - "community": 61, - "norm_label": "test_framed_pane_renders_header_extra_in_strip()" - }, - { - "label": "Unit tests for the framed-pane helper (Redesign \u00a74.1).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L1", - "id": "ui_test_framed_pane_rationale_1", - "community": 61, - "norm_label": "unit tests for the framed-pane helper (redesign \u00a74.1)." - }, - { - "label": "The metadata pane appends 'overflow: auto;' -- card_style() must end with ';", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L25", - "id": "ui_test_framed_pane_rationale_25", - "community": 61, - "norm_label": "the metadata pane appends 'overflow: auto;' -- card_style() must end with ';" - }, - { - "label": "Every token has a literal fallback (register_theme not on every route).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L31", - "id": "ui_test_framed_pane_rationale_31", - "community": 61, - "norm_label": "every token has a literal fallback (register_theme not on every route)." - }, - { - "label": "The manager yields the body element and children of the ``with`` block land", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L51", - "id": "ui_test_framed_pane_rationale_51", - "community": 61, - "norm_label": "the manager yields the body element and children of the ``with`` block land" - }, - { - "label": "The card root (the body's grandparent element) carries the testid.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L67", - "id": "ui_test_framed_pane_rationale_67", - "community": 61, - "norm_label": "the card root (the body's grandparent element) carries the testid." - }, - { - "label": "``card_classes`` lands on the card root so descendant CSS (e.g. the compact-", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L78", - "id": "ui_test_framed_pane_rationale_78", - "community": 61, - "norm_label": "``card_classes`` lands on the card root so descendant css (e.g. the compact-" - }, - { - "label": "Omitting ``card_classes`` adds no extra class to the card root.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L90", - "id": "ui_test_framed_pane_rationale_90", - "community": 61, - "norm_label": "omitting ``card_classes`` adds no extra class to the card root." - }, - { - "label": "``header_extra`` renders its controls inside the title strip (Phase 4). Use", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L99", - "id": "ui_test_framed_pane_rationale_99", - "community": 61, - "norm_label": "``header_extra`` renders its controls inside the title strip (phase 4). use" - }, - { - "label": "test_pages.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L1", - "id": "tests_unit_ui_test_pages_py", - "community": 138, - "norm_label": "test_pages.py" - }, - { - "label": "test_welcome_card_spec_default_autostart_on()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L32", - "id": "ui_test_pages_test_welcome_card_spec_default_autostart_on", - "community": 452, - "norm_label": "test_welcome_card_spec_default_autostart_on()" - }, - { - "label": "test_welcome_card_three_bullets()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L43", - "id": "ui_test_pages_test_welcome_card_three_bullets", - "community": 442, - "norm_label": "test_welcome_card_three_bullets()" - }, - { - "label": "test_main_default_chips_match_spec()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L63", - "id": "ui_test_pages_test_main_default_chips_match_spec", - "community": 455, - "norm_label": "test_main_default_chips_match_spec()" - }, - { - "label": "test_main_chip_state_to_tree_filters_round_trip()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L73", - "id": "ui_test_pages_test_main_chip_state_to_tree_filters_round_trip", - "community": 441, - "norm_label": "test_main_chip_state_to_tree_filters_round_trip()" - }, - { - "label": "test_main_problems_badge_simple_count_when_no_soft()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L83", - "id": "ui_test_pages_test_main_problems_badge_simple_count_when_no_soft", - "community": 138, - "norm_label": "test_main_problems_badge_simple_count_when_no_soft()" - }, - { - "label": "test_main_problems_badge_compound_when_soft_present()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L88", - "id": "ui_test_pages_test_main_problems_badge_compound_when_soft_present", - "community": 138, - "norm_label": "test_main_problems_badge_compound_when_soft_present()" - }, - { - "label": "test_main_setup_incomplete_banner_uses_warning()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L93", - "id": "ui_test_pages_test_main_setup_incomplete_banner_uses_warning", - "community": 446, - "norm_label": "test_main_setup_incomplete_banner_uses_warning()" - }, - { - "label": "test_main_setup_banner_subline_tailored_for_rclone_remote()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L101", - "id": "ui_test_pages_test_main_setup_banner_subline_tailored_for_rclone_remote", - "community": 397, - "norm_label": "test_main_setup_banner_subline_tailored_for_rclone_remote()" - }, - { - "label": "_search_hierarchy()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L116", - "id": "ui_test_pages_search_hierarchy", - "community": 299, - "norm_label": "_search_hierarchy()" - }, - { - "label": "test_main_chip_state_to_tree_filters_threads_search()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L129", - "id": "ui_test_pages_test_main_chip_state_to_tree_filters_threads_search", - "community": 524, - "norm_label": "test_main_chip_state_to_tree_filters_threads_search()" - }, - { - "label": "test_main_count_search_results_counts_projects_and_runs()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L137", - "id": "ui_test_pages_test_main_count_search_results_counts_projects_and_runs", - "community": 299, - "norm_label": "test_main_count_search_results_counts_projects_and_runs()" - }, - { - "label": "test_main_count_search_results_narrows_with_query()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L146", - "id": "ui_test_pages_test_main_count_search_results_narrows_with_query", - "community": 299, - "norm_label": "test_main_count_search_results_narrows_with_query()" - }, - { - "label": "test_main_count_search_results_zero_on_no_match()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L155", - "id": "ui_test_pages_test_main_count_search_results_zero_on_no_match", - "community": 299, - "norm_label": "test_main_count_search_results_zero_on_no_match()" - }, - { - "label": "test_main_density_card_class_maps_compact()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L166", - "id": "ui_test_pages_test_main_density_card_class_maps_compact", - "community": 523, - "norm_label": "test_main_density_card_class_maps_compact()" - }, - { - "label": "test_wizard_project_seven_steps()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L180", - "id": "ui_test_pages_test_wizard_project_seven_steps", - "community": 445, - "norm_label": "test_wizard_project_seven_steps()" - }, - { - "label": "test_wizard_project_can_advance_blocks_until_lims_picked()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L188", - "id": "ui_test_pages_test_wizard_project_can_advance_blocks_until_lims_picked", - "community": 448, - "norm_label": "test_wizard_project_can_advance_blocks_until_lims_picked()" - }, - { - "label": "test_wizard_project_can_advance_blocks_until_template_picked()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L197", - "id": "ui_test_pages_test_wizard_project_can_advance_blocks_until_template_picked", - "community": 138, - "norm_label": "test_wizard_project_can_advance_blocks_until_template_picked()" - }, - { - "label": "test_wizard_project_readme_requires_core_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L204", - "id": "ui_test_pages_test_wizard_project_readme_requires_core_fields", - "community": 138, - "norm_label": "test_wizard_project_readme_requires_core_fields()" - }, - { - "label": "test_wizard_project_preview_blocks_with_validator_findings()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L211", - "id": "ui_test_pages_test_wizard_project_preview_blocks_with_validator_findings", - "community": 138, - "norm_label": "test_wizard_project_preview_blocks_with_validator_findings()" - }, - { - "label": "test_wizard_project_preview_blocks_with_low_disk()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L219", - "id": "ui_test_pages_test_wizard_project_preview_blocks_with_low_disk", - "community": 444, - "norm_label": "test_wizard_project_preview_blocks_with_low_disk()" - }, - { - "label": "test_wizard_project_preview_blocks_when_plugin_host_unhealthy()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L231", - "id": "ui_test_pages_test_wizard_project_preview_blocks_when_plugin_host_unhealthy", - "community": 138, - "norm_label": "test_wizard_project_preview_blocks_when_plugin_host_unhealthy()" - }, - { - "label": "test_wizard_project_preview_passes_when_clear()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L239", - "id": "ui_test_pages_test_wizard_project_preview_passes_when_clear", - "community": 138, - "norm_label": "test_wizard_project_preview_passes_when_clear()" - }, - { - "label": "test_wizard_run_six_steps()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L253", - "id": "ui_test_pages_test_wizard_run_six_steps", - "community": 138, - "norm_label": "test_wizard_run_six_steps()" - }, - { - "label": "test_wizard_run_test_mode_title()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L257", - "id": "ui_test_pages_test_wizard_run_test_mode_title", - "community": 138, - "norm_label": "test_wizard_run_test_mode_title()" - }, - { - "label": "test_wizard_run_experimental_mode_title()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L262", - "id": "ui_test_pages_test_wizard_run_experimental_mode_title", - "community": 138, - "norm_label": "test_wizard_run_experimental_mode_title()" - }, - { - "label": "test_wizard_run_test_button_uses_warning_color()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L267", - "id": "ui_test_pages_test_wizard_run_test_button_uses_warning_color", - "community": 450, - "norm_label": "test_wizard_run_test_button_uses_warning_color()" - }, - { - "label": "test_wizard_run_experimental_button_uses_primary_color()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L275", - "id": "ui_test_pages_test_wizard_run_experimental_button_uses_primary_color", - "community": 138, - "norm_label": "test_wizard_run_experimental_button_uses_primary_color()" - }, - { - "label": "test_wizard_run_preview_test_path_highlights()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L281", - "id": "ui_test_pages_test_wizard_run_preview_test_path_highlights", - "community": 440, - "norm_label": "test_wizard_run_preview_test_path_highlights()" - }, - { - "label": "test_wizard_run_preview_experimental_no_test_marker()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L295", - "id": "ui_test_pages_test_wizard_run_preview_experimental_no_test_marker", - "community": 138, - "norm_label": "test_wizard_run_preview_experimental_no_test_marker()" - }, - { - "label": "test_wizard_run_can_advance_blocks_until_project_and_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L306", - "id": "ui_test_pages_test_wizard_run_can_advance_blocks_until_project_and_equipment", - "community": 138, - "norm_label": "test_wizard_run_can_advance_blocks_until_project_and_equipment()" - }, - { - "label": "test_wizard_run_readme_blocks_until_core_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L314", - "id": "ui_test_pages_test_wizard_run_readme_blocks_until_core_fields", - "community": 138, - "norm_label": "test_wizard_run_readme_blocks_until_core_fields()" - }, - { - "label": "test_settings_nine_sections_includes_operators()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L326", - "id": "ui_test_pages_test_settings_nine_sections_includes_operators", - "community": 439, - "norm_label": "test_settings_nine_sections_includes_operators()" - }, - { - "label": "test_settings_first_incomplete_returns_canonical_first()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L339", - "id": "ui_test_pages_test_settings_first_incomplete_returns_canonical_first", - "community": 443, - "norm_label": "test_settings_first_incomplete_returns_canonical_first()" - }, - { - "label": "test_settings_first_incomplete_resolves_nas_remote()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L346", - "id": "ui_test_pages_test_settings_first_incomplete_resolves_nas_remote", - "community": 396, - "norm_label": "test_settings_first_incomplete_resolves_nas_remote()" - }, - { - "label": "test_settings_save_button_label_setup_incomplete()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L354", - "id": "ui_test_pages_test_settings_save_button_label_setup_incomplete", - "community": 138, - "norm_label": "test_settings_save_button_label_setup_incomplete()" - }, - { - "label": "test_settings_save_button_label_no_changes()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L359", - "id": "ui_test_pages_test_settings_save_button_label_no_changes", - "community": 138, - "norm_label": "test_settings_save_button_label_no_changes()" - }, - { - "label": "test_settings_save_button_label_with_count_badge()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L364", - "id": "ui_test_pages_test_settings_save_button_label_with_count_badge", - "community": 138, - "norm_label": "test_settings_save_button_label_with_count_badge()" - }, - { - "label": "test_settings_section_warning_only_for_incomplete()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L369", - "id": "ui_test_pages_test_settings_section_warning_only_for_incomplete", - "community": 138, - "norm_label": "test_settings_section_warning_only_for_incomplete()" - }, - { - "label": "_sample_findings()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L380", - "id": "ui_test_pages_sample_findings", - "community": 328, - "norm_label": "_sample_findings()" - }, - { - "label": "test_problems_filter_default_shows_hard_only()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L407", - "id": "ui_test_pages_test_problems_filter_default_shows_hard_only", - "community": 328, - "norm_label": "test_problems_filter_default_shows_hard_only()" - }, - { - "label": "test_problems_filter_show_soft_when_chip_on()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L416", - "id": "ui_test_pages_test_problems_filter_show_soft_when_chip_on", - "community": 328, - "norm_label": "test_problems_filter_show_soft_when_chip_on()" - }, - { - "label": "test_problems_filter_search_path_substring()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L423", - "id": "ui_test_pages_test_problems_filter_search_path_substring", - "community": 328, - "norm_label": "test_problems_filter_search_path_substring()" - }, - { - "label": "test_problems_filter_scope_filters_by_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L429", - "id": "ui_test_pages_test_problems_filter_scope_filters_by_equipment", - "community": 328, - "norm_label": "test_problems_filter_scope_filters_by_equipment()" - }, - { - "label": "test_problems_override_reason_min_length()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L435", - "id": "ui_test_pages_test_problems_override_reason_min_length", - "community": 447, - "norm_label": "test_problems_override_reason_min_length()" - }, - { - "label": "test_problems_override_reason_max_length()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L443", - "id": "ui_test_pages_test_problems_override_reason_max_length", - "community": 451, - "norm_label": "test_problems_override_reason_max_length()" - }, - { - "label": "test_problems_override_reason_accepts_valid()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L452", - "id": "ui_test_pages_test_problems_override_reason_accepts_valid", - "community": 138, - "norm_label": "test_problems_override_reason_accepts_valid()" - }, - { - "label": "test_problems_override_reason_trims_whitespace()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L458", - "id": "ui_test_pages_test_problems_override_reason_trims_whitespace", - "community": 449, - "norm_label": "test_problems_override_reason_trims_whitespace()" - }, - { - "label": "test_problems_near_limit_flag()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L465", - "id": "ui_test_pages_test_problems_near_limit_flag", - "community": 453, - "norm_label": "test_problems_near_limit_flag()" - }, - { - "label": "test_problems_empty_state_default()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L472", - "id": "ui_test_pages_test_problems_empty_state_default", - "community": 138, - "norm_label": "test_problems_empty_state_default()" - }, - { - "label": "test_problems_empty_state_with_hidden_soft_count()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L477", - "id": "ui_test_pages_test_problems_empty_state_with_hidden_soft_count", - "community": 138, - "norm_label": "test_problems_empty_state_with_hidden_soft_count()" - }, - { - "label": "test_problems_empty_state_with_active_filter()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L483", - "id": "ui_test_pages_test_problems_empty_state_with_active_filter", - "community": 138, - "norm_label": "test_problems_empty_state_with_active_filter()" - }, - { - "label": "test_problems_chip_definitions_match_spec()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L489", - "id": "ui_test_pages_test_problems_chip_definitions_match_spec", - "community": 454, - "norm_label": "test_problems_chip_definitions_match_spec()" - }, - { - "label": "Unit tests for UI pages. Pages render NiceGUI elements; these tests exercise th", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L1", - "id": "ui_test_pages_rationale_1", - "community": 138, - "norm_label": "unit tests for ui pages. pages render nicegui elements; these tests exercise th" - }, - { - "label": "Welcome card defaults autostart to on (Frontend \u00a73.1.3).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L33", - "id": "ui_test_pages_rationale_33", - "community": 452, - "norm_label": "welcome card defaults autostart to on (frontend \u00a73.1.3)." - }, - { - "label": "Three bullets describing what the app does. Redesign decision 2: bullets re", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L44", - "id": "ui_test_pages_rationale_44", - "community": 442, - "norm_label": "three bullets describing what the app does. redesign decision 2: bullets re" - }, - { - "label": "Active default-on, Archived default-off, Test runs default-on.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L64", - "id": "ui_test_pages_rationale_64", - "community": 455, - "norm_label": "active default-on, archived default-off, test runs default-on." - }, - { - "label": "Translation preserves the chip state.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L74", - "id": "ui_test_pages_rationale_74", - "community": 441, - "norm_label": "translation preserves the chip state." - }, - { - "label": "Setup-incomplete banner uses ``--color-warning`` per Frontend \u00a73.1.4.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L94", - "id": "ui_test_pages_rationale_94", - "community": 446, - "norm_label": "setup-incomplete banner uses ``--color-warning`` per frontend \u00a73.1.4." - }, - { - "label": "The rclone-remote next-action points the operator at the setup docs.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L102", - "id": "ui_test_pages_rationale_102", - "community": 397, - "norm_label": "the rclone-remote next-action points the operator at the setup docs." - }, - { - "label": "A one-equipment hierarchy with two runs for the search-count tests.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L117", - "id": "ui_test_pages_rationale_117", - "community": 299, - "norm_label": "a one-equipment hierarchy with two runs for the search-count tests." - }, - { - "label": "The search-box query reaches TreeFilters.search (OQ-2).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L130", - "id": "ui_test_pages_rationale_130", - "community": 524, - "norm_label": "the search-box query reaches treefilters.search (oq-2)." - }, - { - "label": "The result pill counts project + run rows (equipment is always shown).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L138", - "id": "ui_test_pages_rationale_138", - "community": 299, - "norm_label": "the result pill counts project + run rows (equipment is always shown)." - }, - { - "label": "A query surfaces only the matching run under its project.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L147", - "id": "ui_test_pages_rationale_147", - "community": 299, - "norm_label": "a query surfaces only the matching run under its project." - }, - { - "label": "A no-match query yields a zero count (the no-matches state) even though buil", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L156", - "id": "ui_test_pages_rationale_156", - "community": 299, - "norm_label": "a no-match query yields a zero count (the no-matches state) even though buil" - }, - { - "label": "`?density=compact` -> the Files-card class the theme rule keys on; any other", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L167", - "id": "ui_test_pages_rationale_167", - "community": 523, - "norm_label": "`?density=compact` -> the files-card class the theme rule keys on; any other" - }, - { - "label": "Frontend \u00a74 mandates seven steps in a fixed order.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L181", - "id": "ui_test_pages_rationale_181", - "community": 445, - "norm_label": "frontend \u00a74 mandates seven steps in a fixed order." - }, - { - "label": "Step 1 requires a LIMS short_id.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L189", - "id": "ui_test_pages_rationale_189", - "community": 448, - "norm_label": "step 1 requires a lims short_id." - }, - { - "label": "Pre-flight: less than 100 MB free aborts (Frontend \u00a710.5.4).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L220", - "id": "ui_test_pages_rationale_220", - "community": 444, - "norm_label": "pre-flight: less than 100 mb free aborts (frontend \u00a710.5.4)." - }, - { - "label": "Test-mode primary button uses ``warning`` color (Frontend \u00a75.3).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L268", - "id": "ui_test_pages_rationale_268", - "community": 450, - "norm_label": "test-mode primary button uses ``warning`` color (frontend \u00a75.3)." - }, - { - "label": "Test runs add a TestRuns/ folder and TestRun_ leaf prefix.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L282", - "id": "ui_test_pages_rationale_282", - "community": 440, - "norm_label": "test runs add a testruns/ folder and testrun_ leaf prefix." - }, - { - "label": "Settings has nine sections (Frontend \u00a77.2 + \u00a77.9 operators). The ``operator", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L327", - "id": "ui_test_pages_rationale_327", - "community": 439, - "norm_label": "settings has nine sections (frontend \u00a77.2 + \u00a77.9 operators). the ``operator" - }, - { - "label": "First incomplete section is the first per canonical order.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L340", - "id": "ui_test_pages_rationale_340", - "community": 443, - "norm_label": "first incomplete section is the first per canonical order." - }, - { - "label": "The dynamic NAS-remote section is auto-selected when it's the gate.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L347", - "id": "ui_test_pages_rationale_347", - "community": 396, - "norm_label": "the dynamic nas-remote section is auto-selected when it's the gate." - }, - { - "label": "Hard chip default-on; Soft default-off.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L408", - "id": "ui_test_pages_rationale_408", - "community": 328, - "norm_label": "hard chip default-on; soft default-off." - }, - { - "label": "Frontend \u00a711.5: minimum 10 chars after trim.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L436", - "id": "ui_test_pages_rationale_436", - "community": 447, - "norm_label": "frontend \u00a711.5: minimum 10 chars after trim." - }, - { - "label": "Frontend \u00a711.5: maximum 500 chars after trim.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L444", - "id": "ui_test_pages_rationale_444", - "community": 451, - "norm_label": "frontend \u00a711.5: maximum 500 chars after trim." - }, - { - "label": "Whitespace is trimmed before length check.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L459", - "id": "ui_test_pages_rationale_459", - "community": 449, - "norm_label": "whitespace is trimmed before length check." - }, - { - "label": "Within 10 of the maximum -> near-limit warning.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L466", - "id": "ui_test_pages_rationale_466", - "community": 453, - "norm_label": "within 10 of the maximum -> near-limit warning." - }, - { - "label": "Five problem-class chips per Backend \u00a78.1.1-\u00a78.1.5.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L490", - "id": "ui_test_pages_rationale_490", - "community": 454, - "norm_label": "five problem-class chips per backend \u00a78.1.1-\u00a78.1.5." - }, - { - "label": "test_mount.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1", - "id": "tests_unit_ui_test_mount_py", - "community": 2, - "norm_label": "test_mount.py" - }, - { - "label": "_deps()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L30", - "id": "ui_test_mount_deps", - "community": 2, - "norm_label": "_deps()" - }, - { - "label": "_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L44", - "id": "ui_test_mount_config", - "community": 2, - "norm_label": "_config()" - }, - { - "label": "_Fluent", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L80", - "id": "ui_test_mount_fluent", - "community": 0, - "norm_label": "_fluent" - }, - { - "label": ".props()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L83", - "id": "ui_test_mount_fluent_props", - "community": 0, - "norm_label": ".props()" - }, - { - "label": ".style()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L86", - "id": "ui_test_mount_fluent_style", - "community": 0, - "norm_label": ".style()" - }, - { - "label": ".classes()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L89", - "id": "ui_test_mount_fluent_classes", - "community": 0, - "norm_label": ".classes()" - }, - { - "label": ".__enter__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L92", - "id": "ui_test_mount_fluent_enter", - "community": 0, - "norm_label": ".__enter__()" - }, - { - "label": ".__exit__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L95", - "id": "ui_test_mount_fluent_exit", - "community": 0, - "norm_label": ".__exit__()" - }, - { - "label": "_FakeController", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L99", - "id": "ui_test_mount_fakecontroller", - "community": 60, - "norm_label": "_fakecontroller" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L102", - "id": "ui_test_mount_fakecontroller_init", - "community": 60, - "norm_label": ".__init__()" - }, - { - "label": ".status()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L118", - "id": "ui_test_mount_fakecontroller_status", - "community": 60, - "norm_label": ".status()" - }, - { - "label": ".create_project()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L121", - "id": "ui_test_mount_fakecontroller_create_project", - "community": 60, - "norm_label": ".create_project()" - }, - { - "label": ".create_run()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L128", - "id": "ui_test_mount_fakecontroller_create_run", - "community": 60, - "norm_label": ".create_run()" - }, - { - "label": "test_is_setup_ready_false_when_deps_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L146", - "id": "ui_test_mount_test_is_setup_ready_false_when_deps_none", - "community": 2, - "norm_label": "test_is_setup_ready_false_when_deps_none()" - }, - { - "label": "test_is_setup_ready_false_when_config_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L150", - "id": "ui_test_mount_test_is_setup_ready_false_when_config_missing", - "community": 2, - "norm_label": "test_is_setup_ready_false_when_config_missing()" - }, - { - "label": "test_is_setup_ready_false_when_keyring_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L154", - "id": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing", - "community": 2, - "norm_label": "test_is_setup_ready_false_when_keyring_missing()" - }, - { - "label": "test_is_setup_ready_false_when_lims_unreachable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L164", - "id": "ui_test_mount_test_is_setup_ready_false_when_lims_unreachable", - "community": 2, - "norm_label": "test_is_setup_ready_false_when_lims_unreachable()" - }, - { - "label": "test_is_setup_ready_true_when_all_satisfied()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L173", - "id": "ui_test_mount_test_is_setup_ready_true_when_all_satisfied", - "community": 2, - "norm_label": "test_is_setup_ready_true_when_all_satisfied()" - }, - { - "label": "test_is_setup_ready_false_when_nas_remote_unset()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L182", - "id": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unset", - "community": 2, - "norm_label": "test_is_setup_ready_false_when_nas_remote_unset()" - }, - { - "label": "test_is_setup_ready_false_when_nas_remote_unavailable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L192", - "id": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unavailable", - "community": 2, - "norm_label": "test_is_setup_ready_false_when_nas_remote_unavailable()" - }, - { - "label": "test_is_setup_ready_true_with_offline_catalogue_lims()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L203", - "id": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims", - "community": 2, - "norm_label": "test_is_setup_ready_true_with_offline_catalogue_lims()" - }, - { - "label": "test_build_main_state_marks_incomplete_without_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L223", - "id": "ui_test_mount_test_build_main_state_marks_incomplete_without_config", - "community": 2, - "norm_label": "test_build_main_state_marks_incomplete_without_config()" - }, - { - "label": "test_build_main_state_sources_problems_counts_from_audit()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L232", - "id": "ui_test_mount_test_build_main_state_sources_problems_counts_from_audit", - "community": 2, - "norm_label": "test_build_main_state_sources_problems_counts_from_audit()" - }, - { - "label": "test_build_main_state_always_on_orchestrator()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L240", - "id": "ui_test_mount_test_build_main_state_always_on_orchestrator", - "community": 2, - "norm_label": "test_build_main_state_always_on_orchestrator()" - }, - { - "label": "test_operation_counts_distinguishes_panel_active_and_input_required()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L258", - "id": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", - "community": 2, - "norm_label": "test_operation_counts_distinguishes_panel_active_and_input_required()" - }, - { - "label": "test_operation_counts_zero_without_controller()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L279", - "id": "ui_test_mount_test_operation_counts_zero_without_controller", - "community": 2, - "norm_label": "test_operation_counts_zero_without_controller()" - }, - { - "label": "test_missing_sections_when_deps_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L288", - "id": "ui_test_mount_test_missing_sections_when_deps_none", - "community": 2, - "norm_label": "test_missing_sections_when_deps_none()" - }, - { - "label": "test_missing_sections_when_config_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L292", - "id": "ui_test_mount_test_missing_sections_when_config_none", - "community": 2, - "norm_label": "test_missing_sections_when_config_none()" - }, - { - "label": "test_missing_sections_with_paths_unset()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L299", - "id": "ui_test_mount_test_missing_sections_with_paths_unset", - "community": 2, - "norm_label": "test_missing_sections_with_paths_unset()" - }, - { - "label": "test_missing_sections_with_keyring_absent_reports_lims()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L308", - "id": "ui_test_mount_test_missing_sections_with_keyring_absent_reports_lims", - "community": 2, - "norm_label": "test_missing_sections_with_keyring_absent_reports_lims()" - }, - { - "label": "test_missing_sections_empty_when_fully_configured()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L313", - "id": "ui_test_mount_test_missing_sections_empty_when_fully_configured", - "community": 2, - "norm_label": "test_missing_sections_empty_when_fully_configured()" - }, - { - "label": "_nas_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L318", - "id": "ui_test_mount_nas_config", - "community": 2, - "norm_label": "_nas_config()" - }, - { - "label": "test_missing_sections_includes_nas_remote_when_remote_unavailable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L361", - "id": "ui_test_mount_test_missing_sections_includes_nas_remote_when_remote_unavailable", - "community": 2, - "norm_label": "test_missing_sections_includes_nas_remote_when_remote_unavailable()" - }, - { - "label": "test_missing_sections_includes_nas_remote_when_remote_unset()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L370", - "id": "ui_test_mount_test_missing_sections_includes_nas_remote_when_remote_unset", - "community": 2, - "norm_label": "test_missing_sections_includes_nas_remote_when_remote_unset()" - }, - { - "label": "test_missing_sections_excludes_nas_remote_when_remote_available()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L378", - "id": "ui_test_mount_test_missing_sections_excludes_nas_remote_when_remote_available", - "community": 2, - "norm_label": "test_missing_sections_excludes_nas_remote_when_remote_available()" - }, - { - "label": "_RaisingValidator", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L393", - "id": "ui_test_mount_raisingvalidator", - "community": 0, - "norm_label": "_raisingvalidator" - }, - { - "label": ".audit()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L394", - "id": "ui_test_mount_raisingvalidator_audit", - "community": 0, - "norm_label": ".audit()" - }, - { - "label": "_OkValidator", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L399", - "id": "ui_test_mount_okvalidator", - "community": 0, - "norm_label": "_okvalidator" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L400", - "id": "ui_test_mount_okvalidator_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".audit()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L403", - "id": "ui_test_mount_okvalidator_audit", - "community": 0, - "norm_label": ".audit()" - }, - { - "label": "test_safe_audit_returns_empty_list_when_validator_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L407", - "id": "ui_test_mount_test_safe_audit_returns_empty_list_when_validator_missing", - "community": 2, - "norm_label": "test_safe_audit_returns_empty_list_when_validator_missing()" - }, - { - "label": "test_safe_audit_swallows_validator_exception()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L411", - "id": "ui_test_mount_test_safe_audit_swallows_validator_exception", - "community": 2, - "norm_label": "test_safe_audit_swallows_validator_exception()" - }, - { - "label": "test_safe_audit_forwards_validator_output()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L419", - "id": "ui_test_mount_test_safe_audit_forwards_validator_output", - "community": 2, - "norm_label": "test_safe_audit_forwards_validator_output()" - }, - { - "label": "_NavSpy", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L437", - "id": "ui_test_mount_navspy", - "community": 60, - "norm_label": "_navspy" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L440", - "id": "ui_test_mount_navspy_init", - "community": 60, - "norm_label": ".__init__()" - }, - { - "label": "test_persist_config_writes_and_applies_live()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L445", - "id": "ui_test_mount_test_persist_config_writes_and_applies_live", - "community": 324, - "norm_label": "test_persist_config_writes_and_applies_live()" - }, - { - "label": "test_persist_config_returns_false_when_no_saver()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L468", - "id": "ui_test_mount_test_persist_config_returns_false_when_no_saver", - "community": 60, - "norm_label": "test_persist_config_returns_false_when_no_saver()" - }, - { - "label": "test_persist_config_returns_false_when_saver_raises()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L480", - "id": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", - "community": 60, - "norm_label": "test_persist_config_returns_false_when_saver_raises()" - }, - { - "label": "test_persist_config_warns_when_saver_returns_awaitable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L497", - "id": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", - "community": 60, - "norm_label": "test_persist_config_warns_when_saver_returns_awaitable()" - }, - { - "label": "test_persist_config_creates_staging_root_when_set()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L520", - "id": "ui_test_mount_test_persist_config_creates_staging_root_when_set", - "community": 60, - "norm_label": "test_persist_config_creates_staging_root_when_set()" - }, - { - "label": "test_persist_config_does_not_create_staging_root_when_blank()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L535", - "id": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", - "community": 60, - "norm_label": "test_persist_config_does_not_create_staging_root_when_blank()" - }, - { - "label": "test_persist_config_staging_dir_failure_is_non_fatal()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L549", - "id": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", - "community": 60, - "norm_label": "test_persist_config_staging_dir_failure_is_non_fatal()" - }, - { - "label": "test_apply_live_config_falls_back_to_setting_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L575", - "id": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", - "community": 386, - "norm_label": "test_apply_live_config_falls_back_to_setting_config()" - }, - { - "label": "test_show_toast_positive_and_negative_never_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L605", - "id": "ui_test_mount_test_show_toast_positive_and_negative_never_raise", - "community": 2, - "norm_label": "test_show_toast_positive_and_negative_never_raise()" - }, - { - "label": "test_show_toast_swallows_notification_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L612", - "id": "ui_test_mount_test_show_toast_swallows_notification_failure", - "community": 2, - "norm_label": "test_show_toast_swallows_notification_failure()" - }, - { - "label": "_RecordingKeyringStore", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L631", - "id": "ui_test_mount_recordingkeyringstore", - "community": 0, - "norm_label": "_recordingkeyringstore" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L634", - "id": "ui_test_mount_recordingkeyringstore_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".set_password()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L639", - "id": "ui_test_mount_recordingkeyringstore_set_password", - "community": 0, - "norm_label": ".set_password()" - }, - { - "label": ".delete_password()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L645", - "id": "ui_test_mount_recordingkeyringstore_delete_password", - "community": 0, - "norm_label": ".delete_password()" - }, - { - "label": "test_lims_credential_handlers_save_writes_under_lims_username()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L652", - "id": "ui_test_mount_test_lims_credential_handlers_save_writes_under_lims_username", - "community": 2, - "norm_label": "test_lims_credential_handlers_save_writes_under_lims_username()" - }, - { - "label": "test_lims_credential_handlers_clear_deletes_under_lims_username()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L661", - "id": "ui_test_mount_test_lims_credential_handlers_clear_deletes_under_lims_username", - "community": 2, - "norm_label": "test_lims_credential_handlers_clear_deletes_under_lims_username()" - }, - { - "label": "test_lims_credential_handlers_tolerate_missing_keyring_store()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L670", - "id": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store", - "community": 2, - "norm_label": "test_lims_credential_handlers_tolerate_missing_keyring_store()" - }, - { - "label": "test_lims_credential_handlers_swallow_backend_errors()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L679", - "id": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", - "community": 385, - "norm_label": "test_lims_credential_handlers_swallow_backend_errors()" - }, - { - "label": "test_apply_autostart_noop_when_deps_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L694", - "id": "ui_test_mount_test_apply_autostart_noop_when_deps_none", - "community": 2, - "norm_label": "test_apply_autostart_noop_when_deps_none()" - }, - { - "label": "test_apply_autostart_noop_when_toggle_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L698", - "id": "ui_test_mount_test_apply_autostart_noop_when_toggle_missing", - "community": 2, - "norm_label": "test_apply_autostart_noop_when_toggle_missing()" - }, - { - "label": "test_apply_autostart_invokes_toggle()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L702", - "id": "ui_test_mount_test_apply_autostart_invokes_toggle", - "community": 2, - "norm_label": "test_apply_autostart_invokes_toggle()" - }, - { - "label": "test_apply_autostart_returns_real_registration_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L709", - "id": "ui_test_mount_test_apply_autostart_returns_real_registration_state", - "community": 2, - "norm_label": "test_apply_autostart_returns_real_registration_state()" - }, - { - "label": "test_apply_autostart_swallows_toggle_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L718", - "id": "ui_test_mount_test_apply_autostart_swallows_toggle_failure", - "community": 2, - "norm_label": "test_apply_autostart_swallows_toggle_failure()" - }, - { - "label": "test_templates_dir_none_when_deps_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L735", - "id": "ui_test_mount_test_templates_dir_none_when_deps_none", - "community": 2, - "norm_label": "test_templates_dir_none_when_deps_none()" - }, - { - "label": "test_templates_dir_none_when_config_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L739", - "id": "ui_test_mount_test_templates_dir_none_when_config_none", - "community": 2, - "norm_label": "test_templates_dir_none_when_config_none()" - }, - { - "label": "test_templates_dir_none_when_unset()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L743", - "id": "ui_test_mount_test_templates_dir_none_when_unset", - "community": 2, - "norm_label": "test_templates_dir_none_when_unset()" - }, - { - "label": "test_templates_dir_returns_path()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L747", - "id": "ui_test_mount_test_templates_dir_returns_path", - "community": 2, - "norm_label": "test_templates_dir_returns_path()" - }, - { - "label": "test_equipment_ids_empty_without_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L752", - "id": "ui_test_mount_test_equipment_ids_empty_without_config", - "community": 2, - "norm_label": "test_equipment_ids_empty_without_config()" - }, - { - "label": "test_equipment_ids_lists_configured_ids()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L756", - "id": "ui_test_mount_test_equipment_ids_lists_configured_ids", - "community": 2, - "norm_label": "test_equipment_ids_lists_configured_ids()" - }, - { - "label": "test_template_names_empty_without_templates_dir()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L768", - "id": "ui_test_mount_test_template_names_empty_without_templates_dir", - "community": 2, - "norm_label": "test_template_names_empty_without_templates_dir()" - }, - { - "label": "test_template_names_lists_summary_names()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L772", - "id": "ui_test_mount_test_template_names_lists_summary_names", - "community": 2, - "norm_label": "test_template_names_lists_summary_names()" - }, - { - "label": "test_template_names_swallows_scan_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L784", - "id": "ui_test_mount_test_template_names_swallows_scan_failure", - "community": 2, - "norm_label": "test_template_names_swallows_scan_failure()" - }, - { - "label": "test_lims_projects_empty_without_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L804", - "id": "ui_test_mount_test_lims_projects_empty_without_config", - "community": 2, - "norm_label": "test_lims_projects_empty_without_config()" - }, - { - "label": "test_lims_projects_empty_without_catalogue_path()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L808", - "id": "ui_test_mount_test_lims_projects_empty_without_catalogue_path", - "community": 2, - "norm_label": "test_lims_projects_empty_without_catalogue_path()" - }, - { - "label": "test_lims_projects_empty_when_catalogue_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L812", - "id": "ui_test_mount_test_lims_projects_empty_when_catalogue_missing", - "community": 2, - "norm_label": "test_lims_projects_empty_when_catalogue_missing()" - }, - { - "label": "test_lims_projects_reads_offline_catalogue()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L817", - "id": "ui_test_mount_test_lims_projects_reads_offline_catalogue", - "community": 2, - "norm_label": "test_lims_projects_reads_offline_catalogue()" - }, - { - "label": "test_lims_projects_swallows_read_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L838", - "id": "ui_test_mount_test_lims_projects_swallows_read_failure", - "community": 2, - "norm_label": "test_lims_projects_swallows_read_failure()" - }, - { - "label": "_FakeLimsClient", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L855", - "id": "ui_test_mount_fakelimsclient", - "community": 0, - "norm_label": "_fakelimsclient" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L858", - "id": "ui_test_mount_fakelimsclient_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".list_projects()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L863", - "id": "ui_test_mount_fakelimsclient_list_projects", - "community": 0, - "norm_label": ".list_projects()" - }, - { - "label": "test_lims_projects_uses_live_lims()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L871", - "id": "ui_test_mount_test_lims_projects_uses_live_lims", - "community": 2, - "norm_label": "test_lims_projects_uses_live_lims()" - }, - { - "label": "test_lims_projects_skips_live_lims_when_unreachable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L885", - "id": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", - "community": 2, - "norm_label": "test_lims_projects_skips_live_lims_when_unreachable()" - }, - { - "label": "test_lims_projects_falls_back_to_catalogue_on_live_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L892", - "id": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", - "community": 2, - "norm_label": "test_lims_projects_falls_back_to_catalogue_on_live_failure()" - }, - { - "label": "test_template_questions_map_empty_without_templates_dir()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L927", - "id": "ui_test_mount_test_template_questions_map_empty_without_templates_dir", - "community": 2, - "norm_label": "test_template_questions_map_empty_without_templates_dir()" - }, - { - "label": "test_template_questions_map_resolves_questions()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L931", - "id": "ui_test_mount_test_template_questions_map_resolves_questions", - "community": 2, - "norm_label": "test_template_questions_map_resolves_questions()" - }, - { - "label": "test_template_questions_map_skips_unresolvable_template()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L952", - "id": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", - "community": 2, - "norm_label": "test_template_questions_map_skips_unresolvable_template()" - }, - { - "label": "test_await_session_awaits_pending_task()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L977", - "id": "ui_test_mount_test_await_session_awaits_pending_task", - "community": 60, - "norm_label": "test_await_session_awaits_pending_task()" - }, - { - "label": "test_await_session_without_pending_task()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L990", - "id": "ui_test_mount_test_await_session_without_pending_task", - "community": 60, - "norm_label": "test_await_session_without_pending_task()" - }, - { - "label": "test_run_creation_navigates_home_on_done()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1002", - "id": "ui_test_mount_test_run_creation_navigates_home_on_done", - "community": 60, - "norm_label": "test_run_creation_navigates_home_on_done()" - }, - { - "label": "test_run_creation_reports_failure_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1009", - "id": "ui_test_mount_test_run_creation_reports_failure_state", - "community": 60, - "norm_label": "test_run_creation_reports_failure_state()" - }, - { - "label": "test_run_creation_swallows_create_exception()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1017", - "id": "ui_test_mount_test_run_creation_swallows_create_exception", - "community": 60, - "norm_label": "test_run_creation_swallows_create_exception()" - }, - { - "label": "test_submit_project_toasts_when_controller_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1035", - "id": "ui_test_mount_test_submit_project_toasts_when_controller_missing", - "community": 60, - "norm_label": "test_submit_project_toasts_when_controller_missing()" - }, - { - "label": "test_submit_project_toasts_without_template()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1041", - "id": "ui_test_mount_test_submit_project_toasts_without_template", - "community": 60, - "norm_label": "test_submit_project_toasts_without_template()" - }, - { - "label": "test_submit_project_builds_request_and_runs()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1049", - "id": "ui_test_mount_test_submit_project_builds_request_and_runs", - "community": 60, - "norm_label": "test_submit_project_builds_request_and_runs()" - }, - { - "label": "test_submit_run_toasts_when_controller_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1070", - "id": "ui_test_mount_test_submit_run_toasts_when_controller_missing", - "community": 60, - "norm_label": "test_submit_run_toasts_when_controller_missing()" - }, - { - "label": "test_submit_run_builds_request_and_runs()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1076", - "id": "ui_test_mount_test_submit_run_builds_request_and_runs", - "community": 60, - "norm_label": "test_submit_run_builds_request_and_runs()" - }, - { - "label": "test_build_main_query_omits_empty_params()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1101", - "id": "ui_test_mount_test_build_main_query_omits_empty_params", - "community": 387, - "norm_label": "test_build_main_query_omits_empty_params()" - }, - { - "label": "test_build_main_query_url_encodes_special_chars()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1109", - "id": "ui_test_mount_test_build_main_query_url_encodes_special_chars", - "community": 80, - "norm_label": "test_build_main_query_url_encodes_special_chars()" - }, - { - "label": "test_build_main_query_includes_file_q_density()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1121", - "id": "ui_test_mount_test_build_main_query_includes_file_q_density", - "community": 504, - "norm_label": "test_build_main_query_includes_file_q_density()" - }, - { - "label": "test_build_main_query_omits_empty_phase4_params()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1130", - "id": "ui_test_mount_test_build_main_query_omits_empty_phase4_params", - "community": 429, - "norm_label": "test_build_main_query_omits_empty_phase4_params()" - }, - { - "label": "test_build_main_query_encodes_file_path_and_search()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1135", - "id": "ui_test_mount_test_build_main_query_encodes_file_path_and_search", - "community": 430, - "norm_label": "test_build_main_query_encodes_file_path_and_search()" - }, - { - "label": "test_classify_node_returns_none_for_empty_selection()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1144", - "id": "ui_test_mount_test_classify_node_returns_none_for_empty_selection", - "community": 2, - "norm_label": "test_classify_node_returns_none_for_empty_selection()" - }, - { - "label": "test_classify_node_discriminates_kinds()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1149", - "id": "ui_test_mount_test_classify_node_discriminates_kinds", - "community": 80, - "norm_label": "test_classify_node_discriminates_kinds()" - }, - { - "label": "test_classify_node_rejects_unknown_root()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1170", - "id": "ui_test_mount_test_classify_node_rejects_unknown_root", - "community": 350, - "norm_label": "test_classify_node_rejects_unknown_root()" - }, - { - "label": "test_build_metadata_payload_returns_empty_when_node_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1186", - "id": "ui_test_mount_test_build_metadata_payload_returns_empty_when_node_missing", - "community": 2, - "norm_label": "test_build_metadata_payload_returns_empty_when_node_missing()" - }, - { - "label": "test_build_metadata_payload_owned_equipment_reads_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1192", - "id": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", - "community": 80, - "norm_label": "test_build_metadata_payload_owned_equipment_reads_config()" - }, - { - "label": "test_build_metadata_payload_unknown_equipment_id_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1210", - "id": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty", - "community": 80, - "norm_label": "test_build_metadata_payload_unknown_equipment_id_returns_empty()" - }, - { - "label": "test_build_metadata_payload_project_scans_run_counts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1217", - "id": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", - "community": 80, - "norm_label": "test_build_metadata_payload_project_scans_run_counts()" - }, - { - "label": "test_build_metadata_payload_run_parses_creation_json()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1236", - "id": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", - "community": 80, - "norm_label": "test_build_metadata_payload_run_parses_creation_json()" - }, - { - "label": "test_build_metadata_payload_run_missing_creation_returns_path_only()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1281", - "id": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", - "community": 33, - "norm_label": "test_build_metadata_payload_run_missing_creation_returns_path_only()" - }, - { - "label": "test_build_main_state_threads_selection_into_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1290", - "id": "ui_test_mount_test_build_main_state_threads_selection_into_state", - "community": 131, - "norm_label": "test_build_main_state_threads_selection_into_state()" - }, - { - "label": "test_build_main_state_threads_file_search_density()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1306", - "id": "ui_test_mount_test_build_main_state_threads_file_search_density", - "community": 131, - "norm_label": "test_build_main_state_threads_file_search_density()" - }, - { - "label": "test_build_selected_file_resolves_file_by_path_match()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1327", - "id": "ui_test_mount_test_build_selected_file_resolves_file_by_path_match", - "community": 2, - "norm_label": "test_build_selected_file_resolves_file_by_path_match()" - }, - { - "label": "test_build_selected_file_none_for_empty_or_missing_path()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1353", - "id": "ui_test_mount_test_build_selected_file_none_for_empty_or_missing_path", - "community": 125, - "norm_label": "test_build_selected_file_none_for_empty_or_missing_path()" - }, - { - "label": "test_build_selected_file_tombstone_omits_size()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1362", - "id": "ui_test_mount_test_build_selected_file_tombstone_omits_size", - "community": 14, - "norm_label": "test_build_selected_file_tombstone_omits_size()" - }, - { - "label": "test_build_selected_file_folder_delegates_to_aggregate()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1381", - "id": "ui_test_mount_test_build_selected_file_folder_delegates_to_aggregate", - "community": 33, - "norm_label": "test_build_selected_file_folder_delegates_to_aggregate()" - }, - { - "label": "test_build_selected_folder_degrades_on_scan_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1408", - "id": "ui_test_mount_test_build_selected_folder_degrades_on_scan_failure", - "community": 107, - "norm_label": "test_build_selected_folder_degrades_on_scan_failure()" - }, - { - "label": "test_refresh_selected_folder_primes_feed_payload()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1436", - "id": "ui_test_mount_test_refresh_selected_folder_primes_feed_payload", - "community": 107, - "norm_label": "test_refresh_selected_folder_primes_feed_payload()" - }, - { - "label": "test_refresh_selected_folder_noop_when_path_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1456", - "id": "ui_test_mount_test_refresh_selected_folder_noop_when_path_none", - "community": 14, - "norm_label": "test_refresh_selected_folder_noop_when_path_none()" - }, - { - "label": "test_refresh_selected_folder_swallows_scan_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1462", - "id": "ui_test_mount_test_refresh_selected_folder_swallows_scan_failure", - "community": 50, - "norm_label": "test_refresh_selected_folder_swallows_scan_failure()" - }, - { - "label": "test_open_in_os_returns_false_on_unhandled_platform()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1481", - "id": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform", - "community": 107, - "norm_label": "test_open_in_os_returns_false_on_unhandled_platform()" - }, - { - "label": "test_open_in_os_linux_invokes_xdg_open()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1489", - "id": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open", - "community": 131, - "norm_label": "test_open_in_os_linux_invokes_xdg_open()" - }, - { - "label": "test_open_in_os_darwin_invokes_open()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1503", - "id": "ui_test_mount_test_open_in_os_darwin_invokes_open", - "community": 50, - "norm_label": "test_open_in_os_darwin_invokes_open()" - }, - { - "label": "test_open_in_os_returns_false_when_popen_raises()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1512", - "id": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises", - "community": 125, - "norm_label": "test_open_in_os_returns_false_when_popen_raises()" - }, - { - "label": "_ClipboardSpy", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1528", - "id": "ui_test_mount_clipboardspy", - "community": 0, - "norm_label": "_clipboardspy" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1529", - "id": "ui_test_mount_clipboardspy_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".write()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1532", - "id": "ui_test_mount_clipboardspy_write", - "community": 0, - "norm_label": ".write()" - }, - { - "label": "_UiSpy", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1536", - "id": "ui_test_mount_uispy", - "community": 14, - "norm_label": "_uispy" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1539", - "id": "ui_test_mount_uispy_init", - "community": 14, - "norm_label": ".__init__()" - }, - { - "label": ".__getattr__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1552", - "id": "ui_test_mount_uispy_getattr", - "community": 14, - "norm_label": ".__getattr__()" - }, - { - "label": "test_file_context_action_open_in_os_dispatches_to_helper()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1559", - "id": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", - "community": 14, - "norm_label": "test_file_context_action_open_in_os_dispatches_to_helper()" - }, - { - "label": "test_file_context_action_open_in_os_failure_toasts_negative()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1571", - "id": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative", - "community": 131, - "norm_label": "test_file_context_action_open_in_os_failure_toasts_negative()" - }, - { - "label": "test_file_context_action_copy_path_writes_clipboard()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1582", - "id": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard", - "community": 33, - "norm_label": "test_file_context_action_copy_path_writes_clipboard()" - }, - { - "label": "test_file_context_action_unknown_action_no_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1590", - "id": "ui_test_mount_test_file_context_action_unknown_action_no_raise", - "community": 125, - "norm_label": "test_file_context_action_unknown_action_no_raise()" - }, - { - "label": "test_file_context_action_empty_path_toasts_negative()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1597", - "id": "ui_test_mount_test_file_context_action_empty_path_toasts_negative", - "community": 107, - "norm_label": "test_file_context_action_empty_path_toasts_negative()" - }, - { - "label": "_StubNasSync", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1608", - "id": "ui_test_mount_stubnassync", - "community": 0, - "norm_label": "_stubnassync" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1609", - "id": "ui_test_mount_stubnassync_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".enqueue()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1612", - "id": "ui_test_mount_stubnassync_enqueue", - "community": 0, - "norm_label": ".enqueue()" - }, - { - "label": "test_run_staging_action_force_sync_invokes_nas_sync_enqueue()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1617", - "id": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", - "community": 86, - "norm_label": "test_run_staging_action_force_sync_invokes_nas_sync_enqueue()" - }, - { - "label": "test_run_staging_action_force_sync_missing_nas_sync_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1630", - "id": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", - "community": 33, - "norm_label": "test_run_staging_action_force_sync_missing_nas_sync_toasts()" - }, - { - "label": "test_run_staging_action_no_config_toasts_negative()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1637", - "id": "ui_test_mount_test_run_staging_action_no_config_toasts_negative", - "community": 107, - "norm_label": "test_run_staging_action_no_config_toasts_negative()" - }, - { - "label": "test_run_staging_action_view_log_invokes_log_dialog()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1644", - "id": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", - "community": 33, - "norm_label": "test_run_staging_action_view_log_invokes_log_dialog()" - }, - { - "label": "test_run_staging_action_unknown_action_no_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1656", - "id": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", - "community": 33, - "norm_label": "test_run_staging_action_unknown_action_no_raise()" - }, - { - "label": "test_run_staging_action_clear_verified_invokes_clear()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1663", - "id": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", - "community": 14, - "norm_label": "test_run_staging_action_clear_verified_invokes_clear()" - }, - { - "label": "_StubTabStorage", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1694", - "id": "ui_test_mount_stubtabstorage", - "community": 0, - "norm_label": "_stubtabstorage" - }, - { - "label": "dict", - "file_type": "code", - "source_file": "", - "source_location": "", - "id": "dict", - "community": 53, - "norm_label": "dict" - }, - { - "label": "_StubApp", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1698", - "id": "ui_test_mount_stubapp", - "community": 0, - "norm_label": "_stubapp" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1701", - "id": "ui_test_mount_stubapp_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": "test_drive_folder_feed_returns_empty_when_no_selection()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1709", - "id": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection", - "community": 33, - "norm_label": "test_drive_folder_feed_returns_empty_when_no_selection()" - }, - { - "label": "test_drive_folder_feed_creates_feed_on_first_render()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1717", - "id": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", - "community": 50, - "norm_label": "test_drive_folder_feed_creates_feed_on_first_render()" - }, - { - "label": "test_drive_folder_feed_converts_cached_payload_to_entries()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1730", - "id": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", - "community": 86, - "norm_label": "test_drive_folder_feed_converts_cached_payload_to_entries()" - }, - { - "label": "test_fetch_folder_async_skips_when_coord_says_skip()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1772", - "id": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip", - "community": 157, - "norm_label": "test_fetch_folder_async_skips_when_coord_says_skip()" - }, - { - "label": "test_fetch_folder_async_records_refresh_on_success()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1789", - "id": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", - "community": 106, - "norm_label": "test_fetch_folder_async_records_refresh_on_success()" - }, - { - "label": "test_fetch_folder_async_swallows_helper_exceptions()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1808", - "id": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions", - "community": 173, - "norm_label": "test_fetch_folder_async_swallows_helper_exceptions()" - }, - { - "label": "test_open_log_dialog_no_queue_job_renders_dialog()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1826", - "id": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", - "community": 173, - "norm_label": "test_open_log_dialog_no_queue_job_renders_dialog()" - }, - { - "label": "test_open_log_dialog_with_queue_job_renders_dialog()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1835", - "id": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", - "community": 158, - "norm_label": "test_open_log_dialog_with_queue_job_renders_dialog()" - }, - { - "label": "test_build_metadata_payload_returns_empty_on_builder_exception()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1861", - "id": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", - "community": 69, - "norm_label": "test_build_metadata_payload_returns_empty_on_builder_exception()" - }, - { - "label": "test_metadata_for_relay_equipment_emits_id_label_source_host()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1874", - "id": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host", - "community": 158, - "norm_label": "test_metadata_for_relay_equipment_emits_id_label_source_host()" - }, - { - "label": "test_metadata_for_relay_equipment_unknown_id_falls_back()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1892", - "id": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back", - "community": 158, - "norm_label": "test_metadata_for_relay_equipment_unknown_id_falls_back()" - }, - { - "label": "test_metadata_for_project_returns_empty_for_single_segment_id()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1899", - "id": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id", - "community": 86, - "norm_label": "test_metadata_for_project_returns_empty_for_single_segment_id()" - }, - { - "label": "test_count_dir_children_returns_zero_for_missing_dir()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1905", - "id": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir", - "community": 86, - "norm_label": "test_count_dir_children_returns_zero_for_missing_dir()" - }, - { - "label": "test_count_dir_children_filters_by_prefix()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1910", - "id": "ui_test_mount_test_count_dir_children_filters_by_prefix", - "community": 69, - "norm_label": "test_count_dir_children_filters_by_prefix()" - }, - { - "label": "test_metadata_for_run_returns_partial_on_decode_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1919", - "id": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure", - "community": 157, - "norm_label": "test_metadata_for_run_returns_partial_on_decode_failure()" - }, - { - "label": "test_run_staging_action_force_sync_exception_path_no_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1930", - "id": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", - "community": 69, - "norm_label": "test_run_staging_action_force_sync_exception_path_no_raise()" - }, - { - "label": "test_run_staging_action_clear_verified_exception_path_no_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1946", - "id": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", - "community": 106, - "norm_label": "test_run_staging_action_clear_verified_exception_path_no_raise()" - }, - { - "label": "test_run_staging_action_clear_verified_zero_files_branch()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1962", - "id": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", - "community": 106, - "norm_label": "test_run_staging_action_clear_verified_zero_files_branch()" - }, - { - "label": "test_file_context_action_clipboard_failure_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1975", - "id": "ui_test_mount_test_file_context_action_clipboard_failure_toasts", - "community": 173, - "norm_label": "test_file_context_action_clipboard_failure_toasts()" - }, - { - "label": "_DialogStub", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1999", - "id": "ui_test_mount_dialogstub", - "community": 0, - "norm_label": "_dialogstub" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2000", - "id": "ui_test_mount_dialogstub_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".open()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2005", - "id": "ui_test_mount_dialogstub_open", - "community": 2, - "norm_label": ".open()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2009", - "id": "ui_test_mount_dialogstub_close", - "community": 50, - "norm_label": ".close()" - }, - { - "label": "_DialogUI", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2014", - "id": "ui_test_mount_dialogui", - "community": 0, - "norm_label": "_dialogui" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2023", - "id": "ui_test_mount_dialogui_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".dialog()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2030", - "id": "ui_test_mount_dialogui_dialog", - "community": 0, - "norm_label": ".dialog()" - }, - { - "label": ".card()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2035", - "id": "ui_test_mount_dialogui_card", - "community": 0, - "norm_label": ".card()" - }, - { - "label": ".row()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2038", - "id": "ui_test_mount_dialogui_row", - "community": 0, - "norm_label": ".row()" - }, - { - "label": ".label()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2041", - "id": "ui_test_mount_dialogui_label", - "community": 0, - "norm_label": ".label()" - }, - { - "label": ".icon()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2045", - "id": "ui_test_mount_dialogui_icon", - "community": 0, - "norm_label": ".icon()" - }, - { - "label": ".button()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2048", - "id": "ui_test_mount_dialogui_button", - "community": 0, - "norm_label": ".button()" - }, - { - "label": "test_nas_test_connection_unavailable_when_probe_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2058", - "id": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing", - "community": 69, - "norm_label": "test_nas_test_connection_unavailable_when_probe_missing()" - }, - { - "label": "test_nas_test_connection_unavailable_when_config_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2065", - "id": "ui_test_mount_test_nas_test_connection_unavailable_when_config_missing", - "community": 2, - "norm_label": "test_nas_test_connection_unavailable_when_config_missing()" - }, - { - "label": "test_nas_test_connection_success_maps_latency()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2070", - "id": "ui_test_mount_test_nas_test_connection_success_maps_latency", - "community": 157, - "norm_label": "test_nas_test_connection_success_maps_latency()" - }, - { - "label": "test_nas_test_connection_failure_maps_reason()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2087", - "id": "ui_test_mount_test_nas_test_connection_failure_maps_reason", - "community": 2, - "norm_label": "test_nas_test_connection_failure_maps_reason()" - }, - { - "label": "test_nas_test_connection_awaits_coroutine_probe()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2097", - "id": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe", - "community": 180, - "norm_label": "test_nas_test_connection_awaits_coroutine_probe()" - }, - { - "label": "test_nas_test_connection_swallows_probe_exception()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2108", - "id": "ui_test_mount_test_nas_test_connection_swallows_probe_exception", - "community": 2, - "norm_label": "test_nas_test_connection_swallows_probe_exception()" - }, - { - "label": "test_setup_next_action_none_when_deps_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2123", - "id": "ui_test_mount_test_setup_next_action_none_when_deps_none", - "community": 2, - "norm_label": "test_setup_next_action_none_when_deps_none()" - }, - { - "label": "test_setup_next_action_returns_action_for_incomplete_setup()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2127", - "id": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup", - "community": 69, - "norm_label": "test_setup_next_action_returns_action_for_incomplete_setup()" - }, - { - "label": "test_setup_next_action_none_when_ready()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2134", - "id": "ui_test_mount_test_setup_next_action_none_when_ready", - "community": 325, - "norm_label": "test_setup_next_action_none_when_ready()" - }, - { - "label": "test_setup_next_action_swallows_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2140", - "id": "ui_test_mount_test_setup_next_action_swallows_failure", - "community": 2, - "norm_label": "test_setup_next_action_swallows_failure()" - }, - { - "label": "test_toggle_keep_local_no_writer_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2158", - "id": "ui_test_mount_test_toggle_keep_local_no_writer_toasts", - "community": 106, - "norm_label": "test_toggle_keep_local_no_writer_toasts()" - }, - { - "label": "test_toggle_keep_local_file_not_in_run_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2165", - "id": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts", - "community": 14, - "norm_label": "test_toggle_keep_local_file_not_in_run_toasts()" - }, - { - "label": "test_toggle_keep_local_invokes_writer_and_on_done()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2176", - "id": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done", - "community": 23, - "norm_label": "test_toggle_keep_local_invokes_writer_and_on_done()" - }, - { - "label": "test_toggle_keep_local_writer_failure_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2210", - "id": "ui_test_mount_test_toggle_keep_local_writer_failure_toasts", - "community": 14, - "norm_label": "test_toggle_keep_local_writer_failure_toasts()" - }, - { - "label": "test_file_context_action_keep_local_dispatches()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2233", - "id": "ui_test_mount_test_file_context_action_keep_local_dispatches", - "community": 14, - "norm_label": "test_file_context_action_keep_local_dispatches()" - }, - { - "label": "test_open_in_os_win32_invokes_startfile()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2250", - "id": "ui_test_mount_test_open_in_os_win32_invokes_startfile", - "community": 170, - "norm_label": "test_open_in_os_win32_invokes_startfile()" - }, - { - "label": "_store_with_running_session()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2267", - "id": "ui_test_mount_store_with_running_session", - "community": 2, - "norm_label": "_store_with_running_session()" - }, - { - "label": "test_build_operation_rows_maps_panel_sessions()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2276", - "id": "ui_test_mount_test_build_operation_rows_maps_panel_sessions", - "community": 2, - "norm_label": "test_build_operation_rows_maps_panel_sessions()" - }, - { - "label": "test_open_operations_modal_no_controller_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2284", - "id": "ui_test_mount_test_open_operations_modal_no_controller_toasts", - "community": 180, - "norm_label": "test_open_operations_modal_no_controller_toasts()" - }, - { - "label": "test_open_operations_modal_opens_with_controller()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2290", - "id": "ui_test_mount_test_open_operations_modal_opens_with_controller", - "community": 180, - "norm_label": "test_open_operations_modal_opens_with_controller()" - }, - { - "label": "test_open_operation_details_session_not_found_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2303", - "id": "ui_test_mount_test_open_operation_details_session_not_found_toasts", - "community": 14, - "norm_label": "test_open_operation_details_session_not_found_toasts()" - }, - { - "label": "test_open_operation_details_renders_state_and_pending()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2311", - "id": "ui_test_mount_test_open_operation_details_renders_state_and_pending", - "community": 300, - "norm_label": "test_open_operation_details_renders_state_and_pending()" - }, - { - "label": "test_resume_operation_no_pending_input_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2335", - "id": "ui_test_mount_test_resume_operation_no_pending_input_toasts", - "community": 14, - "norm_label": "test_resume_operation_no_pending_input_toasts()" - }, - { - "label": "test_resume_operation_opens_input_dialog()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2344", - "id": "ui_test_mount_test_resume_operation_opens_input_dialog", - "community": 171, - "norm_label": "test_resume_operation_opens_input_dialog()" - }, - { - "label": "test_open_input_required_dialog_submit_resumes_controller()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2371", - "id": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller", - "community": 23, - "norm_label": "test_open_input_required_dialog_submit_resumes_controller()" - }, - { - "label": "test_open_input_required_dialog_cancel_routes_to_cancel_session()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2403", - "id": "ui_test_mount_test_open_input_required_dialog_cancel_routes_to_cancel_session", - "community": 23, - "norm_label": "test_open_input_required_dialog_cancel_routes_to_cancel_session()" - }, - { - "label": "test_cancel_operation_no_controller_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2432", - "id": "ui_test_mount_test_cancel_operation_no_controller_toasts", - "community": 14, - "norm_label": "test_cancel_operation_no_controller_toasts()" - }, - { - "label": "test_cancel_operation_routes_to_cancel_session()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2437", - "id": "ui_test_mount_test_cancel_operation_routes_to_cancel_session", - "community": 14, - "norm_label": "test_cancel_operation_routes_to_cancel_session()" - }, - { - "label": "test_cancel_session_discard_calls_controller_cancel()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2445", - "id": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel", - "community": 170, - "norm_label": "test_cancel_session_discard_calls_controller_cancel()" - }, - { - "label": "test_cancel_session_keep_files_calls_controller_cancel()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2464", - "id": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel", - "community": 171, - "norm_label": "test_cancel_session_keep_files_calls_controller_cancel()" - }, - { - "label": "test_cancel_session_swallows_controller_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2481", - "id": "ui_test_mount_test_cancel_session_swallows_controller_failure", - "community": 172, - "norm_label": "test_cancel_session_swallows_controller_failure()" - }, - { - "label": "test_cancel_session_back_button_closes_dialog()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2497", - "id": "ui_test_mount_test_cancel_session_back_button_closes_dialog", - "community": 181, - "norm_label": "test_cancel_session_back_button_closes_dialog()" - }, - { - "label": "test_open_log_dialog_renders_row_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2511", - "id": "ui_test_mount_test_open_log_dialog_renders_row_fields", - "community": 171, - "norm_label": "test_open_log_dialog_renders_row_fields()" - }, - { - "label": "test_open_log_dialog_no_row_renders_empty_line()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2539", - "id": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line", - "community": 54, - "norm_label": "test_open_log_dialog_no_row_renders_empty_line()" - }, - { - "label": "test_consume_session_progress_early_return_without_progress()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2555", - "id": "ui_test_mount_test_consume_session_progress_early_return_without_progress", - "community": 23, - "norm_label": "test_consume_session_progress_early_return_without_progress()" - }, - { - "label": "test_consume_session_progress_opens_dialog_then_closes_on_done()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2566", - "id": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done", - "community": 23, - "norm_label": "test_consume_session_progress_opens_dialog_then_closes_on_done()" - }, - { - "label": "test_consume_session_progress_swallows_stream_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2601", - "id": "ui_test_mount_test_consume_session_progress_swallows_stream_failure", - "community": 23, - "norm_label": "test_consume_session_progress_swallows_stream_failure()" - }, - { - "label": "test_close_dialog_none_is_noop()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2619", - "id": "ui_test_mount_test_close_dialog_none_is_noop", - "community": 2, - "norm_label": "test_close_dialog_none_is_noop()" - }, - { - "label": "test_close_dialog_calls_close()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2623", - "id": "ui_test_mount_test_close_dialog_calls_close", - "community": 2, - "norm_label": "test_close_dialog_calls_close()" - }, - { - "label": "test_close_dialog_swallows_close_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2629", - "id": "ui_test_mount_test_close_dialog_swallows_close_failure", - "community": 2, - "norm_label": "test_close_dialog_swallows_close_failure()" - }, - { - "label": "test_submit_run_toasts_without_template()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2643", - "id": "ui_test_mount_test_submit_run_toasts_without_template", - "community": 170, - "norm_label": "test_submit_run_toasts_without_template()" - }, - { - "label": "test_render_run_wizard_builds_page()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2654", - "id": "ui_test_mount_test_render_run_wizard_builds_page", - "community": 172, - "norm_label": "test_render_run_wizard_builds_page()" - }, - { - "label": "test_classify_node_skips_non_equipment_hierarchy_keys()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2683", - "id": "ui_test_mount_test_classify_node_skips_non_equipment_hierarchy_keys", - "community": 54, - "norm_label": "test_classify_node_skips_non_equipment_hierarchy_keys()" - }, - { - "label": "test_build_metadata_payload_received_equipment_kind()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2690", - "id": "ui_test_mount_test_build_metadata_payload_received_equipment_kind", - "community": 181, - "norm_label": "test_build_metadata_payload_received_equipment_kind()" - }, - { - "label": "test_build_metadata_payload_unknown_kind_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2703", - "id": "ui_test_mount_test_build_metadata_payload_unknown_kind_returns_empty", - "community": 2, - "norm_label": "test_build_metadata_payload_unknown_kind_returns_empty()" - }, - { - "label": "test_metadata_for_owned_equipment_projects_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2708", - "id": "ui_test_mount_test_metadata_for_owned_equipment_projects_fields", - "community": 54, - "norm_label": "test_metadata_for_owned_equipment_projects_fields()" - }, - { - "label": "test_lims_catalogue_projects_schema_mismatch_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2728", - "id": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty", - "community": 54, - "norm_label": "test_lims_catalogue_projects_schema_mismatch_returns_empty()" - }, - { - "label": "test_drive_folder_feed_tolerates_storage_error()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2742", - "id": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error", - "community": 50, - "norm_label": "test_drive_folder_feed_tolerates_storage_error()" - }, - { - "label": "test_is_setup_ready_swallows_evaluation_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2762", - "id": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure", - "community": 50, - "norm_label": "test_is_setup_ready_swallows_evaluation_failure()" - }, - { - "label": "test_metadata_for_owned_equipment_no_match_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2777", - "id": "ui_test_mount_test_metadata_for_owned_equipment_no_match_returns_empty", - "community": 54, - "norm_label": "test_metadata_for_owned_equipment_no_match_returns_empty()" - }, - { - "label": "test_toggle_keep_local_unresolvable_relative_path_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2783", - "id": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts", - "community": 54, - "norm_label": "test_toggle_keep_local_unresolvable_relative_path_toasts()" - }, - { - "label": "test_open_input_required_dialog_submit_swallows_resume_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2801", - "id": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure", - "community": 23, - "norm_label": "test_open_input_required_dialog_submit_swallows_resume_failure()" - }, - { - "label": "test_template_questions_map_swallows_outer_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2830", - "id": "ui_test_mount_test_template_questions_map_swallows_outer_failure", - "community": 172, - "norm_label": "test_template_questions_map_swallows_outer_failure()" - }, - { - "label": "Tests for ``exlab_wizard.ui.mount`` helpers. The ``@ui.page(...)`` decorators i", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1", - "id": "ui_test_mount_rationale_1", - "community": 2, - "norm_label": "tests for ``exlab_wizard.ui.mount`` helpers. the ``@ui.page(...)`` decorators i" - }, - { - "label": "Build a minimal duck-typed AppDependencies stand-in.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L31", - "id": "ui_test_mount_rationale_31", - "community": 2, - "norm_label": "build a minimal duck-typed appdependencies stand-in." - }, - { - "label": "Chainable no-op stand-in for a NiceGUI element.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L81", - "id": "ui_test_mount_rationale_81", - "community": 0, - "norm_label": "chainable no-op stand-in for a nicegui element." - }, - { - "label": "Duck-typed CreationController for the create-flow helpers.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L100", - "id": "ui_test_mount_rationale_100", - "community": 60, - "norm_label": "duck-typed creationcontroller for the create-flow helpers." - }, - { - "label": "Live-LIMS branch with the keyring password absent -> not ready.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L155", - "id": "ui_test_mount_rationale_155", - "community": 2, - "norm_label": "live-lims branch with the keyring password absent -> not ready." - }, - { - "label": "A nas-mode device whose ``nas.remote`` is unset blocks ready.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L183", - "id": "ui_test_mount_rationale_183", - "community": 2, - "norm_label": "a nas-mode device whose ``nas.remote`` is unset blocks ready." - }, - { - "label": "A configured nas remote absent from rclone.conf blocks ready.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L193", - "id": "ui_test_mount_rationale_193", - "community": 2, - "norm_label": "a configured nas remote absent from rclone.conf blocks ready." - }, - { - "label": "Regression: LIMS satisfied via the offline catalogue (no keyring password) m", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L204", - "id": "ui_test_mount_rationale_204", - "community": 2, - "norm_label": "regression: lims satisfied via the offline catalogue (no keyring password) m" - }, - { - "label": "Redesign \u00a73.1: the orchestrator pipeline is unconditional.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L241", - "id": "ui_test_mount_rationale_241", - "community": 2, - "norm_label": "redesign \u00a73.1: the orchestrator pipeline is unconditional." - }, - { - "label": "Real Config with one nas-mode equipment. ``offline_catalogue`` swaps the li", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L319", - "id": "ui_test_mount_rationale_319", - "community": 2, - "norm_label": "real config with one nas-mode equipment. ``offline_catalogue`` swaps the li" - }, - { - "label": "Minimal stand-in for the NiceGUI ``ui`` object's navigate surface.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L438", - "id": "ui_test_mount_rationale_438", - "community": 60, - "norm_label": "minimal stand-in for the nicegui ``ui`` object's navigate surface." - }, - { - "label": "A successful save persists, then hot-reloads the live components. The old b", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L446", - "id": "ui_test_mount_rationale_446", - "community": 324, - "norm_label": "a successful save persists, then hot-reloads the live components. the old b" - }, - { - "label": "Opt-in: a saved non-empty staging_root is created on save.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L523", - "id": "ui_test_mount_rationale_523", - "community": 60, - "norm_label": "opt-in: a saved non-empty staging_root is created on save." - }, - { - "label": "Blank staging_root creates nothing -- the device is not a staging PC.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L538", - "id": "ui_test_mount_rationale_538", - "community": 60, - "norm_label": "blank staging_root creates nothing -- the device is not a staging pc." - }, - { - "label": "An ensure_dir failure warns but keeps the persisted config.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L552", - "id": "ui_test_mount_rationale_552", - "community": 60, - "norm_label": "an ensure_dir failure warns but keeps the persisted config." - }, - { - "label": "If the coordinator raises wholesale, the live config is still kept.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L579", - "id": "ui_test_mount_rationale_579", - "community": 386, - "norm_label": "if the coordinator raises wholesale, the live config is still kept." - }, - { - "label": "Keyring-store stand-in that records the calls the handlers make.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L632", - "id": "ui_test_mount_rationale_632", - "community": 0, - "norm_label": "keyring-store stand-in that records the calls the handlers make." - }, - { - "label": "A best-effort keyring build can fail; the handlers must not crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L671", - "id": "ui_test_mount_rationale_671", - "community": 2, - "norm_label": "a best-effort keyring build can fail; the handlers must not crash." - }, - { - "label": "A raising keyring backend surfaces a toast, not an unhandled crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L680", - "id": "ui_test_mount_rationale_680", - "community": 385, - "norm_label": "a raising keyring backend surfaces a toast, not an unhandled crash." - }, - { - "label": "Async ``list_projects`` stub for the live-LIMS picker path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L856", - "id": "ui_test_mount_rationale_856", - "community": 0, - "norm_label": "async ``list_projects`` stub for the live-lims picker path." - }, - { - "label": "Both empty -> empty string. One present -> single param.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1102", - "id": "ui_test_mount_rationale_1102", - "community": 387, - "norm_label": "both empty -> empty string. one present -> single param." - }, - { - "label": "Project names with spaces / special chars survive the round trip.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1110", - "id": "ui_test_mount_rationale_1110", - "community": 80, - "norm_label": "project names with spaces / special chars survive the round trip." - }, - { - "label": "Phase 4 adds optional file / q / density params to the same URL model.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1122", - "id": "ui_test_mount_rationale_1122", - "community": 504, - "norm_label": "phase 4 adds optional file / q / density params to the same url model." - }, - { - "label": "The Phase 4 params default empty and drop out of the URL entirely.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1131", - "id": "ui_test_mount_rationale_1131", - "community": 429, - "norm_label": "the phase 4 params default empty and drop out of the url entirely." - }, - { - "label": "``file`` keeps '/' readable but encodes spaces; ``q`` encodes everything.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1136", - "id": "ui_test_mount_rationale_1136", - "community": 430, - "norm_label": "``file`` keeps '/' readable but encodes spaces; ``q`` encodes everything." - }, - { - "label": "Equipment / project / run / received_equipment all classify correctly.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1150", - "id": "ui_test_mount_rationale_1150", - "community": 80, - "norm_label": "equipment / project / run / received_equipment all classify correctly." - }, - { - "label": "A node id whose root is not in the hierarchy returns ``(None, False)``. Gua", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1171", - "id": "ui_test_mount_rationale_1171", - "community": 350, - "norm_label": "a node id whose root is not in the hierarchy returns ``(none, false)``. gua" - }, - { - "label": "An equipment node payload pulls fields from config.equipment[id].", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1193", - "id": "ui_test_mount_rationale_1193", - "community": 80, - "norm_label": "an equipment node payload pulls fields from config.equipment[id]." - }, - { - "label": "Asking for a node that isn't in config.equipment returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1211", - "id": "ui_test_mount_rationale_1211", - "community": 80, - "norm_label": "asking for a node that isn't in config.equipment returns ``{}``." - }, - { - "label": "The project payload counts Run_* and TestRun_* directories.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1218", - "id": "ui_test_mount_rationale_1218", - "community": 80, - "norm_label": "the project payload counts run_* and testrun_* directories." - }, - { - "label": "The run payload decodes creation.json into the metadata fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1237", - "id": "ui_test_mount_rationale_1237", - "community": 80, - "norm_label": "the run payload decodes creation.json into the metadata fields." - }, - { - "label": "A run dir without a creation.json yields {path, name}, not crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1282", - "id": "ui_test_mount_rationale_1282", - "community": 33, - "norm_label": "a run dir without a creation.json yields {path, name}, not crash." - }, - { - "label": "The selected-node fields end up on MainPageState for the renderer.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1291", - "id": "ui_test_mount_rationale_1291", - "community": 131, - "norm_label": "the selected-node fields end up on mainpagestate for the renderer." - }, - { - "label": "Phase 4 selection / search / density fields reach MainPageState.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1307", - "id": "ui_test_mount_rationale_1307", - "community": 131, - "norm_label": "phase 4 selection / search / density fields reach mainpagestate." - }, - { - "label": "A clicked path is resolved from the in-memory feed into a file payload.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1328", - "id": "ui_test_mount_rationale_1328", - "community": 2, - "norm_label": "a clicked path is resolved from the in-memory feed into a file payload." - }, - { - "label": "Empty path or a path matching no current entry resolves to None.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1354", - "id": "ui_test_mount_rationale_1354", - "community": 125, - "norm_label": "empty path or a path matching no current entry resolves to none." - }, - { - "label": "A tombstone (\"On NAS\") file has no on-disk copy, so size is None.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1363", - "id": "ui_test_mount_rationale_1363", - "community": 14, - "norm_label": "a tombstone (\"on nas\") file has no on-disk copy, so size is none." - }, - { - "label": "A directory match delegates to the one-level folder aggregate scan.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1384", - "id": "ui_test_mount_rationale_1384", - "community": 33, - "norm_label": "a directory match delegates to the one-level folder aggregate scan." - }, - { - "label": "A scan failure yields item_count=None + neutral rollup, no raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1411", - "id": "ui_test_mount_rationale_1411", - "community": 107, - "norm_label": "a scan failure yields item_count=none + neutral rollup, no raise." - }, - { - "label": "A force-refresh writes the fresh scan onto the per-tab feed payload and reco", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1439", - "id": "ui_test_mount_rationale_1439", - "community": 107, - "norm_label": "a force-refresh writes the fresh scan onto the per-tab feed payload and reco" - }, - { - "label": "Nothing selected -> no scan, no write, no raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1457", - "id": "ui_test_mount_rationale_1457", - "community": 14, - "norm_label": "nothing selected -> no scan, no write, no raise." - }, - { - "label": "A failed scan keeps the existing payload and warns.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1465", - "id": "ui_test_mount_rationale_1465", - "community": 50, - "norm_label": "a failed scan keeps the existing payload and warns." - }, - { - "label": "An unknown sys.platform falls through to False so the toast can warn.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1484", - "id": "ui_test_mount_rationale_1484", - "community": 107, - "norm_label": "an unknown sys.platform falls through to false so the toast can warn." - }, - { - "label": "Linux dispatches to xdg-open via subprocess.Popen.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1490", - "id": "ui_test_mount_rationale_1490", - "community": 131, - "norm_label": "linux dispatches to xdg-open via subprocess.popen." - }, - { - "label": "macOS dispatches to the ``open`` command.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1504", - "id": "ui_test_mount_rationale_1504", - "community": 50, - "norm_label": "macos dispatches to the ``open`` command." - }, - { - "label": "A subprocess failure is caught and surfaces False so the caller can toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1513", - "id": "ui_test_mount_rationale_1513", - "community": 125, - "norm_label": "a subprocess failure is caught and surfaces false so the caller can toast." - }, - { - "label": "Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1537", - "id": "ui_test_mount_rationale_1537", - "community": 14, - "norm_label": "minimal nicegui surface stand-in: clipboard + navigate.to + notify." - }, - { - "label": "``open_in_os`` action calls the platform opener and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1562", - "id": "ui_test_mount_rationale_1562", - "community": 107, - "norm_label": "``open_in_os`` action calls the platform opener and reports success." - }, - { - "label": "When the opener returns False the action surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1574", - "id": "ui_test_mount_rationale_1574", - "community": 131, - "norm_label": "when the opener returns false the action surfaces a negative toast." - }, - { - "label": "``copy_path`` writes the entry path to the NiceGUI clipboard.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1583", - "id": "ui_test_mount_rationale_1583", - "community": 33, - "norm_label": "``copy_path`` writes the entry path to the nicegui clipboard." - }, - { - "label": "An unknown action verb is logged + toasted without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1591", - "id": "ui_test_mount_rationale_1591", - "community": 125, - "norm_label": "an unknown action verb is logged + toasted without raising." - }, - { - "label": "An entry with no path triggers the early-return toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1598", - "id": "ui_test_mount_rationale_1598", - "community": 107, - "norm_label": "an entry with no path triggers the early-return toast." - }, - { - "label": "Force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1618", - "id": "ui_test_mount_rationale_1618", - "community": 86, - "norm_label": "force-sync routes to ``deps.nas_sync.enqueue`` with the run path." - }, - { - "label": "Force-sync without a wired NAS sync surfaces a negative toast (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1631", - "id": "ui_test_mount_rationale_1631", - "community": 33, - "norm_label": "force-sync without a wired nas sync surfaces a negative toast (no raise)." - }, - { - "label": "The early-exit when config is missing keeps the action a no-op.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1638", - "id": "ui_test_mount_rationale_1638", - "community": 107, - "norm_label": "the early-exit when config is missing keeps the action a no-op." - }, - { - "label": "``view_log`` dispatches to the dialog opener helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1647", - "id": "ui_test_mount_rationale_1647", - "community": 33, - "norm_label": "``view_log`` dispatches to the dialog opener helper." - }, - { - "label": "An unknown action verb is reported but doesn't raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1657", - "id": "ui_test_mount_rationale_1657", - "community": 33, - "norm_label": "an unknown action verb is reported but doesn't raise." - }, - { - "label": "``clear_verified`` deletes the run directory via the local helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1666", - "id": "ui_test_mount_rationale_1666", - "community": 14, - "norm_label": "``clear_verified`` deletes the run directory via the local helper." - }, - { - "label": "Lightweight ``app`` stand-in carrying ``storage.tab``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1699", - "id": "ui_test_mount_rationale_1699", - "community": 0, - "norm_label": "lightweight ``app`` stand-in carrying ``storage.tab``." - }, - { - "label": "Without a selected node the feed isn't started and returns ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1710", - "id": "ui_test_mount_rationale_1710", - "community": 33, - "norm_label": "without a selected node the feed isn't started and returns ``[]``." - }, - { - "label": "The first call mounts a FolderFeed + RefreshCoordinator on tab storage.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1720", - "id": "ui_test_mount_rationale_1720", - "community": 50, - "norm_label": "the first call mounts a folderfeed + refreshcoordinator on tab storage." - }, - { - "label": "When the feed's last_payload is set, entries are projected into FileListEntr", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1733", - "id": "ui_test_mount_rationale_1733", - "community": 107, - "norm_label": "when the feed's last_payload is set, entries are projected into filelistentr" - }, - { - "label": "The fetch is a no-op when RefreshCoordinator just walked the tree.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1775", - "id": "ui_test_mount_rationale_1775", - "community": 157, - "norm_label": "the fetch is a no-op when refreshcoordinator just walked the tree." - }, - { - "label": "A successful scan records the refresh on the coordinator.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1792", - "id": "ui_test_mount_rationale_1792", - "community": 106, - "norm_label": "a successful scan records the refresh on the coordinator." - }, - { - "label": "A scan failure returns ``None`` so the feed keeps polling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1811", - "id": "ui_test_mount_rationale_1811", - "community": 173, - "norm_label": "a scan failure returns ``none`` so the feed keeps polling." - }, - { - "label": "A run with no sync-queue job still renders a dialog without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1827", - "id": "ui_test_mount_rationale_1827", - "community": 173, - "norm_label": "a run with no sync-queue job still renders a dialog without raising." - }, - { - "label": "A run with a sync-queue job renders its state without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1836", - "id": "ui_test_mount_rationale_1836", - "community": 158, - "norm_label": "a run with a sync-queue job renders its state without raising." - }, - { - "label": "Any exception raised by a per-kind builder is logged + swallowed.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1864", - "id": "ui_test_mount_rationale_1864", - "community": 69, - "norm_label": "any exception raised by a per-kind builder is logged + swallowed." - }, - { - "label": "The relay payload pulls id+label from build_received_equipment_nodes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1877", - "id": "ui_test_mount_rationale_1877", - "community": 158, - "norm_label": "the relay payload pulls id+label from build_received_equipment_nodes." - }, - { - "label": "An unknown relay id still produces a payload (best-effort label).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1893", - "id": "ui_test_mount_rationale_1893", - "community": 158, - "norm_label": "an unknown relay id still produces a payload (best-effort label)." - }, - { - "label": "A node id without an equipment/project split returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1900", - "id": "ui_test_mount_rationale_1900", - "community": 86, - "norm_label": "a node id without an equipment/project split returns ``{}``." - }, - { - "label": "A missing parent dir returns 0 (no FS pre-check needed).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1906", - "id": "ui_test_mount_rationale_1906", - "community": 86, - "norm_label": "a missing parent dir returns 0 (no fs pre-check needed)." - }, - { - "label": "Only directory children whose names start with the prefix are counted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1911", - "id": "ui_test_mount_rationale_1911", - "community": 69, - "norm_label": "only directory children whose names start with the prefix are counted." - }, - { - "label": "A corrupt creation.json yields {path, name}, never crashes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1920", - "id": "ui_test_mount_rationale_1920", - "community": 157, - "norm_label": "a corrupt creation.json yields {path, name}, never crashes." - }, - { - "label": "When nas_sync.enqueue raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1933", - "id": "ui_test_mount_rationale_1933", - "community": 69, - "norm_label": "when nas_sync.enqueue raises, the background task swallows + toasts." - }, - { - "label": "When the clear helper raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1949", - "id": "ui_test_mount_rationale_1949", - "community": 106, - "norm_label": "when the clear helper raises, the background task swallows + toasts." - }, - { - "label": "The 0-file path reports ``already cleared`` rather than ``cleared N``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1965", - "id": "ui_test_mount_rationale_1965", - "community": 106, - "norm_label": "the 0-file path reports ``already cleared`` rather than ``cleared n``." - }, - { - "label": "A clipboard write failure is caught and reported as a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1978", - "id": "ui_test_mount_rationale_1978", - "community": 173, - "norm_label": "a clipboard write failure is caught and reported as a negative toast." - }, - { - "label": "A fake ``ui`` whose factories build recording stand-ins. Unlike ``_UiSpy``", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2015", - "id": "ui_test_mount_rationale_2015", - "community": 69, - "norm_label": "a fake ``ui`` whose factories build recording stand-ins. unlike ``_uispy``" - }, - { - "label": "No probe wired -> a failure result rather than a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2059", - "id": "ui_test_mount_rationale_2059", - "community": 69, - "norm_label": "no probe wired -> a failure result rather than a crash." - }, - { - "label": "A reachable probe maps ok/latency into a Connected result.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2071", - "id": "ui_test_mount_rationale_2071", - "community": 157, - "norm_label": "a reachable probe maps ok/latency into a connected result." - }, - { - "label": "An async probe is awaited before its dict is mapped.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2098", - "id": "ui_test_mount_rationale_2098", - "community": 180, - "norm_label": "an async probe is awaited before its dict is mapped." - }, - { - "label": "A half-wired install names its first-failing gate as the next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2128", - "id": "ui_test_mount_rationale_2128", - "community": 69, - "norm_label": "a half-wired install names its first-failing gate as the next action." - }, - { - "label": "A fully-satisfied install has no outstanding next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2135", - "id": "ui_test_mount_rationale_2135", - "community": 325, - "norm_label": "a fully-satisfied install has no outstanding next action." - }, - { - "label": "No sync-state writer wired -> negative toast, no task spawned.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2159", - "id": "ui_test_mount_rationale_2159", - "community": 106, - "norm_label": "no sync-state writer wired -> negative toast, no task spawned." - }, - { - "label": "A path with no enclosing run root surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2168", - "id": "ui_test_mount_rationale_2168", - "community": 14, - "norm_label": "a path with no enclosing run root surfaces a negative toast." - }, - { - "label": "A resolvable file flips keep_local via the writer and fires on_done.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2179", - "id": "ui_test_mount_rationale_2179", - "community": 23, - "norm_label": "a resolvable file flips keep_local via the writer and fires on_done." - }, - { - "label": "The ``keep_local`` action routes to ``_toggle_keep_local``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2234", - "id": "ui_test_mount_rationale_2234", - "community": 14, - "norm_label": "the ``keep_local`` action routes to ``_toggle_keep_local``." - }, - { - "label": "On win32 the helper calls ``os.startfile`` and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2251", - "id": "ui_test_mount_rationale_2251", - "community": 170, - "norm_label": "on win32 the helper calls ``os.startfile`` and reports success." - }, - { - "label": "No controller -> a negative toast and no dialog open.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2285", - "id": "ui_test_mount_rationale_2285", - "community": 180, - "norm_label": "no controller -> a negative toast and no dialog open." - }, - { - "label": "A wired controller builds the modal and opens it (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2291", - "id": "ui_test_mount_rationale_2291", - "community": 180, - "norm_label": "a wired controller builds the modal and opens it (no raise)." - }, - { - "label": "The details dialog renders the session state plus pending/error lines.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2312", - "id": "ui_test_mount_rationale_2312", - "community": 300, - "norm_label": "the details dialog renders the session state plus pending/error lines." - }, - { - "label": "A session not awaiting input cannot be resumed -> negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2336", - "id": "ui_test_mount_rationale_2336", - "community": 14, - "norm_label": "a session not awaiting input cannot be resumed -> negative toast." - }, - { - "label": "A suspended session re-opens its escalation dialog with parked fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2345", - "id": "ui_test_mount_rationale_2345", - "community": 171, - "norm_label": "a suspended session re-opens its escalation dialog with parked fields." - }, - { - "label": "The dialog's Submit handler calls ``controller.resume`` in the background.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2374", - "id": "ui_test_mount_rationale_2374", - "community": 23, - "norm_label": "the dialog's submit handler calls ``controller.resume`` in the background." - }, - { - "label": "The dialog's Cancel handler routes through ``_cancel_session``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2406", - "id": "ui_test_mount_rationale_2406", - "community": 23, - "norm_label": "the dialog's cancel handler routes through ``_cancel_session``." - }, - { - "label": "The \u00a79.4 dialog's Discard button cancels with discard_files=True.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2446", - "id": "ui_test_mount_rationale_2446", - "community": 170, - "norm_label": "the \u00a79.4 dialog's discard button cancels with discard_files=true." - }, - { - "label": "The Keep-files button cancels with discard_files=False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2465", - "id": "ui_test_mount_rationale_2465", - "community": 171, - "norm_label": "the keep-files button cancels with discard_files=false." - }, - { - "label": "A cancel failure is caught and toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2482", - "id": "ui_test_mount_rationale_2482", - "community": 172, - "norm_label": "a cancel failure is caught and toasted, not raised." - }, - { - "label": "The Back button closes the dialog without cancelling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2498", - "id": "ui_test_mount_rationale_2498", - "community": 181, - "norm_label": "the back button closes the dialog without cancelling." - }, - { - "label": "With a job row, the dialog renders each populated field line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2512", - "id": "ui_test_mount_rationale_2512", - "community": 171, - "norm_label": "with a job row, the dialog renders each populated field line." - }, - { - "label": "Without a job row the dialog shows the 'no sync job' line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2540", - "id": "ui_test_mount_rationale_2540", - "community": 54, - "norm_label": "without a job row the dialog shows the 'no sync job' line." - }, - { - "label": "No progress view on the wizard state -> the consumer returns at once.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2556", - "id": "ui_test_mount_rationale_2556", - "community": 23, - "norm_label": "no progress view on the wizard state -> the consumer returns at once." - }, - { - "label": "An input_required frame opens the dialog; a done frame closes it.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2567", - "id": "ui_test_mount_rationale_2567", - "community": 23, - "norm_label": "an input_required frame opens the dialog; a done frame closes it." - }, - { - "label": "A subscribe error is logged, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2604", - "id": "ui_test_mount_rationale_2604", - "community": 23, - "norm_label": "a subscribe error is logged, not raised." - }, - { - "label": "Submitting a run with no template selected surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2644", - "id": "ui_test_mount_rationale_2644", - "community": 170, - "norm_label": "submitting a run with no template selected surfaces a negative toast." - }, - { - "label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2655", - "id": "ui_test_mount_rationale_2655", - "community": 172, - "norm_label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page." - }, - { - "label": "Non-EquipmentNode keys in the hierarchy are ignored; unknown root -> treated", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2684", - "id": "ui_test_mount_rationale_2684", - "community": 54, - "norm_label": "non-equipmentnode keys in the hierarchy are ignored; unknown root -> treated" - }, - { - "label": "The received_equipment kind routes to the relay-equipment builder.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2693", - "id": "ui_test_mount_rationale_2693", - "community": 181, - "norm_label": "the received_equipment kind routes to the relay-equipment builder." - }, - { - "label": "A matching equipment id projects its config fields into the payload.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2709", - "id": "ui_test_mount_rationale_2709", - "community": 54, - "norm_label": "a matching equipment id projects its config fields into the payload." - }, - { - "label": "A schema_version mismatch (read_catalogue -> None) yields ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2731", - "id": "ui_test_mount_rationale_2731", - "community": 54, - "norm_label": "a schema_version mismatch (read_catalogue -> none) yields ``[]``." - }, - { - "label": "A raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2743", - "id": "ui_test_mount_rationale_2743", - "community": 50, - "norm_label": "a raising ``app.storage.tab`` degrades to an in-memory feed (no tab)." - }, - { - "label": "A raising evaluator degrades to 'not ready' (banner stays up).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2765", - "id": "ui_test_mount_rationale_2765", - "community": 50, - "norm_label": "a raising evaluator degrades to 'not ready' (banner stays up)." - }, - { - "label": "An equipment id absent from config yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2778", - "id": "ui_test_mount_rationale_2778", - "community": 54, - "norm_label": "an equipment id absent from config yields ``{}``." - }, - { - "label": "A run root that can't yield a relative path surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2786", - "id": "ui_test_mount_rationale_2786", - "community": 54, - "norm_label": "a run root that can't yield a relative path surfaces a negative toast." - }, - { - "label": "A failing ``controller.resume`` is caught + toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2804", - "id": "ui_test_mount_rationale_2804", - "community": 23, - "norm_label": "a failing ``controller.resume`` is caught + toasted, not raised." - }, - { - "label": "An import/engine failure in the outer try yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2833", - "id": "ui_test_mount_rationale_2833", - "community": 172, - "norm_label": "an import/engine failure in the outer try yields ``{}``." - }, - { - "label": "# NOTE: _build_staging_state was removed when the /staging route was hidden", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L425", - "id": "ui_test_mount_rationale_425", - "community": 2, - "norm_label": "# note: _build_staging_state was removed when the /staging route was hidden" - }, - { - "label": "# NOTE: _render_unavailable was removed with the /staging route (its only", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L596", - "id": "ui_test_mount_rationale_596", - "community": 2, - "norm_label": "# note: _render_unavailable was removed with the /staging route (its only" - }, - { - "label": "# NOTE: _bulk_clear_verified was removed with the footer \"Clear verified runs\"", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1683", - "id": "ui_test_mount_rationale_1683", - "community": 2, - "norm_label": "# note: _bulk_clear_verified was removed with the footer \"clear verified runs\"" - }, - { - "label": "test_settings_page.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L1", - "id": "tests_unit_ui_test_settings_page_py", - "community": 178, - "norm_label": "test_settings_page.py" - }, - { - "label": "test_build_draft_from_none_yields_defaults()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L29", - "id": "ui_test_settings_page_test_build_draft_from_none_yields_defaults", - "community": 178, - "norm_label": "test_build_draft_from_none_yields_defaults()" - }, - { - "label": "test_build_draft_copies_existing_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L38", - "id": "ui_test_settings_page_test_build_draft_copies_existing_config", - "community": 178, - "norm_label": "test_build_draft_copies_existing_config()" - }, - { - "label": "test_draft_edits_do_not_leak_into_source()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L51", - "id": "ui_test_settings_page_test_draft_edits_do_not_leak_into_source", - "community": 178, - "norm_label": "test_draft_edits_do_not_leak_into_source()" - }, - { - "label": "test_finalize_coerces_widget_floats_back_to_int()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L62", - "id": "ui_test_settings_page_test_finalize_coerces_widget_floats_back_to_int", - "community": 178, - "norm_label": "test_finalize_coerces_widget_floats_back_to_int()" - }, - { - "label": "test_finalize_round_trips_edited_scalar_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L75", - "id": "ui_test_settings_page_test_finalize_round_trips_edited_scalar_fields", - "community": 178, - "norm_label": "test_finalize_round_trips_edited_scalar_fields()" - }, - { - "label": "test_finalize_allows_blank_staging_root()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L92", - "id": "ui_test_settings_page_test_finalize_allows_blank_staging_root", - "community": 178, - "norm_label": "test_finalize_allows_blank_staging_root()" - }, - { - "label": "test_orchestrator_section_is_titled_workstation()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L106", - "id": "ui_test_settings_page_test_orchestrator_section_is_titled_workstation", - "community": 178, - "norm_label": "test_orchestrator_section_is_titled_workstation()" - }, - { - "label": "test_finalize_raises_on_invalid_edit()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L117", - "id": "ui_test_settings_page_test_finalize_raises_on_invalid_edit", - "community": 178, - "norm_label": "test_finalize_raises_on_invalid_edit()" - }, - { - "label": "test_lims_credential_initial_state_not_set_when_keyring_empty()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L126", - "id": "ui_test_settings_page_test_lims_credential_initial_state_not_set_when_keyring_empty", - "community": 310, - "norm_label": "test_lims_credential_initial_state_not_set_when_keyring_empty()" - }, - { - "label": "test_lims_credential_initial_state_set_when_keyring_has_password()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L131", - "id": "ui_test_settings_page_test_lims_credential_initial_state_set_when_keyring_has_password", - "community": 310, - "norm_label": "test_lims_credential_initial_state_set_when_keyring_has_password()" - }, - { - "label": "Tests for the settings-page config binding helpers. ``render_settings_page`` it", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L1", - "id": "ui_test_settings_page_rationale_1", - "community": 178, - "norm_label": "tests for the settings-page config binding helpers. ``render_settings_page`` it" - }, - { - "label": "staging_root is opt-in: a blank value finalizes cleanly (the field is option", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L93", - "id": "ui_test_settings_page_rationale_93", - "community": 178, - "norm_label": "staging_root is opt-in: a blank value finalizes cleanly (the field is option" - }, - { - "label": "Orchestrator/staging is hidden at the UI layer (see docs/superpowers/specs/2", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L107", - "id": "ui_test_settings_page_rationale_107", - "community": 178, - "norm_label": "orchestrator/staging is hidden at the ui layer (see docs/superpowers/specs/2" - }, - { - "label": "A password already in the OS keyring opens the row in *Set*.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L132", - "id": "ui_test_settings_page_rationale_132", - "community": 310, - "norm_label": "a password already in the os keyring opens the row in *set*." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/ui/__init__.py", - "source_location": "L1", - "id": "tests_unit_ui_init_py", - "community": 456, - "norm_label": "__init__.py" - }, - { - "label": "UI package re-exports (Backend Spec \u00a74.3, Frontend Spec \u00a72). Public surface: *", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/__init__.py", - "source_location": "L1", - "id": "ui_init_rationale_1", - "community": 456, - "norm_label": "ui package re-exports (backend spec \u00a74.3, frontend spec \u00a72). public surface: *" - }, - { - "label": "test_wizard_equipment.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L1", - "id": "tests_unit_ui_test_wizard_equipment_py", - "community": 242, - "norm_label": "test_wizard_equipment.py" - }, - { - "label": "test_wizard_has_three_steps_with_sync_mode_hidden()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L17", - "id": "ui_test_wizard_equipment_test_wizard_has_three_steps_with_sync_mode_hidden", - "community": 242, - "norm_label": "test_wizard_has_three_steps_with_sync_mode_hidden()" - }, - { - "label": "test_assembled_equipment_defaults_to_nas_sync_mode()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L28", - "id": "ui_test_wizard_equipment_test_assembled_equipment_defaults_to_nas_sync_mode", - "community": 260, - "norm_label": "test_assembled_equipment_defaults_to_nas_sync_mode()" - }, - { - "label": "_state_filled_for()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L41", - "id": "ui_test_wizard_equipment_state_filled_for", - "community": 242, - "norm_label": "_state_filled_for()" - }, - { - "label": "test_can_advance_identity_requires_id_and_label()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L51", - "id": "ui_test_wizard_equipment_test_can_advance_identity_requires_id_and_label", - "community": 260, - "norm_label": "test_can_advance_identity_requires_id_and_label()" - }, - { - "label": "test_can_advance_identity_rejects_invalid_id()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L60", - "id": "ui_test_wizard_equipment_test_can_advance_identity_rejects_invalid_id", - "community": 260, - "norm_label": "test_can_advance_identity_rejects_invalid_id()" - }, - { - "label": "test_can_advance_paths_requires_both_roots()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L67", - "id": "ui_test_wizard_equipment_test_can_advance_paths_requires_both_roots", - "community": 242, - "norm_label": "test_can_advance_paths_requires_both_roots()" - }, - { - "label": "test_can_advance_sync_mode_nas_needs_no_transport_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L74", - "id": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_needs_no_transport_fields", - "community": 242, - "norm_label": "test_can_advance_sync_mode_nas_needs_no_transport_fields()" - }, - { - "label": "test_can_advance_sync_mode_stage_needs_no_per_equipment_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L81", - "id": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_needs_no_per_equipment_fields", - "community": 242, - "norm_label": "test_can_advance_sync_mode_stage_needs_no_per_equipment_fields()" - }, - { - "label": "test_assemble_round_trips_to_valid_equipment_config_nas()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L90", - "id": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_nas", - "community": 242, - "norm_label": "test_assemble_round_trips_to_valid_equipment_config_nas()" - }, - { - "label": "test_assemble_round_trips_to_valid_equipment_config_stage()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L99", - "id": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_stage", - "community": 242, - "norm_label": "test_assemble_round_trips_to_valid_equipment_config_stage()" - }, - { - "label": "test_assemble_rejects_invalid_input()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L110", - "id": "ui_test_wizard_equipment_test_assemble_rejects_invalid_input", - "community": 242, - "norm_label": "test_assemble_rejects_invalid_input()" - }, - { - "label": "Unit tests for the Add-Equipment wizard. Redesign \u00a76.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L1", - "id": "ui_test_wizard_equipment_rationale_1", - "community": 242, - "norm_label": "unit tests for the add-equipment wizard. redesign \u00a76." - }, - { - "label": "The sync-mode step is hidden (orchestrator/staging hidden \u2014 see docs/superpo", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L18", - "id": "ui_test_wizard_equipment_rationale_18", - "community": 242, - "norm_label": "the sync-mode step is hidden (orchestrator/staging hidden \u2014 see docs/superpo" - }, - { - "label": "With the sync-mode step hidden, every wizard-built equipment is nas-mode.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L29", - "id": "ui_test_wizard_equipment_rationale_29", - "community": 260, - "norm_label": "with the sync-mode step hidden, every wizard-built equipment is nas-mode." - }, - { - "label": "test_staging_page.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L1", - "id": "tests_unit_ui_test_staging_page_py", - "community": 41, - "norm_label": "test_staging_page.py" - }, - { - "label": "test_staging_dock_height_is_120_px()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L40", - "id": "ui_test_staging_page_test_staging_dock_height_is_120_px", - "community": 41, - "norm_label": "test_staging_dock_height_is_120_px()" - }, - { - "label": "test_staging_table_columns_match_brief_order()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L44", - "id": "ui_test_staging_page_test_staging_table_columns_match_brief_order", - "community": 41, - "norm_label": "test_staging_table_columns_match_brief_order()" - }, - { - "label": "test_format_bytes_handles_negative_values()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L61", - "id": "ui_test_staging_page_test_format_bytes_handles_negative_values", - "community": 41, - "norm_label": "test_format_bytes_handles_negative_values()" - }, - { - "label": "test_format_bytes_renders_sub_kib_in_bytes()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L65", - "id": "ui_test_staging_page_test_format_bytes_renders_sub_kib_in_bytes", - "community": 41, - "norm_label": "test_format_bytes_renders_sub_kib_in_bytes()" - }, - { - "label": "test_format_bytes_renders_kib_with_one_decimal()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L70", - "id": "ui_test_staging_page_test_format_bytes_renders_kib_with_one_decimal", - "community": 41, - "norm_label": "test_format_bytes_renders_kib_with_one_decimal()" - }, - { - "label": "test_format_bytes_renders_mib_and_gib()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L75", - "id": "ui_test_staging_page_test_format_bytes_renders_mib_and_gib", - "community": 41, - "norm_label": "test_format_bytes_renders_mib_and_gib()" - }, - { - "label": "test_format_elapsed_seconds_only()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L85", - "id": "ui_test_staging_page_test_format_elapsed_seconds_only", - "community": 41, - "norm_label": "test_format_elapsed_seconds_only()" - }, - { - "label": "test_format_elapsed_minutes_and_seconds()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L90", - "id": "ui_test_staging_page_test_format_elapsed_minutes_and_seconds", - "community": 41, - "norm_label": "test_format_elapsed_minutes_and_seconds()" - }, - { - "label": "test_format_elapsed_hours_and_minutes()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L94", - "id": "ui_test_staging_page_test_format_elapsed_hours_and_minutes", - "community": 41, - "norm_label": "test_format_elapsed_hours_and_minutes()" - }, - { - "label": "test_format_elapsed_days_and_hours()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L98", - "id": "ui_test_staging_page_test_format_elapsed_days_and_hours", - "community": 41, - "norm_label": "test_format_elapsed_days_and_hours()" - }, - { - "label": "test_format_elapsed_handles_negative()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L102", - "id": "ui_test_staging_page_test_format_elapsed_handles_negative", - "community": 41, - "norm_label": "test_format_elapsed_handles_negative()" - }, - { - "label": "test_state_pill_props_returns_label_and_color_for_each_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L111", - "id": "ui_test_staging_page_test_state_pill_props_returns_label_and_color_for_each_state", - "community": 41, - "norm_label": "test_state_pill_props_returns_label_and_color_for_each_state()" - }, - { - "label": "test_state_pill_props_falls_back_for_unknown_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L123", - "id": "ui_test_staging_page_test_state_pill_props_falls_back_for_unknown_state", - "community": 41, - "norm_label": "test_state_pill_props_falls_back_for_unknown_state()" - }, - { - "label": "_make_row()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L134", - "id": "ui_test_staging_page_make_row", - "community": 41, - "norm_label": "_make_row()" - }, - { - "label": "test_row_props_emits_run_label_as_leaf()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L155", - "id": "ui_test_staging_page_test_row_props_emits_run_label_as_leaf", - "community": 41, - "norm_label": "test_row_props_emits_run_label_as_leaf()" - }, - { - "label": "test_row_props_marks_synced_rollup_as_clearable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L160", - "id": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable", - "community": 41, - "norm_label": "test_row_props_marks_synced_rollup_as_clearable()" - }, - { - "label": "test_row_props_does_not_mark_other_rollups_as_clearable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L166", - "id": "ui_test_staging_page_test_row_props_does_not_mark_other_rollups_as_clearable", - "community": 41, - "norm_label": "test_row_props_does_not_mark_other_rollups_as_clearable()" - }, - { - "label": "test_row_props_formats_bytes_and_elapsed()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L174", - "id": "ui_test_staging_page_test_row_props_formats_bytes_and_elapsed", - "community": 41, - "norm_label": "test_row_props_formats_bytes_and_elapsed()" - }, - { - "label": "test_render_staging_dock_returns_dict_when_nicegui_unavailable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L185", - "id": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", - "community": 41, - "norm_label": "test_render_staging_dock_returns_dict_when_nicegui_unavailable()" - }, - { - "label": "test_staging_dock_state_defaults()", - "file_type": "code", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L202", - "id": "ui_test_staging_page_test_staging_dock_state_defaults", - "community": 41, - "norm_label": "test_staging_dock_state_defaults()" - }, - { - "label": "Unit tests for the staging UI page. The page renders NiceGUI elements when the", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L1", - "id": "ui_test_staging_page_rationale_1", - "community": 41, - "norm_label": "unit tests for the staging ui page. the page renders nicegui elements when the" - }, - { - "label": "Only a fully-``synced`` run rollup is clearable.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L161", - "id": "ui_test_staging_page_rationale_161", - "community": 41, - "norm_label": "only a fully-``synced`` run rollup is clearable." - }, - { - "label": "When NiceGUI isn't importable the renderer returns a debug dict. This is th", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L186", - "id": "ui_test_staging_page_rationale_186", - "community": 41, - "norm_label": "when nicegui isn't importable the renderer returns a debug dict. this is th" - }, - { - "label": "An empty dock state initializes without errors.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L203", - "id": "ui_test_staging_page_rationale_203", - "community": 41, - "norm_label": "an empty dock state initializes without errors." - }, - { - "label": "test_notifications.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L1", - "id": "tests_unit_ui_test_notifications_py", - "community": 102, - "norm_label": "test_notifications.py" - }, - { - "label": "_reset_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L25", - "id": "ui_test_notifications_reset_state", - "community": 102, - "norm_label": "_reset_state()" - }, - { - "label": "test_notify_success_uses_positive_type()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L33", - "id": "ui_test_notifications_test_notify_success_uses_positive_type", - "community": 102, - "norm_label": "test_notify_success_uses_positive_type()" - }, - { - "label": "test_notify_info_default_timeout()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L45", - "id": "ui_test_notifications_test_notify_info_default_timeout", - "community": 102, - "norm_label": "test_notify_info_default_timeout()" - }, - { - "label": "test_notify_warning_extended_timeout()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L54", - "id": "ui_test_notifications_test_notify_warning_extended_timeout", - "community": 102, - "norm_label": "test_notify_warning_extended_timeout()" - }, - { - "label": "test_notify_error_extended_timeout()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L63", - "id": "ui_test_notifications_test_notify_error_extended_timeout", - "community": 102, - "norm_label": "test_notify_error_extended_timeout()" - }, - { - "label": "test_notify_with_action_extends_to_12_seconds()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L72", - "id": "ui_test_notifications_test_notify_with_action_extends_to_12_seconds", - "community": 352, - "norm_label": "test_notify_with_action_extends_to_12_seconds()" - }, - { - "label": "test_show_banner_rejects_unknown_id()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L85", - "id": "ui_test_notifications_test_show_banner_rejects_unknown_id", - "community": 102, - "norm_label": "test_show_banner_rejects_unknown_id()" - }, - { - "label": "test_show_banner_records_active()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L97", - "id": "ui_test_notifications_test_show_banner_records_active", - "community": 102, - "norm_label": "test_show_banner_records_active()" - }, - { - "label": "test_clear_banner_removes_record()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L111", - "id": "ui_test_notifications_test_clear_banner_removes_record", - "community": 102, - "norm_label": "test_clear_banner_removes_record()" - }, - { - "label": "test_banner_overflow_count_when_exceeding_two()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L124", - "id": "ui_test_notifications_test_banner_overflow_count_when_exceeding_two", - "community": 102, - "norm_label": "test_banner_overflow_count_when_exceeding_two()" - }, - { - "label": "test_field_errors_round_trip()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L148", - "id": "ui_test_notifications_test_field_errors_round_trip", - "community": 102, - "norm_label": "test_field_errors_round_trip()" - }, - { - "label": "test_form_errors_round_trip()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L157", - "id": "ui_test_notifications_test_form_errors_round_trip", - "community": 102, - "norm_label": "test_form_errors_round_trip()" - }, - { - "label": "test_banner_id_closed_set_matches_spec()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L166", - "id": "ui_test_notifications_test_banner_id_closed_set_matches_spec", - "community": 102, - "norm_label": "test_banner_id_closed_set_matches_spec()" - }, - { - "label": "test_severity_closed_set_matches_spec()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L178", - "id": "ui_test_notifications_test_severity_closed_set_matches_spec", - "community": 102, - "norm_label": "test_severity_closed_set_matches_spec()" - }, - { - "label": "test_container_id_closed_set_matches_spec()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L189", - "id": "ui_test_notifications_test_container_id_closed_set_matches_spec", - "community": 102, - "norm_label": "test_container_id_closed_set_matches_spec()" - }, - { - "label": "test_action_spec_is_frozen()", - "file_type": "code", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L199", - "id": "ui_test_notifications_test_action_spec_is_frozen", - "community": 352, - "norm_label": "test_action_spec_is_frozen()" - }, - { - "label": "Unit tests for :mod:`exlab_wizard.ui.notifications`. The helpers all delegate t", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L1", - "id": "ui_test_notifications_rationale_1", - "community": 102, - "norm_label": "unit tests for :mod:`exlab_wizard.ui.notifications`. the helpers all delegate t" - }, - { - "label": "Clear in-memory banner / inline state between tests.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L26", - "id": "ui_test_notifications_rationale_26", - "community": 102, - "norm_label": "clear in-memory banner / inline state between tests." - }, - { - "label": "``notify_success`` calls ``ui.notify(... type=\"positive\")``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L34", - "id": "ui_test_notifications_rationale_34", - "community": 102, - "norm_label": "``notify_success`` calls ``ui.notify(... type=\"positive\")``." - }, - { - "label": "``notify_info`` uses the 4 s default.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L46", - "id": "ui_test_notifications_rationale_46", - "community": 102, - "norm_label": "``notify_info`` uses the 4 s default." - }, - { - "label": "``notify_warning`` uses the 8 s default.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L55", - "id": "ui_test_notifications_rationale_55", - "community": 102, - "norm_label": "``notify_warning`` uses the 8 s default." - }, - { - "label": "``notify_error`` uses the 8 s default.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L64", - "id": "ui_test_notifications_rationale_64", - "community": 102, - "norm_label": "``notify_error`` uses the 8 s default." - }, - { - "label": "When an action is attached, the timeout extends to 12 s.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L73", - "id": "ui_test_notifications_rationale_73", - "community": 352, - "norm_label": "when an action is attached, the timeout extends to 12 s." - }, - { - "label": "An out-of-set banner id raises ``ValueError``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L86", - "id": "ui_test_notifications_rationale_86", - "community": 102, - "norm_label": "an out-of-set banner id raises ``valueerror``." - }, - { - "label": "``show_banner`` records the banner under the right container.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L98", - "id": "ui_test_notifications_rationale_98", - "community": 102, - "norm_label": "``show_banner`` records the banner under the right container." - }, - { - "label": "``clear_banner`` removes the active record.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L112", - "id": "ui_test_notifications_rationale_112", - "community": 102, - "norm_label": "``clear_banner`` removes the active record." - }, - { - "label": "Frontend \u00a72.2.3: max 2 banners; 3rd collapses into a count.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L125", - "id": "ui_test_notifications_rationale_125", - "community": 102, - "norm_label": "frontend \u00a72.2.3: max 2 banners; 3rd collapses into a count." - }, - { - "label": "Inline field errors round-trip through register / get / clear.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L149", - "id": "ui_test_notifications_rationale_149", - "community": 102, - "norm_label": "inline field errors round-trip through register / get / clear." - }, - { - "label": "Inline form errors round-trip through register / get / clear.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L158", - "id": "ui_test_notifications_rationale_158", - "community": 102, - "norm_label": "inline form errors round-trip through register / get / clear." - }, - { - "label": "Frontend \u00a72.2.3: exactly five canonical banner ids.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L167", - "id": "ui_test_notifications_rationale_167", - "community": 102, - "norm_label": "frontend \u00a72.2.3: exactly five canonical banner ids." - }, - { - "label": "Severity matches DESIGN.md alerts table.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L179", - "id": "ui_test_notifications_rationale_179", - "community": 102, - "norm_label": "severity matches design.md alerts table." - }, - { - "label": "ContainerId enumerates the three banner placement scopes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L190", - "id": "ui_test_notifications_rationale_190", - "community": 102, - "norm_label": "containerid enumerates the three banner placement scopes." - }, - { - "label": "``ActionSpec`` is immutable so callbacks can't be swapped post-hoc.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L200", - "id": "ui_test_notifications_rationale_200", - "community": 352, - "norm_label": "``actionspec`` is immutable so callbacks can't be swapped post-hoc." - }, - { - "label": "test_status_bar_segment.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L1", - "id": "tests_unit_ui_test_status_bar_segment_py", - "community": 52, - "norm_label": "test_status_bar_segment.py" - }, - { - "label": "test_footer_segments_all_clear_default_normal()", - "file_type": "code", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L19", - "id": "ui_test_status_bar_segment_test_footer_segments_all_clear_default_normal", - "community": 52, - "norm_label": "test_footer_segments_all_clear_default_normal()" - }, - { - "label": "test_footer_validator_warns_on_hard_findings()", - "file_type": "code", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L32", - "id": "ui_test_status_bar_segment_test_footer_validator_warns_on_hard_findings", - "community": 52, - "norm_label": "test_footer_validator_warns_on_hard_findings()" - }, - { - "label": "test_footer_lims_danger_when_unreachable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L42", - "id": "ui_test_status_bar_segment_test_footer_lims_danger_when_unreachable", - "community": 52, - "norm_label": "test_footer_lims_danger_when_unreachable()" - }, - { - "label": "test_footer_staging_warns_when_pending()", - "file_type": "code", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L50", - "id": "ui_test_status_bar_segment_test_footer_staging_warns_when_pending", - "community": 52, - "norm_label": "test_footer_staging_warns_when_pending()" - }, - { - "label": "test_footer_segments_defaults_are_safe()", - "file_type": "code", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L59", - "id": "ui_test_status_bar_segment_test_footer_segments_defaults_are_safe", - "community": 52, - "norm_label": "test_footer_segments_defaults_are_safe()" - }, - { - "label": "Unit tests for the footer status-bar segment derivation (Phase 5). The :func:`d", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L1", - "id": "ui_test_status_bar_segment_rationale_1", - "community": 52, - "norm_label": "unit tests for the footer status-bar segment derivation (phase 5). the :func:`d" - }, - { - "label": "No findings, LIMS reachable, nothing staged -> every segment normal.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L20", - "id": "ui_test_status_bar_segment_rationale_20", - "community": 52, - "norm_label": "no findings, lims reachable, nothing staged -> every segment normal." - }, - { - "label": "A hard-tier finding flips Validator to WARNING (Frontend \u00a73.5.5).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L33", - "id": "ui_test_status_bar_segment_rationale_33", - "community": 52, - "norm_label": "a hard-tier finding flips validator to warning (frontend \u00a73.5.5)." - }, - { - "label": "An unreachable LIMS endpoint flips LIMS to DANGER.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L43", - "id": "ui_test_status_bar_segment_rationale_43", - "community": 52, - "norm_label": "an unreachable lims endpoint flips lims to danger." - }, - { - "label": "Runs pending clearance flip Staging to WARNING.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L51", - "id": "ui_test_status_bar_segment_rationale_51", - "community": 52, - "norm_label": "runs pending clearance flip staging to warning." - }, - { - "label": "Called with no args (a half-wired backend) every segment is normal.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L60", - "id": "ui_test_status_bar_segment_rationale_60", - "community": 52, - "norm_label": "called with no args (a half-wired backend) every segment is normal." - }, - { - "label": "test_empty_state.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L1", - "id": "tests_unit_ui_test_empty_state_py", - "community": 288, - "norm_label": "test_empty_state.py" - }, - { - "label": "_walk()", - "file_type": "code", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L15", - "id": "ui_test_empty_state_walk", - "community": 288, - "norm_label": "_walk()" - }, - { - "label": "_by_testid()", - "file_type": "code", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L22", - "id": "ui_test_empty_state_by_testid", - "community": 288, - "norm_label": "_by_testid()" - }, - { - "label": "_texts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L26", - "id": "ui_test_empty_state_texts", - "community": 288, - "norm_label": "_texts()" - }, - { - "label": "test_empty_state_carries_testid_and_message()", - "file_type": "code", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L30", - "id": "ui_test_empty_state_test_empty_state_carries_testid_and_message", - "community": 288, - "norm_label": "test_empty_state_carries_testid_and_message()" - }, - { - "label": "test_empty_state_renders_the_icon()", - "file_type": "code", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L42", - "id": "ui_test_empty_state_test_empty_state_renders_the_icon", - "community": 288, - "norm_label": "test_empty_state_renders_the_icon()" - }, - { - "label": "Unit tests for the shared empty-state placeholder (Phase 5). The helper renders", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L1", - "id": "ui_test_empty_state_rationale_1", - "community": 288, - "norm_label": "unit tests for the shared empty-state placeholder (phase 5). the helper renders" - }, - { - "label": "The placeholder keeps the caller's testid (once) and shows the hint.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L31", - "id": "ui_test_empty_state_rationale_31", - "community": 288, - "norm_label": "the placeholder keeps the caller's testid (once) and shows the hint." - }, - { - "label": "The icon name reaches the rendered icon element.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L43", - "id": "ui_test_empty_state_rationale_43", - "community": 288, - "norm_label": "the icon name reaches the rendered icon element." - }, - { - "label": "test_sync_status_icon.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L1", - "id": "tests_unit_ui_test_sync_status_icon_py", - "community": 205, - "norm_label": "test_sync_status_icon.py" - }, - { - "label": "test_strict_default_still_raises_on_unknown()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L11", - "id": "ui_test_sync_status_icon_test_strict_default_still_raises_on_unknown", - "community": 205, - "norm_label": "test_strict_default_still_raises_on_unknown()" - }, - { - "label": "test_strict_explicit_raises_on_unknown()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L17", - "id": "ui_test_sync_status_icon_test_strict_explicit_raises_on_unknown", - "community": 205, - "norm_label": "test_strict_explicit_raises_on_unknown()" - }, - { - "label": "test_tolerant_mode_returns_neutral_for_unknown()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L22", - "id": "ui_test_sync_status_icon_test_tolerant_mode_returns_neutral_for_unknown", - "community": 205, - "norm_label": "test_tolerant_mode_returns_neutral_for_unknown()" - }, - { - "label": "test_tolerant_mode_handles_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L32", - "id": "ui_test_sync_status_icon_test_tolerant_mode_handles_none", - "community": 205, - "norm_label": "test_tolerant_mode_handles_none()" - }, - { - "label": "test_tolerant_mode_still_returns_real_props_for_known()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L40", - "id": "ui_test_sync_status_icon_test_tolerant_mode_still_returns_real_props_for_known", - "community": 205, - "norm_label": "test_tolerant_mode_still_returns_real_props_for_known()" - }, - { - "label": "test_neutral_and_normal_props_share_key_shape()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L47", - "id": "ui_test_sync_status_icon_test_neutral_and_normal_props_share_key_shape", - "community": 205, - "norm_label": "test_neutral_and_normal_props_share_key_shape()" - }, - { - "label": "Unit tests for sync_status_icon tolerant mode (Redesign \u00a74.5, OQ-5).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L1", - "id": "ui_test_sync_status_icon_rationale_1", - "community": 205, - "norm_label": "unit tests for sync_status_icon tolerant mode (redesign \u00a74.5, oq-5)." - }, - { - "label": "The original contract is preserved: strict (default) raises.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L12", - "id": "ui_test_sync_status_icon_rationale_12", - "community": 205, - "norm_label": "the original contract is preserved: strict (default) raises." - }, - { - "label": "strict=False yields neutral props (muted dash) instead of raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L23", - "id": "ui_test_sync_status_icon_rationale_23", - "community": 205, - "norm_label": "strict=false yields neutral props (muted dash) instead of raising." - }, - { - "label": "strict=False accepts None (optional per-file / per-folder status).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L33", - "id": "ui_test_sync_status_icon_rationale_33", - "community": 205, - "norm_label": "strict=false accepts none (optional per-file / per-folder status)." - }, - { - "label": "A recognised status is unaffected by strict=False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L41", - "id": "ui_test_sync_status_icon_rationale_41", - "community": 205, - "norm_label": "a recognised status is unaffected by strict=false." - }, - { - "label": "Both return paths expose the same keys so callers treat them alike.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L48", - "id": "ui_test_sync_status_icon_rationale_48", - "community": 205, - "norm_label": "both return paths expose the same keys so callers treat them alike." - }, - { - "label": "test_templates_page.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L1", - "id": "tests_unit_ui_test_templates_page_py", - "community": 129, - "norm_label": "test_templates_page.py" - }, - { - "label": "test_create_template_scaffolds_dir_with_manifest_and_content()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L35", - "id": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content", - "community": 129, - "norm_label": "test_create_template_scaffolds_dir_with_manifest_and_content()" - }, - { - "label": "test_create_template_strips_whitespace_from_name()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L50", - "id": "ui_test_templates_page_test_create_template_strips_whitespace_from_name", - "community": 129, - "norm_label": "test_create_template_strips_whitespace_from_name()" - }, - { - "label": "test_create_template_writes_description_into_manifest()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L55", - "id": "ui_test_templates_page_test_create_template_writes_description_into_manifest", - "community": 129, - "norm_label": "test_create_template_writes_description_into_manifest()" - }, - { - "label": "test_create_run_template_records_run_scope()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L69", - "id": "ui_test_templates_page_test_create_run_template_records_run_scope", - "community": 129, - "norm_label": "test_create_run_template_records_run_scope()" - }, - { - "label": "test_create_project_template_omits_run_scope_key()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L81", - "id": "ui_test_templates_page_test_create_project_template_omits_run_scope_key", - "community": 129, - "norm_label": "test_create_project_template_omits_run_scope_key()" - }, - { - "label": "test_create_template_rejects_empty_name()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L92", - "id": "ui_test_templates_page_test_create_template_rejects_empty_name", - "community": 129, - "norm_label": "test_create_template_rejects_empty_name()" - }, - { - "label": "test_create_template_rejects_unknown_type()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L97", - "id": "ui_test_templates_page_test_create_template_rejects_unknown_type", - "community": 129, - "norm_label": "test_create_template_rejects_unknown_type()" - }, - { - "label": "test_create_run_template_requires_run_scope()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L102", - "id": "ui_test_templates_page_test_create_run_template_requires_run_scope", - "community": 129, - "norm_label": "test_create_run_template_requires_run_scope()" - }, - { - "label": "test_create_run_template_rejects_invalid_run_scope()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L107", - "id": "ui_test_templates_page_test_create_run_template_rejects_invalid_run_scope", - "community": 129, - "norm_label": "test_create_run_template_rejects_invalid_run_scope()" - }, - { - "label": "test_create_template_rejects_duplicate_name()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L112", - "id": "ui_test_templates_page_test_create_template_rejects_duplicate_name", - "community": 129, - "norm_label": "test_create_template_rejects_duplicate_name()" - }, - { - "label": "test_scaffolded_project_template_resolves_with_engine()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L123", - "id": "ui_test_templates_page_test_scaffolded_project_template_resolves_with_engine", - "community": 129, - "norm_label": "test_scaffolded_project_template_resolves_with_engine()" - }, - { - "label": "test_scaffolded_run_template_resolves_with_engine()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L139", - "id": "ui_test_templates_page_test_scaffolded_run_template_resolves_with_engine", - "community": 129, - "norm_label": "test_scaffolded_run_template_resolves_with_engine()" - }, - { - "label": "test_list_templates_returns_empty_for_missing_dir()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L156", - "id": "ui_test_templates_page_test_list_templates_returns_empty_for_missing_dir", - "community": 129, - "norm_label": "test_list_templates_returns_empty_for_missing_dir()" - }, - { - "label": "test_list_templates_returns_empty_for_dir_with_no_templates()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L160", - "id": "ui_test_templates_page_test_list_templates_returns_empty_for_dir_with_no_templates", - "community": 129, - "norm_label": "test_list_templates_returns_empty_for_dir_with_no_templates()" - }, - { - "label": "test_list_templates_summarizes_each_template()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L166", - "id": "ui_test_templates_page_test_list_templates_summarizes_each_template", - "community": 129, - "norm_label": "test_list_templates_summarizes_each_template()" - }, - { - "label": "test_list_templates_is_sorted()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L189", - "id": "ui_test_templates_page_test_list_templates_is_sorted", - "community": 129, - "norm_label": "test_list_templates_is_sorted()" - }, - { - "label": "test_list_templates_skips_dirs_without_manifest()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L199", - "id": "ui_test_templates_page_test_list_templates_skips_dirs_without_manifest", - "community": 129, - "norm_label": "test_list_templates_skips_dirs_without_manifest()" - }, - { - "label": "test_list_templates_filters_by_template_type()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L209", - "id": "ui_test_templates_page_test_list_templates_filters_by_template_type", - "community": 129, - "norm_label": "test_list_templates_filters_by_template_type()" - }, - { - "label": "test_list_templates_skips_malformed_manifest()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L225", - "id": "ui_test_templates_page_test_list_templates_skips_malformed_manifest", - "community": 129, - "norm_label": "test_list_templates_skips_malformed_manifest()" - }, - { - "label": "test_list_templates_skips_non_mapping_manifest()", - "file_type": "code", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L237", - "id": "ui_test_templates_page_test_list_templates_skips_non_mapping_manifest", - "community": 129, - "norm_label": "test_list_templates_skips_non_mapping_manifest()" - }, - { - "label": "Tests for the template-manager page helpers. ``render_template_manager`` render", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L1", - "id": "ui_test_templates_page_rationale_1", - "community": 129, - "norm_label": "tests for the template-manager page helpers. ``render_template_manager`` render" - }, - { - "label": "test_keyboard.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L1", - "id": "tests_unit_ui_test_keyboard_py", - "community": 279, - "norm_label": "test_keyboard.py" - }, - { - "label": "test_all_documented_shortcuts_in_registry()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L26", - "id": "ui_test_keyboard_test_all_documented_shortcuts_in_registry", - "community": 356, - "norm_label": "test_all_documented_shortcuts_in_registry()" - }, - { - "label": "test_new_project_combo_macos_and_other()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L43", - "id": "ui_test_keyboard_test_new_project_combo_macos_and_other", - "community": 165, - "norm_label": "test_new_project_combo_macos_and_other()" - }, - { - "label": "test_new_run_combo_macos_and_other()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L51", - "id": "ui_test_keyboard_test_new_run_combo_macos_and_other", - "community": 165, - "norm_label": "test_new_run_combo_macos_and_other()" - }, - { - "label": "test_new_test_run_combo_macos_and_other()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L59", - "id": "ui_test_keyboard_test_new_test_run_combo_macos_and_other", - "community": 165, - "norm_label": "test_new_test_run_combo_macos_and_other()" - }, - { - "label": "test_open_settings_uses_comma_key()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L67", - "id": "ui_test_keyboard_test_open_settings_uses_comma_key", - "community": 165, - "norm_label": "test_open_settings_uses_comma_key()" - }, - { - "label": "test_refresh_tree_combo()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L75", - "id": "ui_test_keyboard_test_refresh_tree_combo", - "community": 279, - "norm_label": "test_refresh_tree_combo()" - }, - { - "label": "test_open_problems_combo()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L83", - "id": "ui_test_keyboard_test_open_problems_combo", - "community": 165, - "norm_label": "test_open_problems_combo()" - }, - { - "label": "test_focus_tree_search_is_unmodified_slash()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L91", - "id": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash", - "community": 165, - "norm_label": "test_focus_tree_search_is_unmodified_slash()" - }, - { - "label": "test_wizard_next_uses_enter_with_modifier()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L99", - "id": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier", - "community": 165, - "norm_label": "test_wizard_next_uses_enter_with_modifier()" - }, - { - "label": "test_wizard_cancel_uses_escape()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L107", - "id": "ui_test_keyboard_test_wizard_cancel_uses_escape", - "community": 165, - "norm_label": "test_wizard_cancel_uses_escape()" - }, - { - "label": "test_combo_for_current_os_returns_other_on_linux()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L115", - "id": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux", - "community": 357, - "norm_label": "test_combo_for_current_os_returns_other_on_linux()" - }, - { - "label": "test_combo_for_current_os_returns_macos_on_darwin()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L123", - "id": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin", - "community": 357, - "norm_label": "test_combo_for_current_os_returns_macos_on_darwin()" - }, - { - "label": "test_resolve_finds_known_combo_on_linux()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L131", - "id": "ui_test_keyboard_test_resolve_finds_known_combo_on_linux", - "community": 279, - "norm_label": "test_resolve_finds_known_combo_on_linux()" - }, - { - "label": "test_resolve_returns_none_for_unknown_combo()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L139", - "id": "ui_test_keyboard_test_resolve_returns_none_for_unknown_combo", - "community": 279, - "norm_label": "test_resolve_returns_none_for_unknown_combo()" - }, - { - "label": "test_get_binding_raises_for_unknown()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L145", - "id": "ui_test_keyboard_test_get_binding_raises_for_unknown", - "community": 165, - "norm_label": "test_get_binding_raises_for_unknown()" - }, - { - "label": "test_registry_register_and_dispatch()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L155", - "id": "ui_test_keyboard_test_registry_register_and_dispatch", - "community": 257, - "norm_label": "test_registry_register_and_dispatch()" - }, - { - "label": "test_registry_dispatch_returns_false_when_unbound()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L165", - "id": "ui_test_keyboard_test_registry_dispatch_returns_false_when_unbound", - "community": 257, - "norm_label": "test_registry_dispatch_returns_false_when_unbound()" - }, - { - "label": "test_registry_double_register_raises()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L172", - "id": "ui_test_keyboard_test_registry_double_register_raises", - "community": 257, - "norm_label": "test_registry_double_register_raises()" - }, - { - "label": "test_keycombo_matches_returns_true_for_same_modifiers()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L181", - "id": "ui_test_keyboard_test_keycombo_matches_returns_true_for_same_modifiers", - "community": 279, - "norm_label": "test_keycombo_matches_returns_true_for_same_modifiers()" - }, - { - "label": "test_descriptions_match_spec()", - "file_type": "code", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L189", - "id": "ui_test_keyboard_test_descriptions_match_spec", - "community": 356, - "norm_label": "test_descriptions_match_spec()" - }, - { - "label": "Unit tests for :mod:`exlab_wizard.ui.keyboard`. The registry is intentionally s", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L1", - "id": "ui_test_keyboard_rationale_1", - "community": 279, - "norm_label": "unit tests for :mod:`exlab_wizard.ui.keyboard`. the registry is intentionally s" - }, - { - "label": "Every Frontend \u00a73.7 row has a ShortcutBinding.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L27", - "id": "ui_test_keyboard_rationale_27", - "community": 356, - "norm_label": "every frontend \u00a73.7 row has a shortcutbinding." - }, - { - "label": "``Cmd+N`` on macOS, ``Ctrl+N`` elsewhere.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L44", - "id": "ui_test_keyboard_rationale_44", - "community": 165, - "norm_label": "``cmd+n`` on macos, ``ctrl+n`` elsewhere." - }, - { - "label": "``Cmd+Shift+N`` / ``Ctrl+Shift+N``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L52", - "id": "ui_test_keyboard_rationale_52", - "community": 165, - "norm_label": "``cmd+shift+n`` / ``ctrl+shift+n``." - }, - { - "label": "``Cmd+Shift+T`` / ``Ctrl+Shift+T``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L60", - "id": "ui_test_keyboard_rationale_60", - "community": 165, - "norm_label": "``cmd+shift+t`` / ``ctrl+shift+t``." - }, - { - "label": "``Cmd+,`` / ``Ctrl+,``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L68", - "id": "ui_test_keyboard_rationale_68", - "community": 165, - "norm_label": "``cmd+,`` / ``ctrl+,``." - }, - { - "label": "``Cmd+R`` / ``Ctrl+R``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L76", - "id": "ui_test_keyboard_rationale_76", - "community": 279, - "norm_label": "``cmd+r`` / ``ctrl+r``." - }, - { - "label": "``Cmd+Shift+P`` / ``Ctrl+Shift+P``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L84", - "id": "ui_test_keyboard_rationale_84", - "community": 165, - "norm_label": "``cmd+shift+p`` / ``ctrl+shift+p``." - }, - { - "label": "``/`` focuses the tree search box.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L92", - "id": "ui_test_keyboard_rationale_92", - "community": 165, - "norm_label": "``/`` focuses the tree search box." - }, - { - "label": "``Cmd+Enter`` / ``Ctrl+Enter`` advances the wizard.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L100", - "id": "ui_test_keyboard_rationale_100", - "community": 165, - "norm_label": "``cmd+enter`` / ``ctrl+enter`` advances the wizard." - }, - { - "label": "Esc cancels the wizard.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L108", - "id": "ui_test_keyboard_rationale_108", - "community": 165, - "norm_label": "esc cancels the wizard." - }, - { - "label": "On non-darwin we return ``other``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L116", - "id": "ui_test_keyboard_rationale_116", - "community": 357, - "norm_label": "on non-darwin we return ``other``." - }, - { - "label": "On darwin we return ``macos``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L124", - "id": "ui_test_keyboard_rationale_124", - "community": 357, - "norm_label": "on darwin we return ``macos``." - }, - { - "label": "Resolver returns the right shortcut id on non-darwin.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L132", - "id": "ui_test_keyboard_rationale_132", - "community": 279, - "norm_label": "resolver returns the right shortcut id on non-darwin." - }, - { - "label": "Unknown combos resolve to ``None``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L140", - "id": "ui_test_keyboard_rationale_140", - "community": 279, - "norm_label": "unknown combos resolve to ``none``." - }, - { - "label": "``get_binding`` raises ``KeyError`` for an unknown shortcut id.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L146", - "id": "ui_test_keyboard_rationale_146", - "community": 165, - "norm_label": "``get_binding`` raises ``keyerror`` for an unknown shortcut id." - }, - { - "label": "``ShortcutRegistry`` dispatches the registered handler exactly once.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L156", - "id": "ui_test_keyboard_rationale_156", - "community": 257, - "norm_label": "``shortcutregistry`` dispatches the registered handler exactly once." - }, - { - "label": "Dispatching an unbound shortcut returns ``False`` and runs no handler.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L166", - "id": "ui_test_keyboard_rationale_166", - "community": 257, - "norm_label": "dispatching an unbound shortcut returns ``false`` and runs no handler." - }, - { - "label": "Two handlers per shortcut is forbidden.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L173", - "id": "ui_test_keyboard_rationale_173", - "community": 257, - "norm_label": "two handlers per shortcut is forbidden." - }, - { - "label": "``KeyCombo.matches`` is exact-match across modifiers and key.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L182", - "id": "ui_test_keyboard_rationale_182", - "community": 279, - "norm_label": "``keycombo.matches`` is exact-match across modifiers and key." - }, - { - "label": "Each binding has a non-empty description (Frontend \u00a73.7).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L190", - "id": "ui_test_keyboard_rationale_190", - "community": 356, - "norm_label": "each binding has a non-empty description (frontend \u00a73.7)." - }, - { - "label": "test_dynamic_form.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L1", - "id": "tests_unit_ui_test_dynamic_form_py", - "community": 194, - "norm_label": "test_dynamic_form.py" - }, - { - "label": "test_template_questions_skips_underscore_keys()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L32", - "id": "ui_test_dynamic_form_test_template_questions_skips_underscore_keys", - "community": 194, - "norm_label": "test_template_questions_skips_underscore_keys()" - }, - { - "label": "test_template_questions_long_form_types()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L41", - "id": "ui_test_dynamic_form_test_template_questions_long_form_types", - "community": 194, - "norm_label": "test_template_questions_long_form_types()" - }, - { - "label": "test_template_questions_choice_from_list_and_dict()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L59", - "id": "ui_test_dynamic_form_test_template_questions_choice_from_list_and_dict", - "community": 194, - "norm_label": "test_template_questions_choice_from_list_and_dict()" - }, - { - "label": "test_template_questions_short_form_infers_kind()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L72", - "id": "ui_test_dynamic_form_test_template_questions_short_form_infers_kind", - "community": 194, - "norm_label": "test_template_questions_short_form_infers_kind()" - }, - { - "label": "test_render_question_field_seeds_default_into_answers()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L93", - "id": "ui_test_dynamic_form_test_render_question_field_seeds_default_into_answers", - "community": 259, - "norm_label": "test_render_question_field_seeds_default_into_answers()" - }, - { - "label": "test_render_question_field_preserves_existing_answer()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L103", - "id": "ui_test_dynamic_form_test_render_question_field_preserves_existing_answer", - "community": 259, - "norm_label": "test_render_question_field_preserves_existing_answer()" - }, - { - "label": "_equipment_kwargs()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L118", - "id": "ui_test_dynamic_form_equipment_kwargs", - "community": 194, - "norm_label": "_equipment_kwargs()" - }, - { - "label": "test_build_equipment_nas_has_no_transport()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L130", - "id": "ui_test_dynamic_form_test_build_equipment_nas_has_no_transport", - "community": 194, - "norm_label": "test_build_equipment_nas_has_no_transport()" - }, - { - "label": "test_build_equipment_stage_has_no_per_equipment_transport()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L139", - "id": "ui_test_dynamic_form_test_build_equipment_stage_has_no_per_equipment_transport", - "community": 194, - "norm_label": "test_build_equipment_stage_has_no_per_equipment_transport()" - }, - { - "label": "test_build_equipment_rejects_bad_id()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L150", - "id": "ui_test_dynamic_form_test_build_equipment_rejects_bad_id", - "community": 194, - "norm_label": "test_build_equipment_rejects_bad_id()" - }, - { - "label": "Unit tests for the frontend-polish helpers. Covers the pure logic behind the th", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L1", - "id": "ui_test_dynamic_form_rationale_1", - "community": 194, - "norm_label": "unit tests for the frontend-polish helpers. covers the pure logic behind the th" - }, - { - "label": "test_file_list.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L1", - "id": "tests_unit_ui_test_file_list_py", - "community": 139, - "norm_label": "test_file_list.py" - }, - { - "label": "_walk()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L20", - "id": "ui_test_file_list_walk", - "community": 147, - "norm_label": "_walk()" - }, - { - "label": "_rows()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L33", - "id": "ui_test_file_list_rows", - "community": 147, - "norm_label": "_rows()" - }, - { - "label": "_row_by_path()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L38", - "id": "ui_test_file_list_row_by_path", - "community": 147, - "norm_label": "_row_by_path()" - }, - { - "label": "_click()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L42", - "id": "ui_test_file_list_click", - "community": 147, - "norm_label": "_click()" - }, - { - "label": "_entry()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L51", - "id": "ui_test_file_list_entry", - "community": 139, - "norm_label": "_entry()" - }, - { - "label": "test_diff_detects_additions()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L64", - "id": "ui_test_file_list_test_diff_detects_additions", - "community": 139, - "norm_label": "test_diff_detects_additions()" - }, - { - "label": "test_diff_detects_removals()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L74", - "id": "ui_test_file_list_test_diff_detects_removals", - "community": 139, - "norm_label": "test_diff_detects_removals()" - }, - { - "label": "test_diff_detects_size_change_as_modification()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L84", - "id": "ui_test_file_list_test_diff_detects_size_change_as_modification", - "community": 139, - "norm_label": "test_diff_detects_size_change_as_modification()" - }, - { - "label": "test_diff_detects_sync_status_change_as_modification()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L94", - "id": "ui_test_file_list_test_diff_detects_sync_status_change_as_modification", - "community": 139, - "norm_label": "test_diff_detects_sync_status_change_as_modification()" - }, - { - "label": "test_diff_unchanged_is_empty()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L102", - "id": "ui_test_file_list_test_diff_unchanged_is_empty", - "community": 139, - "norm_label": "test_diff_unchanged_is_empty()" - }, - { - "label": "test_file_list_entry_defaults_keep_local_and_tombstone_false()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L115", - "id": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false", - "community": 139, - "norm_label": "test_file_list_entry_defaults_keep_local_and_tombstone_false()" - }, - { - "label": "test_diff_detects_keep_local_change_as_modification()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L122", - "id": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification", - "community": 201, - "norm_label": "test_diff_detects_keep_local_change_as_modification()" - }, - { - "label": "test_diff_detects_tombstone_change_as_modification()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L130", - "id": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification", - "community": 201, - "norm_label": "test_diff_detects_tombstone_change_as_modification()" - }, - { - "label": "test_keep_local_action_constant_is_distinct()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L138", - "id": "ui_test_file_list_test_keep_local_action_constant_is_distinct", - "community": 372, - "norm_label": "test_keep_local_action_constant_is_distinct()" - }, - { - "label": "test_render_file_list_keep_local_menu_and_tombstone()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L143", - "id": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone", - "community": 373, - "norm_label": "test_render_file_list_keep_local_menu_and_tombstone()" - }, - { - "label": "test_row_bg_selected_wins_over_new()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L193", - "id": "ui_test_file_list_test_row_bg_selected_wins_over_new", - "community": 139, - "norm_label": "test_row_bg_selected_wins_over_new()" - }, - { - "label": "test_row_bg_new_wins_over_tombstone_and_zebra()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L200", - "id": "ui_test_file_list_test_row_bg_new_wins_over_tombstone_and_zebra", - "community": 139, - "norm_label": "test_row_bg_new_wins_over_tombstone_and_zebra()" - }, - { - "label": "test_row_bg_tombstone_suppresses_zebra_keeps_dim()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L212", - "id": "ui_test_file_list_test_row_bg_tombstone_suppresses_zebra_keeps_dim", - "community": 139, - "norm_label": "test_row_bg_tombstone_suppresses_zebra_keeps_dim()" - }, - { - "label": "test_row_bg_zebra_on_odd_index_only()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L224", - "id": "ui_test_file_list_test_row_bg_zebra_on_odd_index_only", - "community": 139, - "norm_label": "test_row_bg_zebra_on_odd_index_only()" - }, - { - "label": "test_row_bg_zebra_parity_is_index_based()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L231", - "id": "ui_test_file_list_test_row_bg_zebra_parity_is_index_based", - "community": 139, - "norm_label": "test_row_bg_zebra_parity_is_index_based()" - }, - { - "label": "test_row_bg_selected_tombstone_keeps_both_treatments()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L236", - "id": "ui_test_file_list_test_row_bg_selected_tombstone_keeps_both_treatments", - "community": 139, - "norm_label": "test_row_bg_selected_tombstone_keeps_both_treatments()" - }, - { - "label": "test_row_bg_plain_even_row_is_empty()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L244", - "id": "ui_test_file_list_test_row_bg_plain_even_row_is_empty", - "community": 139, - "norm_label": "test_row_bg_plain_even_row_is_empty()" - }, - { - "label": "_selection_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L253", - "id": "ui_test_file_list_selection_state", - "community": 147, - "norm_label": "_selection_state()" - }, - { - "label": "test_render_marks_selected_row_only()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L271", - "id": "ui_test_file_list_test_render_marks_selected_row_only", - "community": 147, - "norm_label": "test_render_marks_selected_row_only()" - }, - { - "label": "test_render_tombstone_row_is_dimmed_and_marked()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L284", - "id": "ui_test_file_list_test_render_tombstone_row_is_dimmed_and_marked", - "community": 147, - "norm_label": "test_render_tombstone_row_is_dimmed_and_marked()" - }, - { - "label": "test_on_select_fires_for_file_and_folder()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L293", - "id": "ui_test_file_list_test_on_select_fires_for_file_and_folder", - "community": 147, - "norm_label": "test_on_select_fires_for_file_and_folder()" - }, - { - "label": "test_no_click_listener_when_on_select_absent()", - "file_type": "code", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L306", - "id": "ui_test_file_list_test_no_click_listener_when_on_select_absent", - "community": 147, - "norm_label": "test_no_click_listener_when_on_select_absent()" - }, - { - "label": "Unit tests for ``ui/components/file_list``. Redesign \u00a74.3, \u00a75.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L1", - "id": "ui_test_file_list_rationale_1", - "community": 139, - "norm_label": "unit tests for ``ui/components/file_list``. redesign \u00a74.3, \u00a75." - }, - { - "label": "Yield ``element`` and every descendant across all its slots. NiceGUI render", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L21", - "id": "ui_test_file_list_rationale_21", - "community": 147, - "norm_label": "yield ``element`` and every descendant across all its slots. nicegui render" - }, - { - "label": "Return the rendered ``file-list-row`` elements under ``container``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L34", - "id": "ui_test_file_list_rationale_34", - "community": 147, - "norm_label": "return the rendered ``file-list-row`` elements under ``container``." - }, - { - "label": "Invoke ``element``'s registered click handler (simulates a single-click).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L43", - "id": "ui_test_file_list_rationale_43", - "community": 147, - "norm_label": "invoke ``element``'s registered click handler (simulates a single-click)." - }, - { - "label": "A bare entry defaults ``keep_local`` and ``tombstone`` to False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L116", - "id": "ui_test_file_list_rationale_116", - "community": 139, - "norm_label": "a bare entry defaults ``keep_local`` and ``tombstone`` to false." - }, - { - "label": "Flipping ``keep_local`` is a modification (drives a re-render).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L123", - "id": "ui_test_file_list_rationale_123", - "community": 201, - "norm_label": "flipping ``keep_local`` is a modification (drives a re-render)." - }, - { - "label": "A file transitioning to a tombstone is a modification.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L131", - "id": "ui_test_file_list_rationale_131", - "community": 201, - "norm_label": "a file transitioning to a tombstone is a modification." - }, - { - "label": "``FILE_CONTEXT_KEEP_LOCAL`` is a distinct discriminator value.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L139", - "id": "ui_test_file_list_rationale_139", - "community": 372, - "norm_label": "``file_context_keep_local`` is a distinct discriminator value." - }, - { - "label": "The renderer wires the keep-local menu item and tombstone row. Exercises th", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L144", - "id": "ui_test_file_list_rationale_144", - "community": 373, - "norm_label": "the renderer wires the keep-local menu item and tombstone row. exercises th" - }, - { - "label": "The row whose path matches ``selected_path`` carries the selected fill.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L272", - "id": "ui_test_file_list_rationale_272", - "community": 147, - "norm_label": "the row whose path matches ``selected_path`` carries the selected fill." - }, - { - "label": "A tombstone row carries the data-tombstone attr + dim/italic decoration.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L285", - "id": "ui_test_file_list_rationale_285", - "community": 147, - "norm_label": "a tombstone row carries the data-tombstone attr + dim/italic decoration." - }, - { - "label": "Single-click selection fires ``on_select`` for files AND folders.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L294", - "id": "ui_test_file_list_rationale_294", - "community": 147, - "norm_label": "single-click selection fires ``on_select`` for files and folders." - }, - { - "label": "Selection is opt-in: with no ``on_select`` the rows wire no click handler.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L307", - "id": "ui_test_file_list_rationale_307", - "community": 147, - "norm_label": "selection is opt-in: with no ``on_select`` the rows wire no click handler." - }, - { - "label": "test_theme.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L1", - "id": "tests_unit_ui_test_theme_py", - "community": 70, - "norm_label": "test_theme.py" - }, - { - "label": "test_root_css_includes_compact_density_rule()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L13", - "id": "ui_test_theme_test_root_css_includes_compact_density_rule", - "community": 70, - "norm_label": "test_root_css_includes_compact_density_rule()" - }, - { - "label": "test_root_css_includes_tree_selection_rule()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L22", - "id": "ui_test_theme_test_root_css_includes_tree_selection_rule", - "community": 70, - "norm_label": "test_root_css_includes_tree_selection_rule()" - }, - { - "label": "test_root_css_contains_primary_palette()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L32", - "id": "ui_test_theme_test_root_css_contains_primary_palette", - "community": 70, - "norm_label": "test_root_css_contains_primary_palette()" - }, - { - "label": "test_root_css_contains_okabe_ito_palette()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L47", - "id": "ui_test_theme_test_root_css_contains_okabe_ito_palette", - "community": 70, - "norm_label": "test_root_css_contains_okabe_ito_palette()" - }, - { - "label": "test_root_css_contains_ui_refresh_surface_tokens()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L62", - "id": "ui_test_theme_test_root_css_contains_ui_refresh_surface_tokens", - "community": 70, - "norm_label": "test_root_css_contains_ui_refresh_surface_tokens()" - }, - { - "label": "test_root_css_emits_previously_undefined_referenced_vars()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L75", - "id": "ui_test_theme_test_root_css_emits_previously_undefined_referenced_vars", - "community": 70, - "norm_label": "test_root_css_emits_previously_undefined_referenced_vars()" - }, - { - "label": "test_root_css_contains_semantic_aliases()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L114", - "id": "ui_test_theme_test_root_css_contains_semantic_aliases", - "community": 70, - "norm_label": "test_root_css_contains_semantic_aliases()" - }, - { - "label": "test_root_css_contains_typography_tokens()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L122", - "id": "ui_test_theme_test_root_css_contains_typography_tokens", - "community": 70, - "norm_label": "test_root_css_contains_typography_tokens()" - }, - { - "label": "test_root_css_contains_spacing_scale()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L130", - "id": "ui_test_theme_test_root_css_contains_spacing_scale", - "community": 70, - "norm_label": "test_root_css_contains_spacing_scale()" - }, - { - "label": "test_root_css_contains_radius_tokens()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L136", - "id": "ui_test_theme_test_root_css_contains_radius_tokens", - "community": 70, - "norm_label": "test_root_css_contains_radius_tokens()" - }, - { - "label": "test_root_css_contains_shadow_tokens()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L143", - "id": "ui_test_theme_test_root_css_contains_shadow_tokens", - "community": 70, - "norm_label": "test_root_css_contains_shadow_tokens()" - }, - { - "label": "test_root_css_navy_tinted_shadows()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L152", - "id": "ui_test_theme_test_root_css_navy_tinted_shadows", - "community": 70, - "norm_label": "test_root_css_navy_tinted_shadows()" - }, - { - "label": "test_root_css_motion_tokens()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L159", - "id": "ui_test_theme_test_root_css_motion_tokens", - "community": 70, - "norm_label": "test_root_css_motion_tokens()" - }, - { - "label": "test_root_css_starts_with_root_block()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L165", - "id": "ui_test_theme_test_root_css_starts_with_root_block", - "community": 70, - "norm_label": "test_root_css_starts_with_root_block()" - }, - { - "label": "test_root_css_includes_body_resets()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L172", - "id": "ui_test_theme_test_root_css_includes_body_resets", - "community": 70, - "norm_label": "test_root_css_includes_body_resets()" - }, - { - "label": "test_resolve_assets_dir_points_at_repo_assets_in_source_layout()", - "file_type": "code", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L181", - "id": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout", - "community": 70, - "norm_label": "test_resolve_assets_dir_points_at_repo_assets_in_source_layout()" - }, - { - "label": "Unit tests for :mod:`exlab_wizard.ui.theme`. The theme module renders the ``:ro", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L1", - "id": "ui_test_theme_rationale_1", - "community": 70, - "norm_label": "unit tests for :mod:`exlab_wizard.ui.theme`. the theme module renders the ``:ro" - }, - { - "label": "Phase 5 / \u00a74.8: the compact-density rule scopes file-row padding to the .exl", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L14", - "id": "ui_test_theme_rationale_14", - "community": 70, - "norm_label": "phase 5 / \u00a74.8: the compact-density rule scopes file-row padding to the .exl" - }, - { - "label": "Phase 5 / OQ-6: the selected tree node gets the same fill + accent bar as a", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L23", - "id": "ui_test_theme_rationale_23", - "community": 70, - "norm_label": "phase 5 / oq-6: the selected tree node gets the same fill + accent bar as a" - }, - { - "label": "The main-window refresh tokens are emitted into the :root block.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L63", - "id": "ui_test_theme_rationale_63", - "community": 70, - "norm_label": "the main-window refresh tokens are emitted into the :root block." - }, - { - "label": "Regression guard: every var(--\u2026) referenced by a UI component is emitted. T", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L76", - "id": "ui_test_theme_rationale_76", - "community": 70, - "norm_label": "regression guard: every var(--...) referenced by a ui component is emitted. t" - }, - { - "label": "All shadows are navy-tinted (DESIGN.md \u00a704).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L153", - "id": "ui_test_theme_rationale_153", - "community": 70, - "norm_label": "all shadows are navy-tinted (design.md \u00a704)." - }, - { - "label": "The block opens with ``:root {`` per DESIGN.md \u00a707.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L166", - "id": "ui_test_theme_rationale_166", - "community": 70, - "norm_label": "the block opens with ``:root {`` per design.md \u00a707." - }, - { - "label": "A body / heading / mono reset block follows the ``:root {}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L173", - "id": "ui_test_theme_rationale_173", - "community": 70, - "norm_label": "a body / heading / mono reset block follows the ``:root {}``." - }, - { - "label": "In source layout, the resolver returns ``/assets/``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L182", - "id": "ui_test_theme_rationale_182", - "community": 70, - "norm_label": "in source layout, the resolver returns ``/assets/``." - }, - { - "label": "test_settings_nas_remote.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L1", - "id": "tests_unit_ui_test_settings_nas_remote_py", - "community": 32, - "norm_label": "test_settings_nas_remote.py" - }, - { - "label": "_nas_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L36", - "id": "ui_test_settings_nas_remote_nas_equipment", - "community": 32, - "norm_label": "_nas_equipment()" - }, - { - "label": "_stage_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L47", - "id": "ui_test_settings_nas_remote_stage_equipment", - "community": 32, - "norm_label": "_stage_equipment()" - }, - { - "label": "_config_with()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L59", - "id": "ui_test_settings_nas_remote_config_with", - "community": 32, - "norm_label": "_config_with()" - }, - { - "label": "_testids()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L73", - "id": "ui_test_settings_nas_remote_testids", - "community": 32, - "norm_label": "_testids()" - }, - { - "label": "_section_body()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L81", - "id": "ui_test_settings_nas_remote_section_body", - "community": 32, - "norm_label": "_section_body()" - }, - { - "label": "_section_testids()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L90", - "id": "ui_test_settings_nas_remote_section_testids", - "community": 32, - "norm_label": "_section_testids()" - }, - { - "label": "_text_of()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L95", - "id": "ui_test_settings_nas_remote_text_of", - "community": 32, - "norm_label": "_text_of()" - }, - { - "label": "_find()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L114", - "id": "ui_test_settings_nas_remote_find", - "community": 32, - "norm_label": "_find()" - }, - { - "label": "_find_all()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L121", - "id": "ui_test_settings_nas_remote_find_all", - "community": 32, - "norm_label": "_find_all()" - }, - { - "label": "_click_handler()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L129", - "id": "ui_test_settings_nas_remote_click_handler", - "community": 32, - "norm_label": "_click_handler()" - }, - { - "label": "_click()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L148", - "id": "ui_test_settings_nas_remote_click", - "community": 32, - "norm_label": "_click()" - }, - { - "label": "_draft_of()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L154", - "id": "ui_test_settings_nas_remote_draft_of", - "community": 32, - "norm_label": "_draft_of()" - }, - { - "label": "test_sections_omit_nas_remote_without_nas_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L166", - "id": "ui_test_settings_nas_remote_test_sections_omit_nas_remote_without_nas_equipment", - "community": 32, - "norm_label": "test_sections_omit_nas_remote_without_nas_equipment()" - }, - { - "label": "test_sections_insert_nas_remote_after_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L174", - "id": "ui_test_settings_nas_remote_test_sections_insert_nas_remote_after_equipment", - "community": 32, - "norm_label": "test_sections_insert_nas_remote_after_equipment()" - }, - { - "label": "test_section_renders_configured_remote_and_base_root()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L188", - "id": "ui_test_settings_nas_remote_test_section_renders_configured_remote_and_base_root", - "community": 32, - "norm_label": "test_section_renders_configured_remote_and_base_root()" - }, - { - "label": "test_section_has_no_password_input()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L204", - "id": "ui_test_settings_nas_remote_test_section_has_no_password_input", - "community": 32, - "norm_label": "test_section_has_no_password_input()" - }, - { - "label": "test_section_has_test_connection_control()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L220", - "id": "ui_test_settings_nas_remote_test_section_has_test_connection_control", - "community": 32, - "norm_label": "test_section_has_test_connection_control()" - }, - { - "label": "test_status_badge_found_when_remote_available()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L232", - "id": "ui_test_settings_nas_remote_test_status_badge_found_when_remote_available", - "community": 32, - "norm_label": "test_status_badge_found_when_remote_available()" - }, - { - "label": "test_status_badge_not_found_when_remote_absent()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L245", - "id": "ui_test_settings_nas_remote_test_status_badge_not_found_when_remote_absent", - "community": 32, - "norm_label": "test_status_badge_not_found_when_remote_absent()" - }, - { - "label": "test_nav_entry_present_when_nas_equipment_exists()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L259", - "id": "ui_test_settings_nas_remote_test_nav_entry_present_when_nas_equipment_exists", - "community": 32, - "norm_label": "test_nav_entry_present_when_nas_equipment_exists()" - }, - { - "label": "test_nav_entry_absent_for_stage_only_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L270", - "id": "ui_test_settings_nas_remote_test_nav_entry_absent_for_stage_only_config", - "community": 32, - "norm_label": "test_nav_entry_absent_for_stage_only_config()" - }, - { - "label": "test_test_connection_handler_invokes_callback_and_renders_panel()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L285", - "id": "ui_test_settings_nas_remote_test_test_connection_handler_invokes_callback_and_renders_panel", - "community": 32, - "norm_label": "test_test_connection_handler_invokes_callback_and_renders_panel()" - }, - { - "label": "test_test_connection_handler_awaits_coroutine_result()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L312", - "id": "ui_test_settings_nas_remote_test_test_connection_handler_awaits_coroutine_result", - "community": 32, - "norm_label": "test_test_connection_handler_awaits_coroutine_result()" - }, - { - "label": "test_test_connection_handler_no_op_without_callback()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L340", - "id": "ui_test_settings_nas_remote_test_test_connection_handler_no_op_without_callback", - "community": 32, - "norm_label": "test_test_connection_handler_no_op_without_callback()" - }, - { - "label": "test_save_emits_validated_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L360", - "id": "ui_test_settings_nas_remote_test_save_emits_validated_config", - "community": 32, - "norm_label": "test_save_emits_validated_config()" - }, - { - "label": "test_save_is_noop_when_no_handler_wired()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L372", - "id": "ui_test_settings_nas_remote_test_save_is_noop_when_no_handler_wired", - "community": 32, - "norm_label": "test_save_is_noop_when_no_handler_wired()" - }, - { - "label": "test_save_swallows_validation_error_and_does_not_emit()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L382", - "id": "ui_test_settings_nas_remote_test_save_swallows_validation_error_and_does_not_emit", - "community": 32, - "norm_label": "test_save_swallows_validation_error_and_does_not_emit()" - }, - { - "label": "test_discard_invokes_handler_with_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L403", - "id": "ui_test_settings_nas_remote_test_discard_invokes_handler_with_state", - "community": 32, - "norm_label": "test_discard_invokes_handler_with_state()" - }, - { - "label": "test_nav_click_selects_section_and_invokes_callback()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L421", - "id": "ui_test_settings_nas_remote_test_nav_click_selects_section_and_invokes_callback", - "community": 32, - "norm_label": "test_nav_click_selects_section_and_invokes_callback()" - }, - { - "label": "test_nav_click_without_callback_does_not_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L435", - "id": "ui_test_settings_nas_remote_test_nav_click_without_callback_does_not_raise", - "community": 32, - "norm_label": "test_nav_click_without_callback_does_not_raise()" - }, - { - "label": "test_equipment_add_appends_row()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L451", - "id": "ui_test_settings_nas_remote_test_equipment_add_appends_row", - "community": 32, - "norm_label": "test_equipment_add_appends_row()" - }, - { - "label": "test_equipment_add_rejects_duplicate_id()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L471", - "id": "ui_test_settings_nas_remote_test_equipment_add_rejects_duplicate_id", - "community": 32, - "norm_label": "test_equipment_add_rejects_duplicate_id()" - }, - { - "label": "test_equipment_add_rejects_invalid_id()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L488", - "id": "ui_test_settings_nas_remote_test_equipment_add_rejects_invalid_id", - "community": 32, - "norm_label": "test_equipment_add_rejects_invalid_id()" - }, - { - "label": "test_scan_ext_chip_remove_drops_entry()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L511", - "id": "ui_test_settings_nas_remote_test_scan_ext_chip_remove_drops_entry", - "community": 32, - "norm_label": "test_scan_ext_chip_remove_drops_entry()" - }, - { - "label": "test_scan_ext_chip_reset_restores_defaults()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L525", - "id": "ui_test_settings_nas_remote_test_scan_ext_chip_reset_restores_defaults", - "community": 32, - "norm_label": "test_scan_ext_chip_reset_restores_defaults()" - }, - { - "label": "test_scan_ext_chip_add_validates_leading_dot()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L541", - "id": "ui_test_settings_nas_remote_test_scan_ext_chip_add_validates_leading_dot", - "community": 32, - "norm_label": "test_scan_ext_chip_add_validates_leading_dot()" - }, - { - "label": "test_operators_chip_add_appends_value()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L571", - "id": "ui_test_settings_nas_remote_test_operators_chip_add_appends_value", - "community": 32, - "norm_label": "test_operators_chip_add_appends_value()" - }, - { - "label": "_ChangeEvent", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L597", - "id": "ui_test_settings_nas_remote_changeevent", - "community": 0, - "norm_label": "_changeevent" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L598", - "id": "ui_test_settings_nas_remote_changeevent_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": "_fire_change()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L602", - "id": "ui_test_settings_nas_remote_fire_change", - "community": 32, - "norm_label": "_fire_change()" - }, - { - "label": "test_autostart_toggle_invokes_setter()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L607", - "id": "ui_test_settings_nas_remote_test_autostart_toggle_invokes_setter", - "community": 32, - "norm_label": "test_autostart_toggle_invokes_setter()" - }, - { - "label": "test_autostart_toggle_reverts_when_setter_disagrees()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L620", - "id": "ui_test_settings_nas_remote_test_autostart_toggle_reverts_when_setter_disagrees", - "community": 32, - "norm_label": "test_autostart_toggle_reverts_when_setter_disagrees()" - }, - { - "label": "test_autostart_disabled_when_no_setter_wired()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L641", - "id": "ui_test_settings_nas_remote_test_autostart_disabled_when_no_setter_wired", - "community": 32, - "norm_label": "test_autostart_disabled_when_no_setter_wired()" - }, - { - "label": "test_quit_disabled_when_no_handler_wired()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L654", - "id": "ui_test_settings_nas_remote_test_quit_disabled_when_no_handler_wired", - "community": 32, - "norm_label": "test_quit_disabled_when_no_handler_wired()" - }, - { - "label": "test_quit_confirm_dialog_runs_callback()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L664", - "id": "ui_test_settings_nas_remote_test_quit_confirm_dialog_runs_callback", - "community": 32, - "norm_label": "test_quit_confirm_dialog_runs_callback()" - }, - { - "label": "test_render_returns_payload_dict_when_nicegui_unavailable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L691", - "id": "ui_test_settings_nas_remote_test_render_returns_payload_dict_when_nicegui_unavailable", - "community": 32, - "norm_label": "test_render_returns_payload_dict_when_nicegui_unavailable()" - }, - { - "label": "Tests for the Settings NAS-remote section (rclone.conf migration). The section", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L1", - "id": "ui_test_settings_nas_remote_rationale_1", - "community": 32, - "norm_label": "tests for the settings nas-remote section (rclone.conf migration). the section" - }, - { - "label": "Return the rendered body container for ``section`` (or the page).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L82", - "id": "ui_test_settings_nas_remote_rationale_82", - "community": 32, - "norm_label": "return the rendered body container for ``section`` (or the page)." - }, - { - "label": "Testids confined to one section body (the whole page renders all).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L91", - "id": "ui_test_settings_nas_remote_rationale_91", - "community": 32, - "norm_label": "testids confined to one section body (the whole page renders all)." - }, - { - "label": "Return the user callback registered for ``event_type`` on a widget. ``on_cl", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L130", - "id": "ui_test_settings_nas_remote_rationale_130", - "community": 32, - "norm_label": "return the user callback registered for ``event_type`` on a widget. ``on_cl" - }, - { - "label": "Pull the in-progress draft out of the Save handler's closure.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L155", - "id": "ui_test_settings_nas_remote_rationale_155", - "community": 32, - "norm_label": "pull the in-progress draft out of the save handler's closure." - }, - { - "label": "test_breadcrumb.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L1", - "id": "tests_unit_ui_test_breadcrumb_py", - "community": 223, - "norm_label": "test_breadcrumb.py" - }, - { - "label": "test_segments_from_none_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L11", - "id": "ui_test_breadcrumb_test_segments_from_none_returns_empty", - "community": 223, - "norm_label": "test_segments_from_none_returns_empty()" - }, - { - "label": "test_segments_from_empty_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L15", - "id": "ui_test_breadcrumb_test_segments_from_empty_returns_empty", - "community": 223, - "norm_label": "test_segments_from_empty_returns_empty()" - }, - { - "label": "test_segments_for_run_node()", - "file_type": "code", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L19", - "id": "ui_test_breadcrumb_test_segments_for_run_node", - "community": 223, - "norm_label": "test_segments_for_run_node()" - }, - { - "label": "test_segments_strip_empty_components()", - "file_type": "code", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L32", - "id": "ui_test_breadcrumb_test_segments_strip_empty_components", - "community": 223, - "norm_label": "test_segments_strip_empty_components()" - }, - { - "label": "Unit tests for ``ui/components/breadcrumb``. Redesign \u00a74.7 / decision 7A.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L1", - "id": "ui_test_breadcrumb_rationale_1", - "community": 223, - "norm_label": "unit tests for ``ui/components/breadcrumb``. redesign \u00a74.7 / decision 7a." - }, - { - "label": "A double-slash or trailing slash doesn't produce empty segments.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L33", - "id": "ui_test_breadcrumb_rationale_33", - "community": 223, - "norm_label": "a double-slash or trailing slash doesn't produce empty segments." - }, - { - "label": "test_sync_rollup.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L1", - "id": "tests_unit_ui_test_sync_rollup_py", - "community": 183, - "norm_label": "test_sync_rollup.py" - }, - { - "label": "test_empty_input_returns_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L15", - "id": "ui_test_sync_rollup_test_empty_input_returns_none", - "community": 183, - "norm_label": "test_empty_input_returns_none()" - }, - { - "label": "test_all_none_returns_none()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L19", - "id": "ui_test_sync_rollup_test_all_none_returns_none", - "community": 183, - "norm_label": "test_all_none_returns_none()" - }, - { - "label": "test_unknown_values_ignored()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L23", - "id": "ui_test_sync_rollup_test_unknown_values_ignored", - "community": 183, - "norm_label": "test_unknown_values_ignored()" - }, - { - "label": "test_single_status_rolls_up_to_itself()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L27", - "id": "ui_test_sync_rollup_test_single_status_rolls_up_to_itself", - "community": 183, - "norm_label": "test_single_status_rolls_up_to_itself()" - }, - { - "label": "test_failed_dominates_everything()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L31", - "id": "ui_test_sync_rollup_test_failed_dominates_everything", - "community": 183, - "norm_label": "test_failed_dominates_everything()" - }, - { - "label": "test_blocked_beats_pending_synced_cleaned()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L35", - "id": "ui_test_sync_rollup_test_blocked_beats_pending_synced_cleaned", - "community": 183, - "norm_label": "test_blocked_beats_pending_synced_cleaned()" - }, - { - "label": "test_pending_beats_synced_and_cleaned()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L39", - "id": "ui_test_sync_rollup_test_pending_beats_synced_and_cleaned", - "community": 183, - "norm_label": "test_pending_beats_synced_and_cleaned()" - }, - { - "label": "test_synced_beats_cleaned()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L43", - "id": "ui_test_sync_rollup_test_synced_beats_cleaned", - "community": 183, - "norm_label": "test_synced_beats_cleaned()" - }, - { - "label": "test_cleaned_is_lowest()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L47", - "id": "ui_test_sync_rollup_test_cleaned_is_lowest", - "community": 183, - "norm_label": "test_cleaned_is_lowest()" - }, - { - "label": "test_none_and_unknown_excluded_but_known_survives()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L51", - "id": "ui_test_sync_rollup_test_none_and_unknown_excluded_but_known_survives", - "community": 183, - "norm_label": "test_none_and_unknown_excluded_but_known_survives()" - }, - { - "label": "test_full_severity_order()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L55", - "id": "ui_test_sync_rollup_test_full_severity_order", - "community": 183, - "norm_label": "test_full_severity_order()" - }, - { - "label": "test_accepts_syncstatus_enum_members_directly()", - "file_type": "code", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L63", - "id": "ui_test_sync_rollup_test_accepts_syncstatus_enum_members_directly", - "community": 183, - "norm_label": "test_accepts_syncstatus_enum_members_directly()" - }, - { - "label": "Unit tests for the folder-level sync-status rollup (Redesign \u00a74.6).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L1", - "id": "ui_test_sync_rollup_rationale_1", - "community": 183, - "norm_label": "unit tests for the folder-level sync-status rollup (redesign \u00a74.6)." - }, - { - "label": "failed > blocked > pending > synced > cleaned: each prefix's rollup is its f", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L56", - "id": "ui_test_sync_rollup_rationale_56", - "community": 183, - "norm_label": "failed > blocked > pending > synced > cleaned: each prefix's rollup is its f" - }, - { - "label": "SyncStatus is a StrEnum, so passing members (not .value strings) works. Gua", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L64", - "id": "ui_test_sync_rollup_rationale_64", - "community": 183, - "norm_label": "syncstatus is a strenum, so passing members (not .value strings) works. gua" - }, - { - "label": "test_factories_smoke.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L1", - "id": "tests_unit_ui_test_factories_smoke_py", - "community": 66, - "norm_label": "test_factories_smoke.py" - }, - { - "label": "_slot()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L50", - "id": "ui_test_factories_smoke_slot", - "community": 66, - "norm_label": "_slot()" - }, - { - "label": "test_smoke_mode_badge_renders_in_slot()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L56", - "id": "ui_test_factories_smoke_test_smoke_mode_badge_renders_in_slot", - "community": 66, - "norm_label": "test_smoke_mode_badge_renders_in_slot()" - }, - { - "label": "test_smoke_test_run_badge_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L65", - "id": "ui_test_factories_smoke_test_smoke_test_run_badge_renders", - "community": 66, - "norm_label": "test_smoke_test_run_badge_renders()" - }, - { - "label": "test_smoke_override_badge_renders_with_callback()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L71", - "id": "ui_test_factories_smoke_test_smoke_override_badge_renders_with_callback", - "community": 66, - "norm_label": "test_smoke_override_badge_renders_with_callback()" - }, - { - "label": "test_smoke_sync_status_icon_renders_each_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L81", - "id": "ui_test_factories_smoke_test_smoke_sync_status_icon_renders_each_state", - "community": 66, - "norm_label": "test_smoke_sync_status_icon_renders_each_state()" - }, - { - "label": "test_smoke_session_progress_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L97", - "id": "ui_test_factories_smoke_test_smoke_session_progress_renders", - "community": 66, - "norm_label": "test_smoke_session_progress_renders()" - }, - { - "label": "test_smoke_credential_field_renders_each_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L112", - "id": "ui_test_factories_smoke_test_smoke_credential_field_renders_each_state", - "community": 66, - "norm_label": "test_smoke_credential_field_renders_each_state()" - }, - { - "label": "_credential_testids()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L128", - "id": "ui_test_factories_smoke_credential_testids", - "community": 66, - "norm_label": "_credential_testids()" - }, - { - "label": "test_credential_field_editing_state_renders_a_password_input()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L138", - "id": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", - "community": 66, - "norm_label": "test_credential_field_editing_state_renders_a_password_input()" - }, - { - "label": "test_credential_field_not_set_state_renders_set_button_without_input()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L160", - "id": "ui_test_factories_smoke_test_credential_field_not_set_state_renders_set_button_without_input", - "community": 66, - "norm_label": "test_credential_field_not_set_state_renders_set_button_without_input()" - }, - { - "label": "test_credential_field_set_state_renders_replace_and_clear_buttons()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L174", - "id": "ui_test_factories_smoke_test_credential_field_set_state_renders_replace_and_clear_buttons", - "community": 66, - "norm_label": "test_credential_field_set_state_renders_replace_and_clear_buttons()" - }, - { - "label": "test_smoke_test_connection_panel_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L188", - "id": "ui_test_factories_smoke_test_smoke_test_connection_panel_renders", - "community": 66, - "norm_label": "test_smoke_test_connection_panel_renders()" - }, - { - "label": "test_smoke_filter_chips_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L204", - "id": "ui_test_factories_smoke_test_smoke_filter_chips_renders", - "community": 66, - "norm_label": "test_smoke_filter_chips_renders()" - }, - { - "label": "test_smoke_status_bar_segment_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L214", - "id": "ui_test_factories_smoke_test_smoke_status_bar_segment_renders", - "community": 66, - "norm_label": "test_smoke_status_bar_segment_renders()" - }, - { - "label": "test_smoke_banner_stack_renders_with_active_banners()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L233", - "id": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", - "community": 353, - "norm_label": "test_smoke_banner_stack_renders_with_active_banners()" - }, - { - "label": "test_smoke_operations_modal_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L247", - "id": "ui_test_factories_smoke_test_smoke_operations_modal_renders", - "community": 66, - "norm_label": "test_smoke_operations_modal_renders()" - }, - { - "label": "test_smoke_bandwidth_schedule_editor_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L277", - "id": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders", - "community": 66, - "norm_label": "test_smoke_bandwidth_schedule_editor_renders()" - }, - { - "label": "test_smoke_validation_summary_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L301", - "id": "ui_test_factories_smoke_test_smoke_validation_summary_renders", - "community": 66, - "norm_label": "test_smoke_validation_summary_renders()" - }, - { - "label": "test_smoke_tree_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L326", - "id": "ui_test_factories_smoke_test_smoke_tree_renders", - "community": 66, - "norm_label": "test_smoke_tree_renders()" - }, - { - "label": "test_smoke_welcome_page_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L348", - "id": "ui_test_factories_smoke_test_smoke_welcome_page_renders", - "community": 66, - "norm_label": "test_smoke_welcome_page_renders()" - }, - { - "label": "test_smoke_file_explorer_page_renders_setup_complete()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L356", - "id": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_complete", - "community": 66, - "norm_label": "test_smoke_file_explorer_page_renders_setup_complete()" - }, - { - "label": "test_smoke_file_explorer_page_renders_setup_incomplete()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L373", - "id": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_incomplete", - "community": 353, - "norm_label": "test_smoke_file_explorer_page_renders_setup_incomplete()" - }, - { - "label": "test_smoke_wizard_project_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L389", - "id": "ui_test_factories_smoke_test_smoke_wizard_project_renders", - "community": 66, - "norm_label": "test_smoke_wizard_project_renders()" - }, - { - "label": "test_smoke_wizard_run_renders_test_mode()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L397", - "id": "ui_test_factories_smoke_test_smoke_wizard_run_renders_test_mode", - "community": 66, - "norm_label": "test_smoke_wizard_run_renders_test_mode()" - }, - { - "label": "test_smoke_wizard_run_renders_experimental_mode()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L405", - "id": "ui_test_factories_smoke_test_smoke_wizard_run_renders_experimental_mode", - "community": 66, - "norm_label": "test_smoke_wizard_run_renders_experimental_mode()" - }, - { - "label": "test_smoke_settings_page_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L413", - "id": "ui_test_factories_smoke_test_smoke_settings_page_renders", - "community": 66, - "norm_label": "test_smoke_settings_page_renders()" - }, - { - "label": "test_smoke_settings_page_each_section_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L422", - "id": "ui_test_factories_smoke_test_smoke_settings_page_each_section_renders", - "community": 66, - "norm_label": "test_smoke_settings_page_each_section_renders()" - }, - { - "label": "test_smoke_settings_page_setup_incomplete_auto_selects_first()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L432", - "id": "ui_test_factories_smoke_test_smoke_settings_page_setup_incomplete_auto_selects_first", - "community": 66, - "norm_label": "test_smoke_settings_page_setup_incomplete_auto_selects_first()" - }, - { - "label": "test_settings_lims_section_renders_credential_field_with_e2e_hooks()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L446", - "id": "ui_test_factories_smoke_test_settings_lims_section_renders_credential_field_with_e2e_hooks", - "community": 66, - "norm_label": "test_settings_lims_section_renders_credential_field_with_e2e_hooks()" - }, - { - "label": "test_settings_lims_section_credential_field_opens_set_when_password_present()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L461", - "id": "ui_test_factories_smoke_test_settings_lims_section_credential_field_opens_set_when_password_present", - "community": 66, - "norm_label": "test_settings_lims_section_credential_field_opens_set_when_password_present()" - }, - { - "label": "test_smoke_problems_page_renders()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L475", - "id": "ui_test_factories_smoke_test_smoke_problems_page_renders", - "community": 66, - "norm_label": "test_smoke_problems_page_renders()" - }, - { - "label": "test_smoke_problems_page_renders_empty_state()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L507", - "id": "ui_test_factories_smoke_test_smoke_problems_page_renders_empty_state", - "community": 66, - "norm_label": "test_smoke_problems_page_renders_empty_state()" - }, - { - "label": "test_smoke_register_theme_returns_css()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L520", - "id": "ui_test_factories_smoke_test_smoke_register_theme_returns_css", - "community": 66, - "norm_label": "test_smoke_register_theme_returns_css()" - }, - { - "label": "test_smoke_bind_global_shortcuts_does_not_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L525", - "id": "ui_test_factories_smoke_test_smoke_bind_global_shortcuts_does_not_raise", - "community": 66, - "norm_label": "test_smoke_bind_global_shortcuts_does_not_raise()" - }, - { - "label": "Smoke tests that invoke the NiceGUI factory functions. The factory functions cr", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L1", - "id": "ui_test_factories_smoke_rationale_1", - "community": 66, - "norm_label": "smoke tests that invoke the nicegui factory functions. the factory functions cr" - }, - { - "label": "Return a NiceGUI slot we can use as a parent for factory calls.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L51", - "id": "ui_test_factories_smoke_rationale_51", - "community": 66, - "norm_label": "return a nicegui slot we can use as a parent for factory calls." - }, - { - "label": "Collect every ``data-testid`` in an element's subtree.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L129", - "id": "ui_test_factories_smoke_rationale_129", - "community": 66, - "norm_label": "collect every ``data-testid`` in an element's subtree." - }, - { - "label": "Regression: the editing state must expose an inline password input.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L139", - "id": "ui_test_factories_smoke_rationale_139", - "community": 66, - "norm_label": "regression: the editing state must expose an inline password input." - }, - { - "label": "The LIMS section must expose the password credential row.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L447", - "id": "ui_test_factories_smoke_rationale_447", - "community": 66, - "norm_label": "the lims section must expose the password credential row." - }, - { - "label": "test_design.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L1", - "id": "tests_unit_ui_test_design_py", - "community": 301, - "norm_label": "test_design.py" - }, - { - "label": "test_primary_palette_matches_designmd()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L14", - "id": "ui_test_design_test_primary_palette_matches_designmd", - "community": 301, - "norm_label": "test_primary_palette_matches_designmd()" - }, - { - "label": "test_ui_refresh_surface_tokens_match_designmd()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L29", - "id": "ui_test_design_test_ui_refresh_surface_tokens_match_designmd", - "community": 301, - "norm_label": "test_ui_refresh_surface_tokens_match_designmd()" - }, - { - "label": "test_okabe_ito_palette_matches_designmd()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L48", - "id": "ui_test_design_test_okabe_ito_palette_matches_designmd", - "community": 301, - "norm_label": "test_okabe_ito_palette_matches_designmd()" - }, - { - "label": "test_semantic_aliases_are_okabe_ito()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L61", - "id": "ui_test_design_test_semantic_aliases_are_okabe_ito", - "community": 462, - "norm_label": "test_semantic_aliases_are_okabe_ito()" - }, - { - "label": "test_warning_token_is_oi_orange()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L70", - "id": "ui_test_design_test_warning_token_is_oi_orange", - "community": 468, - "norm_label": "test_warning_token_is_oi_orange()" - }, - { - "label": "test_typography_uses_frontend_override()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L76", - "id": "ui_test_design_test_typography_uses_frontend_override", - "community": 470, - "norm_label": "test_typography_uses_frontend_override()" - }, - { - "label": "test_type_scale_matches_designmd()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L86", - "id": "ui_test_design_test_type_scale_matches_designmd", - "community": 458, - "norm_label": "test_type_scale_matches_designmd()" - }, - { - "label": "test_spacing_scale_4px_grid()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L100", - "id": "ui_test_design_test_spacing_scale_4px_grid", - "community": 465, - "norm_label": "test_spacing_scale_4px_grid()" - }, - { - "label": "test_radius_tokens_match_designmd()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L117", - "id": "ui_test_design_test_radius_tokens_match_designmd", - "community": 463, - "norm_label": "test_radius_tokens_match_designmd()" - }, - { - "label": "test_shadows_are_navy_tinted()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L126", - "id": "ui_test_design_test_shadows_are_navy_tinted", - "community": 461, - "norm_label": "test_shadows_are_navy_tinted()" - }, - { - "label": "test_motion_tokens_match_designmd()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L133", - "id": "ui_test_design_test_motion_tokens_match_designmd", - "community": 459, - "norm_label": "test_motion_tokens_match_designmd()" - }, - { - "label": "test_okabe_ito_series_order_is_fixed()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L140", - "id": "ui_test_design_test_okabe_ito_series_order_is_fixed", - "community": 457, - "norm_label": "test_okabe_ito_series_order_is_fixed()" - }, - { - "label": "test_vermilion_is_last_in_series()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L154", - "id": "ui_test_design_test_vermilion_is_last_in_series", - "community": 460, - "norm_label": "test_vermilion_is_last_in_series()" - }, - { - "label": "test_no_blue_collision_in_series_first_six()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L160", - "id": "ui_test_design_test_no_blue_collision_in_series_first_six", - "community": 466, - "norm_label": "test_no_blue_collision_in_series_first_six()" - }, - { - "label": "test_badge_text_variants_are_wcag_aa()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L171", - "id": "ui_test_design_test_badge_text_variants_are_wcag_aa", - "community": 464, - "norm_label": "test_badge_text_variants_are_wcag_aa()" - }, - { - "label": "test_alert_text_variants_match_designmd()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L183", - "id": "ui_test_design_test_alert_text_variants_match_designmd", - "community": 469, - "norm_label": "test_alert_text_variants_match_designmd()" - }, - { - "label": "test_yellow_is_present_but_only_for_fills()", - "file_type": "code", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L194", - "id": "ui_test_design_test_yellow_is_present_but_only_for_fills", - "community": 467, - "norm_label": "test_yellow_is_present_but_only_for_fills()" - }, - { - "label": "Token-equality tests for :mod:`exlab_wizard.ui.design`. The tests assert each c", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L1", - "id": "ui_test_design_rationale_1", - "community": 301, - "norm_label": "token-equality tests for :mod:`exlab_wizard.ui.design`. the tests assert each c" - }, - { - "label": "Primary palette hexes are verbatim from DESIGN.md \u00a701.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L15", - "id": "ui_test_design_rationale_15", - "community": 301, - "norm_label": "primary palette hexes are verbatim from design.md \u00a701." - }, - { - "label": "Main-window refresh surface tokens (DESIGN.md \u00a702 UI Chrome Palette). Sever", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L30", - "id": "ui_test_design_rationale_30", - "community": 301, - "norm_label": "main-window refresh surface tokens (design.md \u00a702 ui chrome palette). sever" - }, - { - "label": "Okabe-Ito hexes are verbatim from DESIGN.md \u00a701.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L49", - "id": "ui_test_design_rationale_49", - "community": 301, - "norm_label": "okabe-ito hexes are verbatim from design.md \u00a701." - }, - { - "label": "Semantic tokens alias the Okabe-Ito palette per DESIGN.md \u00a701.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L62", - "id": "ui_test_design_rationale_62", - "community": 462, - "norm_label": "semantic tokens alias the okabe-ito palette per design.md \u00a701." - }, - { - "label": "Frontend \u00a72.1.4: warning is canonically ``--oi-orange``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L71", - "id": "ui_test_design_rationale_71", - "community": 468, - "norm_label": "frontend \u00a72.1.4: warning is canonically ``--oi-orange``." - }, - { - "label": "Frontend \u00a72.1.3 overrides DM Sans / DM Mono with IBM Plex / system mono.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L77", - "id": "ui_test_design_rationale_77", - "community": 470, - "norm_label": "frontend \u00a72.1.3 overrides dm sans / dm mono with ibm plex / system mono." - }, - { - "label": "Type scale tokens are verbatim from DESIGN.md \u00a702.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L87", - "id": "ui_test_design_rationale_87", - "community": 458, - "norm_label": "type scale tokens are verbatim from design.md \u00a702." - }, - { - "label": "Spacing tokens follow the 4px grid (DESIGN.md \u00a703).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L101", - "id": "ui_test_design_rationale_101", - "community": 465, - "norm_label": "spacing tokens follow the 4px grid (design.md \u00a703)." - }, - { - "label": "Border radius tokens (DESIGN.md \u00a704).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L118", - "id": "ui_test_design_rationale_118", - "community": 463, - "norm_label": "border radius tokens (design.md \u00a704)." - }, - { - "label": "All shadow definitions use ``rgba(0,54,96,...)`` (DESIGN.md \u00a704).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L127", - "id": "ui_test_design_rationale_127", - "community": 461, - "norm_label": "all shadow definitions use ``rgba(0,54,96,...)`` (design.md \u00a704)." - }, - { - "label": "Motion tokens (DESIGN.md \u00a707).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L134", - "id": "ui_test_design_rationale_134", - "community": 459, - "norm_label": "motion tokens (design.md \u00a707)." - }, - { - "label": "Series order is fixed (DESIGN.md absolute constraint).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L141", - "id": "ui_test_design_rationale_141", - "community": 457, - "norm_label": "series order is fixed (design.md absolute constraint)." - }, - { - "label": "Vermilion is reserved for the error / alert series (DESIGN.md \u00a706).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L155", - "id": "ui_test_design_rationale_155", - "community": 460, - "norm_label": "vermilion is reserved for the error / alert series (design.md \u00a706)." - }, - { - "label": "Frontend rules (DESIGN.md): series 5 is OI_BLUE but only after 4 prior series.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L161", - "id": "ui_test_design_rationale_161", - "community": 466, - "norm_label": "frontend rules (design.md): series 5 is oi_blue but only after 4 prior series." - }, - { - "label": "Badge text variants are the documented darkened hexes (DESIGN.md \u00a705).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L172", - "id": "ui_test_design_rationale_172", - "community": 464, - "norm_label": "badge text variants are the documented darkened hexes (design.md \u00a705)." - }, - { - "label": "Alert text variants are the documented hexes (DESIGN.md \u00a705).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L184", - "id": "ui_test_design_rationale_184", - "community": 469, - "norm_label": "alert text variants are the documented hexes (design.md \u00a705)." - }, - { - "label": "``#F0E442`` is exposed as a token but never used for chrome. The chip strip", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L195", - "id": "ui_test_design_rationale_195", - "community": 467, - "norm_label": "``#f0e442`` is exposed as a token but never used for chrome. the chip strip" - }, - { - "label": "test_travelling_badge.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L1", - "id": "tests_unit_ui_test_travelling_badge_py", - "community": 143, - "norm_label": "test_travelling_badge.py" - }, - { - "label": "_hard()", - "file_type": "code", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L17", - "id": "ui_test_travelling_badge_hard", - "community": 143, - "norm_label": "_hard()" - }, - { - "label": "_soft()", - "file_type": "code", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L21", - "id": "ui_test_travelling_badge_soft", - "community": 143, - "norm_label": "_soft()" - }, - { - "label": "test_badge_on_root_when_all_collapsed()", - "file_type": "code", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L25", - "id": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed", - "community": 143, - "norm_label": "test_badge_on_root_when_all_collapsed()" - }, - { - "label": "test_badge_travels_inward_as_nodes_expand()", - "file_type": "code", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L34", - "id": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand", - "community": 143, - "norm_label": "test_badge_travels_inward_as_nodes_expand()" - }, - { - "label": "test_badge_lands_on_leaf_when_fully_expanded()", - "file_type": "code", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L41", - "id": "ui_test_travelling_badge_test_badge_lands_on_leaf_when_fully_expanded", - "community": 143, - "norm_label": "test_badge_lands_on_leaf_when_fully_expanded()" - }, - { - "label": "test_red_beats_amber_when_aggregated_on_same_node()", - "file_type": "code", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L52", - "id": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", - "community": 143, - "norm_label": "test_red_beats_amber_when_aggregated_on_same_node()" - }, - { - "label": "test_amber_only_when_no_hard_findings()", - "file_type": "code", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L62", - "id": "ui_test_travelling_badge_test_amber_only_when_no_hard_findings", - "community": 143, - "norm_label": "test_amber_only_when_no_hard_findings()" - }, - { - "label": "test_two_equipment_get_independent_badges()", - "file_type": "code", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L68", - "id": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", - "community": 143, - "norm_label": "test_two_equipment_get_independent_badges()" - }, - { - "label": "Unit tests for the travelling problem-badge pure function. GUI/Orchestrator Red", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L1", - "id": "ui_test_travelling_badge_rationale_1", - "community": 143, - "norm_label": "unit tests for the travelling problem-badge pure function. gui/orchestrator red" - }, - { - "label": "All collapsed: the badge lives on the shallowest collapsed ancestor \u2014 the ro", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L26", - "id": "ui_test_travelling_badge_rationale_26", - "community": 143, - "norm_label": "all collapsed: the badge lives on the shallowest collapsed ancestor \u2014 the ro" - }, - { - "label": "Expanding the equipment node moves the badge to the project.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L35", - "id": "ui_test_travelling_badge_rationale_35", - "community": 143, - "norm_label": "expanding the equipment node moves the badge to the project." - }, - { - "label": "test_wizard_project_page.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L1", - "id": "tests_unit_ui_test_wizard_project_page_py", - "community": 100, - "norm_label": "test_wizard_project_page.py" - }, - { - "label": "test_can_advance_equipment_step_requires_selection()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L30", - "id": "ui_test_wizard_project_page_test_can_advance_equipment_step_requires_selection", - "community": 100, - "norm_label": "test_can_advance_equipment_step_requires_selection()" - }, - { - "label": "test_can_advance_variables_step_always_true()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L37", - "id": "ui_test_wizard_project_page_test_can_advance_variables_step_always_true", - "community": 100, - "norm_label": "test_can_advance_variables_step_always_true()" - }, - { - "label": "test_can_advance_confirm_step_always_true()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L45", - "id": "ui_test_wizard_project_page_test_can_advance_confirm_step_always_true", - "community": 100, - "norm_label": "test_can_advance_confirm_step_always_true()" - }, - { - "label": "test_can_advance_default_step_is_lims_project()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L49", - "id": "ui_test_wizard_project_page_test_can_advance_default_step_is_lims_project", - "community": 100, - "norm_label": "test_can_advance_default_step_is_lims_project()" - }, - { - "label": "test_can_advance_readme_blocks_on_partial_core_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L58", - "id": "ui_test_wizard_project_page_test_can_advance_readme_blocks_on_partial_core_fields", - "community": 100, - "norm_label": "test_can_advance_readme_blocks_on_partial_core_fields()" - }, - { - "label": "test_disk_space_message_none_when_unknown()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L71", - "id": "ui_test_wizard_project_page_test_disk_space_message_none_when_unknown", - "community": 100, - "norm_label": "test_disk_space_message_none_when_unknown()" - }, - { - "label": "test_disk_space_message_none_when_ample()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L76", - "id": "ui_test_wizard_project_page_test_disk_space_message_none_when_ample", - "community": 100, - "norm_label": "test_disk_space_message_none_when_ample()" - }, - { - "label": "test_disk_space_message_present_just_below_threshold()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L81", - "id": "ui_test_wizard_project_page_test_disk_space_message_present_just_below_threshold", - "community": 100, - "norm_label": "test_disk_space_message_present_just_below_threshold()" - }, - { - "label": "test_state_lims_project_name_defaults_empty_and_is_settable()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L92", - "id": "ui_test_wizard_project_page_test_state_lims_project_name_defaults_empty_and_is_settable", - "community": 100, - "norm_label": "test_state_lims_project_name_defaults_empty_and_is_settable()" - }, - { - "label": "test_render_project_wizard_with_choices_does_not_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L104", - "id": "ui_test_wizard_project_page_test_render_project_wizard_with_choices_does_not_raise", - "community": 100, - "norm_label": "test_render_project_wizard_with_choices_does_not_raise()" - }, - { - "label": "test_render_project_wizard_with_empty_choices_does_not_raise()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L114", - "id": "ui_test_wizard_project_page_test_render_project_wizard_with_empty_choices_does_not_raise", - "community": 100, - "norm_label": "test_render_project_wizard_with_empty_choices_does_not_raise()" - }, - { - "label": "test_render_project_wizard_defaults_state_when_omitted()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L123", - "id": "ui_test_wizard_project_page_test_render_project_wizard_defaults_state_when_omitted", - "community": 100, - "norm_label": "test_render_project_wizard_defaults_state_when_omitted()" - }, - { - "label": "test_wizard_project_step_titles_cover_every_step()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L128", - "id": "ui_test_wizard_project_page_test_wizard_project_step_titles_cover_every_step", - "community": 100, - "norm_label": "test_wizard_project_step_titles_cover_every_step()" - }, - { - "label": "Tests for the New Project Wizard helpers (gaps not covered by test_pages). ``te", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L1", - "id": "ui_test_wizard_project_page_rationale_1", - "community": 100, - "norm_label": "tests for the new project wizard helpers (gaps not covered by test_pages). ``te" - }, - { - "label": "test_folder_feed.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L1", - "id": "tests_unit_ui_test_folder_feed_py", - "community": 97, - "norm_label": "test_folder_feed.py" - }, - { - "label": "test_folder_feed_start_then_stop_calls_fetch_at_least_once()", - "file_type": "code", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L18", - "id": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once", - "community": 97, - "norm_label": "test_folder_feed_start_then_stop_calls_fetch_at_least_once()" - }, - { - "label": "test_folder_feed_switching_paths_stops_previous()", - "file_type": "code", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L34", - "id": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous", - "community": 97, - "norm_label": "test_folder_feed_switching_paths_stops_previous()" - }, - { - "label": "test_folder_feed_pause_skips_fetch()", - "file_type": "code", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L53", - "id": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", - "community": 97, - "norm_label": "test_folder_feed_pause_skips_fetch()" - }, - { - "label": "test_refresh_coordinator_coalesces_within_window()", - "file_type": "code", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L73", - "id": "ui_test_folder_feed_test_refresh_coordinator_coalesces_within_window", - "community": 97, - "norm_label": "test_refresh_coordinator_coalesces_within_window()" - }, - { - "label": "Unit tests for the folder-feed + refresh-coordinator client modules. GUI/Orches", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L1", - "id": "ui_test_folder_feed_rationale_1", - "community": 97, - "norm_label": "unit tests for the folder-feed + refresh-coordinator client modules. gui/orches" - }, - { - "label": "test_catalogue.py", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L1", - "id": "tests_unit_lims_test_catalogue_py", - "community": 137, - "norm_label": "test_catalogue.py" - }, - { - "label": "_make_catalogue()", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L14", - "id": "lims_test_catalogue_make_catalogue", - "community": 137, - "norm_label": "_make_catalogue()" - }, - { - "label": "test_round_trip_via_write_then_read()", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L36", - "id": "lims_test_catalogue_test_round_trip_via_write_then_read", - "community": 137, - "norm_label": "test_round_trip_via_write_then_read()" - }, - { - "label": "test_read_missing_file_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L48", - "id": "lims_test_catalogue_test_read_missing_file_raises", - "community": 137, - "norm_label": "test_read_missing_file_raises()" - }, - { - "label": "test_read_invalid_json_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L53", - "id": "lims_test_catalogue_test_read_invalid_json_raises", - "community": 137, - "norm_label": "test_read_invalid_json_raises()" - }, - { - "label": "test_read_non_object_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L60", - "id": "lims_test_catalogue_test_read_non_object_raises", - "community": 137, - "norm_label": "test_read_non_object_raises()" - }, - { - "label": "test_schema_version_mismatch_treated_as_absent()", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L67", - "id": "lims_test_catalogue_test_schema_version_mismatch_treated_as_absent", - "community": 137, - "norm_label": "test_schema_version_mismatch_treated_as_absent()" - }, - { - "label": "test_endpoint_mismatch_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L85", - "id": "lims_test_catalogue_test_endpoint_mismatch_raises", - "community": 137, - "norm_label": "test_endpoint_mismatch_raises()" - }, - { - "label": "test_write_creates_parent_directory()", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L93", - "id": "lims_test_catalogue_test_write_creates_parent_directory", - "community": 137, - "norm_label": "test_write_creates_parent_directory()" - }, - { - "label": "test_write_atomic_replaces_previous_file()", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L100", - "id": "lims_test_catalogue_test_write_atomic_replaces_previous_file", - "community": 137, - "norm_label": "test_write_atomic_replaces_previous_file()" - }, - { - "label": "test_read_handles_missing_projects_array()", - "file_type": "code", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L121", - "id": "lims_test_catalogue_test_read_handles_missing_projects_array", - "community": 137, - "norm_label": "test_read_handles_missing_projects_array()" - }, - { - "label": "Tests for the offline LIMS-project catalogue I/O. Backend Spec \u00a77.2.9.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L1", - "id": "lims_test_catalogue_rationale_1", - "community": 137, - "norm_label": "tests for the offline lims-project catalogue i/o. backend spec \u00a77.2.9." - }, - { - "label": "test_keyring_store.py", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L1", - "id": "tests_unit_lims_test_keyring_store_py", - "community": 26, - "norm_label": "test_keyring_store.py" - }, - { - "label": "_InMemoryKeyring", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L25", - "id": "lims_test_keyring_store_inmemorykeyring", - "community": 26, - "norm_label": "_inmemorykeyring" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L30", - "id": "lims_test_keyring_store_inmemorykeyring_init", - "community": 26, - "norm_label": ".__init__()" - }, - { - "label": ".get_password()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L33", - "id": "lims_test_keyring_store_inmemorykeyring_get_password", - "community": 26, - "norm_label": ".get_password()" - }, - { - "label": ".set_password()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L36", - "id": "lims_test_keyring_store_inmemorykeyring_set_password", - "community": 26, - "norm_label": ".set_password()" - }, - { - "label": ".delete_password()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L39", - "id": "lims_test_keyring_store_inmemorykeyring_delete_password", - "community": 26, - "norm_label": ".delete_password()" - }, - { - "label": "_BrokenKeyring", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L45", - "id": "lims_test_keyring_store_brokenkeyring", - "community": 26, - "norm_label": "_brokenkeyring" - }, - { - "label": ".get_password()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L50", - "id": "lims_test_keyring_store_brokenkeyring_get_password", - "community": 26, - "norm_label": ".get_password()" - }, - { - "label": ".set_password()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L53", - "id": "lims_test_keyring_store_brokenkeyring_set_password", - "community": 26, - "norm_label": ".set_password()" - }, - { - "label": ".delete_password()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L56", - "id": "lims_test_keyring_store_brokenkeyring_delete_password", - "community": 26, - "norm_label": ".delete_password()" - }, - { - "label": "_swap_keyring()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L61", - "id": "lims_test_keyring_store_swap_keyring", - "community": 26, - "norm_label": "_swap_keyring()" - }, - { - "label": "test_set_get_delete_via_os_keyring()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L70", - "id": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", - "community": 26, - "norm_label": "test_set_get_delete_via_os_keyring()" - }, - { - "label": "test_get_returns_none_for_missing()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L79", - "id": "lims_test_keyring_store_test_get_returns_none_for_missing", - "community": 26, - "norm_label": "test_get_returns_none_for_missing()" - }, - { - "label": "test_delete_missing_is_silent()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L85", - "id": "lims_test_keyring_store_test_delete_missing_is_silent", - "community": 26, - "norm_label": "test_delete_missing_is_silent()" - }, - { - "label": "test_is_keyring_available_true()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L93", - "id": "lims_test_keyring_store_test_is_keyring_available_true", - "community": 26, - "norm_label": "test_is_keyring_available_true()" - }, - { - "label": "test_is_keyring_available_false_on_broken_backend()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L99", - "id": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend", - "community": 26, - "norm_label": "test_is_keyring_available_false_on_broken_backend()" - }, - { - "label": "test_fallback_round_trip()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L105", - "id": "lims_test_keyring_store_test_fallback_round_trip", - "community": 26, - "norm_label": "test_fallback_round_trip()" - }, - { - "label": "test_fallback_delete()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L122", - "id": "lims_test_keyring_store_test_fallback_delete", - "community": 26, - "norm_label": "test_fallback_delete()" - }, - { - "label": "test_fallback_wrong_passphrase_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L138", - "id": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", - "community": 26, - "norm_label": "test_fallback_wrong_passphrase_raises()" - }, - { - "label": "test_fallback_no_passphrase_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L155", - "id": "lims_test_keyring_store_test_fallback_no_passphrase_raises", - "community": 26, - "norm_label": "test_fallback_no_passphrase_raises()" - }, - { - "label": "test_fallback_empty_passphrase_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L162", - "id": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", - "community": 26, - "norm_label": "test_fallback_empty_passphrase_raises()" - }, - { - "label": "test_fallback_file_format_integrity()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L169", - "id": "lims_test_keyring_store_test_fallback_file_format_integrity", - "community": 26, - "norm_label": "test_fallback_file_format_integrity()" - }, - { - "label": "test_fallback_corrupt_file_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L185", - "id": "lims_test_keyring_store_test_fallback_corrupt_file_raises", - "community": 26, - "norm_label": "test_fallback_corrupt_file_raises()" - }, - { - "label": "test_fallback_unsupported_version_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L198", - "id": "lims_test_keyring_store_test_fallback_unsupported_version_raises", - "community": 26, - "norm_label": "test_fallback_unsupported_version_raises()" - }, - { - "label": "test_fallback_missing_fields_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L212", - "id": "lims_test_keyring_store_test_fallback_missing_fields_raises", - "community": 26, - "norm_label": "test_fallback_missing_fields_raises()" - }, - { - "label": "test_fallback_set_then_overwrite()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L224", - "id": "lims_test_keyring_store_test_fallback_set_then_overwrite", - "community": 26, - "norm_label": "test_fallback_set_then_overwrite()" - }, - { - "label": "test_keyring_set_failure_falls_back()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L236", - "id": "lims_test_keyring_store_test_keyring_set_failure_falls_back", - "community": 26, - "norm_label": "test_keyring_set_failure_falls_back()" - }, - { - "label": "test_is_keyring_available_false_on_unexpected_exception()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L249", - "id": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception", - "community": 26, - "norm_label": "test_is_keyring_available_false_on_unexpected_exception()" - }, - { - "label": "test_fallback_get_when_no_secrets_file()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L269", - "id": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", - "community": 26, - "norm_label": "test_fallback_get_when_no_secrets_file()" - }, - { - "label": "test_fallback_delete_when_no_file()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L281", - "id": "lims_test_keyring_store_test_fallback_delete_when_no_file", - "community": 26, - "norm_label": "test_fallback_delete_when_no_file()" - }, - { - "label": "test_fallback_delete_when_username_absent()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L292", - "id": "lims_test_keyring_store_test_fallback_delete_when_username_absent", - "community": 26, - "norm_label": "test_fallback_delete_when_username_absent()" - }, - { - "label": "test_load_fallback_unreadable_path_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L306", - "id": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", - "community": 26, - "norm_label": "test_load_fallback_unreadable_path_raises()" - }, - { - "label": "test_fallback_plaintext_must_be_object()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L324", - "id": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", - "community": 26, - "norm_label": "test_fallback_plaintext_must_be_object()" - }, - { - "label": "test_envelope_must_be_object()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L360", - "id": "lims_test_keyring_store_test_envelope_must_be_object", - "community": 26, - "norm_label": "test_envelope_must_be_object()" - }, - { - "label": "test_get_consults_fallback_when_keyring_missing()", - "file_type": "code", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L373", - "id": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", - "community": 26, - "norm_label": "test_get_consults_fallback_when_keyring_missing()" - }, - { - "label": "Tests for :class:`exlab_wizard.lims.keyring_store.KeyringStore`. The OS-keyring", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L1", - "id": "lims_test_keyring_store_rationale_1", - "community": 26, - "norm_label": "tests for :class:`exlab_wizard.lims.keyring_store.keyringstore`. the os-keyring" - }, - { - "label": "Trivial in-memory keyring backend used to drive the OS-keyring path.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L26", - "id": "lims_test_keyring_store_rationale_26", - "community": 26, - "norm_label": "trivial in-memory keyring backend used to drive the os-keyring path." - }, - { - "label": "Keyring backend that raises on every operation.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L46", - "id": "lims_test_keyring_store_rationale_46", - "community": 26, - "norm_label": "keyring backend that raises on every operation." - }, - { - "label": "Set + get via the encrypted fallback (no OS keyring).", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L106", - "id": "lims_test_keyring_store_rationale_106", - "community": 26, - "norm_label": "set + get via the encrypted fallback (no os keyring)." - }, - { - "label": "The fallback file is a JSON envelope with version, salt, ciphertext.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L170", - "id": "lims_test_keyring_store_rationale_170", - "community": 26, - "norm_label": "the fallback file is a json envelope with version, salt, ciphertext." - }, - { - "label": "A second ``set_password`` overwrites the prior secret.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L225", - "id": "lims_test_keyring_store_rationale_225", - "community": 26, - "norm_label": "a second ``set_password`` overwrites the prior secret." - }, - { - "label": "When the OS keyring set fails, the encrypted-at-rest write is used and a sub", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L237", - "id": "lims_test_keyring_store_rationale_237", - "community": 26, - "norm_label": "when the os keyring set fails, the encrypted-at-rest write is used and a sub" - }, - { - "label": "A backend raising a non-KeyringError is also treated as unavailable.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L250", - "id": "lims_test_keyring_store_rationale_250", - "community": 26, - "norm_label": "a backend raising a non-keyringerror is also treated as unavailable." - }, - { - "label": "``get_password`` returns None (not error) when keyring is broken and the fal", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L270", - "id": "lims_test_keyring_store_rationale_270", - "community": 26, - "norm_label": "``get_password`` returns none (not error) when keyring is broken and the fal" - }, - { - "label": "Deleting against a broken keyring with no fallback file is silent.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L282", - "id": "lims_test_keyring_store_rationale_282", - "community": 26, - "norm_label": "deleting against a broken keyring with no fallback file is silent." - }, - { - "label": "Deleting a missing username in the fallback file is silent.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L293", - "id": "lims_test_keyring_store_rationale_293", - "community": 26, - "norm_label": "deleting a missing username in the fallback file is silent." - }, - { - "label": "An OSError during fallback read surfaces as KeyringUnavailableError.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L307", - "id": "lims_test_keyring_store_rationale_307", - "community": 26, - "norm_label": "an oserror during fallback read surfaces as keyringunavailableerror." - }, - { - "label": "If the decrypted plaintext is a non-object JSON value, the read raises.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L325", - "id": "lims_test_keyring_store_rationale_325", - "community": 26, - "norm_label": "if the decrypted plaintext is a non-object json value, the read raises." - }, - { - "label": "A JSON list at the envelope layer is rejected as malformed.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L361", - "id": "lims_test_keyring_store_rationale_361", - "community": 26, - "norm_label": "a json list at the envelope layer is rejected as malformed." - }, - { - "label": "If the OS keyring returns None but the fallback file exists, the fallback is", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L374", - "id": "lims_test_keyring_store_rationale_374", - "community": 26, - "norm_label": "if the os keyring returns none but the fallback file exists, the fallback is" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/lims/__init__.py", - "source_location": "L1", - "id": "tests_unit_lims_init_py", - "community": 471, - "norm_label": "__init__.py" - }, - { - "label": "LIMS integration package. Backend Spec \u00a77.2 + \u00a77.4. Public surface: - :class:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/__init__.py", - "source_location": "L1", - "id": "lims_init_rationale_1", - "community": 471, - "norm_label": "lims integration package. backend spec \u00a77.2 + \u00a77.4. public surface: - :class:`" - }, - { - "label": "test_client.py", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L1", - "id": "tests_unit_lims_test_client_py", - "community": 127, - "norm_label": "test_client.py" - }, - { - "label": "_make_client()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L22", - "id": "lims_test_client_make_client", - "community": 127, - "norm_label": "_make_client()" - }, - { - "label": "test_login_happy_path()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L35", - "id": "lims_test_client_test_login_happy_path", - "community": 127, - "norm_label": "test_login_happy_path()" - }, - { - "label": "test_login_uses_explicit_password_over_provider()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L48", - "id": "lims_test_client_test_login_uses_explicit_password_over_provider", - "community": 127, - "norm_label": "test_login_uses_explicit_password_over_provider()" - }, - { - "label": "test_login_wrong_password_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L59", - "id": "lims_test_client_test_login_wrong_password_raises", - "community": 127, - "norm_label": "test_login_wrong_password_raises()" - }, - { - "label": "test_login_with_no_password_raises_config_error()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L69", - "id": "lims_test_client_test_login_with_no_password_raises_config_error", - "community": 127, - "norm_label": "test_login_with_no_password_raises_config_error()" - }, - { - "label": "test_list_projects_returns_typed_rows()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L79", - "id": "lims_test_client_test_list_projects_returns_typed_rows", - "community": 127, - "norm_label": "test_list_projects_returns_typed_rows()" - }, - { - "label": "test_list_projects_status_filter()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L93", - "id": "lims_test_client_test_list_projects_status_filter", - "community": 127, - "norm_label": "test_list_projects_status_filter()" - }, - { - "label": "test_get_project_by_uid()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L122", - "id": "lims_test_client_test_get_project_by_uid", - "community": 127, - "norm_label": "test_get_project_by_uid()" - }, - { - "label": "test_get_project_by_short_id()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L134", - "id": "lims_test_client_test_get_project_by_short_id", - "community": 127, - "norm_label": "test_get_project_by_short_id()" - }, - { - "label": "test_get_project_404_returns_none()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L146", - "id": "lims_test_client_test_get_project_404_returns_none", - "community": 127, - "norm_label": "test_get_project_404_returns_none()" - }, - { - "label": "test_get_me()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L157", - "id": "lims_test_client_test_get_me", - "community": 127, - "norm_label": "test_get_me()" - }, - { - "label": "test_health_check_ok()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L169", - "id": "lims_test_client_test_health_check_ok", - "community": 127, - "norm_label": "test_health_check_ok()" - }, - { - "label": "test_health_check_failure_returns_status()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L182", - "id": "lims_test_client_test_health_check_failure_returns_status", - "community": 127, - "norm_label": "test_health_check_failure_returns_status()" - }, - { - "label": "test_relogin_after_401()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L197", - "id": "lims_test_client_test_relogin_after_401", - "community": 127, - "norm_label": "test_relogin_after_401()" - }, - { - "label": "test_health_check_returns_non200_status()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L213", - "id": "lims_test_client_test_health_check_returns_non200_status", - "community": 127, - "norm_label": "test_health_check_returns_non200_status()" - }, - { - "label": "test_endpoint_strips_trailing_slash()", - "file_type": "code", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L243", - "id": "lims_test_client_test_endpoint_strips_trailing_slash", - "community": 98, - "norm_label": "test_endpoint_strips_trailing_slash()" - }, - { - "label": "Tests for :class:`exlab_wizard.lims.client.LIMSClient`. Each test wires the cli", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L1", - "id": "lims_test_client_rationale_1", - "community": 127, - "norm_label": "tests for :class:`exlab_wizard.lims.client.limsclient`. each test wires the cli" - }, - { - "label": "``health_check`` MUST NOT raise. Per Backend Spec \u00a77.2.3.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L183", - "id": "lims_test_client_rationale_183", - "community": 127, - "norm_label": "``health_check`` must not raise. per backend spec \u00a77.2.3." - }, - { - "label": "When the LIMS invalidates the cookie mid-flight, the client transparently re", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L198", - "id": "lims_test_client_rationale_198", - "community": 127, - "norm_label": "when the lims invalidates the cookie mid-flight, the client transparently re" - }, - { - "label": "When the LIMS returns a non-2xx status, ``health_check`` returns ``ok=False`", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L214", - "id": "lims_test_client_rationale_214", - "community": 127, - "norm_label": "when the lims returns a non-2xx status, ``health_check`` returns ``ok=false`" - }, - { - "label": "test_cache.py", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L1", - "id": "tests_unit_lims_test_cache_py", - "community": 128, - "norm_label": "test_cache.py" - }, - { - "label": "_project()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L19", - "id": "lims_test_cache_project", - "community": 128, - "norm_label": "_project()" - }, - { - "label": "test_init_creates_table_idempotent()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L39", - "id": "lims_test_cache_test_init_creates_table_idempotent", - "community": 128, - "norm_label": "test_init_creates_table_idempotent()" - }, - { - "label": "test_upsert_many_then_list()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L47", - "id": "lims_test_cache_test_upsert_many_then_list", - "community": 128, - "norm_label": "test_upsert_many_then_list()" - }, - { - "label": "test_upsert_many_empty_is_noop()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L59", - "id": "lims_test_cache_test_upsert_many_empty_is_noop", - "community": 128, - "norm_label": "test_upsert_many_empty_is_noop()" - }, - { - "label": "test_upsert_updates_existing_row()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L70", - "id": "lims_test_cache_test_upsert_updates_existing_row", - "community": 128, - "norm_label": "test_upsert_updates_existing_row()" - }, - { - "label": "test_get_project_by_uid_or_short_id()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L95", - "id": "lims_test_cache_test_get_project_by_uid_or_short_id", - "community": 128, - "norm_label": "test_get_project_by_uid_or_short_id()" - }, - { - "label": "test_get_project_missing_returns_none()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L108", - "id": "lims_test_cache_test_get_project_missing_returns_none", - "community": 128, - "norm_label": "test_get_project_missing_returns_none()" - }, - { - "label": "test_list_projects_status_filter()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L118", - "id": "lims_test_cache_test_list_projects_status_filter", - "community": 128, - "norm_label": "test_list_projects_status_filter()" - }, - { - "label": "test_is_fresh_true_when_within_ttl()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L135", - "id": "lims_test_cache_test_is_fresh_true_when_within_ttl", - "community": 128, - "norm_label": "test_is_fresh_true_when_within_ttl()" - }, - { - "label": "test_is_fresh_false_when_stale()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L145", - "id": "lims_test_cache_test_is_fresh_false_when_stale", - "community": 128, - "norm_label": "test_is_fresh_false_when_stale()" - }, - { - "label": "test_is_fresh_false_when_empty()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L156", - "id": "lims_test_cache_test_is_fresh_false_when_empty", - "community": 128, - "norm_label": "test_is_fresh_false_when_empty()" - }, - { - "label": "test_is_fresh_handles_zulu_suffix()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L165", - "id": "lims_test_cache_test_is_fresh_handles_zulu_suffix", - "community": 128, - "norm_label": "test_is_fresh_handles_zulu_suffix()" - }, - { - "label": "test_is_fresh_ignores_invalid_timestamp()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L179", - "id": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", - "community": 128, - "norm_label": "test_is_fresh_ignores_invalid_timestamp()" - }, - { - "label": "test_endpoint_isolates_rows()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L192", - "id": "lims_test_cache_test_endpoint_isolates_rows", - "community": 128, - "norm_label": "test_endpoint_isolates_rows()" - }, - { - "label": "test_require_conn_before_init_raises()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L206", - "id": "lims_test_cache_test_require_conn_before_init_raises", - "community": 128, - "norm_label": "test_require_conn_before_init_raises()" - }, - { - "label": "test_close_is_idempotent()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L212", - "id": "lims_test_cache_test_close_is_idempotent", - "community": 128, - "norm_label": "test_close_is_idempotent()" - }, - { - "label": "test_is_fresh_handles_naive_timestamp()", - "file_type": "code", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L220", - "id": "lims_test_cache_test_is_fresh_handles_naive_timestamp", - "community": 128, - "norm_label": "test_is_fresh_handles_naive_timestamp()" - }, - { - "label": "Tests for :class:`exlab_wizard.lims.cache.LIMSCache`. The cache is the \u00a77.2.4 S", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L1", - "id": "lims_test_cache_rationale_1", - "community": 128, - "norm_label": "tests for :class:`exlab_wizard.lims.cache.limscache`. the cache is the \u00a77.2.4 s" - }, - { - "label": "A naive ISO timestamp (no offset) is treated as UTC by the cache.", - "file_type": "rationale", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L221", - "id": "lims_test_cache_rationale_221", - "community": 128, - "norm_label": "a naive iso timestamp (no offset) is treated as utc by the cache." - }, - { - "label": "test_engine_creation.py", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L1", - "id": "tests_unit_validator_test_engine_creation_py", - "community": 36, - "norm_label": "test_engine_creation.py" - }, - { - "label": "_clean_input()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L38", - "id": "validator_test_engine_creation_clean_input", - "community": 36, - "norm_label": "_clean_input()" - }, - { - "label": "test_split_path_segments_posix_path()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L85", - "id": "validator_test_engine_creation_test_split_path_segments_posix_path", - "community": 36, - "norm_label": "test_split_path_segments_posix_path()" - }, - { - "label": "test_split_path_segments_windows_path()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L90", - "id": "validator_test_engine_creation_test_split_path_segments_windows_path", - "community": 36, - "norm_label": "test_split_path_segments_windows_path()" - }, - { - "label": "test_split_path_segments_empty_string()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L96", - "id": "validator_test_engine_creation_test_split_path_segments_empty_string", - "community": 36, - "norm_label": "test_split_path_segments_empty_string()" - }, - { - "label": "test_split_path_segments_drops_trailing_slash()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L100", - "id": "validator_test_engine_creation_test_split_path_segments_drops_trailing_slash", - "community": 36, - "norm_label": "test_split_path_segments_drops_trailing_slash()" - }, - { - "label": "test_validator_default_config_uses_spec_defaults()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L110", - "id": "validator_test_engine_creation_test_validator_default_config_uses_spec_defaults", - "community": 36, - "norm_label": "test_validator_default_config_uses_spec_defaults()" - }, - { - "label": "test_validator_accepts_explicit_config()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L119", - "id": "validator_test_engine_creation_test_validator_accepts_explicit_config", - "community": 211, - "norm_label": "test_validator_accepts_explicit_config()" - }, - { - "label": "test_clean_input_returns_empty_list()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L131", - "id": "validator_test_engine_creation_test_clean_input_returns_empty_list", - "community": 36, - "norm_label": "test_clean_input_returns_empty_list()" - }, - { - "label": "test_clean_input_with_test_run_returns_empty_list()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L136", - "id": "validator_test_engine_creation_test_clean_input_with_test_run_returns_empty_list", - "community": 36, - "norm_label": "test_clean_input_with_test_run_returns_empty_list()" - }, - { - "label": "test_unresolved_placeholder_in_path_segment_triggers_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L152", - "id": "validator_test_engine_creation_test_unresolved_placeholder_in_path_segment_triggers_finding", - "community": 36, - "norm_label": "test_unresolved_placeholder_in_path_segment_triggers_finding()" - }, - { - "label": "test_unresolved_placeholder_in_file_name_triggers_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L167", - "id": "validator_test_engine_creation_test_unresolved_placeholder_in_file_name_triggers_finding", - "community": 36, - "norm_label": "test_unresolved_placeholder_in_file_name_triggers_finding()" - }, - { - "label": "test_leftover_jinja_marker_in_file_content_triggers_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L183", - "id": "validator_test_engine_creation_test_leftover_jinja_marker_in_file_content_triggers_finding", - "community": 36, - "norm_label": "test_leftover_jinja_marker_in_file_content_triggers_finding()" - }, - { - "label": "test_illegal_filesystem_character_in_file_name_triggers_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L195", - "id": "validator_test_engine_creation_test_illegal_filesystem_character_in_file_name_triggers_finding", - "community": 36, - "norm_label": "test_illegal_filesystem_character_in_file_name_triggers_finding()" - }, - { - "label": "test_reserved_filesystem_name_triggers_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L211", - "id": "validator_test_engine_creation_test_reserved_filesystem_name_triggers_finding", - "community": 36, - "norm_label": "test_reserved_filesystem_name_triggers_finding()" - }, - { - "label": "test_run_leaf_with_test_run_kind_triggers_mode_prefix_mismatch()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L225", - "id": "validator_test_engine_creation_test_run_leaf_with_test_run_kind_triggers_mode_prefix_mismatch", - "community": 36, - "norm_label": "test_run_leaf_with_test_run_kind_triggers_mode_prefix_mismatch()" - }, - { - "label": "test_test_run_leaf_with_experimental_run_kind_triggers_mode_prefix_mismatch()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L238", - "id": "validator_test_engine_creation_test_test_run_leaf_with_experimental_run_kind_triggers_mode_prefix_mismatch", - "community": 36, - "norm_label": "test_test_run_leaf_with_experimental_run_kind_triggers_mode_prefix_mismatch()" - }, - { - "label": "test_missing_required_field_triggers_soft_tier_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L254", - "id": "validator_test_engine_creation_test_missing_required_field_triggers_soft_tier_finding", - "community": 36, - "norm_label": "test_missing_required_field_triggers_soft_tier_finding()" - }, - { - "label": "test_required_field_present_does_not_trigger_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L272", - "id": "validator_test_engine_creation_test_required_field_present_does_not_trigger_finding", - "community": 36, - "norm_label": "test_required_field_present_does_not_trigger_finding()" - }, - { - "label": "test_malformed_yaml_front_matter_triggers_soft_tier_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L288", - "id": "validator_test_engine_creation_test_malformed_yaml_front_matter_triggers_soft_tier_finding", - "community": 36, - "norm_label": "test_malformed_yaml_front_matter_triggers_soft_tier_finding()" - }, - { - "label": "test_no_readme_md_skips_front_matter_rule()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L304", - "id": "validator_test_engine_creation_test_no_readme_md_skips_front_matter_rule", - "community": 36, - "norm_label": "test_no_readme_md_skips_front_matter_rule()" - }, - { - "label": "test_multiple_findings_aggregate_in_one_call()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L320", - "id": "validator_test_engine_creation_test_multiple_findings_aggregate_in_one_call", - "community": 36, - "norm_label": "test_multiple_findings_aggregate_in_one_call()" - }, - { - "label": "test_findings_are_sorted_with_hard_tier_first()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L342", - "id": "validator_test_engine_creation_test_findings_are_sorted_with_hard_tier_first", - "community": 36, - "norm_label": "test_findings_are_sorted_with_hard_tier_first()" - }, - { - "label": "test_findings_sorted_lexicographically_within_same_tier()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L366", - "id": "validator_test_engine_creation_test_findings_sorted_lexicographically_within_same_tier", - "community": 36, - "norm_label": "test_findings_sorted_lexicographically_within_same_tier()" - }, - { - "label": "test_findings_carry_run_path_from_proposed_path()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L386", - "id": "validator_test_engine_creation_test_findings_carry_run_path_from_proposed_path", - "community": 36, - "norm_label": "test_findings_carry_run_path_from_proposed_path()" - }, - { - "label": "test_findings_default_audit_flags_to_false()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L395", - "id": "validator_test_engine_creation_test_findings_default_audit_flags_to_false", - "community": 36, - "norm_label": "test_findings_default_audit_flags_to_false()" - }, - { - "label": "test_findings_are_finding_instances()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L408", - "id": "validator_test_engine_creation_test_findings_are_finding_instances", - "community": 36, - "norm_label": "test_findings_are_finding_instances()" - }, - { - "label": "test_creation_validation_input_is_frozen()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L424", - "id": "validator_test_engine_creation_test_creation_validation_input_is_frozen", - "community": 36, - "norm_label": "test_creation_validation_input_is_frozen()" - }, - { - "label": "test_creation_validation_input_defaults()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L431", - "id": "validator_test_engine_creation_test_creation_validation_input_defaults", - "community": 53, - "norm_label": "test_creation_validation_input_defaults()" - }, - { - "label": "Unit tests for ``exlab_wizard.validator.engine`` -- creation-time mode. The eng", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L1", - "id": "validator_test_engine_creation_rationale_1", - "community": 36, - "norm_label": "unit tests for ``exlab_wizard.validator.engine`` -- creation-time mode. the eng" - }, - { - "label": "A creation-time input that should produce zero findings. The proposed path", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L39", - "id": "validator_test_engine_creation_rationale_39", - "community": 36, - "norm_label": "a creation-time input that should produce zero findings. the proposed path" - }, - { - "label": "Default ValidatorConfig matches the \u00a79 documented defaults.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L111", - "id": "validator_test_engine_creation_rationale_111", - "community": 36, - "norm_label": "default validatorconfig matches the \u00a79 documented defaults." - }, - { - "label": "Test-mode input with TestRuns/ parent and TestRun_ leaf passes.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L137", - "id": "validator_test_engine_creation_rationale_137", - "community": 36, - "norm_label": "test-mode input with testruns/ parent and testrun_ leaf passes." - }, - { - "label": "An angle-bracket identifier in a path segment fires \u00a78.1.1.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L153", - "id": "validator_test_engine_creation_rationale_153", - "community": 36, - "norm_label": "an angle-bracket identifier in a path segment fires \u00a78.1.1." - }, - { - "label": "A Windows-illegal char in a file name fires \u00a78.1.2.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L196", - "id": "validator_test_engine_creation_rationale_196", - "community": 36, - "norm_label": "a windows-illegal char in a file name fires \u00a78.1.2." - }, - { - "label": "A Windows-reserved file base name (CON, NUL, ...) fires \u00a78.1.2.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L212", - "id": "validator_test_engine_creation_rationale_212", - "community": 36, - "norm_label": "a windows-reserved file base name (con, nul, ...) fires \u00a78.1.2." - }, - { - "label": "A ``Run_`` leaf paired with ``run_kind='test'`` fires \u00a78.1.3.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L226", - "id": "validator_test_engine_creation_rationale_226", - "community": 36, - "norm_label": "a ``run_`` leaf paired with ``run_kind='test'`` fires \u00a78.1.3." - }, - { - "label": "A ``TestRun_`` leaf with ``run_kind='experimental'`` fires \u00a78.1.3.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L239", - "id": "validator_test_engine_creation_rationale_239", - "community": 36, - "norm_label": "a ``testrun_`` leaf with ``run_kind='experimental'`` fires \u00a78.1.3." - }, - { - "label": "A required field absent from readme_fields fires \u00a78.1.5.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L255", - "id": "validator_test_engine_creation_rationale_255", - "community": 36, - "norm_label": "a required field absent from readme_fields fires \u00a78.1.5." - }, - { - "label": "When the required field IS present in readme_fields, no finding.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L273", - "id": "validator_test_engine_creation_rationale_273", - "community": 36, - "norm_label": "when the required field is present in readme_fields, no finding." - }, - { - "label": "An unterminated front-matter block fires \u00a78.1.1's malformed soft rule.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L289", - "id": "validator_test_engine_creation_rationale_289", - "community": 36, - "norm_label": "an unterminated front-matter block fires \u00a78.1.1's malformed soft rule." - }, - { - "label": "Front-matter rule does not run if README.md is absent from inputs.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L305", - "id": "validator_test_engine_creation_rationale_305", - "community": 36, - "norm_label": "front-matter rule does not run if readme.md is absent from inputs." - }, - { - "label": "A single bundle that trips multiple rules surfaces all findings.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L321", - "id": "validator_test_engine_creation_rationale_321", - "community": 36, - "norm_label": "a single bundle that trips multiple rules surfaces all findings." - }, - { - "label": "The output is sorted with hard-tier findings before soft.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L343", - "id": "validator_test_engine_creation_rationale_343", - "community": 36, - "norm_label": "the output is sorted with hard-tier findings before soft." - }, - { - "label": "Within one tier, findings sort by (rule, offending_path).", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L367", - "id": "validator_test_engine_creation_rationale_367", - "community": 36, - "norm_label": "within one tier, findings sort by (rule, offending_path)." - }, - { - "label": "Engine stamps run_path on every finding from the input.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L387", - "id": "validator_test_engine_creation_rationale_387", - "community": 36, - "norm_label": "engine stamps run_path on every finding from the input." - }, - { - "label": "Audit-only flags default to False at creation time.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L396", - "id": "validator_test_engine_creation_rationale_396", - "community": 36, - "norm_label": "audit-only flags default to false at creation time." - }, - { - "label": "The engine returns :class:`Finding` instances (not dicts).", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L409", - "id": "validator_test_engine_creation_rationale_409", - "community": 36, - "norm_label": "the engine returns :class:`finding` instances (not dicts)." - }, - { - "label": "The input bundle is a frozen dataclass for determinism.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L425", - "id": "validator_test_engine_creation_rationale_425", - "community": 36, - "norm_label": "the input bundle is a frozen dataclass for determinism." - }, - { - "label": "Every field except proposed_path is optional with a safe default.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L432", - "id": "validator_test_engine_creation_rationale_432", - "community": 53, - "norm_label": "every field except proposed_path is optional with a safe default." - }, - { - "label": "test_engine_reconfigure.py", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_reconfigure.py", - "source_location": "L1", - "id": "tests_unit_validator_test_engine_reconfigure_py", - "community": 211, - "norm_label": "test_engine_reconfigure.py" - }, - { - "label": "test_reconfigure_refreshes_scan_limits_and_roots()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_reconfigure.py", - "source_location": "L16", - "id": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", - "community": 211, - "norm_label": "test_reconfigure_refreshes_scan_limits_and_roots()" - }, - { - "label": "test_reconfigure_defaults_to_empty_roots()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_reconfigure.py", - "source_location": "L35", - "id": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots", - "community": 211, - "norm_label": "test_reconfigure_defaults_to_empty_roots()" - }, - { - "label": "Unit tests for ``Validator.reconfigure`` (live config reload). The settings dia", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_reconfigure.py", - "source_location": "L1", - "id": "validator_test_engine_reconfigure_rationale_1", - "community": 211, - "norm_label": "unit tests for ``validator.reconfigure`` (live config reload). the settings dia" - }, - { - "label": "test_findings.py", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L1", - "id": "tests_unit_validator_test_findings_py", - "community": 91, - "norm_label": "test_findings.py" - }, - { - "label": "_make_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L23", - "id": "validator_test_findings_make_finding", - "community": 91, - "norm_label": "_make_finding()" - }, - { - "label": "test_finding_instantiation_with_all_fields()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L45", - "id": "validator_test_findings_test_finding_instantiation_with_all_fields", - "community": 91, - "norm_label": "test_finding_instantiation_with_all_fields()" - }, - { - "label": "test_finding_minimum_required_fields()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L58", - "id": "validator_test_findings_test_finding_minimum_required_fields", - "community": 91, - "norm_label": "test_finding_minimum_required_fields()" - }, - { - "label": "test_finding_is_frozen()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L74", - "id": "validator_test_findings_test_finding_is_frozen", - "community": 91, - "norm_label": "test_finding_is_frozen()" - }, - { - "label": "test_to_dict_contains_all_spec_keys()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L86", - "id": "validator_test_findings_test_to_dict_contains_all_spec_keys", - "community": 91, - "norm_label": "test_to_dict_contains_all_spec_keys()" - }, - { - "label": "test_to_dict_values_match_field_values()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L103", - "id": "validator_test_findings_test_to_dict_values_match_field_values", - "community": 91, - "norm_label": "test_to_dict_values_match_field_values()" - }, - { - "label": "test_to_dict_from_dict_round_trip_identity()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L113", - "id": "validator_test_findings_test_to_dict_from_dict_round_trip_identity", - "community": 91, - "norm_label": "test_to_dict_from_dict_round_trip_identity()" - }, - { - "label": "test_from_dict_accepts_minimal_payload()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L119", - "id": "validator_test_findings_test_from_dict_accepts_minimal_payload", - "community": 91, - "norm_label": "test_from_dict_accepts_minimal_payload()" - }, - { - "label": "test_from_dict_ignores_unknown_keys()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L135", - "id": "validator_test_findings_test_from_dict_ignores_unknown_keys", - "community": 91, - "norm_label": "test_from_dict_ignores_unknown_keys()" - }, - { - "label": "test_to_dict_preserves_none_matched_token()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L149", - "id": "validator_test_findings_test_to_dict_preserves_none_matched_token", - "community": 91, - "norm_label": "test_to_dict_preserves_none_matched_token()" - }, - { - "label": "test_finding_is_hashable()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L169", - "id": "validator_test_findings_test_finding_is_hashable", - "community": 91, - "norm_label": "test_finding_is_hashable()" - }, - { - "label": "test_findings_in_set_dedupe_by_value()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L176", - "id": "validator_test_findings_test_findings_in_set_dedupe_by_value", - "community": 91, - "norm_label": "test_findings_in_set_dedupe_by_value()" - }, - { - "label": "test_findings_in_set_distinguish_by_value()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L184", - "id": "validator_test_findings_test_findings_in_set_distinguish_by_value", - "community": 91, - "norm_label": "test_findings_in_set_distinguish_by_value()" - }, - { - "label": "test_findings_can_be_sorted_by_to_dict_key()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L198", - "id": "validator_test_findings_test_findings_can_be_sorted_by_to_dict_key", - "community": 91, - "norm_label": "test_findings_can_be_sorted_by_to_dict_key()" - }, - { - "label": "test_findings_sort_by_tier_then_rule_then_path()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L206", - "id": "validator_test_findings_test_findings_sort_by_tier_then_rule_then_path", - "community": 91, - "norm_label": "test_findings_sort_by_tier_then_rule_then_path()" - }, - { - "label": "test_equality_with_same_field_values()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L224", - "id": "validator_test_findings_test_equality_with_same_field_values", - "community": 91, - "norm_label": "test_equality_with_same_field_values()" - }, - { - "label": "test_inequality_when_one_field_differs()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L230", - "id": "validator_test_findings_test_inequality_when_one_field_differs", - "community": 91, - "norm_label": "test_inequality_when_one_field_differs()" - }, - { - "label": "test_finding_equality_is_not_identity()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L236", - "id": "validator_test_findings_test_finding_equality_is_not_identity", - "community": 91, - "norm_label": "test_finding_equality_is_not_identity()" - }, - { - "label": "test_audit_mode_flags_round_trip()", - "file_type": "code", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L243", - "id": "validator_test_findings_test_audit_mode_flags_round_trip", - "community": 91, - "norm_label": "test_audit_mode_flags_round_trip()" - }, - { - "label": "Unit tests for ``exlab_wizard.validator.findings``. The :class:`Finding` datacl", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L1", - "id": "validator_test_findings_rationale_1", - "community": 91, - "norm_label": "unit tests for ``exlab_wizard.validator.findings``. the :class:`finding` datacl" - }, - { - "label": "Return a canonical Finding matching the \u00a711.8 example payload.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L24", - "id": "validator_test_findings_rationale_24", - "community": 91, - "norm_label": "return a canonical finding matching the \u00a711.8 example payload." - }, - { - "label": "The five non-default fields are required; the rest default.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L59", - "id": "validator_test_findings_rationale_59", - "community": 91, - "norm_label": "the five non-default fields are required; the rest default." - }, - { - "label": "Findings are frozen so they can be hashed / put in sets.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L75", - "id": "validator_test_findings_rationale_75", - "community": 91, - "norm_label": "findings are frozen so they can be hashed / put in sets." - }, - { - "label": "Optional fields default if missing from the payload.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L120", - "id": "validator_test_findings_rationale_120", - "community": 91, - "norm_label": "optional fields default if missing from the payload." - }, - { - "label": "Unknown keys in a future-minor payload are not lethal.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L136", - "id": "validator_test_findings_rationale_136", - "community": 91, - "norm_label": "unknown keys in a future-minor payload are not lethal." - }, - { - "label": "``matched_token`` of ``None`` survives the round-trip as ``None``.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L150", - "id": "validator_test_findings_rationale_150", - "community": 91, - "norm_label": "``matched_token`` of ``none`` survives the round-trip as ``none``." - }, - { - "label": "Two findings with identical field values collapse in a set.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L177", - "id": "validator_test_findings_rationale_177", - "community": 91, - "norm_label": "two findings with identical field values collapse in a set." - }, - { - "label": "Different field values produce distinct set entries.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L185", - "id": "validator_test_findings_rationale_185", - "community": 91, - "norm_label": "different field values produce distinct set entries." - }, - { - "label": "Findings sort lexicographically when keyed by their dict shape.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L199", - "id": "validator_test_findings_rationale_199", - "community": 91, - "norm_label": "findings sort lexicographically when keyed by their dict shape." - }, - { - "label": "The expected three-key sort produces hard-first ordering.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L207", - "id": "validator_test_findings_rationale_207", - "community": 91, - "norm_label": "the expected three-key sort produces hard-first ordering." - }, - { - "label": "The audit-mode-only flags (synced_under_prior_policy / override_active) surv", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L244", - "id": "validator_test_findings_rationale_244", - "community": 91, - "norm_label": "the audit-mode-only flags (synced_under_prior_policy / override_active) surv" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/validator/__init__.py", - "source_location": "L1", - "id": "tests_unit_validator_init_py", - "community": 472, - "norm_label": "__init__.py" - }, - { - "label": "Validator engine package. Backend Spec \u00a78.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/__init__.py", - "source_location": "L1", - "id": "validator_init_rationale_1", - "community": 472, - "norm_label": "validator engine package. backend spec \u00a78." - }, - { - "label": "test_rules.py", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L1", - "id": "tests_unit_validator_test_rules_py", - "community": 148, - "norm_label": "test_rules.py" - }, - { - "label": "test_angle_bracket_token_in_segment_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L37", - "id": "validator_test_rules_test_angle_bracket_token_in_segment_fires", - "community": 148, - "norm_label": "test_angle_bracket_token_in_segment_fires()" - }, - { - "label": "test_non_token_angle_brackets_pass()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L64", - "id": "validator_test_rules_test_non_token_angle_brackets_pass", - "community": 148, - "norm_label": "test_non_token_angle_brackets_pass()" - }, - { - "label": "test_jinja_var_marker_in_filename_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L75", - "id": "validator_test_rules_test_jinja_var_marker_in_filename_fires", - "community": 148, - "norm_label": "test_jinja_var_marker_in_filename_fires()" - }, - { - "label": "test_jinja_block_marker_in_content_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L88", - "id": "validator_test_rules_test_jinja_block_marker_in_content_fires", - "community": 148, - "norm_label": "test_jinja_block_marker_in_content_fires()" - }, - { - "label": "test_unresolved_placeholder_in_content_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L101", - "id": "validator_test_rules_test_unresolved_placeholder_in_content_fires", - "community": 148, - "norm_label": "test_unresolved_placeholder_in_content_fires()" - }, - { - "label": "test_no_findings_on_clean_inputs()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L110", - "id": "validator_test_rules_test_no_findings_on_clean_inputs", - "community": 148, - "norm_label": "test_no_findings_on_clean_inputs()" - }, - { - "label": "test_large_text_file_skipped_from_content_scan()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L119", - "id": "validator_test_rules_test_large_text_file_skipped_from_content_scan", - "community": 148, - "norm_label": "test_large_text_file_skipped_from_content_scan()" - }, - { - "label": "test_under_size_cap_content_is_scanned()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L131", - "id": "validator_test_rules_test_under_size_cap_content_is_scanned", - "community": 148, - "norm_label": "test_under_size_cap_content_is_scanned()" - }, - { - "label": "test_multiple_matches_in_same_input_each_yield_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L142", - "id": "validator_test_rules_test_multiple_matches_in_same_input_each_yield_finding", - "community": 148, - "norm_label": "test_multiple_matches_in_same_input_each_yield_finding()" - }, - { - "label": "test_empty_file_contents_dict_is_path_only_scan()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L152", - "id": "validator_test_rules_test_empty_file_contents_dict_is_path_only_scan", - "community": 148, - "norm_label": "test_empty_file_contents_dict_is_path_only_scan()" - }, - { - "label": "test_windows_illegal_char_in_segment_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L180", - "id": "validator_test_rules_test_windows_illegal_char_in_segment_fires", - "community": 148, - "norm_label": "test_windows_illegal_char_in_segment_fires()" - }, - { - "label": "test_nul_byte_in_name_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L191", - "id": "validator_test_rules_test_nul_byte_in_name_fires", - "community": 148, - "norm_label": "test_nul_byte_in_name_fires()" - }, - { - "label": "test_low_ascii_control_char_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L200", - "id": "validator_test_rules_test_low_ascii_control_char_fires", - "community": 148, - "norm_label": "test_low_ascii_control_char_fires()" - }, - { - "label": "test_trailing_dot_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L210", - "id": "validator_test_rules_test_trailing_dot_fires", - "community": 148, - "norm_label": "test_trailing_dot_fires()" - }, - { - "label": "test_trailing_space_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L218", - "id": "validator_test_rules_test_trailing_space_fires", - "community": 148, - "norm_label": "test_trailing_space_fires()" - }, - { - "label": "test_normal_names_pass()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L237", - "id": "validator_test_rules_test_normal_names_pass", - "community": 148, - "norm_label": "test_normal_names_pass()" - }, - { - "label": "test_findings_have_hard_tier()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L245", - "id": "validator_test_rules_test_findings_have_hard_tier", - "community": 148, - "norm_label": "test_findings_have_hard_tier()" - }, - { - "label": "test_reserved_name_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L276", - "id": "validator_test_rules_test_reserved_name_fires", - "community": 236, - "norm_label": "test_reserved_name_fires()" - }, - { - "label": "test_non_reserved_name_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L297", - "id": "validator_test_rules_test_non_reserved_name_passes", - "community": 236, - "norm_label": "test_non_reserved_name_passes()" - }, - { - "label": "test_unsafe_project_name_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L320", - "id": "validator_test_rules_test_unsafe_project_name_fires", - "community": 236, - "norm_label": "test_unsafe_project_name_fires()" - }, - { - "label": "test_safe_project_name_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L340", - "id": "validator_test_rules_test_safe_project_name_passes", - "community": 236, - "norm_label": "test_safe_project_name_passes()" - }, - { - "label": "test_experimental_with_run_prefix_under_runs_parent_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L349", - "id": "validator_test_rules_test_experimental_with_run_prefix_under_runs_parent_passes", - "community": 252, - "norm_label": "test_experimental_with_run_prefix_under_runs_parent_passes()" - }, - { - "label": "test_experimental_with_run_prefix_at_project_level_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L359", - "id": "validator_test_rules_test_experimental_with_run_prefix_at_project_level_fires", - "community": 252, - "norm_label": "test_experimental_with_run_prefix_at_project_level_fires()" - }, - { - "label": "test_experimental_with_test_run_prefix_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L372", - "id": "validator_test_rules_test_experimental_with_test_run_prefix_fires", - "community": 252, - "norm_label": "test_experimental_with_test_run_prefix_fires()" - }, - { - "label": "test_experimental_under_test_runs_parent_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L382", - "id": "validator_test_rules_test_experimental_under_test_runs_parent_fires", - "community": 252, - "norm_label": "test_experimental_under_test_runs_parent_fires()" - }, - { - "label": "test_test_with_test_run_prefix_under_test_runs_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L391", - "id": "validator_test_rules_test_test_with_test_run_prefix_under_test_runs_passes", - "community": 252, - "norm_label": "test_test_with_test_run_prefix_under_test_runs_passes()" - }, - { - "label": "test_test_with_run_prefix_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L400", - "id": "validator_test_rules_test_test_with_run_prefix_fires", - "community": 252, - "norm_label": "test_test_with_run_prefix_fires()" - }, - { - "label": "test_test_with_test_run_prefix_but_wrong_parent_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L409", - "id": "validator_test_rules_test_test_with_test_run_prefix_but_wrong_parent_fires", - "community": 252, - "norm_label": "test_test_with_test_run_prefix_but_wrong_parent_fires()" - }, - { - "label": "test_run_kind_none_returns_no_findings()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L418", - "id": "validator_test_rules_test_run_kind_none_returns_no_findings", - "community": 252, - "norm_label": "test_run_kind_none_returns_no_findings()" - }, - { - "label": "test_project_without_creation_json_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L432", - "id": "validator_test_rules_test_project_without_creation_json_fires", - "community": 329, - "norm_label": "test_project_without_creation_json_fires()" - }, - { - "label": "test_run_without_creation_json_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L439", - "id": "validator_test_rules_test_run_without_creation_json_fires", - "community": 329, - "norm_label": "test_run_without_creation_json_fires()" - }, - { - "label": "test_equipment_without_creation_json_does_not_fire()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L445", - "id": "validator_test_rules_test_equipment_without_creation_json_does_not_fire", - "community": 329, - "norm_label": "test_equipment_without_creation_json_does_not_fire()" - }, - { - "label": "test_project_with_creation_json_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L450", - "id": "validator_test_rules_test_project_with_creation_json_passes", - "community": 329, - "norm_label": "test_project_with_creation_json_passes()" - }, - { - "label": "test_run_with_creation_json_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L455", - "id": "validator_test_rules_test_run_with_creation_json_passes", - "community": 329, - "norm_label": "test_run_with_creation_json_passes()" - }, - { - "label": "test_missing_id_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L465", - "id": "validator_test_rules_test_missing_id_fires", - "community": 276, - "norm_label": "test_missing_id_fires()" - }, - { - "label": "test_empty_string_value_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L479", - "id": "validator_test_rules_test_empty_string_value_fires", - "community": 276, - "norm_label": "test_empty_string_value_fires()" - }, - { - "label": "test_present_id_with_non_empty_value_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L492", - "id": "validator_test_rules_test_present_id_with_non_empty_value_passes", - "community": 276, - "norm_label": "test_present_id_with_non_empty_value_passes()" - }, - { - "label": "test_field_present_in_template_fields_layer_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L504", - "id": "validator_test_rules_test_field_present_in_template_fields_layer_passes", - "community": 276, - "norm_label": "test_field_present_in_template_fields_layer_passes()" - }, - { - "label": "test_none_readme_fields_treats_all_required_as_missing()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L516", - "id": "validator_test_rules_test_none_readme_fields_treats_all_required_as_missing", - "community": 276, - "norm_label": "test_none_readme_fields_treats_all_required_as_missing()" - }, - { - "label": "test_value_explicit_none_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L524", - "id": "validator_test_rules_test_value_explicit_none_fires", - "community": 276, - "norm_label": "test_value_explicit_none_fires()" - }, - { - "label": "test_well_formed_front_matter_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L541", - "id": "validator_test_rules_test_well_formed_front_matter_passes", - "community": 302, - "norm_label": "test_well_formed_front_matter_passes()" - }, - { - "label": "test_unterminated_front_matter_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L546", - "id": "validator_test_rules_test_unterminated_front_matter_fires", - "community": 302, - "norm_label": "test_unterminated_front_matter_fires()" - }, - { - "label": "test_malformed_yaml_in_block_fires()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L554", - "id": "validator_test_rules_test_malformed_yaml_in_block_fires", - "community": 302, - "norm_label": "test_malformed_yaml_in_block_fires()" - }, - { - "label": "test_no_front_matter_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L562", - "id": "validator_test_rules_test_no_front_matter_passes", - "community": 302, - "norm_label": "test_no_front_matter_passes()" - }, - { - "label": "test_empty_content_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L567", - "id": "validator_test_rules_test_empty_content_passes", - "community": 302, - "norm_label": "test_empty_content_passes()" - }, - { - "label": "test_front_matter_with_nested_yaml_passes()", - "file_type": "code", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L571", - "id": "validator_test_rules_test_front_matter_with_nested_yaml_passes", - "community": 302, - "norm_label": "test_front_matter_with_nested_yaml_passes()" - }, - { - "label": "Tests for ``exlab_wizard.validator.rules``. Backend Spec \u00a78.1. Covers each \u00a78.1", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L1", - "id": "validator_test_rules_rationale_1", - "community": 148, - "norm_label": "tests for ``exlab_wizard.validator.rules``. backend spec \u00a78.1. covers each \u00a78.1" - }, - { - "label": "Redesign \u00a73.4: experimental run leaf parented by ``Runs`` is valid.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L350", - "id": "validator_test_rules_rationale_350", - "community": 252, - "norm_label": "redesign \u00a73.4: experimental run leaf parented by ``runs`` is valid." - }, - { - "label": "Redesign \u00a73.4: a misplaced ``Run_*`` directly under the project (not under `", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L360", - "id": "validator_test_rules_rationale_360", - "community": 252, - "norm_label": "redesign \u00a73.4: a misplaced ``run_*`` directly under the project (not under `" - }, - { - "label": "test_engine_audit.py", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1", - "id": "tests_unit_validator_test_engine_audit_py", - "community": 119, - "norm_label": "test_engine_audit.py" - }, - { - "label": "_build_creation_json_dict()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L46", - "id": "validator_test_engine_audit_build_creation_json_dict", - "community": 93, - "norm_label": "_build_creation_json_dict()" - }, - { - "label": "_write_creation_json()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L87", - "id": "validator_test_engine_audit_write_creation_json", - "community": 93, - "norm_label": "_write_creation_json()" - }, - { - "label": "_make_clean_tree()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L96", - "id": "validator_test_engine_audit_make_clean_tree", - "community": 92, - "norm_label": "_make_clean_tree()" - }, - { - "label": "_make_validator()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L140", - "id": "validator_test_engine_audit_make_validator", - "community": 92, - "norm_label": "_make_validator()" - }, - { - "label": "_by_rule()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L164", - "id": "validator_test_engine_audit_by_rule", - "community": 206, - "norm_label": "_by_rule()" - }, - { - "label": "test_audit_clean_tree_returns_empty_list()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L173", - "id": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list", - "community": 92, - "norm_label": "test_audit_clean_tree_returns_empty_list()" - }, - { - "label": "test_audit_project_missing_creation_json_returns_orphan()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L181", - "id": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", - "community": 206, - "norm_label": "test_audit_project_missing_creation_json_returns_orphan()" - }, - { - "label": "test_audit_run_missing_creation_json_returns_orphan()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L202", - "id": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", - "community": 206, - "norm_label": "test_audit_run_missing_creation_json_returns_orphan()" - }, - { - "label": "test_audit_unsafe_project_name_returns_soft_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L219", - "id": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", - "community": 206, - "norm_label": "test_audit_unsafe_project_name_returns_soft_finding()" - }, - { - "label": "test_audit_clean_project_name_has_no_unsafe_finding()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L238", - "id": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", - "community": 206, - "norm_label": "test_audit_clean_project_name_has_no_unsafe_finding()" - }, - { - "label": "test_audit_mode_prefix_mismatch_run_with_test_kind()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L246", - "id": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", - "community": 93, - "norm_label": "test_audit_mode_prefix_mismatch_run_with_test_kind()" - }, - { - "label": "test_audit_unresolved_placeholder_in_directory_name()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L268", - "id": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", - "community": 206, - "norm_label": "test_audit_unresolved_placeholder_in_directory_name()" - }, - { - "label": "test_audit_override_active_flag_set_when_problem_class_overridden()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L291", - "id": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", - "community": 206, - "norm_label": "test_audit_override_active_flag_set_when_problem_class_overridden()" - }, - { - "label": "test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L324", - "id": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", - "community": 525, - "norm_label": "test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run()" - }, - { - "label": "test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L348", - "id": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", - "community": 526, - "norm_label": "test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run()" - }, - { - "label": "test_audit_respects_content_scan_max_mib_cap()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L374", - "id": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap", - "community": 92, - "norm_label": "test_audit_respects_content_scan_max_mib_cap()" - }, - { - "label": "test_audit_respects_extensions_allowlist()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L398", - "id": "validator_test_engine_audit_test_audit_respects_extensions_allowlist", - "community": 92, - "norm_label": "test_audit_respects_extensions_allowlist()" - }, - { - "label": "test_audit_detects_binary_files_via_null_byte_sniff()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L417", - "id": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff", - "community": 92, - "norm_label": "test_audit_detects_binary_files_via_null_byte_sniff()" - }, - { - "label": "test_audit_scans_text_file_content_when_within_limits()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L436", - "id": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", - "community": 92, - "norm_label": "test_audit_scans_text_file_content_when_within_limits()" - }, - { - "label": "test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L452", - "id": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", - "community": 93, - "norm_label": "test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path()" - }, - { - "label": "test_query_problems_is_alias_for_audit()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L474", - "id": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", - "community": 92, - "norm_label": "test_query_problems_is_alias_for_audit()" - }, - { - "label": "test_audit_scope_equipment_id_resolves_to_configured_root()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L487", - "id": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", - "community": 93, - "norm_label": "test_audit_scope_equipment_id_resolves_to_configured_root()" - }, - { - "label": "test_audit_scope_project_path_walks_one_subtree()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L524", - "id": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", - "community": 93, - "norm_label": "test_audit_scope_project_path_walks_one_subtree()" - }, - { - "label": "test_audit_scope_all_walks_every_configured_equipment()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L549", - "id": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", - "community": 93, - "norm_label": "test_audit_scope_all_walks_every_configured_equipment()" - }, - { - "label": "test_audit_scope_unknown_equipment_id_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L584", - "id": "validator_test_engine_audit_test_audit_scope_unknown_equipment_id_returns_empty", - "community": 119, - "norm_label": "test_audit_scope_unknown_equipment_id_returns_empty()" - }, - { - "label": "test_audit_skips_cache_directory_contents()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L591", - "id": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", - "community": 92, - "norm_label": "test_audit_skips_cache_directory_contents()" - }, - { - "label": "test_audit_revoked_override_does_not_set_override_active()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L607", - "id": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", - "community": 206, - "norm_label": "test_audit_revoked_override_does_not_set_override_active()" - }, - { - "label": "test_audit_unresolved_placeholder_in_file_name()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L644", - "id": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", - "community": 92, - "norm_label": "test_audit_unresolved_placeholder_in_file_name()" - }, - { - "label": "test_audit_test_run_with_experimental_kind_flagged()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L660", - "id": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", - "community": 206, - "norm_label": "test_audit_test_run_with_experimental_kind_flagged()" - }, - { - "label": "test_audit_returns_list_of_finding_dataclass_instances()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L680", - "id": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", - "community": 93, - "norm_label": "test_audit_returns_list_of_finding_dataclass_instances()" - }, - { - "label": "test_audit_includes_staging_root_when_orchestrator_on()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L695", - "id": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", - "community": 93, - "norm_label": "test_audit_includes_staging_root_when_orchestrator_on()" - }, - { - "label": "test_audit_findings_carry_full_section_11_8_shape()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L722", - "id": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", - "community": 93, - "norm_label": "test_audit_findings_carry_full_section_11_8_shape()" - }, - { - "label": "test_audit_unknown_scope_kind_raises_value_error()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L760", - "id": "validator_test_engine_audit_test_audit_unknown_scope_kind_raises_value_error", - "community": 119, - "norm_label": "test_audit_unknown_scope_kind_raises_value_error()" - }, - { - "label": "test_audit_root_does_not_exist_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L767", - "id": "validator_test_engine_audit_test_audit_root_does_not_exist_returns_empty", - "community": 119, - "norm_label": "test_audit_root_does_not_exist_returns_empty()" - }, - { - "label": "test_audit_root_is_a_file_returns_empty()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L775", - "id": "validator_test_engine_audit_test_audit_root_is_a_file_returns_empty", - "community": 119, - "norm_label": "test_audit_root_is_a_file_returns_empty()" - }, - { - "label": "test_audit_handles_unreadable_directory()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L783", - "id": "validator_test_engine_audit_test_audit_handles_unreadable_directory", - "community": 119, - "norm_label": "test_audit_handles_unreadable_directory()" - }, - { - "label": "test_audit_other_level_subfolder_under_project()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L803", - "id": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", - "community": 93, - "norm_label": "test_audit_other_level_subfolder_under_project()" - }, - { - "label": "test_audit_other_under_test_runs_unknown_leaf()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L819", - "id": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", - "community": 93, - "norm_label": "test_audit_other_under_test_runs_unknown_leaf()" - }, - { - "label": "test_audit_deeply_nested_other_subfolder()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L835", - "id": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", - "community": 92, - "norm_label": "test_audit_deeply_nested_other_subfolder()" - }, - { - "label": "test_audit_creation_json_unreadable()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L854", - "id": "validator_test_engine_audit_test_audit_creation_json_unreadable", - "community": 92, - "norm_label": "test_audit_creation_json_unreadable()" - }, - { - "label": "test_audit_creation_json_malformed_raw_decode()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L876", - "id": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", - "community": 92, - "norm_label": "test_audit_creation_json_malformed_raw_decode()" - }, - { - "label": "test_audit_creation_json_missing_required_struct_field()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L888", - "id": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", - "community": 93, - "norm_label": "test_audit_creation_json_missing_required_struct_field()" - }, - { - "label": "test_audit_readme_fields_json_decode_failure()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L908", - "id": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", - "community": 92, - "norm_label": "test_audit_readme_fields_json_decode_failure()" - }, - { - "label": "test_audit_missing_required_field_with_required_ids()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L920", - "id": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", - "community": 93, - "norm_label": "test_audit_missing_required_field_with_required_ids()" - }, - { - "label": "test_audit_missing_required_field_required_ids_not_a_list()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L956", - "id": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", - "community": 93, - "norm_label": "test_audit_missing_required_field_required_ids_not_a_list()" - }, - { - "label": "test_audit_content_scan_skips_test_runs_marker_file()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L991", - "id": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", - "community": 93, - "norm_label": "test_audit_content_scan_skips_test_runs_marker_file()" - }, - { - "label": "test_audit_content_scan_eligibility_returns_false_on_stat_failure()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1021", - "id": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", - "community": 92, - "norm_label": "test_audit_content_scan_eligibility_returns_false_on_stat_failure()" - }, - { - "label": "test_audit_read_text_for_scan_handles_oserror()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1048", - "id": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", - "community": 92, - "norm_label": "test_audit_read_text_for_scan_handles_oserror()" - }, - { - "label": "test_classify_level_value_error_returns_other()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1075", - "id": "validator_test_engine_audit_test_classify_level_value_error_returns_other", - "community": 119, - "norm_label": "test_classify_level_value_error_returns_other()" - }, - { - "label": "test_finding_sort_unknown_tier_sorts_after_committed_tiers()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1089", - "id": "validator_test_engine_audit_test_finding_sort_unknown_tier_sorts_after_committed_tiers", - "community": 119, - "norm_label": "test_finding_sort_unknown_tier_sorts_after_committed_tiers()" - }, - { - "label": "test_level_for_orphan_returns_none_for_unmapped_levels()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1113", - "id": "validator_test_engine_audit_test_level_for_orphan_returns_none_for_unmapped_levels", - "community": 422, - "norm_label": "test_level_for_orphan_returns_none_for_unmapped_levels()" - }, - { - "label": "test_validator_from_config_builds_engine()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1122", - "id": "validator_test_engine_audit_test_validator_from_config_builds_engine", - "community": 211, - "norm_label": "test_validator_from_config_builds_engine()" - }, - { - "label": "test_validator_from_config_orchestrator_disabled()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1140", - "id": "validator_test_engine_audit_test_validator_from_config_orchestrator_disabled", - "community": 119, - "norm_label": "test_validator_from_config_orchestrator_disabled()" - }, - { - "label": "test_validator_from_config_no_orchestrator_attr()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1154", - "id": "validator_test_engine_audit_test_validator_from_config_no_orchestrator_attr", - "community": 119, - "norm_label": "test_validator_from_config_no_orchestrator_attr()" - }, - { - "label": "test_classify_level_unrelated_dir_returns_other()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1165", - "id": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other", - "community": 119, - "norm_label": "test_classify_level_unrelated_dir_returns_other()" - }, - { - "label": "test_compute_run_path_unrelated_other_returns_input()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1175", - "id": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input", - "community": 119, - "norm_label": "test_compute_run_path_unrelated_other_returns_input()" - }, - { - "label": "test_compute_run_path_root_other_returns_root()", - "file_type": "code", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1187", - "id": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root", - "community": 119, - "norm_label": "test_compute_run_path_root_other_returns_root()" - }, - { - "label": "Unit tests for ``Validator.audit`` and ``Validator.query_problems``. Backend Sp", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1", - "id": "validator_test_engine_audit_rationale_1", - "community": 119, - "norm_label": "unit tests for ``validator.audit`` and ``validator.query_problems``. backend sp" - }, - { - "label": "Build the wire-form ``creation.json`` dict for a fixture tree.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L56", - "id": "validator_test_engine_audit_rationale_56", - "community": 93, - "norm_label": "build the wire-form ``creation.json`` dict for a fixture tree." - }, - { - "label": "Write the wire-form ``creation.json`` under ``/.exlab-wizard``.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L88", - "id": "validator_test_engine_audit_rationale_88", - "community": 93, - "norm_label": "write the wire-form ``creation.json`` under ``/.exlab-wizard``." - }, - { - "label": "Build a single-equipment / single-project / single-run clean tree. Returns", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L106", - "id": "validator_test_engine_audit_rationale_106", - "community": 92, - "norm_label": "build a single-equipment / single-project / single-run clean tree. returns" - }, - { - "label": "Construct a :class:`Validator` for tests with a single equipment root.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L148", - "id": "validator_test_engine_audit_rationale_148", - "community": 92, - "norm_label": "construct a :class:`validator` for tests with a single equipment root." - }, - { - "label": "A well-formed equipment / project / run tree produces no findings.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L174", - "id": "validator_test_engine_audit_rationale_174", - "community": 92, - "norm_label": "a well-formed equipment / project / run tree produces no findings." - }, - { - "label": "A project directory with no ``creation.json`` produces one orphan finding.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L182", - "id": "validator_test_engine_audit_rationale_182", - "community": 206, - "norm_label": "a project directory with no ``creation.json`` produces one orphan finding." - }, - { - "label": "A run directory with no ``creation.json`` produces one orphan finding.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L203", - "id": "validator_test_engine_audit_rationale_203", - "community": 206, - "norm_label": "a run directory with no ``creation.json`` produces one orphan finding." - }, - { - "label": "A project directory whose name is not a safe path segment (\u00a73.2) produces a", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L220", - "id": "validator_test_engine_audit_rationale_220", - "community": 206, - "norm_label": "a project directory whose name is not a safe path segment (\u00a73.2) produces a" - }, - { - "label": "A human-readable project name (spaces and all) is a safe segment.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L239", - "id": "validator_test_engine_audit_rationale_239", - "community": 206, - "norm_label": "a human-readable project name (spaces and all) is a safe segment." - }, - { - "label": "A ``Run_*`` leaf whose creation.json says ``run_kind=\"test\"`` is flagged.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L247", - "id": "validator_test_engine_audit_rationale_247", - "community": 93, - "norm_label": "a ``run_*`` leaf whose creation.json says ``run_kind=\"test\"`` is flagged." - }, - { - "label": "A directory name containing ```` produces a finding.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L269", - "id": "validator_test_engine_audit_rationale_269", - "community": 206, - "norm_label": "a directory name containing ```` produces a finding." - }, - { - "label": "An active override with matching ``problem_class`` flips ``override_active``.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L294", - "id": "validator_test_engine_audit_rationale_294", - "community": 206, - "norm_label": "an active override with matching ``problem_class`` flips ``override_active``." - }, - { - "label": "Synced run + hard finding -> ``synced_under_prior_policy=True``.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L327", - "id": "validator_test_engine_audit_rationale_327", - "community": 525, - "norm_label": "synced run + hard finding -> ``synced_under_prior_policy=true``." - }, - { - "label": "Cleaned run + hard finding -> ``synced_under_prior_policy=True``. A ``clean", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L351", - "id": "validator_test_engine_audit_rationale_351", - "community": 526, - "norm_label": "cleaned run + hard finding -> ``synced_under_prior_policy=true``. a ``clean" - }, - { - "label": "A large file with a placeholder is NOT scanned for content.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L375", - "id": "validator_test_engine_audit_rationale_375", - "community": 92, - "norm_label": "a large file with a placeholder is not scanned for content." - }, - { - "label": "A ``.bin`` file is skipped from content scanning by the extension gate.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L399", - "id": "validator_test_engine_audit_rationale_399", - "community": 92, - "norm_label": "a ``.bin`` file is skipped from content scanning by the extension gate." - }, - { - "label": "A ``.txt`` file with a NUL byte is treated as binary and skipped.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L418", - "id": "validator_test_engine_audit_rationale_418", - "community": 92, - "norm_label": "a ``.txt`` file with a nul byte is treated as binary and skipped." - }, - { - "label": "A small ``.txt`` file inside the run directory is scanned for placeholders.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L437", - "id": "validator_test_engine_audit_rationale_437", - "community": 92, - "norm_label": "a small ``.txt`` file inside the run directory is scanned for placeholders." - }, - { - "label": "Hard-tier findings come first; ties break on rule then offending_path.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L455", - "id": "validator_test_engine_audit_rationale_455", - "community": 93, - "norm_label": "hard-tier findings come first; ties break on rule then offending_path." - }, - { - "label": "``query_problems`` returns the same list as ``audit``.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L475", - "id": "validator_test_engine_audit_rationale_475", - "community": 92, - "norm_label": "``query_problems`` returns the same list as ``audit``." - }, - { - "label": "``{\"kind\": \"equipment_id\", ...}`` walks only the matching subtree.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L488", - "id": "validator_test_engine_audit_rationale_488", - "community": 93, - "norm_label": "``{\"kind\": \"equipment_id\", ...}`` walks only the matching subtree." - }, - { - "label": "``{\"kind\": \"project_path\", ...}`` walks the supplied path only.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L525", - "id": "validator_test_engine_audit_rationale_525", - "community": 93, - "norm_label": "``{\"kind\": \"project_path\", ...}`` walks the supplied path only." - }, - { - "label": "``{\"kind\": \"all\"}`` aggregates findings across every equipment root.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L550", - "id": "validator_test_engine_audit_rationale_550", - "community": 93, - "norm_label": "``{\"kind\": \"all\"}`` aggregates findings across every equipment root." - }, - { - "label": "An ``equipment_id`` not in the map produces an empty result, not an error.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L585", - "id": "validator_test_engine_audit_rationale_585", - "community": 119, - "norm_label": "an ``equipment_id`` not in the map produces an empty result, not an error." - }, - { - "label": "The walk does not apply \u00a78.1 rules to ``.exlab-wizard`` contents.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L592", - "id": "validator_test_engine_audit_rationale_592", - "community": 92, - "norm_label": "the walk does not apply \u00a78.1 rules to ``.exlab-wizard`` contents." - }, - { - "label": "A tombstone-revoked override does not flip ``override_active``.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L608", - "id": "validator_test_engine_audit_rationale_608", - "community": 206, - "norm_label": "a tombstone-revoked override does not flip ``override_active``." - }, - { - "label": "A file name containing ```` produces a finding.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L645", - "id": "validator_test_engine_audit_rationale_645", - "community": 92, - "norm_label": "a file name containing ```` produces a finding." - }, - { - "label": "A ``TestRun_*`` leaf with ``run_kind=\"experimental\"`` triggers mismatch.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L661", - "id": "validator_test_engine_audit_rationale_661", - "community": 206, - "norm_label": "a ``testrun_*`` leaf with ``run_kind=\"experimental\"`` triggers mismatch." - }, - { - "label": "Every entry in the result is a :class:`Finding` instance.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L681", - "id": "validator_test_engine_audit_rationale_681", - "community": 93, - "norm_label": "every entry in the result is a :class:`finding` instance." - }, - { - "label": "``\"all\"`` scope walks the staging root when one is configured.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L696", - "id": "validator_test_engine_audit_rationale_696", - "community": 93, - "norm_label": "``\"all\"`` scope walks the staging root when one is configured." - }, - { - "label": "Every finding has the documented \u00a711.8 fields populated.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L726", - "id": "validator_test_engine_audit_rationale_726", - "community": 93, - "norm_label": "every finding has the documented \u00a711.8 fields populated." - }, - { - "label": "An unrecognised ``scope.kind`` raises ``ValueError`` (defensive guard).", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L761", - "id": "validator_test_engine_audit_rationale_761", - "community": 119, - "norm_label": "an unrecognised ``scope.kind`` raises ``valueerror`` (defensive guard)." - }, - { - "label": "Walking a missing root produces no findings (silent skip).", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L768", - "id": "validator_test_engine_audit_rationale_768", - "community": 119, - "norm_label": "walking a missing root produces no findings (silent skip)." - }, - { - "label": "Walking a root that is a regular file (not a directory) returns [].", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L776", - "id": "validator_test_engine_audit_rationale_776", - "community": 119, - "norm_label": "walking a root that is a regular file (not a directory) returns []." - }, - { - "label": "A ``PermissionError`` from ``os.scandir`` does not crash the walk.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L784", - "id": "validator_test_engine_audit_rationale_784", - "community": 119, - "norm_label": "a ``permissionerror`` from ``os.scandir`` does not crash the walk." - }, - { - "label": "A project subfolder that is not a ``Run_*`` / ``TestRuns`` is \"other\".", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L804", - "id": "validator_test_engine_audit_rationale_804", - "community": 93, - "norm_label": "a project subfolder that is not a ``run_*`` / ``testruns`` is \"other\"." - }, - { - "label": "A non-``TestRun_`` leaf under ``TestRuns/`` is classified as \"other\".", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L820", - "id": "validator_test_engine_audit_rationale_820", - "community": 93, - "norm_label": "a non-``testrun_`` leaf under ``testruns/`` is classified as \"other\"." - }, - { - "label": "A subfolder under a run is classified as \"other\"; rules still walk into it.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L836", - "id": "validator_test_engine_audit_rationale_836", - "community": 92, - "norm_label": "a subfolder under a run is classified as \"other\"; rules still walk into it." - }, - { - "label": "A ``creation.json`` that raises ``OSError`` on read is treated as absent.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L858", - "id": "validator_test_engine_audit_rationale_858", - "community": 92, - "norm_label": "a ``creation.json`` that raises ``oserror`` on read is treated as absent." - }, - { - "label": "A ``creation.json`` with invalid JSON bytes is treated as absent.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L877", - "id": "validator_test_engine_audit_rationale_877", - "community": 92, - "norm_label": "a ``creation.json`` with invalid json bytes is treated as absent." - }, - { - "label": "A ``creation.json`` valid as raw dict but failing CreationJson decode.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L889", - "id": "validator_test_engine_audit_rationale_889", - "community": 93, - "norm_label": "a ``creation.json`` valid as raw dict but failing creationjson decode." - }, - { - "label": "A malformed ``readme_fields.json`` is silently skipped (no crash).", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L909", - "id": "validator_test_engine_audit_rationale_909", - "community": 92, - "norm_label": "a malformed ``readme_fields.json`` is silently skipped (no crash)." - }, - { - "label": "Audit picks up missing required README fields when stamped on creation.json.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L921", - "id": "validator_test_engine_audit_rationale_921", - "community": 93, - "norm_label": "audit picks up missing required readme fields when stamped on creation.json." - }, - { - "label": "``required_readme_field_ids`` that is not a list is ignored.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L957", - "id": "validator_test_engine_audit_rationale_957", - "community": 93, - "norm_label": "``required_readme_field_ids`` that is not a list is ignored." - }, - { - "label": "The ``test_runs.json`` marker file is exempt from content scanning.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L992", - "id": "validator_test_engine_audit_rationale_992", - "community": 93, - "norm_label": "the ``test_runs.json`` marker file is exempt from content scanning." - }, - { - "label": "If ``stat()`` raises OSError, the file is skipped from content scanning.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1025", - "id": "validator_test_engine_audit_rationale_1025", - "community": 92, - "norm_label": "if ``stat()`` raises oserror, the file is skipped from content scanning." - }, - { - "label": "If ``open(rb)`` raises OSError, the file is silently skipped.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1052", - "id": "validator_test_engine_audit_rationale_1052", - "community": 92, - "norm_label": "if ``open(rb)`` raises oserror, the file is silently skipped." - }, - { - "label": "A directory outside the equipment root resolves to \"other\" (defensive).", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1076", - "id": "validator_test_engine_audit_rationale_1076", - "community": 119, - "norm_label": "a directory outside the equipment root resolves to \"other\" (defensive)." - }, - { - "label": "A finding with an unknown tier sorts after both hard and soft.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1090", - "id": "validator_test_engine_audit_rationale_1090", - "community": 119, - "norm_label": "a finding with an unknown tier sorts after both hard and soft." - }, - { - "label": "``_level_for_orphan`` returns None for non-project / non-run levels.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1114", - "id": "validator_test_engine_audit_rationale_1114", - "community": 422, - "norm_label": "``_level_for_orphan`` returns none for non-project / non-run levels." - }, - { - "label": "``Validator.from_config`` projects fields out of a Config-shaped object.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1123", - "id": "validator_test_engine_audit_rationale_1123", - "community": 211, - "norm_label": "``validator.from_config`` projects fields out of a config-shaped object." - }, - { - "label": "When ``orchestrator.enabled`` is False, no staging root is wired in.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1141", - "id": "validator_test_engine_audit_rationale_1141", - "community": 119, - "norm_label": "when ``orchestrator.enabled`` is false, no staging root is wired in." - }, - { - "label": "``orchestrator`` attribute absent on the config also works (default None).", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1155", - "id": "validator_test_engine_audit_rationale_1155", - "community": 119, - "norm_label": "``orchestrator`` attribute absent on the config also works (default none)." - }, - { - "label": "``_classify_level`` returns \"other\" for dirs outside the equipment root.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1166", - "id": "validator_test_engine_audit_rationale_1166", - "community": 119, - "norm_label": "``_classify_level`` returns \"other\" for dirs outside the equipment root." - }, - { - "label": "``_compute_run_path`` returns ``str(directory)`` for unrelated paths.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1176", - "id": "validator_test_engine_audit_rationale_1176", - "community": 119, - "norm_label": "``_compute_run_path`` returns ``str(directory)`` for unrelated paths." - }, - { - "label": "``_compute_run_path`` for the equipment root itself with ``other``.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1188", - "id": "validator_test_engine_audit_rationale_1188", - "community": 119, - "norm_label": "``_compute_run_path`` for the equipment root itself with ``other``." - }, - { - "label": "# NOTE: deliberately no creation.json at the project level.", - "file_type": "rationale", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L187", - "id": "validator_test_engine_audit_rationale_187", - "community": 119, - "norm_label": "# note: deliberately no creation.json at the project level." - }, - { - "label": "test_log_writer.py", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L1", - "id": "tests_unit_cache_test_log_writer_py", - "community": 34, - "norm_label": "test_log_writer.py" - }, - { - "label": "test_format_log_line_with_all_tags_matches_spec_example()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L33", - "id": "cache_test_log_writer_test_format_log_line_with_all_tags_matches_spec_example", - "community": 34, - "norm_label": "test_format_log_line_with_all_tags_matches_spec_example()" - }, - { - "label": "test_format_log_line_with_run_id_includes_run_tag()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L52", - "id": "cache_test_log_writer_test_format_log_line_with_run_id_includes_run_tag", - "community": 34, - "norm_label": "test_format_log_line_with_run_id_includes_run_tag()" - }, - { - "label": "test_format_log_line_omits_unset_tags()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L70", - "id": "cache_test_log_writer_test_format_log_line_omits_unset_tags", - "community": 34, - "norm_label": "test_format_log_line_omits_unset_tags()" - }, - { - "label": "test_format_log_line_partial_tags_skipped_individually()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L86", - "id": "cache_test_log_writer_test_format_log_line_partial_tags_skipped_individually", - "community": 34, - "norm_label": "test_format_log_line_partial_tags_skipped_individually()" - }, - { - "label": "test_format_log_line_level_is_padded_to_five_chars()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L102", - "id": "cache_test_log_writer_test_format_log_line_level_is_padded_to_five_chars", - "community": 34, - "norm_label": "test_format_log_line_level_is_padded_to_five_chars()" - }, - { - "label": "test_format_log_line_timestamp_is_zero_padded_iso_with_z()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L115", - "id": "cache_test_log_writer_test_format_log_line_timestamp_is_zero_padded_iso_with_z", - "community": 34, - "norm_label": "test_format_log_line_timestamp_is_zero_padded_iso_with_z()" - }, - { - "label": "test_format_log_line_naive_datetime_treated_as_utc()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L123", - "id": "cache_test_log_writer_test_format_log_line_naive_datetime_treated_as_utc", - "community": 34, - "norm_label": "test_format_log_line_naive_datetime_treated_as_utc()" - }, - { - "label": "test_format_log_line_aware_non_utc_datetime_converts_to_utc()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L130", - "id": "cache_test_log_writer_test_format_log_line_aware_non_utc_datetime_converts_to_utc", - "community": 34, - "norm_label": "test_format_log_line_aware_non_utc_datetime_converts_to_utc()" - }, - { - "label": "test_format_log_line_short_message_unchanged()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L142", - "id": "cache_test_log_writer_test_format_log_line_short_message_unchanged", - "community": 34, - "norm_label": "test_format_log_line_short_message_unchanged()" - }, - { - "label": "test_format_log_line_truncates_long_messages_with_marker()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L152", - "id": "cache_test_log_writer_test_format_log_line_truncates_long_messages_with_marker", - "community": 34, - "norm_label": "test_format_log_line_truncates_long_messages_with_marker()" - }, - { - "label": "test_format_log_line_truncation_preserves_prefix_and_tags()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L165", - "id": "cache_test_log_writer_test_format_log_line_truncation_preserves_prefix_and_tags", - "community": 34, - "norm_label": "test_format_log_line_truncation_preserves_prefix_and_tags()" - }, - { - "label": "test_format_log_line_truncation_at_exact_boundary()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L179", - "id": "cache_test_log_writer_test_format_log_line_truncation_at_exact_boundary", - "community": 34, - "norm_label": "test_format_log_line_truncation_at_exact_boundary()" - }, - { - "label": "test_append_log_line_creates_parent_cache_dir()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L199", - "id": "cache_test_log_writer_test_append_log_line_creates_parent_cache_dir", - "community": 34, - "norm_label": "test_append_log_line_creates_parent_cache_dir()" - }, - { - "label": "test_append_log_line_writes_single_line_with_newline()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L208", - "id": "cache_test_log_writer_test_append_log_line_writes_single_line_with_newline", - "community": 34, - "norm_label": "test_append_log_line_writes_single_line_with_newline()" - }, - { - "label": "test_append_log_line_appends_to_existing_file()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L215", - "id": "cache_test_log_writer_test_append_log_line_appends_to_existing_file", - "community": 34, - "norm_label": "test_append_log_line_appends_to_existing_file()" - }, - { - "label": "test_append_log_line_concurrent_writes_do_not_interleave()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L225", - "id": "cache_test_log_writer_test_append_log_line_concurrent_writes_do_not_interleave", - "community": 34, - "norm_label": "test_append_log_line_concurrent_writes_do_not_interleave()" - }, - { - "label": "test_append_log_line_idempotent_directory_creation()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L255", - "id": "cache_test_log_writer_test_append_log_line_idempotent_directory_creation", - "community": 34, - "norm_label": "test_append_log_line_idempotent_directory_creation()" - }, - { - "label": "test_format_log_line_truncation_prefix_alone_too_big_emits_marker_only()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L268", - "id": "cache_test_log_writer_test_format_log_line_truncation_prefix_alone_too_big_emits_marker_only", - "community": 34, - "norm_label": "test_format_log_line_truncation_prefix_alone_too_big_emits_marker_only()" - }, - { - "label": "test_format_log_line_truncation_prefix_alone_exhausts_budget()", - "file_type": "code", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L286", - "id": "cache_test_log_writer_test_format_log_line_truncation_prefix_alone_exhausts_budget", - "community": 34, - "norm_label": "test_format_log_line_truncation_prefix_alone_exhausts_budget()" - }, - { - "label": "Unit tests for ``exlab_wizard.cache.log_writer``. The line shape is committed b", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L1", - "id": "cache_test_log_writer_rationale_1", - "community": 34, - "norm_label": "unit tests for ``exlab_wizard.cache.log_writer``. the line shape is committed b" - }, - { - "label": "The rendered line must match the \u00a711.5 example shape verbatim.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L34", - "id": "cache_test_log_writer_rationale_34", - "community": 34, - "norm_label": "the rendered line must match the \u00a711.5 example shape verbatim." - }, - { - "label": "When ``run_id`` is set the ``[run:..]`` tag appears after ``[kind:..]``.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L53", - "id": "cache_test_log_writer_rationale_53", - "community": 34, - "norm_label": "when ``run_id`` is set the ``[run:..]`` tag appears after ``[kind:..]``." - }, - { - "label": "Tags whose argument is ``None`` are absent from the output entirely.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L71", - "id": "cache_test_log_writer_rationale_71", - "community": 34, - "norm_label": "tags whose argument is ``none`` are absent from the output entirely." - }, - { - "label": "Only the tags whose values are supplied appear; others are skipped.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L87", - "id": "cache_test_log_writer_rationale_87", - "community": 34, - "norm_label": "only the tags whose values are supplied appear; others are skipped." - }, - { - "label": "Levels shorter than 5 chars are padded with trailing spaces.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L103", - "id": "cache_test_log_writer_rationale_103", - "community": 34, - "norm_label": "levels shorter than 5 chars are padded with trailing spaces." - }, - { - "label": "Single-digit fields render as ``04`` etc. and end in ``Z``.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L116", - "id": "cache_test_log_writer_rationale_116", - "community": 34, - "norm_label": "single-digit fields render as ``04`` etc. and end in ``z``." - }, - { - "label": "A naive datetime is assumed already-UTC and rendered with ``Z``.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L124", - "id": "cache_test_log_writer_rationale_124", - "community": 34, - "norm_label": "a naive datetime is assumed already-utc and rendered with ``z``." - }, - { - "label": "Aware datetimes in non-UTC zones are converted to UTC before rendering.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L131", - "id": "cache_test_log_writer_rationale_131", - "community": 34, - "norm_label": "aware datetimes in non-utc zones are converted to utc before rendering." - }, - { - "label": "Lines well under the cap are returned without a truncation marker.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L143", - "id": "cache_test_log_writer_rationale_143", - "community": 34, - "norm_label": "lines well under the cap are returned without a truncation marker." - }, - { - "label": "A message that pushes the line past LOG_LINE_MAX_BYTES is truncated.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L153", - "id": "cache_test_log_writer_rationale_153", - "community": 34, - "norm_label": "a message that pushes the line past log_line_max_bytes is truncated." - }, - { - "label": "Truncation trims the message body, never the prefix or tags.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L166", - "id": "cache_test_log_writer_rationale_166", - "community": 34, - "norm_label": "truncation trims the message body, never the prefix or tags." - }, - { - "label": "A line whose UTF-8 length equals LOG_LINE_MAX_BYTES is NOT truncated.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L180", - "id": "cache_test_log_writer_rationale_180", - "community": 34, - "norm_label": "a line whose utf-8 length equals log_line_max_bytes is not truncated." - }, - { - "label": "Parent ``.exlab-wizard`` directory is created if missing.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L200", - "id": "cache_test_log_writer_rationale_200", - "community": 34, - "norm_label": "parent ``.exlab-wizard`` directory is created if missing." - }, - { - "label": "Multi-write: each call appends after prior content.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L216", - "id": "cache_test_log_writer_rationale_216", - "community": 34, - "norm_label": "multi-write: each call appends after prior content." - }, - { - "label": "N concurrent threads each writing one short line must produce N intact lines", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L226", - "id": "cache_test_log_writer_rationale_226", - "community": 34, - "norm_label": "n concurrent threads each writing one short line must produce n intact lines" - }, - { - "label": "Calling append twice does not fail even though the dir already exists.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L256", - "id": "cache_test_log_writer_rationale_256", - "community": 34, - "norm_label": "calling append twice does not fail even though the dir already exists." - }, - { - "label": "When the cap is so small that even the truncation marker alone exceeds it, t", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L271", - "id": "cache_test_log_writer_rationale_271", - "community": 34, - "norm_label": "when the cap is so small that even the truncation marker alone exceeds it, t" - }, - { - "label": "When the prefix itself is longer than the budget but smaller than the cap (i", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L289", - "id": "cache_test_log_writer_rationale_289", - "community": 34, - "norm_label": "when the prefix itself is longer than the budget but smaller than the cap (i" - }, - { - "label": "test_creation_writer.py", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L1", - "id": "tests_unit_cache_test_creation_writer_py", - "community": 83, - "norm_label": "test_creation_writer.py" - }, - { - "label": "_build_minimal_payload()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L48", - "id": "cache_test_creation_writer_build_minimal_payload", - "community": 83, - "norm_label": "_build_minimal_payload()" - }, - { - "label": "writer()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L74", - "id": "cache_test_creation_writer_writer", - "community": 83, - "norm_label": "writer()" - }, - { - "label": "creation_path()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L79", - "id": "cache_test_creation_writer_creation_path", - "community": 83, - "norm_label": "creation_path()" - }, - { - "label": "test_write_creation_emits_valid_current_version_file()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L89", - "id": "cache_test_creation_writer_test_write_creation_emits_valid_current_version_file", - "community": 83, - "norm_label": "test_write_creation_emits_valid_current_version_file()" - }, - { - "label": "test_write_creation_pins_schema_version_to_writer_default()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L101", - "id": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default", - "community": 83, - "norm_label": "test_write_creation_pins_schema_version_to_writer_default()" - }, - { - "label": "test_update_creation_atomic_mutates_target_field()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L117", - "id": "cache_test_creation_writer_test_update_creation_atomic_mutates_target_field", - "community": 83, - "norm_label": "test_update_creation_atomic_mutates_target_field()" - }, - { - "label": "test_update_creation_atomic_preserves_unknown_top_level_fields()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L133", - "id": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", - "community": 83, - "norm_label": "test_update_creation_atomic_preserves_unknown_top_level_fields()" - }, - { - "label": "test_update_creation_atomic_appends_validation_override()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L152", - "id": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override", - "community": 83, - "norm_label": "test_update_creation_atomic_appends_validation_override()" - }, - { - "label": "test_update_creation_atomic_serializes_concurrent_calls()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L178", - "id": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", - "community": 83, - "norm_label": "test_update_creation_atomic_serializes_concurrent_calls()" - }, - { - "label": "test_read_creation_snapshot_returns_typed_struct()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L219", - "id": "cache_test_creation_writer_test_read_creation_snapshot_returns_typed_struct", - "community": 83, - "norm_label": "test_read_creation_snapshot_returns_typed_struct()" - }, - { - "label": "test_read_creation_snapshot_supports_concurrent_readers()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L229", - "id": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", - "community": 83, - "norm_label": "test_read_creation_snapshot_supports_concurrent_readers()" - }, - { - "label": "test_reading_2_0_file_raises_schema_major_mismatch()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L247", - "id": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", - "community": 83, - "norm_label": "test_reading_2_0_file_raises_schema_major_mismatch()" - }, - { - "label": "test_reading_malformed_schema_version_raises_schema_major_mismatch()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L260", - "id": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", - "community": 83, - "norm_label": "test_reading_malformed_schema_version_raises_schema_major_mismatch()" - }, - { - "label": "test_reading_1_0_file_applies_documented_defaults()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L273", - "id": "cache_test_creation_writer_test_reading_1_0_file_applies_documented_defaults", - "community": 83, - "norm_label": "test_reading_1_0_file_applies_documented_defaults()" - }, - { - "label": "test_reading_1_7_file_backfills_lims_project_subfields()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L312", - "id": "cache_test_creation_writer_test_reading_1_7_file_backfills_lims_project_subfields", - "community": 83, - "norm_label": "test_reading_1_7_file_backfills_lims_project_subfields()" - }, - { - "label": "test_writer_bumps_schema_version_on_mutation_of_old_minor()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L345", - "id": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor", - "community": 83, - "norm_label": "test_writer_bumps_schema_version_on_mutation_of_old_minor()" - }, - { - "label": "test_writing_always_emits_current_schema_version()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L382", - "id": "cache_test_creation_writer_test_writing_always_emits_current_schema_version", - "community": 83, - "norm_label": "test_writing_always_emits_current_schema_version()" - }, - { - "label": "test_select_active_overrides_returns_empty_for_empty_input()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L397", - "id": "cache_test_creation_writer_test_select_active_overrides_returns_empty_for_empty_input", - "community": 152, - "norm_label": "test_select_active_overrides_returns_empty_for_empty_input()" - }, - { - "label": "test_select_active_overrides_keeps_unrevoked_unexpired_entries()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L401", - "id": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries", - "community": 152, - "norm_label": "test_select_active_overrides_keeps_unrevoked_unexpired_entries()" - }, - { - "label": "test_select_active_overrides_drops_revoked_entry()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L418", - "id": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", - "community": 152, - "norm_label": "test_select_active_overrides_drops_revoked_entry()" - }, - { - "label": "test_select_active_overrides_drops_expired_entry()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L443", - "id": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", - "community": 152, - "norm_label": "test_select_active_overrides_drops_expired_entry()" - }, - { - "label": "test_select_active_overrides_uses_explicit_now_for_determinism()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L473", - "id": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", - "community": 152, - "norm_label": "test_select_active_overrides_uses_explicit_now_for_determinism()" - }, - { - "label": "test_select_active_overrides_ignores_tombstone_for_unknown_id()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L493", - "id": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", - "community": 152, - "norm_label": "test_select_active_overrides_ignores_tombstone_for_unknown_id()" - }, - { - "label": "test_select_active_overrides_treats_malformed_expires_at_as_expired()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L519", - "id": "cache_test_creation_writer_test_select_active_overrides_treats_malformed_expires_at_as_expired", - "community": 152, - "norm_label": "test_select_active_overrides_treats_malformed_expires_at_as_expired()" - }, - { - "label": "test_round_trip_preserves_plugins_applied_with_isolation()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L539", - "id": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", - "community": 83, - "norm_label": "test_round_trip_preserves_plugins_applied_with_isolation()" - }, - { - "label": "test_reading_file_with_missing_required_field_raises_validation_error()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L566", - "id": "cache_test_creation_writer_test_reading_file_with_missing_required_field_raises_validation_error", - "community": 83, - "norm_label": "test_reading_file_with_missing_required_field_raises_validation_error()" - }, - { - "label": "test_select_active_overrides_skips_tombstone_with_null_revokes_target()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L579", - "id": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target", - "community": 152, - "norm_label": "test_select_active_overrides_skips_tombstone_with_null_revokes_target()" - }, - { - "label": "test_select_active_overrides_naive_expires_at_is_treated_as_utc()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L609", - "id": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", - "community": 152, - "norm_label": "test_select_active_overrides_naive_expires_at_is_treated_as_utc()" - }, - { - "label": "test_reading_file_missing_schema_version_raises_schema_major_mismatch()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L629", - "id": "cache_test_creation_writer_test_reading_file_missing_schema_version_raises_schema_major_mismatch", - "community": 83, - "norm_label": "test_reading_file_missing_schema_version_raises_schema_major_mismatch()" - }, - { - "label": "test_update_creation_atomic_backfills_missing_override_id()", - "file_type": "code", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L640", - "id": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", - "community": 83, - "norm_label": "test_update_creation_atomic_backfills_missing_override_id()" - }, - { - "label": "Tests for the atomic ``creation.json`` writer in ``exlab_wizard.cache.creation_w", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L1", - "id": "cache_test_creation_writer_rationale_1", - "community": 83, - "norm_label": "tests for the atomic ``creation.json`` writer in ``exlab_wizard.cache.creation_w" - }, - { - "label": "Even if the caller hands us an old version, the writer pins to current.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L104", - "id": "cache_test_creation_writer_rationale_104", - "community": 83, - "norm_label": "even if the caller hands us an old version, the writer pins to current." - }, - { - "label": "Forward-compat: a v0.7 writer must not drop fields a v0.8 writer added.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L136", - "id": "cache_test_creation_writer_rationale_136", - "community": 83, - "norm_label": "forward-compat: a v0.7 writer must not drop fields a v0.8 writer added." - }, - { - "label": "Two simultaneous mutators on the same path must serialize. This is a small-", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L181", - "id": "cache_test_creation_writer_rationale_181", - "community": 83, - "norm_label": "two simultaneous mutators on the same path must serialize. this is a small-" - }, - { - "label": "Multiple LOCK_SH readers must not block each other.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L232", - "id": "cache_test_creation_writer_rationale_232", - "community": 83, - "norm_label": "multiple lock_sh readers must not block each other." - }, - { - "label": "A non-MAJOR.MINOR string must surface as the same structured error rather th", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L263", - "id": "cache_test_creation_writer_rationale_263", - "community": 83, - "norm_label": "a non-major.minor string must surface as the same structured error rather th" - }, - { - "label": "Spec \u00a711.3 history: a 1.0 file predates ``run_kind``, ``validation_overrides", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L276", - "id": "cache_test_creation_writer_rationale_276", - "community": 83, - "norm_label": "spec \u00a711.3 history: a 1.0 file predates ``run_kind``, ``validation_overrides" - }, - { - "label": "1.7 -> 1.8 added ``lims_project.source`` and ``lims_project.cache_freshness_", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L315", - "id": "cache_test_creation_writer_rationale_315", - "community": 83, - "norm_label": "1.7 -> 1.8 added ``lims_project.source`` and ``lims_project.cache_freshness_" - }, - { - "label": "Spec \u00a711.9.3 rule 3: on mutation, an older-minor file is rewritten at the wr", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L348", - "id": "cache_test_creation_writer_rationale_348", - "community": 83, - "norm_label": "spec \u00a711.9.3 rule 3: on mutation, an older-minor file is rewritten at the wr" - }, - { - "label": "Spec \u00a711.9.3 rule 1: a writer at version R always writes R for new files.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L385", - "id": "cache_test_creation_writer_rationale_385", - "community": 83, - "norm_label": "spec \u00a711.9.3 rule 1: a writer at version r always writes r for new files." - }, - { - "label": "The matching algorithm uses ``now=`` for deterministic tests; the same fixtu", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L474", - "id": "cache_test_creation_writer_rationale_474", - "community": 152, - "norm_label": "the matching algorithm uses ``now=`` for deterministic tests; the same fixtu" - }, - { - "label": "Spec \u00a711.3: orphan tombstones are logged WARN but have no effect.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L494", - "id": "cache_test_creation_writer_rationale_494", - "community": 152, - "norm_label": "spec \u00a711.3: orphan tombstones are logged warn but have no effect." - }, - { - "label": "Fail-safe: a malformed ``expires_at`` re-engages the gate.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L520", - "id": "cache_test_creation_writer_rationale_520", - "community": 152, - "norm_label": "fail-safe: a malformed ``expires_at`` re-engages the gate." - }, - { - "label": "A tombstone with no ``revokes`` key is silently skipped (no-op). Spec \u00a711.3", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L580", - "id": "cache_test_creation_writer_rationale_580", - "community": 152, - "norm_label": "a tombstone with no ``revokes`` key is silently skipped (no-op). spec \u00a711.3" - }, - { - "label": "``_is_future``'s naive-datetime branch attaches UTC and compares against ``n", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L610", - "id": "cache_test_creation_writer_rationale_610", - "community": 152, - "norm_label": "``_is_future``'s naive-datetime branch attaches utc and compares against ``n" - }, - { - "label": "A file without a ``schema_version`` field is treated as a major mismatch --", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L632", - "id": "cache_test_creation_writer_rationale_632", - "community": 83, - "norm_label": "a file without a ``schema_version`` field is treated as a major mismatch --" - }, - { - "label": "Pre-1.6 files may carry override entries without an ``id``. The migration he", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L643", - "id": "cache_test_creation_writer_rationale_643", - "community": 83, - "norm_label": "pre-1.6 files may carry override entries without an ``id``. the migration he" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/cache/__init__.py", - "source_location": "L1", - "id": "tests_unit_cache_init_py", - "community": 6, - "norm_label": "__init__.py" - }, - { - "label": "Cache package. Backend Spec \u00a711.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/__init__.py", - "source_location": "L1", - "id": "cache_init_rationale_1", - "community": 6, - "norm_label": "cache package. backend spec \u00a711." - }, - { - "label": "test_equipment.py", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L1", - "id": "tests_unit_cache_test_equipment_py", - "community": 57, - "norm_label": "test_equipment.py" - }, - { - "label": "_make_equipment_payload()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L35", - "id": "cache_test_equipment_make_equipment_payload", - "community": 57, - "norm_label": "_make_equipment_payload()" - }, - { - "label": "_make_test_runs_payload()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L62", - "id": "cache_test_equipment_make_test_runs_payload", - "community": 57, - "norm_label": "_make_test_runs_payload()" - }, - { - "label": "test_write_equipment_produces_valid_v1_file()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L83", - "id": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", - "community": 57, - "norm_label": "test_write_equipment_produces_valid_v1_file()" - }, - { - "label": "test_write_equipment_creates_parent_cache_dir()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L104", - "id": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", - "community": 57, - "norm_label": "test_write_equipment_creates_parent_cache_dir()" - }, - { - "label": "test_write_equipment_preserves_first_seen_at_on_rewrite()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L114", - "id": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", - "community": 57, - "norm_label": "test_write_equipment_preserves_first_seen_at_on_rewrite()" - }, - { - "label": "test_write_equipment_updates_last_modified_at_on_rewrite()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L131", - "id": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", - "community": 57, - "norm_label": "test_write_equipment_updates_last_modified_at_on_rewrite()" - }, - { - "label": "test_read_equipment_round_trips()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L146", - "id": "cache_test_equipment_test_read_equipment_round_trips", - "community": 57, - "norm_label": "test_read_equipment_round_trips()" - }, - { - "label": "test_read_equipment_raises_when_file_missing()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L163", - "id": "cache_test_equipment_test_read_equipment_raises_when_file_missing", - "community": 57, - "norm_label": "test_read_equipment_raises_when_file_missing()" - }, - { - "label": "test_write_equipment_corrupt_existing_file_recovers()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L171", - "id": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", - "community": 57, - "norm_label": "test_write_equipment_corrupt_existing_file_recovers()" - }, - { - "label": "test_write_test_runs_marker_creates_v1_file()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L193", - "id": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file", - "community": 57, - "norm_label": "test_write_test_runs_marker_creates_v1_file()" - }, - { - "label": "test_write_test_runs_marker_creates_parent_dir()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L206", - "id": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir", - "community": 57, - "norm_label": "test_write_test_runs_marker_creates_parent_dir()" - }, - { - "label": "test_write_test_runs_marker_is_idempotent()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L215", - "id": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", - "community": 57, - "norm_label": "test_write_test_runs_marker_is_idempotent()" - }, - { - "label": "test_write_test_runs_marker_concurrent_first_writes_safe()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L239", - "id": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", - "community": 57, - "norm_label": "test_write_test_runs_marker_concurrent_first_writes_safe()" - }, - { - "label": "test_read_test_runs_marker_round_trips()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L266", - "id": "cache_test_equipment_test_read_test_runs_marker_round_trips", - "community": 57, - "norm_label": "test_read_test_runs_marker_round_trips()" - }, - { - "label": "test_require_schema_major_raises_on_none_version()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L282", - "id": "cache_test_equipment_test_require_schema_major_raises_on_none_version", - "community": 117, - "norm_label": "test_require_schema_major_raises_on_none_version()" - }, - { - "label": "test_require_schema_major_raises_on_empty_version()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L291", - "id": "cache_test_equipment_test_require_schema_major_raises_on_empty_version", - "community": 117, - "norm_label": "test_require_schema_major_raises_on_empty_version()" - }, - { - "label": "test_require_schema_major_raises_on_garbage_version()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L300", - "id": "cache_test_equipment_test_require_schema_major_raises_on_garbage_version", - "community": 117, - "norm_label": "test_require_schema_major_raises_on_garbage_version()" - }, - { - "label": "test_require_schema_major_passes_on_same_major()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L309", - "id": "cache_test_equipment_test_require_schema_major_passes_on_same_major", - "community": 117, - "norm_label": "test_require_schema_major_passes_on_same_major()" - }, - { - "label": "test_read_equipment_skips_check_for_malformed_json()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L319", - "id": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json", - "community": 57, - "norm_label": "test_read_equipment_skips_check_for_malformed_json()" - }, - { - "label": "test_read_equipment_skips_check_when_schema_version_missing()", - "file_type": "code", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L332", - "id": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing", - "community": 57, - "norm_label": "test_read_equipment_skips_check_when_schema_version_missing()" - }, - { - "label": "Unit tests for ``exlab_wizard.cache.equipment``. The schemas come from ``exlab_", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L1", - "id": "cache_test_equipment_rationale_1", - "community": 57, - "norm_label": "unit tests for ``exlab_wizard.cache.equipment``. the schemas come from ``exlab_" - }, - { - "label": "Build a :class:`EquipmentJson` payload for tests. Timestamps are stamped by", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L44", - "id": "cache_test_equipment_rationale_44", - "community": 57, - "norm_label": "build a :class:`equipmentjson` payload for tests. timestamps are stamped by" - }, - { - "label": "First write produces a parseable v1.0 file with both timestamps stamped.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L84", - "id": "cache_test_equipment_rationale_84", - "community": 57, - "norm_label": "first write produces a parseable v1.0 file with both timestamps stamped." - }, - { - "label": "Parent ``.exlab-wizard`` is auto-created if missing.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L105", - "id": "cache_test_equipment_rationale_105", - "community": 57, - "norm_label": "parent ``.exlab-wizard`` is auto-created if missing." - }, - { - "label": "Re-writing an existing file keeps the original ``first_seen_at``.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L115", - "id": "cache_test_equipment_rationale_115", - "community": 57, - "norm_label": "re-writing an existing file keeps the original ``first_seen_at``." - }, - { - "label": "``last_modified_at`` advances on every write; ``first_seen_at`` is frozen.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L132", - "id": "cache_test_equipment_rationale_132", - "community": 57, - "norm_label": "``last_modified_at`` advances on every write; ``first_seen_at`` is frozen." - }, - { - "label": "A round-trip write \u2192 read returns an equivalent payload.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L147", - "id": "cache_test_equipment_rationale_147", - "community": 57, - "norm_label": "a round-trip write \u2192 read returns an equivalent payload." - }, - { - "label": "A corrupt existing file is rewritten cleanly; first_seen_at is fresh. The \u00a7", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L172", - "id": "cache_test_equipment_rationale_172", - "community": 57, - "norm_label": "a corrupt existing file is rewritten cleanly; first_seen_at is fresh. the \u00a7" - }, - { - "label": "Second write is a no-op even when the input payload differs. Per \u00a711.4.2: s", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L216", - "id": "cache_test_equipment_rationale_216", - "community": 57, - "norm_label": "second write is a no-op even when the input payload differs. per \u00a711.4.2: s" - }, - { - "label": "Concurrent first-time writes do not corrupt the file. Two coroutines race t", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L240", - "id": "cache_test_equipment_rationale_240", - "community": 57, - "norm_label": "concurrent first-time writes do not corrupt the file. two coroutines race t" - }, - { - "label": "Round-trip: write -> read returns an equivalent payload.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L267", - "id": "cache_test_equipment_rationale_267", - "community": 57, - "norm_label": "round-trip: write -> read returns an equivalent payload." - }, - { - "label": "An absent or ``None`` ``schema_version`` is a major-mismatch case.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L283", - "id": "cache_test_equipment_rationale_283", - "community": 117, - "norm_label": "an absent or ``none`` ``schema_version`` is a major-mismatch case." - }, - { - "label": "Empty string is treated like ``None`` (no parseable major).", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L292", - "id": "cache_test_equipment_rationale_292", - "community": 117, - "norm_label": "empty string is treated like ``none`` (no parseable major)." - }, - { - "label": "A non-``MAJOR.MINOR`` string is treated as a major-mismatch case.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L301", - "id": "cache_test_equipment_rationale_301", - "community": 117, - "norm_label": "a non-``major.minor`` string is treated as a major-mismatch case." - }, - { - "label": "Same major (different minor) is allowed.", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L310", - "id": "cache_test_equipment_rationale_310", - "community": 117, - "norm_label": "same major (different minor) is allowed." - }, - { - "label": "The ``_check_schema_major_from_bytes`` helper silently ignores malformed JSO", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L320", - "id": "cache_test_equipment_rationale_320", - "community": 57, - "norm_label": "the ``_check_schema_major_from_bytes`` helper silently ignores malformed jso" - }, - { - "label": "A file with no ``schema_version`` falls through to the typed decoder (which", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L335", - "id": "cache_test_equipment_rationale_335", - "community": 57, - "norm_label": "a file with no ``schema_version`` falls through to the typed decoder (which" - }, - { - "label": "test_sync_state_writer.py", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L1", - "id": "tests_unit_cache_test_sync_state_writer_py", - "community": 6, - "norm_label": "test_sync_state_writer.py" - }, - { - "label": "_state_path()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L25", - "id": "cache_test_sync_state_writer_state_path", - "community": 6, - "norm_label": "_state_path()" - }, - { - "label": "test_read_when_absent_returns_empty_state()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L34", - "id": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state", - "community": 6, - "norm_label": "test_read_when_absent_returns_empty_state()" - }, - { - "label": "test_upsert_file_creates_a_record()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L52", - "id": "cache_test_sync_state_writer_test_upsert_file_creates_a_record", - "community": 6, - "norm_label": "test_upsert_file_creates_a_record()" - }, - { - "label": "test_upsert_file_updates_existing_record()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L72", - "id": "cache_test_sync_state_writer_test_upsert_file_updates_existing_record", - "community": 6, - "norm_label": "test_upsert_file_updates_existing_record()" - }, - { - "label": "test_upsert_file_preserves_keep_local()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L90", - "id": "cache_test_sync_state_writer_test_upsert_file_preserves_keep_local", - "community": 6, - "norm_label": "test_upsert_file_preserves_keep_local()" - }, - { - "label": "test_set_keep_local_creates_record_if_absent()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L112", - "id": "cache_test_sync_state_writer_test_set_keep_local_creates_record_if_absent", - "community": 6, - "norm_label": "test_set_keep_local_creates_record_if_absent()" - }, - { - "label": "test_set_keep_local_toggles_and_preserves_sync_fields()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L123", - "id": "cache_test_sync_state_writer_test_set_keep_local_toggles_and_preserves_sync_fields", - "community": 6, - "norm_label": "test_set_keep_local_toggles_and_preserves_sync_fields()" - }, - { - "label": "test_mark_cleared_sets_cleared_at()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L148", - "id": "cache_test_sync_state_writer_test_mark_cleared_sets_cleared_at", - "community": 6, - "norm_label": "test_mark_cleared_sets_cleared_at()" - }, - { - "label": "test_mark_cleared_on_absent_file_creates_state()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L163", - "id": "cache_test_sync_state_writer_test_mark_cleared_on_absent_file_creates_state", - "community": 6, - "norm_label": "test_mark_cleared_on_absent_file_creates_state()" - }, - { - "label": "test_mutators_create_missing_exlab_wizard_dir()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L172", - "id": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", - "community": 6, - "norm_label": "test_mutators_create_missing_exlab_wizard_dir()" - }, - { - "label": "test_rollup_state_syncing_when_empty()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L203", - "id": "cache_test_sync_state_writer_test_rollup_state_syncing_when_empty", - "community": 6, - "norm_label": "test_rollup_state_syncing_when_empty()" - }, - { - "label": "test_rollup_state_syncing_when_some_unverified()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L208", - "id": "cache_test_sync_state_writer_test_rollup_state_syncing_when_some_unverified", - "community": 6, - "norm_label": "test_rollup_state_syncing_when_some_unverified()" - }, - { - "label": "test_rollup_state_synced_when_all_verified()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L219", - "id": "cache_test_sync_state_writer_test_rollup_state_synced_when_all_verified", - "community": 6, - "norm_label": "test_rollup_state_synced_when_all_verified()" - }, - { - "label": "test_rollup_state_cleared_takes_precedence_over_unverified()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L230", - "id": "cache_test_sync_state_writer_test_rollup_state_cleared_takes_precedence_over_unverified", - "community": 6, - "norm_label": "test_rollup_state_cleared_takes_precedence_over_unverified()" - }, - { - "label": "test_sync_state_json_round_trips_through_msgspec()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L244", - "id": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec", - "community": 6, - "norm_label": "test_sync_state_json_round_trips_through_msgspec()" - }, - { - "label": "test_read_raises_on_schema_major_mismatch()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L272", - "id": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", - "community": 6, - "norm_label": "test_read_raises_on_schema_major_mismatch()" - }, - { - "label": "test_concurrent_upserts_on_distinct_files_both_survive()", - "file_type": "code", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L302", - "id": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", - "community": 6, - "norm_label": "test_concurrent_upserts_on_distinct_files_both_survive()" - }, - { - "label": "Unit tests for ``exlab_wizard.cache.sync_state_writer``. Covers the operator-fr", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L1", - "id": "cache_test_sync_state_writer_rationale_1", - "community": 6, - "norm_label": "unit tests for ``exlab_wizard.cache.sync_state_writer``. covers the operator-fr" - }, - { - "label": "Each blocking mutator mkdir's the run's ``.exlab-wizard/`` cache dir. S2 ro", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L173", - "id": "cache_test_sync_state_writer_rationale_173", - "community": 6, - "norm_label": "each blocking mutator mkdir's the run's ``.exlab-wizard/`` cache dir. s2 ro" - }, - { - "label": "A file at a different schema major than the writer is rejected. The writer", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L273", - "id": "cache_test_sync_state_writer_rationale_273", - "community": 6, - "norm_label": "a file at a different schema major than the writer is rejected. the writer" - }, - { - "label": "Two concurrent ``upsert_file`` calls on the same run, distinct paths. The `", - "file_type": "rationale", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L303", - "id": "cache_test_sync_state_writer_rationale_303", - "community": 6, - "norm_label": "two concurrent ``upsert_file`` calls on the same run, distinct paths. the `" - }, - { - "label": "test_loader.py", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L1", - "id": "tests_unit_config_test_loader_py", - "community": 174, - "norm_label": "test_loader.py" - }, - { - "label": "test_load_config_complete_yaml()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L46", - "id": "config_test_loader_test_load_config_complete_yaml", - "community": 174, - "norm_label": "test_load_config_complete_yaml()" - }, - { - "label": "test_load_config_missing_file_raises()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L84", - "id": "config_test_loader_test_load_config_missing_file_raises", - "community": 174, - "norm_label": "test_load_config_missing_file_raises()" - }, - { - "label": "test_load_config_invalid_yaml_raises()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L92", - "id": "config_test_loader_test_load_config_invalid_yaml_raises", - "community": 174, - "norm_label": "test_load_config_invalid_yaml_raises()" - }, - { - "label": "test_load_config_top_level_not_mapping_raises()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L101", - "id": "config_test_loader_test_load_config_top_level_not_mapping_raises", - "community": 174, - "norm_label": "test_load_config_top_level_not_mapping_raises()" - }, - { - "label": "test_load_config_validation_error_raises_config_error()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L109", - "id": "config_test_loader_test_load_config_validation_error_raises_config_error", - "community": 174, - "norm_label": "test_load_config_validation_error_raises_config_error()" - }, - { - "label": "test_load_config_from_text_empty_returns_empty_config()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L124", - "id": "config_test_loader_test_load_config_from_text_empty_returns_empty_config", - "community": 108, - "norm_label": "test_load_config_from_text_empty_returns_empty_config()" - }, - { - "label": "test_load_config_unreadable_path_raises_config_error()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L133", - "id": "config_test_loader_test_load_config_unreadable_path_raises_config_error", - "community": 174, - "norm_label": "test_load_config_unreadable_path_raises_config_error()" - }, - { - "label": "test_save_config_atomic()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L155", - "id": "config_test_loader_test_save_config_atomic", - "community": 174, - "norm_label": "test_save_config_atomic()" - }, - { - "label": "test_save_config_preserves_comments_round_trip()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L167", - "id": "config_test_loader_test_save_config_preserves_comments_round_trip", - "community": 174, - "norm_label": "test_save_config_preserves_comments_round_trip()" - }, - { - "label": "test_save_config_preserves_key_order()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L181", - "id": "config_test_loader_test_save_config_preserves_key_order", - "community": 174, - "norm_label": "test_save_config_preserves_key_order()" - }, - { - "label": "test_save_config_creates_parent_dirs()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L197", - "id": "config_test_loader_test_save_config_creates_parent_dirs", - "community": 174, - "norm_label": "test_save_config_creates_parent_dirs()" - }, - { - "label": "test_save_config_without_original_text_writes_fresh()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L207", - "id": "config_test_loader_test_save_config_without_original_text_writes_fresh", - "community": 174, - "norm_label": "test_save_config_without_original_text_writes_fresh()" - }, - { - "label": "test_dump_config_round_trip()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L226", - "id": "config_test_loader_test_dump_config_round_trip", - "community": 268, - "norm_label": "test_dump_config_round_trip()" - }, - { - "label": "test_test_mode_unset_leaves_equipment_ids_unchanged()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L282", - "id": "config_test_loader_test_test_mode_unset_leaves_equipment_ids_unchanged", - "community": 108, - "norm_label": "test_test_mode_unset_leaves_equipment_ids_unchanged()" - }, - { - "label": "test_test_mode_enabled_prefixes_every_equipment_id()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L289", - "id": "config_test_loader_test_test_mode_enabled_prefixes_every_equipment_id", - "community": 108, - "norm_label": "test_test_mode_enabled_prefixes_every_equipment_id()" - }, - { - "label": "test_test_mode_is_idempotent_on_already_prefixed_ids()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L302", - "id": "config_test_loader_test_test_mode_is_idempotent_on_already_prefixed_ids", - "community": 108, - "norm_label": "test_test_mode_is_idempotent_on_already_prefixed_ids()" - }, - { - "label": "test_test_mode_preserves_unique_id_invariant()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L324", - "id": "config_test_loader_test_test_mode_preserves_unique_id_invariant", - "community": 108, - "norm_label": "test_test_mode_preserves_unique_id_invariant()" - }, - { - "label": "test_test_mode_truthy_values_trigger_prefix()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L340", - "id": "config_test_loader_test_test_mode_truthy_values_trigger_prefix", - "community": 108, - "norm_label": "test_test_mode_truthy_values_trigger_prefix()" - }, - { - "label": "test_test_mode_falsy_values_do_not_trigger_prefix()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L352", - "id": "config_test_loader_test_test_mode_falsy_values_do_not_trigger_prefix", - "community": 108, - "norm_label": "test_test_mode_falsy_values_do_not_trigger_prefix()" - }, - { - "label": "test_test_mode_unset_via_delenv_does_not_trigger_prefix()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L361", - "id": "config_test_loader_test_test_mode_unset_via_delenv_does_not_trigger_prefix", - "community": 108, - "norm_label": "test_test_mode_unset_via_delenv_does_not_trigger_prefix()" - }, - { - "label": "test_apply_test_mode_prefix_helper_is_a_pure_function()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L370", - "id": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function", - "community": 108, - "norm_label": "test_apply_test_mode_prefix_helper_is_a_pure_function()" - }, - { - "label": "test_loader_round_trips_nas_block()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L389", - "id": "config_test_loader_test_loader_round_trips_nas_block", - "community": 174, - "norm_label": "test_loader_round_trips_nas_block()" - }, - { - "label": "test_load_config_uses_ruamel_round_trip()", - "file_type": "code", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L412", - "id": "config_test_loader_test_load_config_uses_ruamel_round_trip", - "community": 174, - "norm_label": "test_load_config_uses_ruamel_round_trip()" - }, - { - "label": "Tests for ``exlab_wizard.config.loader``. Backend Spec \u00a79. The loader is the si", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L1", - "id": "config_test_loader_rationale_1", - "community": 174, - "norm_label": "tests for ``exlab_wizard.config.loader``. backend spec \u00a79. the loader is the si" - }, - { - "label": "The default code path is a no-op: no env var, no rewrite.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L283", - "id": "config_test_loader_rationale_283", - "community": 108, - "norm_label": "the default code path is a no-op: no env var, no rewrite." - }, - { - "label": "A truthy env value rewrites every id with the canonical prefix.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L290", - "id": "config_test_loader_rationale_290", - "community": 108, - "norm_label": "a truthy env value rewrites every id with the canonical prefix." - }, - { - "label": "An already-``TEST_``-prefixed id must NOT be re-prefixed.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L305", - "id": "config_test_loader_rationale_305", - "community": 108, - "norm_label": "an already-``test_``-prefixed id must not be re-prefixed." - }, - { - "label": "The transformed config still passes Config.model_validate.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L325", - "id": "config_test_loader_rationale_325", - "community": 108, - "norm_label": "the transformed config still passes config.model_validate." - }, - { - "label": "Every accepted spelling flips the loader on (case-insensitive).", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L343", - "id": "config_test_loader_rationale_343", - "community": 108, - "norm_label": "every accepted spelling flips the loader on (case-insensitive)." - }, - { - "label": "Falsy / unrecognized values leave the loaded config untouched.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L355", - "id": "config_test_loader_rationale_355", - "community": 108, - "norm_label": "falsy / unrecognized values leave the loaded config untouched." - }, - { - "label": "An absent env var (not just empty) leaves the config untouched.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L364", - "id": "config_test_loader_rationale_364", - "community": 108, - "norm_label": "an absent env var (not just empty) leaves the config untouched." - }, - { - "label": "``apply_test_mode_prefix`` itself ignores the env var. The env-var check is", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L373", - "id": "config_test_loader_rationale_373", - "community": 108, - "norm_label": "``apply_test_mode_prefix`` itself ignores the env var. the env-var check is" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/config/__init__.py", - "source_location": "L1", - "id": "tests_unit_config_init_py", - "community": 474, - "norm_label": "__init__.py" - }, - { - "label": "Config package. Backend Spec \u00a79.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/__init__.py", - "source_location": "L1", - "id": "config_init_rationale_1", - "community": 474, - "norm_label": "config package. backend spec \u00a79." - }, - { - "label": "test_models.py", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1", - "id": "tests_unit_config_test_models_py", - "community": 4, - "norm_label": "test_models.py" - }, - { - "label": "_equipment_dict()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L46", - "id": "config_test_models_equipment_dict", - "community": 4, - "norm_label": "_equipment_dict()" - }, - { - "label": "_full_config_dict()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L59", - "id": "config_test_models_full_config_dict", - "community": 212, - "norm_label": "_full_config_dict()" - }, - { - "label": "test_paths_config_defaults_are_empty_strings()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L172", - "id": "config_test_models_test_paths_config_defaults_are_empty_strings", - "community": 4, - "norm_label": "test_paths_config_defaults_are_empty_strings()" - }, - { - "label": "test_paths_config_rejects_unknown_keys()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L179", - "id": "config_test_models_test_paths_config_rejects_unknown_keys", - "community": 4, - "norm_label": "test_paths_config_rejects_unknown_keys()" - }, - { - "label": "test_lims_config_defaults()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L189", - "id": "config_test_models_test_lims_config_defaults", - "community": 4, - "norm_label": "test_lims_config_defaults()" - }, - { - "label": "test_lims_config_rejects_negative_cache_ttl_hours()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L197", - "id": "config_test_models_test_lims_config_rejects_negative_cache_ttl_hours", - "community": 4, - "norm_label": "test_lims_config_rejects_negative_cache_ttl_hours()" - }, - { - "label": "test_lims_config_zero_cache_ttl_is_allowed()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L202", - "id": "config_test_models_test_lims_config_zero_cache_ttl_is_allowed", - "community": 4, - "norm_label": "test_lims_config_zero_cache_ttl_is_allowed()" - }, - { - "label": "test_readme_default_field_minimal_string_field()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L213", - "id": "config_test_models_test_readme_default_field_minimal_string_field", - "community": 4, - "norm_label": "test_readme_default_field_minimal_string_field()" - }, - { - "label": "test_readme_default_field_id_must_match_template_question_id_pattern()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L220", - "id": "config_test_models_test_readme_default_field_id_must_match_template_question_id_pattern", - "community": 4, - "norm_label": "test_readme_default_field_id_must_match_template_question_id_pattern()" - }, - { - "label": "test_readme_default_field_id_rejects_leading_digit()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L225", - "id": "config_test_models_test_readme_default_field_id_rejects_leading_digit", - "community": 4, - "norm_label": "test_readme_default_field_id_rejects_leading_digit()" - }, - { - "label": "test_readme_default_field_label_must_be_non_empty()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L230", - "id": "config_test_models_test_readme_default_field_label_must_be_non_empty", - "community": 4, - "norm_label": "test_readme_default_field_label_must_be_non_empty()" - }, - { - "label": "test_readme_default_field_rejects_unknown_type()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L235", - "id": "config_test_models_test_readme_default_field_rejects_unknown_type", - "community": 4, - "norm_label": "test_readme_default_field_rejects_unknown_type()" - }, - { - "label": "test_readme_choice_field_requires_options()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L240", - "id": "config_test_models_test_readme_choice_field_requires_options", - "community": 4, - "norm_label": "test_readme_choice_field_requires_options()" - }, - { - "label": "test_readme_choice_field_rejects_empty_options_list()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L246", - "id": "config_test_models_test_readme_choice_field_rejects_empty_options_list", - "community": 4, - "norm_label": "test_readme_choice_field_rejects_empty_options_list()" - }, - { - "label": "test_readme_choice_field_accepts_non_empty_options()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L251", - "id": "config_test_models_test_readme_choice_field_accepts_non_empty_options", - "community": 4, - "norm_label": "test_readme_choice_field_accepts_non_empty_options()" - }, - { - "label": "test_readme_non_choice_field_does_not_require_options()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L256", - "id": "config_test_models_test_readme_non_choice_field_does_not_require_options", - "community": 4, - "norm_label": "test_readme_non_choice_field_does_not_require_options()" - }, - { - "label": "test_readme_config_default_is_empty_list()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L268", - "id": "config_test_models_test_readme_config_default_is_empty_list", - "community": 38, - "norm_label": "test_readme_config_default_is_empty_list()" - }, - { - "label": "test_bandwidth_window_happy_path()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L278", - "id": "config_test_models_test_bandwidth_window_happy_path", - "community": 4, - "norm_label": "test_bandwidth_window_happy_path()" - }, - { - "label": "test_bandwidth_window_rejects_empty_days_list()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L285", - "id": "config_test_models_test_bandwidth_window_rejects_empty_days_list", - "community": 4, - "norm_label": "test_bandwidth_window_rejects_empty_days_list()" - }, - { - "label": "test_bandwidth_window_rejects_invalid_day()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L290", - "id": "config_test_models_test_bandwidth_window_rejects_invalid_day", - "community": 4, - "norm_label": "test_bandwidth_window_rejects_invalid_day()" - }, - { - "label": "test_bandwidth_window_from_must_be_before_to()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L295", - "id": "config_test_models_test_bandwidth_window_from_must_be_before_to", - "community": 4, - "norm_label": "test_bandwidth_window_from_must_be_before_to()" - }, - { - "label": "test_bandwidth_window_equal_from_and_to_is_invalid()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L300", - "id": "config_test_models_test_bandwidth_window_equal_from_and_to_is_invalid", - "community": 4, - "norm_label": "test_bandwidth_window_equal_from_and_to_is_invalid()" - }, - { - "label": "test_bandwidth_window_rejects_non_hhmm_time()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L306", - "id": "config_test_models_test_bandwidth_window_rejects_non_hhmm_time", - "community": 4, - "norm_label": "test_bandwidth_window_rejects_non_hhmm_time()" - }, - { - "label": "test_bandwidth_window_rejects_invalid_hour()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L311", - "id": "config_test_models_test_bandwidth_window_rejects_invalid_hour", - "community": 4, - "norm_label": "test_bandwidth_window_rejects_invalid_hour()" - }, - { - "label": "test_bandwidth_window_rejects_invalid_minute()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L316", - "id": "config_test_models_test_bandwidth_window_rejects_invalid_minute", - "community": 4, - "norm_label": "test_bandwidth_window_rejects_invalid_minute()" - }, - { - "label": "test_bandwidth_config_defaults()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L326", - "id": "config_test_models_test_bandwidth_config_defaults", - "community": 4, - "norm_label": "test_bandwidth_config_defaults()" - }, - { - "label": "test_bandwidth_config_rejects_zero_upload_mbps()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L332", - "id": "config_test_models_test_bandwidth_config_rejects_zero_upload_mbps", - "community": 4, - "norm_label": "test_bandwidth_config_rejects_zero_upload_mbps()" - }, - { - "label": "test_bandwidth_config_rejects_negative_upload_mbps()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L337", - "id": "config_test_models_test_bandwidth_config_rejects_negative_upload_mbps", - "community": 4, - "norm_label": "test_bandwidth_config_rejects_negative_upload_mbps()" - }, - { - "label": "test_bandwidth_config_accepts_positive_upload_mbps()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L342", - "id": "config_test_models_test_bandwidth_config_accepts_positive_upload_mbps", - "community": 4, - "norm_label": "test_bandwidth_config_accepts_positive_upload_mbps()" - }, - { - "label": "test_equipment_id_regex_accepts_canonical_form()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L352", - "id": "config_test_models_test_equipment_id_regex_accepts_canonical_form", - "community": 4, - "norm_label": "test_equipment_id_regex_accepts_canonical_form()" - }, - { - "label": "test_equipment_id_rejects_lowercase()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L357", - "id": "config_test_models_test_equipment_id_rejects_lowercase", - "community": 4, - "norm_label": "test_equipment_id_rejects_lowercase()" - }, - { - "label": "test_equipment_id_rejects_hyphen()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L362", - "id": "config_test_models_test_equipment_id_rejects_hyphen", - "community": 4, - "norm_label": "test_equipment_id_rejects_hyphen()" - }, - { - "label": "test_equipment_id_rejects_leading_digit()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L367", - "id": "config_test_models_test_equipment_id_rejects_leading_digit", - "community": 4, - "norm_label": "test_equipment_id_rejects_leading_digit()" - }, - { - "label": "test_equipment_id_rejects_too_long()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L372", - "id": "config_test_models_test_equipment_id_rejects_too_long", - "community": 4, - "norm_label": "test_equipment_id_rejects_too_long()" - }, - { - "label": "test_equipment_id_accepts_max_length()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L378", - "id": "config_test_models_test_equipment_id_accepts_max_length", - "community": 4, - "norm_label": "test_equipment_id_accepts_max_length()" - }, - { - "label": "test_equipment_config_rejects_removed_completeness_fields()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L384", - "id": "config_test_models_test_equipment_config_rejects_removed_completeness_fields", - "community": 4, - "norm_label": "test_equipment_config_rejects_removed_completeness_fields()" - }, - { - "label": "test_equipment_label_must_be_non_empty()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L395", - "id": "config_test_models_test_equipment_label_must_be_non_empty", - "community": 4, - "norm_label": "test_equipment_label_must_be_non_empty()" - }, - { - "label": "test_equipment_local_root_must_be_non_empty()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L402", - "id": "config_test_models_test_equipment_local_root_must_be_non_empty", - "community": 4, - "norm_label": "test_equipment_local_root_must_be_non_empty()" - }, - { - "label": "test_equipment_nas_root_must_be_non_empty()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L409", - "id": "config_test_models_test_equipment_nas_root_must_be_non_empty", - "community": 4, - "norm_label": "test_equipment_nas_root_must_be_non_empty()" - }, - { - "label": "test_equipment_rejects_removed_orchestrator_staging_transport()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L416", - "id": "config_test_models_test_equipment_rejects_removed_orchestrator_staging_transport", - "community": 4, - "norm_label": "test_equipment_rejects_removed_orchestrator_staging_transport()" - }, - { - "label": "test_sync_mode_defaults_to_nas_when_absent()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L435", - "id": "config_test_models_test_sync_mode_defaults_to_nas_when_absent", - "community": 4, - "norm_label": "test_sync_mode_defaults_to_nas_when_absent()" - }, - { - "label": "test_nas_mode_equipment_needs_no_transport_block()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L440", - "id": "config_test_models_test_nas_mode_equipment_needs_no_transport_block", - "community": 4, - "norm_label": "test_nas_mode_equipment_needs_no_transport_block()" - }, - { - "label": "test_nas_mode_equipment_rejects_stray_transport_block()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L456", - "id": "config_test_models_test_nas_mode_equipment_rejects_stray_transport_block", - "community": 4, - "norm_label": "test_nas_mode_equipment_rejects_stray_transport_block()" - }, - { - "label": "test_sync_mode_stage_needs_no_per_equipment_block()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L471", - "id": "config_test_models_test_sync_mode_stage_needs_no_per_equipment_block", - "community": 4, - "norm_label": "test_sync_mode_stage_needs_no_per_equipment_block()" - }, - { - "label": "test_sync_mode_stage_rejects_stray_transport_block()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L481", - "id": "config_test_models_test_sync_mode_stage_rejects_stray_transport_block", - "community": 4, - "norm_label": "test_sync_mode_stage_rejects_stray_transport_block()" - }, - { - "label": "test_sync_mode_serializes_to_string()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L491", - "id": "config_test_models_test_sync_mode_serializes_to_string", - "community": 4, - "norm_label": "test_sync_mode_serializes_to_string()" - }, - { - "label": "test_sync_mode_rejects_unknown_value()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L499", - "id": "config_test_models_test_sync_mode_rejects_unknown_value", - "community": 4, - "norm_label": "test_sync_mode_rejects_unknown_value()" - }, - { - "label": "test_sync_mode_stage_round_trip_via_dict()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L506", - "id": "config_test_models_test_sync_mode_stage_round_trip_via_dict", - "community": 4, - "norm_label": "test_sync_mode_stage_round_trip_via_dict()" - }, - { - "label": "test_nas_cleanup_defaults()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L522", - "id": "config_test_models_test_nas_cleanup_defaults", - "community": 37, - "norm_label": "test_nas_cleanup_defaults()" - }, - { - "label": "test_nas_cleanup_min_verify_passes_at_least_one()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L530", - "id": "config_test_models_test_nas_cleanup_min_verify_passes_at_least_one", - "community": 37, - "norm_label": "test_nas_cleanup_min_verify_passes_at_least_one()" - }, - { - "label": "test_nas_cleanup_min_age_hours_non_negative()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L535", - "id": "config_test_models_test_nas_cleanup_min_age_hours_non_negative", - "community": 37, - "norm_label": "test_nas_cleanup_min_age_hours_non_negative()" - }, - { - "label": "test_logging_level_normalized_to_uppercase()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L545", - "id": "config_test_models_test_logging_level_normalized_to_uppercase", - "community": 19, - "norm_label": "test_logging_level_normalized_to_uppercase()" - }, - { - "label": "test_logging_level_rejects_unknown()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L550", - "id": "config_test_models_test_logging_level_rejects_unknown", - "community": 19, - "norm_label": "test_logging_level_rejects_unknown()" - }, - { - "label": "test_logging_level_accepts_all_canonical_values()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L555", - "id": "config_test_models_test_logging_level_accepts_all_canonical_values", - "community": 19, - "norm_label": "test_logging_level_accepts_all_canonical_values()" - }, - { - "label": "test_logging_level_strips_whitespace_and_normalizes()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L561", - "id": "config_test_models_test_logging_level_strips_whitespace_and_normalizes", - "community": 19, - "norm_label": "test_logging_level_strips_whitespace_and_normalizes()" - }, - { - "label": "test_logging_level_rejects_non_string()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L566", - "id": "config_test_models_test_logging_level_rejects_non_string", - "community": 4, - "norm_label": "test_logging_level_rejects_non_string()" - }, - { - "label": "test_logging_level_rejects_non_string_directly()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L576", - "id": "config_test_models_test_logging_level_rejects_non_string_directly", - "community": 19, - "norm_label": "test_logging_level_rejects_non_string_directly()" - }, - { - "label": "test_logging_central_log_max_mb_at_least_one()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L584", - "id": "config_test_models_test_logging_central_log_max_mb_at_least_one", - "community": 19, - "norm_label": "test_logging_central_log_max_mb_at_least_one()" - }, - { - "label": "test_logging_central_log_keep_at_least_one()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L589", - "id": "config_test_models_test_logging_central_log_keep_at_least_one", - "community": 19, - "norm_label": "test_logging_central_log_keep_at_least_one()" - }, - { - "label": "test_operators_config_defaults_to_empty_allowlist()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L599", - "id": "config_test_models_test_operators_config_defaults_to_empty_allowlist", - "community": 38, - "norm_label": "test_operators_config_defaults_to_empty_allowlist()" - }, - { - "label": "test_operators_config_accepts_arbitrary_strings()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L604", - "id": "config_test_models_test_operators_config_accepts_arbitrary_strings", - "community": 38, - "norm_label": "test_operators_config_accepts_arbitrary_strings()" - }, - { - "label": "test_validator_config_defaults()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L614", - "id": "config_test_models_test_validator_config_defaults", - "community": 211, - "norm_label": "test_validator_config_defaults()" - }, - { - "label": "test_validator_content_scan_max_mib_at_least_one()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L621", - "id": "config_test_models_test_validator_content_scan_max_mib_at_least_one", - "community": 211, - "norm_label": "test_validator_content_scan_max_mib_at_least_one()" - }, - { - "label": "test_validator_extensions_must_start_with_dot()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L626", - "id": "config_test_models_test_validator_extensions_must_start_with_dot", - "community": 211, - "norm_label": "test_validator_extensions_must_start_with_dot()" - }, - { - "label": "test_validator_extensions_rejects_dotless_among_others()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L631", - "id": "config_test_models_test_validator_extensions_rejects_dotless_among_others", - "community": 211, - "norm_label": "test_validator_extensions_rejects_dotless_among_others()" - }, - { - "label": "test_plugins_config_default_allow_network_false()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L641", - "id": "config_test_models_test_plugins_config_default_allow_network_false", - "community": 423, - "norm_label": "test_plugins_config_default_allow_network_false()" - }, - { - "label": "test_sync_config_defaults()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L651", - "id": "config_test_models_test_sync_config_defaults", - "community": 292, - "norm_label": "test_sync_config_defaults()" - }, - { - "label": "test_sync_config_retry_attempts_non_negative()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L660", - "id": "config_test_models_test_sync_config_retry_attempts_non_negative", - "community": 292, - "norm_label": "test_sync_config_retry_attempts_non_negative()" - }, - { - "label": "test_sync_config_quiescence_minutes_at_least_one()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L665", - "id": "config_test_models_test_sync_config_quiescence_minutes_at_least_one", - "community": 292, - "norm_label": "test_sync_config_quiescence_minutes_at_least_one()" - }, - { - "label": "test_sync_config_poll_interval_seconds_at_least_one()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L670", - "id": "config_test_models_test_sync_config_poll_interval_seconds_at_least_one", - "community": 292, - "norm_label": "test_sync_config_poll_interval_seconds_at_least_one()" - }, - { - "label": "test_sync_config_accepts_custom_quiescence_settings()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L675", - "id": "config_test_models_test_sync_config_accepts_custom_quiescence_settings", - "community": 292, - "norm_label": "test_sync_config_accepts_custom_quiescence_settings()" - }, - { - "label": "test_sync_config_ignore_globs_default_is_independent_per_instance()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L686", - "id": "config_test_models_test_sync_config_ignore_globs_default_is_independent_per_instance", - "community": 292, - "norm_label": "test_sync_config_ignore_globs_default_is_independent_per_instance()" - }, - { - "label": "test_orchestrator_staging_cleanup_defaults()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L699", - "id": "config_test_models_test_orchestrator_staging_cleanup_defaults", - "community": 13, - "norm_label": "test_orchestrator_staging_cleanup_defaults()" - }, - { - "label": "test_orchestrator_staging_cleanup_scheduled_requires_positive_hours()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L705", - "id": "config_test_models_test_orchestrator_staging_cleanup_scheduled_requires_positive_hours", - "community": 13, - "norm_label": "test_orchestrator_staging_cleanup_scheduled_requires_positive_hours()" - }, - { - "label": "test_orchestrator_staging_cleanup_rejects_unknown_mode()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L711", - "id": "config_test_models_test_orchestrator_staging_cleanup_rejects_unknown_mode", - "community": 13, - "norm_label": "test_orchestrator_staging_cleanup_rejects_unknown_mode()" - }, - { - "label": "test_orchestrator_config_defaults()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L721", - "id": "config_test_models_test_orchestrator_config_defaults", - "community": 493, - "norm_label": "test_orchestrator_config_defaults()" - }, - { - "label": "test_orchestrator_config_staging_remote_validates_with_perf_defaults()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L733", - "id": "config_test_models_test_orchestrator_config_staging_remote_validates_with_perf_defaults", - "community": 4, - "norm_label": "test_orchestrator_config_staging_remote_validates_with_perf_defaults()" - }, - { - "label": "test_stage_mode_equipment_validates_without_staging_block()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L744", - "id": "config_test_models_test_stage_mode_equipment_validates_without_staging_block", - "community": 4, - "norm_label": "test_stage_mode_equipment_validates_without_staging_block()" - }, - { - "label": "test_config_fully_default_is_valid()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L762", - "id": "config_test_models_test_config_fully_default_is_valid", - "community": 4, - "norm_label": "test_config_fully_default_is_valid()" - }, - { - "label": "test_unique_equipment_ids_required()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L772", - "id": "config_test_models_test_unique_equipment_ids_required", - "community": 4, - "norm_label": "test_unique_equipment_ids_required()" - }, - { - "label": "test_distinct_equipment_ids_accepted()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L784", - "id": "config_test_models_test_distinct_equipment_ids_accepted", - "community": 212, - "norm_label": "test_distinct_equipment_ids_accepted()" - }, - { - "label": "test_orchestrator_legacy_enabled_field_rejected()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L795", - "id": "config_test_models_test_orchestrator_legacy_enabled_field_rejected", - "community": 492, - "norm_label": "test_orchestrator_legacy_enabled_field_rejected()" - }, - { - "label": "test_orchestrator_label_and_staging_root_load_independently()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L811", - "id": "config_test_models_test_orchestrator_label_and_staging_root_load_independently", - "community": 494, - "norm_label": "test_orchestrator_label_and_staging_root_load_independently()" - }, - { - "label": "test_orchestrator_with_both_fields_is_valid()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L826", - "id": "config_test_models_test_orchestrator_with_both_fields_is_valid", - "community": 4, - "norm_label": "test_orchestrator_with_both_fields_is_valid()" - }, - { - "label": "test_config_rejects_unknown_top_level_key()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L840", - "id": "config_test_models_test_config_rejects_unknown_top_level_key", - "community": 4, - "norm_label": "test_config_rejects_unknown_top_level_key()" - }, - { - "label": "test_full_config_round_trip_via_dict()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L850", - "id": "config_test_models_test_full_config_round_trip_via_dict", - "community": 212, - "norm_label": "test_full_config_round_trip_via_dict()" - }, - { - "label": "test_round_trip_preserves_bandwidth_alias_for_from()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L871", - "id": "config_test_models_test_round_trip_preserves_bandwidth_alias_for_from", - "community": 212, - "norm_label": "test_round_trip_preserves_bandwidth_alias_for_from()" - }, - { - "label": "test_config_with_equipment_appended_seeds_from_none()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L885", - "id": "config_test_models_test_config_with_equipment_appended_seeds_from_none", - "community": 261, - "norm_label": "test_config_with_equipment_appended_seeds_from_none()" - }, - { - "label": "test_config_with_equipment_appended_preserves_existing_state()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L893", - "id": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", - "community": 261, - "norm_label": "test_config_with_equipment_appended_preserves_existing_state()" - }, - { - "label": "test_config_with_equipment_appended_rejects_duplicate_id()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L905", - "id": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", - "community": 261, - "norm_label": "test_config_with_equipment_appended_rejects_duplicate_id()" - }, - { - "label": "test_nas_config_defaults()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L919", - "id": "config_test_models_test_nas_config_defaults", - "community": 4, - "norm_label": "test_nas_config_defaults()" - }, - { - "label": "test_nas_config_rejects_nonpositive_perf()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L930", - "id": "config_test_models_test_nas_config_rejects_nonpositive_perf", - "community": 4, - "norm_label": "test_nas_config_rejects_nonpositive_perf()" - }, - { - "label": "test_config_has_default_nas_block()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L937", - "id": "config_test_models_test_config_has_default_nas_block", - "community": 4, - "norm_label": "test_config_has_default_nas_block()" - }, - { - "label": "Unit tests for ``exlab_wizard.config.models``. Pydantic models that mirror ``co", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1", - "id": "config_test_models_rationale_1", - "community": 4, - "norm_label": "unit tests for ``exlab_wizard.config.models``. pydantic models that mirror ``co" - }, - { - "label": "Build a valid EquipmentConfig dict with sensible defaults.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L50", - "id": "config_test_models_rationale_50", - "community": 4, - "norm_label": "build a valid equipmentconfig dict with sensible defaults." - }, - { - "label": "Full Config dict mirroring the \u00a79 example. Used by round-trip tests.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L60", - "id": "config_test_models_rationale_60", - "community": 212, - "norm_label": "full config dict mirroring the \u00a79 example. used by round-trip tests." - }, - { - "label": "The operator-free quiescence redesign drops the per-equipment completeness-s", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L385", - "id": "config_test_models_rationale_385", - "community": 4, - "norm_label": "the operator-free quiescence redesign drops the per-equipment completeness-s" - }, - { - "label": "rclone.conf migration (Phase 8): the per-equipment staging-transport block i", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L417", - "id": "config_test_models_rationale_417", - "community": 4, - "norm_label": "rclone.conf migration (phase 8): the per-equipment staging-transport block i" - }, - { - "label": "rclone.conf migration: nas-mode carries no per-equipment connection. The ``", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L441", - "id": "config_test_models_rationale_441", - "community": 4, - "norm_label": "rclone.conf migration: nas-mode carries no per-equipment connection. the ``" - }, - { - "label": "rclone.conf migration: a stray ``transport`` key is now forbidden.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L457", - "id": "config_test_models_rationale_457", - "community": 4, - "norm_label": "rclone.conf migration: a stray ``transport`` key is now forbidden." - }, - { - "label": "rclone.conf migration (Phase 8): stage-mode no longer requires (or accepts)", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L472", - "id": "config_test_models_rationale_472", - "community": 4, - "norm_label": "rclone.conf migration (phase 8): stage-mode no longer requires (or accepts)" - }, - { - "label": "Build a stage-mode EquipmentConfig from a dict, dump it, compare.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L507", - "id": "config_test_models_rationale_507", - "community": 4, - "norm_label": "build a stage-mode equipmentconfig from a dict, dump it, compare." - }, - { - "label": "Redesign \u00a73.1: the ``enabled`` toggle is removed; ``label`` and ``staging_ro", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L722", - "id": "config_test_models_rationale_722", - "community": 493, - "norm_label": "redesign \u00a73.1: the ``enabled`` toggle is removed; ``label`` and ``staging_ro" - }, - { - "label": "rclone.conf migration (Phase 8): the orchestrator stage hop is a named rclon", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L734", - "id": "config_test_models_rationale_734", - "community": 4, - "norm_label": "rclone.conf migration (phase 8): the orchestrator stage hop is a named rclon" - }, - { - "label": "rclone.conf migration (Phase 8): a stage-mode equipment validates with only", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L745", - "id": "config_test_models_rationale_745", - "community": 4, - "norm_label": "rclone.conf migration (phase 8): a stage-mode equipment validates with only" - }, - { - "label": "Redesign \u00a73.1: the ``enabled`` toggle is removed; old configs that carry it", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L796", - "id": "config_test_models_rationale_796", - "community": 492, - "norm_label": "redesign \u00a73.1: the ``enabled`` toggle is removed; old configs that carry it" - }, - { - "label": "They can be empty at load time (the setup-incomplete gate trips, not the Pyd", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L812", - "id": "config_test_models_rationale_812", - "community": 494, - "norm_label": "they can be empty at load time (the setup-incomplete gate trips, not the pyd" - }, - { - "label": "Build a Config from a \u00a79-shaped dict, dump it, and compare. ``model_dump()`", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L851", - "id": "config_test_models_rationale_851", - "community": 212, - "norm_label": "build a config from a \u00a79-shaped dict, dump it, and compare. ``model_dump()`" - }, - { - "label": "A ``None`` config (fresh install) yields a default Config + the device.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L886", - "id": "config_test_models_rationale_886", - "community": 261, - "norm_label": "a ``none`` config (fresh install) yields a default config + the device." - }, - { - "label": "Appending keeps prior equipment and other config sections, unmutated.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L894", - "id": "config_test_models_rationale_894", - "community": 261, - "norm_label": "appending keeps prior equipment and other config sections, unmutated." - }, - { - "label": "A device whose id already exists raises ConfigError, not a silent merge.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L906", - "id": "config_test_models_rationale_906", - "community": 261, - "norm_label": "a device whose id already exists raises configerror, not a silent merge." - }, - { - "label": "test_registry.py", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L1", - "id": "tests_unit_plugins_test_registry_py", - "community": 7, - "norm_label": "test_registry.py" - }, - { - "label": "_write_plugin()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L35", - "id": "plugins_test_registry_write_plugin", - "community": 7, - "norm_label": "_write_plugin()" - }, - { - "label": "test_loads_a_valid_plugin()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L89", - "id": "plugins_test_registry_test_loads_a_valid_plugin", - "community": 7, - "norm_label": "test_loads_a_valid_plugin()" - }, - { - "label": "test_loaded_record_carries_isolation_block()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L106", - "id": "plugins_test_registry_test_loaded_record_carries_isolation_block", - "community": 7, - "norm_label": "test_loaded_record_carries_isolation_block()" - }, - { - "label": "test_required_and_optional_variables_round_trip()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L118", - "id": "plugins_test_registry_test_required_and_optional_variables_round_trip", - "community": 7, - "norm_label": "test_required_and_optional_variables_round_trip()" - }, - { - "label": "test_rejects_plugin_directory_without_manifest()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L140", - "id": "plugins_test_registry_test_rejects_plugin_directory_without_manifest", - "community": 7, - "norm_label": "test_rejects_plugin_directory_without_manifest()" - }, - { - "label": "test_rejects_plugin_with_malformed_yaml()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L152", - "id": "plugins_test_registry_test_rejects_plugin_with_malformed_yaml", - "community": 7, - "norm_label": "test_rejects_plugin_with_malformed_yaml()" - }, - { - "label": "test_rejects_plugin_missing_required_field()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L164", - "id": "plugins_test_registry_test_rejects_plugin_missing_required_field", - "community": 7, - "norm_label": "test_rejects_plugin_missing_required_field()" - }, - { - "label": "test_rejects_plugin_with_unsupported_api_version()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L174", - "id": "plugins_test_registry_test_rejects_plugin_with_unsupported_api_version", - "community": 7, - "norm_label": "test_rejects_plugin_with_unsupported_api_version()" - }, - { - "label": "test_rejects_plugin_with_invalid_name()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L184", - "id": "plugins_test_registry_test_rejects_plugin_with_invalid_name", - "community": 7, - "norm_label": "test_rejects_plugin_with_invalid_name()" - }, - { - "label": "test_rejects_plugin_with_timeout_above_cap()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L202", - "id": "plugins_test_registry_test_rejects_plugin_with_timeout_above_cap", - "community": 7, - "norm_label": "test_rejects_plugin_with_timeout_above_cap()" - }, - { - "label": "test_rejects_plugin_with_memory_above_cap()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L211", - "id": "plugins_test_registry_test_rejects_plugin_with_memory_above_cap", - "community": 7, - "norm_label": "test_rejects_plugin_with_memory_above_cap()" - }, - { - "label": "test_rejects_supported_extensions_when_not_a_list_of_strings()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L220", - "id": "plugins_test_registry_test_rejects_supported_extensions_when_not_a_list_of_strings", - "community": 7, - "norm_label": "test_rejects_supported_extensions_when_not_a_list_of_strings()" - }, - { - "label": "test_rejects_network_plugin_when_allow_network_false()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L238", - "id": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false", - "community": 7, - "norm_label": "test_rejects_network_plugin_when_allow_network_false()" - }, - { - "label": "test_loads_network_plugin_when_allow_network_true()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L247", - "id": "plugins_test_registry_test_loads_network_plugin_when_allow_network_true", - "community": 7, - "norm_label": "test_loads_network_plugin_when_allow_network_true()" - }, - { - "label": "test_lab_dir_wins_on_name_collision()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L263", - "id": "plugins_test_registry_test_lab_dir_wins_on_name_collision", - "community": 7, - "norm_label": "test_lab_dir_wins_on_name_collision()" - }, - { - "label": "test_bundled_only_when_no_lab_collision()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L278", - "id": "plugins_test_registry_test_bundled_only_when_no_lab_collision", - "community": 7, - "norm_label": "test_bundled_only_when_no_lab_collision()" - }, - { - "label": "test_lab_only_plugins_are_loaded_too()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L292", - "id": "plugins_test_registry_test_lab_only_plugins_are_loaded_too", - "community": 7, - "norm_label": "test_lab_only_plugins_are_loaded_too()" - }, - { - "label": "test_reload_replaces_previous_state()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L311", - "id": "plugins_test_registry_test_reload_replaces_previous_state", - "community": 7, - "norm_label": "test_reload_replaces_previous_state()" - }, - { - "label": "test_reload_returns_registry_report_dataclass()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L326", - "id": "plugins_test_registry_test_reload_returns_registry_report_dataclass", - "community": 7, - "norm_label": "test_reload_returns_registry_report_dataclass()" - }, - { - "label": "test_get_returns_none_for_unknown_plugin()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L340", - "id": "plugins_test_registry_test_get_returns_none_for_unknown_plugin", - "community": 7, - "norm_label": "test_get_returns_none_for_unknown_plugin()" - }, - { - "label": "test_list_all_returns_records_sorted_by_name()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L346", - "id": "plugins_test_registry_test_list_all_returns_records_sorted_by_name", - "community": 7, - "norm_label": "test_list_all_returns_records_sorted_by_name()" - }, - { - "label": "test_list_all_returns_record_instances()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L357", - "id": "plugins_test_registry_test_list_all_returns_record_instances", - "community": 7, - "norm_label": "test_list_all_returns_record_instances()" - }, - { - "label": "test_candidates_for_matches_by_extension()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L372", - "id": "plugins_test_registry_test_candidates_for_matches_by_extension", - "community": 7, - "norm_label": "test_candidates_for_matches_by_extension()" - }, - { - "label": "test_candidates_for_excludes_plugins_with_zero_matches()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L392", - "id": "plugins_test_registry_test_candidates_for_excludes_plugins_with_zero_matches", - "community": 7, - "norm_label": "test_candidates_for_excludes_plugins_with_zero_matches()" - }, - { - "label": "test_candidates_for_returns_pluginplan_instances()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L402", - "id": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", - "community": 7, - "norm_label": "test_candidates_for_returns_pluginplan_instances()" - }, - { - "label": "test_candidates_for_supports_multi_extension_plugin()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L414", - "id": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin", - "community": 7, - "norm_label": "test_candidates_for_supports_multi_extension_plugin()" - }, - { - "label": "test_registry_with_no_dirs_loads_nothing()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L430", - "id": "plugins_test_registry_test_registry_with_no_dirs_loads_nothing", - "community": 7, - "norm_label": "test_registry_with_no_dirs_loads_nothing()" - }, - { - "label": "test_registry_skips_files_in_root()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L438", - "id": "plugins_test_registry_test_registry_skips_files_in_root", - "community": 7, - "norm_label": "test_registry_skips_files_in_root()" - }, - { - "label": "test_registry_handles_nonexistent_dir()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L450", - "id": "plugins_test_registry_test_registry_handles_nonexistent_dir", - "community": 7, - "norm_label": "test_registry_handles_nonexistent_dir()" - }, - { - "label": "test_registry_accepts_isolation_at_cap_boundary()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L465", - "id": "plugins_test_registry_test_registry_accepts_isolation_at_cap_boundary", - "community": 7, - "norm_label": "test_registry_accepts_isolation_at_cap_boundary()" - }, - { - "label": "test_pluginplan_dataclass_shape()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L473", - "id": "plugins_test_registry_test_pluginplan_dataclass_shape", - "community": 7, - "norm_label": "test_pluginplan_dataclass_shape()" - }, - { - "label": "test_pluginrecord_dataclass_shape()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L484", - "id": "plugins_test_registry_test_pluginrecord_dataclass_shape", - "community": 7, - "norm_label": "test_pluginrecord_dataclass_shape()" - }, - { - "label": "Tests for ``exlab_wizard.plugins.registry`` -- manifest-driven discovery. Pin t", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L1", - "id": "plugins_test_registry_rationale_1", - "community": 7, - "norm_label": "tests for ``exlab_wizard.plugins.registry`` -- manifest-driven discovery. pin t" - }, - { - "label": "Write a minimal plugin scaffold and return the plugin directory.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L50", - "id": "plugins_test_registry_rationale_50", - "community": 7, - "norm_label": "write a minimal plugin scaffold and return the plugin directory." - }, - { - "label": "A non-directory entry inside the plugin root must be ignored, not crashed on.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L439", - "id": "plugins_test_registry_rationale_439", - "community": 7, - "norm_label": "a non-directory entry inside the plugin root must be ignored, not crashed on." - }, - { - "label": "A configured plugin root that doesn't exist is treated as empty (no crash).", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L451", - "id": "plugins_test_registry_rationale_451", - "community": 7, - "norm_label": "a configured plugin root that doesn't exist is treated as empty (no crash)." - }, - { - "label": "PluginPlan exposes ``record`` and ``matching_files`` as named attributes.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L474", - "id": "plugins_test_registry_rationale_474", - "community": 7, - "norm_label": "pluginplan exposes ``record`` and ``matching_files`` as named attributes." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/plugins/__init__.py", - "source_location": "L1", - "id": "tests_unit_plugins_init_py", - "community": 374, - "norm_label": "__init__.py" - }, - { - "label": "Plugins package. Backend Spec \u00a76. Re-exports the public plugin contract surface", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/__init__.py", - "source_location": "L1", - "id": "plugins_init_rationale_1", - "community": 374, - "norm_label": "plugins package. backend spec \u00a76. re-exports the public plugin contract surface" - }, - { - "label": "test_base.py", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L1", - "id": "tests_unit_plugins_test_base_py", - "community": 149, - "norm_label": "test_base.py" - }, - { - "label": "_MinimalPlugin", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L34", - "id": "plugins_test_base_minimalplugin", - "community": 149, - "norm_label": "_minimalplugin" - }, - { - "label": "Plugin", - "file_type": "code", - "source_file": "", - "source_location": "", - "id": "plugin", - "community": 277, - "norm_label": "plugin" - }, - { - "label": ".can_handle()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L42", - "id": "plugins_test_base_minimalplugin_can_handle", - "community": 149, - "norm_label": ".can_handle()" - }, - { - "label": ".transform()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L45", - "id": "plugins_test_base_minimalplugin_transform", - "community": 149, - "norm_label": ".transform()" - }, - { - "label": "_make_ctx()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L49", - "id": "plugins_test_base_make_ctx", - "community": 149, - "norm_label": "_make_ctx()" - }, - { - "label": "test_plugin_abc_cannot_be_instantiated_directly()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L71", - "id": "plugins_test_base_test_plugin_abc_cannot_be_instantiated_directly", - "community": 277, - "norm_label": "test_plugin_abc_cannot_be_instantiated_directly()" - }, - { - "label": "test_plugin_subclass_missing_can_handle_is_abstract()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L76", - "id": "plugins_test_base_test_plugin_subclass_missing_can_handle_is_abstract", - "community": 149, - "norm_label": "test_plugin_subclass_missing_can_handle_is_abstract()" - }, - { - "label": "test_plugin_subclass_missing_transform_is_abstract()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L89", - "id": "plugins_test_base_test_plugin_subclass_missing_transform_is_abstract", - "community": 149, - "norm_label": "test_plugin_subclass_missing_transform_is_abstract()" - }, - { - "label": "test_minimal_plugin_can_be_instantiated()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L102", - "id": "plugins_test_base_test_minimal_plugin_can_be_instantiated", - "community": 149, - "norm_label": "test_minimal_plugin_can_be_instantiated()" - }, - { - "label": "test_default_validate_variables_returns_empty_when_no_required()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L113", - "id": "plugins_test_base_test_default_validate_variables_returns_empty_when_no_required", - "community": 149, - "norm_label": "test_default_validate_variables_returns_empty_when_no_required()" - }, - { - "label": "test_default_validate_variables_reports_missing_required()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L118", - "id": "plugins_test_base_test_default_validate_variables_reports_missing_required", - "community": 149, - "norm_label": "test_default_validate_variables_reports_missing_required()" - }, - { - "label": "test_default_validate_variables_reports_empty_string_as_missing()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L128", - "id": "plugins_test_base_test_default_validate_variables_reports_empty_string_as_missing", - "community": 530, - "norm_label": "test_default_validate_variables_reports_empty_string_as_missing()" - }, - { - "label": "test_default_validate_variables_lists_all_missing()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L140", - "id": "plugins_test_base_test_default_validate_variables_lists_all_missing", - "community": 149, - "norm_label": "test_default_validate_variables_lists_all_missing()" - }, - { - "label": "test_pre_transform_all_default_is_noop()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L154", - "id": "plugins_test_base_test_pre_transform_all_default_is_noop", - "community": 149, - "norm_label": "test_pre_transform_all_default_is_noop()" - }, - { - "label": "test_post_transform_all_default_is_noop()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L160", - "id": "plugins_test_base_test_post_transform_all_default_is_noop", - "community": 149, - "norm_label": "test_post_transform_all_default_is_noop()" - }, - { - "label": "test_on_plugin_failure_default_is_noop()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L166", - "id": "plugins_test_base_test_on_plugin_failure_default_is_noop", - "community": 149, - "norm_label": "test_on_plugin_failure_default_is_noop()" - }, - { - "label": "test_describe_changes_default_returns_single_modify_change()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L173", - "id": "plugins_test_base_test_describe_changes_default_returns_single_modify_change", - "community": 149, - "norm_label": "test_describe_changes_default_returns_single_modify_change()" - }, - { - "label": "test_filechange_is_frozen_dataclass()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L189", - "id": "plugins_test_base_test_filechange_is_frozen_dataclass", - "community": 330, - "norm_label": "test_filechange_is_frozen_dataclass()" - }, - { - "label": "test_filechange_default_detail_is_empty_dict()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L195", - "id": "plugins_test_base_test_filechange_default_detail_is_empty_dict", - "community": 330, - "norm_label": "test_filechange_default_detail_is_empty_dict()" - }, - { - "label": "test_filechange_accepts_detail_payload()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L200", - "id": "plugins_test_base_test_filechange_accepts_detail_payload", - "community": 330, - "norm_label": "test_filechange_accepts_detail_payload()" - }, - { - "label": "test_plugincontext_is_frozen_dataclass()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L215", - "id": "plugins_test_base_test_plugincontext_is_frozen_dataclass", - "community": 149, - "norm_label": "test_plugincontext_is_frozen_dataclass()" - }, - { - "label": "test_plugincontext_carries_full_session_metadata()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L221", - "id": "plugins_test_base_test_plugincontext_carries_full_session_metadata", - "community": 149, - "norm_label": "test_plugincontext_carries_full_session_metadata()" - }, - { - "label": "test_pluginerror_reexport_is_canonical_class()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L244", - "id": "plugins_test_base_test_pluginerror_reexport_is_canonical_class", - "community": 529, - "norm_label": "test_pluginerror_reexport_is_canonical_class()" - }, - { - "label": "test_plugininputrequired_reexport_is_canonical_class()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L249", - "id": "plugins_test_base_test_plugininputrequired_reexport_is_canonical_class", - "community": 149, - "norm_label": "test_plugininputrequired_reexport_is_canonical_class()" - }, - { - "label": "test_plugininputrequired_carries_fields_and_reason()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L253", - "id": "plugins_test_base_test_plugininputrequired_carries_fields_and_reason", - "community": 15, - "norm_label": "test_plugininputrequired_carries_fields_and_reason()" - }, - { - "label": "test_plugin_api_version_defaults_to_one()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L266", - "id": "plugins_test_base_test_plugin_api_version_defaults_to_one", - "community": 531, - "norm_label": "test_plugin_api_version_defaults_to_one()" - }, - { - "label": "test_plugin_required_variables_default_is_empty_list()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L271", - "id": "plugins_test_base_test_plugin_required_variables_default_is_empty_list", - "community": 149, - "norm_label": "test_plugin_required_variables_default_is_empty_list()" - }, - { - "label": "test_plugin_optional_variables_default_is_empty_list()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L275", - "id": "plugins_test_base_test_plugin_optional_variables_default_is_empty_list", - "community": 149, - "norm_label": "test_plugin_optional_variables_default_is_empty_list()" - }, - { - "label": "Tests for ``exlab_wizard.plugins.base`` -- the plugin contract base class. Pin", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L1", - "id": "plugins_test_base_rationale_1", - "community": 149, - "norm_label": "tests for ``exlab_wizard.plugins.base`` -- the plugin contract base class. pin" - }, - { - "label": "Concrete subclass with only the two abstract methods implemented.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L35", - "id": "plugins_test_base_rationale_35", - "community": 149, - "norm_label": "concrete subclass with only the two abstract methods implemented." - }, - { - "label": "A subclass with both abstract methods implemented is instantiable.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L103", - "id": "plugins_test_base_rationale_103", - "community": 149, - "norm_label": "a subclass with both abstract methods implemented is instantiable." - }, - { - "label": "An empty string is treated as a missing value (per spec: 'missing or empty').", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L129", - "id": "plugins_test_base_rationale_129", - "community": 530, - "norm_label": "an empty string is treated as a missing value (per spec: 'missing or empty')." - }, - { - "label": "The plugins package re-exports the same class object as ``errors``.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L245", - "id": "plugins_test_base_rationale_245", - "community": 529, - "norm_label": "the plugins package re-exports the same class object as ``errors``." - }, - { - "label": "PluginInputRequired stores both the field list and the operator-readable reason.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L254", - "id": "plugins_test_base_rationale_254", - "community": 15, - "norm_label": "plugininputrequired stores both the field list and the operator-readable reason." - }, - { - "label": "The class-level api_version default matches the host's current version.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L267", - "id": "plugins_test_base_rationale_267", - "community": 531, - "norm_label": "the class-level api_version default matches the host's current version." - }, - { - "label": "test_logger.py", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L1", - "id": "tests_unit_plugins_test_logger_py", - "community": 20, - "norm_label": "test_logger.py" - }, - { - "label": "test_host_plugin_logger_forwards_info_to_stdlib_logger()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L33", - "id": "plugins_test_logger_test_host_plugin_logger_forwards_info_to_stdlib_logger", - "community": 20, - "norm_label": "test_host_plugin_logger_forwards_info_to_stdlib_logger()" - }, - { - "label": "test_host_plugin_logger_forwards_debug()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L44", - "id": "plugins_test_logger_test_host_plugin_logger_forwards_debug", - "community": 20, - "norm_label": "test_host_plugin_logger_forwards_debug()" - }, - { - "label": "test_host_plugin_logger_forwards_warning()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L51", - "id": "plugins_test_logger_test_host_plugin_logger_forwards_warning", - "community": 20, - "norm_label": "test_host_plugin_logger_forwards_warning()" - }, - { - "label": "test_host_plugin_logger_forwards_error()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L58", - "id": "plugins_test_logger_test_host_plugin_logger_forwards_error", - "community": 20, - "norm_label": "test_host_plugin_logger_forwards_error()" - }, - { - "label": "test_host_plugin_logger_passes_structured_fields_via_extra()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L65", - "id": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra", - "community": 20, - "norm_label": "test_host_plugin_logger_passes_structured_fields_via_extra()" - }, - { - "label": "test_host_plugin_logger_uses_default_logger_name_when_unspecified()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L77", - "id": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified", - "community": 20, - "norm_label": "test_host_plugin_logger_uses_default_logger_name_when_unspecified()" - }, - { - "label": "test_worker_plugin_logger_emits_json_frame_to_stream()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L94", - "id": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream", - "community": 20, - "norm_label": "test_worker_plugin_logger_emits_json_frame_to_stream()" - }, - { - "label": "test_worker_plugin_logger_each_level_emits_correct_level_string()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L106", - "id": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", - "community": 20, - "norm_label": "test_worker_plugin_logger_each_level_emits_correct_level_string()" - }, - { - "label": "test_worker_plugin_logger_emits_one_frame_per_call()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L119", - "id": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", - "community": 20, - "norm_label": "test_worker_plugin_logger_emits_one_frame_per_call()" - }, - { - "label": "test_worker_plugin_logger_emits_empty_context_when_no_fields()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L129", - "id": "plugins_test_logger_test_worker_plugin_logger_emits_empty_context_when_no_fields", - "community": 20, - "norm_label": "test_worker_plugin_logger_emits_empty_context_when_no_fields()" - }, - { - "label": "test_worker_plugin_logger_default_stream_is_stderr()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L137", - "id": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", - "community": 20, - "norm_label": "test_worker_plugin_logger_default_stream_is_stderr()" - }, - { - "label": "test_plugin_log_frame_fields_are_pinned()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L153", - "id": "plugins_test_logger_test_plugin_log_frame_fields_are_pinned", - "community": 20, - "norm_label": "test_plugin_log_frame_fields_are_pinned()" - }, - { - "label": "test_plugin_log_frame_default_context_is_empty_dict()", - "file_type": "code", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L160", - "id": "plugins_test_logger_test_plugin_log_frame_default_context_is_empty_dict", - "community": 20, - "norm_label": "test_plugin_log_frame_default_context_is_empty_dict()" - }, - { - "label": "Tests for ``exlab_wizard.plugins.logger`` -- structured plugin log shim. Pin bo", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L1", - "id": "plugins_test_logger_rationale_1", - "community": 20, - "norm_label": "tests for ``exlab_wizard.plugins.logger`` -- structured plugin log shim. pin bo" - }, - { - "label": "Structured ``**fields`` arrive on the LogRecord as ``record.context``.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L68", - "id": "plugins_test_logger_rationale_68", - "community": 20, - "norm_label": "structured ``**fields`` arrive on the logrecord as ``record.context``." - }, - { - "label": "Construction without ``name`` falls back to ``exlab_wizard.plugins``.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L80", - "id": "plugins_test_logger_rationale_80", - "community": 20, - "norm_label": "construction without ``name`` falls back to ``exlab_wizard.plugins``." - }, - { - "label": "Without an explicit stream, the worker writes to ``sys.stderr``.", - "file_type": "rationale", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L138", - "id": "plugins_test_logger_rationale_138", - "community": 20, - "norm_label": "without an explicit stream, the worker writes to ``sys.stderr``." - }, - { - "label": "test_schema_versions.py", - "file_type": "code", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L1", - "id": "tests_unit_constants_test_schema_versions_py", - "community": 269, - "norm_label": "test_schema_versions.py" - }, - { - "label": "test_creation_json_version_is_pinned()", - "file_type": "code", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L13", - "id": "constants_test_schema_versions_test_creation_json_version_is_pinned", - "community": 269, - "norm_label": "test_creation_json_version_is_pinned()" - }, - { - "label": "test_readme_fields_json_version_is_pinned()", - "file_type": "code", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L18", - "id": "constants_test_schema_versions_test_readme_fields_json_version_is_pinned", - "community": 269, - "norm_label": "test_readme_fields_json_version_is_pinned()" - }, - { - "label": "test_sync_state_json_version_is_pinned()", - "file_type": "code", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L23", - "id": "constants_test_schema_versions_test_sync_state_json_version_is_pinned", - "community": 269, - "norm_label": "test_sync_state_json_version_is_pinned()" - }, - { - "label": "test_equipment_json_version_is_pinned()", - "file_type": "code", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L28", - "id": "constants_test_schema_versions_test_equipment_json_version_is_pinned", - "community": 269, - "norm_label": "test_equipment_json_version_is_pinned()" - }, - { - "label": "test_test_runs_json_version_is_pinned()", - "file_type": "code", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L33", - "id": "constants_test_schema_versions_test_test_runs_json_version_is_pinned", - "community": 269, - "norm_label": "test_test_runs_json_version_is_pinned()" - }, - { - "label": "test_offline_catalogue_version_is_pinned()", - "file_type": "code", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L38", - "id": "constants_test_schema_versions_test_offline_catalogue_version_is_pinned", - "community": 269, - "norm_label": "test_offline_catalogue_version_is_pinned()" - }, - { - "label": "test_readme_front_matter_schema_version_is_pinned()", - "file_type": "code", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L43", - "id": "constants_test_schema_versions_test_readme_front_matter_schema_version_is_pinned", - "community": 269, - "norm_label": "test_readme_front_matter_schema_version_is_pinned()" - }, - { - "label": "test_all_schema_versions_are_strings()", - "file_type": "code", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L48", - "id": "constants_test_schema_versions_test_all_schema_versions_are_strings", - "community": 269, - "norm_label": "test_all_schema_versions_are_strings()" - }, - { - "label": "test_schema_versions_re_exported_from_package()", - "file_type": "code", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L63", - "id": "constants_test_schema_versions_test_schema_versions_re_exported_from_package", - "community": 269, - "norm_label": "test_schema_versions_re_exported_from_package()" - }, - { - "label": "Verify the literal values pinned in ``schema_versions``. Each schema-version co", - "file_type": "rationale", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L1", - "id": "constants_test_schema_versions_rationale_1", - "community": 269, - "norm_label": "verify the literal values pinned in ``schema_versions``. each schema-version co" - }, - { - "label": "test_patterns.py", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L1", - "id": "tests_unit_constants_test_patterns_py", - "community": 62, - "norm_label": "test_patterns.py" - }, - { - "label": "test_equipment_id_regex_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L19", - "id": "constants_test_patterns_test_equipment_id_regex_literal", - "community": 62, - "norm_label": "test_equipment_id_regex_literal()" - }, - { - "label": "test_equipment_id_pattern_is_compiled()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L23", - "id": "constants_test_patterns_test_equipment_id_pattern_is_compiled", - "community": 62, - "norm_label": "test_equipment_id_pattern_is_compiled()" - }, - { - "label": "test_equipment_id_pattern_accepts_valid_ids()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L28", - "id": "constants_test_patterns_test_equipment_id_pattern_accepts_valid_ids", - "community": 62, - "norm_label": "test_equipment_id_pattern_accepts_valid_ids()" - }, - { - "label": "test_equipment_id_pattern_rejects_invalid_ids()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L41", - "id": "constants_test_patterns_test_equipment_id_pattern_rejects_invalid_ids", - "community": 62, - "norm_label": "test_equipment_id_pattern_rejects_invalid_ids()" - }, - { - "label": "test_equipment_id_max_length()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L56", - "id": "constants_test_patterns_test_equipment_id_max_length", - "community": 62, - "norm_label": "test_equipment_id_max_length()" - }, - { - "label": "test_placeholder_angle_bracket_regex_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L66", - "id": "constants_test_patterns_test_placeholder_angle_bracket_regex_literal", - "community": 62, - "norm_label": "test_placeholder_angle_bracket_regex_literal()" - }, - { - "label": "test_placeholder_angle_bracket_pattern_finds_tokens()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L70", - "id": "constants_test_patterns_test_placeholder_angle_bracket_pattern_finds_tokens", - "community": 62, - "norm_label": "test_placeholder_angle_bracket_pattern_finds_tokens()" - }, - { - "label": "test_placeholder_angle_bracket_pattern_ignores_non_tokens()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L76", - "id": "constants_test_patterns_test_placeholder_angle_bracket_pattern_ignores_non_tokens", - "community": 62, - "norm_label": "test_placeholder_angle_bracket_pattern_ignores_non_tokens()" - }, - { - "label": "test_placeholder_jinja_var_regex_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L83", - "id": "constants_test_patterns_test_placeholder_jinja_var_regex_literal", - "community": 62, - "norm_label": "test_placeholder_jinja_var_regex_literal()" - }, - { - "label": "test_placeholder_jinja_var_pattern_finds_markers()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L87", - "id": "constants_test_patterns_test_placeholder_jinja_var_pattern_finds_markers", - "community": 62, - "norm_label": "test_placeholder_jinja_var_pattern_finds_markers()" - }, - { - "label": "test_placeholder_jinja_var_pattern_ignores_plain_text()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L93", - "id": "constants_test_patterns_test_placeholder_jinja_var_pattern_ignores_plain_text", - "community": 62, - "norm_label": "test_placeholder_jinja_var_pattern_ignores_plain_text()" - }, - { - "label": "test_placeholder_jinja_block_regex_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L98", - "id": "constants_test_patterns_test_placeholder_jinja_block_regex_literal", - "community": 62, - "norm_label": "test_placeholder_jinja_block_regex_literal()" - }, - { - "label": "test_placeholder_jinja_block_pattern_finds_blocks()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L102", - "id": "constants_test_patterns_test_placeholder_jinja_block_pattern_finds_blocks", - "community": 62, - "norm_label": "test_placeholder_jinja_block_pattern_finds_blocks()" - }, - { - "label": "test_placeholder_jinja_block_pattern_ignores_unrelated_content()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L108", - "id": "constants_test_patterns_test_placeholder_jinja_block_pattern_ignores_unrelated_content", - "community": 62, - "norm_label": "test_placeholder_jinja_block_pattern_ignores_unrelated_content()" - }, - { - "label": "test_project_short_id_regex_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L117", - "id": "constants_test_patterns_test_project_short_id_regex_literal", - "community": 62, - "norm_label": "test_project_short_id_regex_literal()" - }, - { - "label": "test_project_short_id_pattern_accepts()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L121", - "id": "constants_test_patterns_test_project_short_id_pattern_accepts", - "community": 62, - "norm_label": "test_project_short_id_pattern_accepts()" - }, - { - "label": "test_project_short_id_pattern_rejects()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L126", - "id": "constants_test_patterns_test_project_short_id_pattern_rejects", - "community": 62, - "norm_label": "test_project_short_id_pattern_rejects()" - }, - { - "label": "test_template_question_id_regex_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L137", - "id": "constants_test_patterns_test_template_question_id_regex_literal", - "community": 62, - "norm_label": "test_template_question_id_regex_literal()" - }, - { - "label": "test_template_question_id_pattern_accepts()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L141", - "id": "constants_test_patterns_test_template_question_id_pattern_accepts", - "community": 62, - "norm_label": "test_template_question_id_pattern_accepts()" - }, - { - "label": "test_template_question_id_pattern_rejects()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L146", - "id": "constants_test_patterns_test_template_question_id_pattern_rejects", - "community": 62, - "norm_label": "test_template_question_id_pattern_rejects()" - }, - { - "label": "test_plugin_name_regex_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L156", - "id": "constants_test_patterns_test_plugin_name_regex_literal", - "community": 62, - "norm_label": "test_plugin_name_regex_literal()" - }, - { - "label": "test_plugin_name_pattern_accepts()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L160", - "id": "constants_test_patterns_test_plugin_name_pattern_accepts", - "community": 62, - "norm_label": "test_plugin_name_pattern_accepts()" - }, - { - "label": "test_plugin_name_pattern_rejects()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L165", - "id": "constants_test_patterns_test_plugin_name_pattern_rejects", - "community": 62, - "norm_label": "test_plugin_name_pattern_rejects()" - }, - { - "label": "test_run_date_strftime_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L175", - "id": "constants_test_patterns_test_run_date_strftime_literal", - "community": 62, - "norm_label": "test_run_date_strftime_literal()" - }, - { - "label": "test_run_date_strftime_round_trip()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L181", - "id": "constants_test_patterns_test_run_date_strftime_round_trip", - "community": 62, - "norm_label": "test_run_date_strftime_round_trip()" - }, - { - "label": "test_run_dir_prefix_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L193", - "id": "constants_test_patterns_test_run_dir_prefix_literal", - "community": 62, - "norm_label": "test_run_dir_prefix_literal()" - }, - { - "label": "test_test_run_dir_prefix_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L197", - "id": "constants_test_patterns_test_test_run_dir_prefix_literal", - "community": 62, - "norm_label": "test_test_run_dir_prefix_literal()" - }, - { - "label": "test_test_runs_dir_name_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L201", - "id": "constants_test_patterns_test_test_runs_dir_name_literal", - "community": 62, - "norm_label": "test_test_runs_dir_name_literal()" - }, - { - "label": "test_windows_reserved_names_membership()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L210", - "id": "constants_test_patterns_test_windows_reserved_names_membership", - "community": 62, - "norm_label": "test_windows_reserved_names_membership()" - }, - { - "label": "test_windows_reserved_names_is_frozenset()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L220", - "id": "constants_test_patterns_test_windows_reserved_names_is_frozenset", - "community": 62, - "norm_label": "test_windows_reserved_names_is_frozenset()" - }, - { - "label": "test_windows_reserved_names_size()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L224", - "id": "constants_test_patterns_test_windows_reserved_names_size", - "community": 62, - "norm_label": "test_windows_reserved_names_size()" - }, - { - "label": "test_windows_reserved_names_are_uppercase()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L229", - "id": "constants_test_patterns_test_windows_reserved_names_are_uppercase", - "community": 62, - "norm_label": "test_windows_reserved_names_are_uppercase()" - }, - { - "label": "test_windows_reserved_names_case_insensitive_check()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L236", - "id": "constants_test_patterns_test_windows_reserved_names_case_insensitive_check", - "community": 62, - "norm_label": "test_windows_reserved_names_case_insensitive_check()" - }, - { - "label": "test_windows_illegal_chars_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L248", - "id": "constants_test_patterns_test_windows_illegal_chars_literal", - "community": 62, - "norm_label": "test_windows_illegal_chars_literal()" - }, - { - "label": "test_windows_illegal_chars_membership()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L253", - "id": "constants_test_patterns_test_windows_illegal_chars_membership", - "community": 62, - "norm_label": "test_windows_illegal_chars_membership()" - }, - { - "label": "test_windows_illegal_chars_excludes_safe()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L258", - "id": "constants_test_patterns_test_windows_illegal_chars_excludes_safe", - "community": 62, - "norm_label": "test_windows_illegal_chars_excludes_safe()" - }, - { - "label": "test_patterns_re_exported_from_package()", - "file_type": "code", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L268", - "id": "constants_test_patterns_test_patterns_re_exported_from_package", - "community": 62, - "norm_label": "test_patterns_re_exported_from_package()" - }, - { - "label": "Verify the regex literals plus filename-rule constants. Each regex is exercised", - "file_type": "rationale", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L1", - "id": "constants_test_patterns_rationale_1", - "community": 62, - "norm_label": "verify the regex literals plus filename-rule constants. each regex is exercised" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/constants/__init__.py", - "source_location": "L1", - "id": "tests_unit_constants_init_py", - "community": 475, - "norm_label": "__init__.py" - }, - { - "label": "Public re-exports for the ``exlab_wizard.constants`` package. Callers should im", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/__init__.py", - "source_location": "L1", - "id": "constants_init_rationale_1", - "community": 475, - "norm_label": "public re-exports for the ``exlab_wizard.constants`` package. callers should im" - }, - { - "label": "test_enum_literal_alignment.py", - "file_type": "code", - "source_file": "tests/unit/constants/test_enum_literal_alignment.py", - "source_location": "L1", - "id": "tests_unit_constants_test_enum_literal_alignment_py", - "community": 476, - "norm_label": "test_enum_literal_alignment.py" - }, - { - "label": "test_enum_values_match_expected_literal_set()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enum_literal_alignment.py", - "source_location": "L63", - "id": "constants_test_enum_literal_alignment_test_enum_values_match_expected_literal_set", - "community": 476, - "norm_label": "test_enum_values_match_expected_literal_set()" - }, - { - "label": "Assert that ``StrEnum`` value sets match their sibling ``Literal`` aliases. Per", - "file_type": "rationale", - "source_file": "tests/unit/constants/test_enum_literal_alignment.py", - "source_location": "L1", - "id": "constants_test_enum_literal_alignment_rationale_1", - "community": 476, - "norm_label": "assert that ``strenum`` value sets match their sibling ``literal`` aliases. per" - }, - { - "label": "test_enums.py", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L1", - "id": "tests_unit_constants_test_enums_py", - "community": 73, - "norm_label": "test_enums.py" - }, - { - "label": "test_run_kind_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L15", - "id": "constants_test_enums_test_run_kind_values", - "community": 73, - "norm_label": "test_run_kind_values()" - }, - { - "label": "test_run_kind_is_str()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L23", - "id": "constants_test_enums_test_run_kind_is_str", - "community": 73, - "norm_label": "test_run_kind_is_str()" - }, - { - "label": "test_sync_status_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L30", - "id": "constants_test_enums_test_sync_status_values", - "community": 73, - "norm_label": "test_sync_status_values()" - }, - { - "label": "test_tier_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L47", - "id": "constants_test_enums_test_tier_values", - "community": 73, - "norm_label": "test_tier_values()" - }, - { - "label": "test_problem_class_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L55", - "id": "constants_test_enums_test_problem_class_values", - "community": 73, - "norm_label": "test_problem_class_values()" - }, - { - "label": "test_finding_kind_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L80", - "id": "constants_test_enums_test_finding_kind_values", - "community": 73, - "norm_label": "test_finding_kind_values()" - }, - { - "label": "test_template_type_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L93", - "id": "constants_test_enums_test_template_type_values", - "community": 73, - "norm_label": "test_template_type_values()" - }, - { - "label": "test_run_scope_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L102", - "id": "constants_test_enums_test_run_scope_values", - "community": 73, - "norm_label": "test_run_scope_values()" - }, - { - "label": "test_lims_project_status_values_pascal_case()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L111", - "id": "constants_test_enums_test_lims_project_status_values_pascal_case", - "community": 73, - "norm_label": "test_lims_project_status_values_pascal_case()" - }, - { - "label": "test_lims_project_source_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L126", - "id": "constants_test_enums_test_lims_project_source_values", - "community": 73, - "norm_label": "test_lims_project_source_values()" - }, - { - "label": "test_ingest_state_enum_is_removed()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L139", - "id": "constants_test_enums_test_ingest_state_enum_is_removed", - "community": 73, - "norm_label": "test_ingest_state_enum_is_removed()" - }, - { - "label": "test_run_sync_state_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L145", - "id": "constants_test_enums_test_run_sync_state_values", - "community": 73, - "norm_label": "test_run_sync_state_values()" - }, - { - "label": "test_setup_state_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L151", - "id": "constants_test_enums_test_setup_state_values", - "community": 73, - "norm_label": "test_setup_state_values()" - }, - { - "label": "test_nas_remote_setup_members_exist()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L173", - "id": "constants_test_enums_test_nas_remote_setup_members_exist", - "community": 73, - "norm_label": "test_nas_remote_setup_members_exist()" - }, - { - "label": "test_transport_type_enum_removed()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L180", - "id": "constants_test_enums_test_transport_type_enum_removed", - "community": 73, - "norm_label": "test_transport_type_enum_removed()" - }, - { - "label": "test_completeness_signal_enum_removed()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L186", - "id": "constants_test_enums_test_completeness_signal_enum_removed", - "community": 73, - "norm_label": "test_completeness_signal_enum_removed()" - }, - { - "label": "test_staging_cleanup_mode_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L191", - "id": "constants_test_enums_test_staging_cleanup_mode_values", - "community": 73, - "norm_label": "test_staging_cleanup_mode_values()" - }, - { - "label": "test_plugin_status_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L199", - "id": "constants_test_enums_test_plugin_status_values", - "community": 73, - "norm_label": "test_plugin_status_values()" - }, - { - "label": "test_creation_level_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L216", - "id": "constants_test_enums_test_creation_level_values", - "community": 73, - "norm_label": "test_creation_level_values()" - }, - { - "label": "test_field_type_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L224", - "id": "constants_test_enums_test_field_type_values", - "community": 73, - "norm_label": "test_field_type_values()" - }, - { - "label": "test_bandwidth_day_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L235", - "id": "constants_test_enums_test_bandwidth_day_values", - "community": 73, - "norm_label": "test_bandwidth_day_values()" - }, - { - "label": "test_session_kind_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L243", - "id": "constants_test_enums_test_session_kind_values", - "community": 73, - "norm_label": "test_session_kind_values()" - }, - { - "label": "test_next_action_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L251", - "id": "constants_test_enums_test_next_action_values", - "community": 73, - "norm_label": "test_next_action_values()" - }, - { - "label": "test_audit_scope_kind_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L259", - "id": "constants_test_enums_test_audit_scope_kind_values", - "community": 73, - "norm_label": "test_audit_scope_kind_values()" - }, - { - "label": "test_directory_level_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L268", - "id": "constants_test_enums_test_directory_level_values", - "community": 73, - "norm_label": "test_directory_level_values()" - }, - { - "label": "test_platform_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L276", - "id": "constants_test_enums_test_platform_values", - "community": 73, - "norm_label": "test_platform_values()" - }, - { - "label": "test_setup_next_action_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L284", - "id": "constants_test_enums_test_setup_next_action_values", - "community": 73, - "norm_label": "test_setup_next_action_values()" - }, - { - "label": "test_sync_handle_state_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L292", - "id": "constants_test_enums_test_sync_handle_state_values", - "community": 73, - "norm_label": "test_sync_handle_state_values()" - }, - { - "label": "test_plugin_source_root_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L300", - "id": "constants_test_enums_test_plugin_source_root_values", - "community": 73, - "norm_label": "test_plugin_source_root_values()" - }, - { - "label": "test_tree_project_status_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L308", - "id": "constants_test_enums_test_tree_project_status_values", - "community": 73, - "norm_label": "test_tree_project_status_values()" - }, - { - "label": "test_enums_re_exported_from_package()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L316", - "id": "constants_test_enums_test_enums_re_exported_from_package", - "community": 73, - "norm_label": "test_enums_re_exported_from_package()" - }, - { - "label": "Verify the ``StrEnum`` value strings match the design spec verbatim. These enum", - "file_type": "rationale", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L1", - "id": "constants_test_enums_rationale_1", - "community": 73, - "norm_label": "verify the ``strenum`` value strings match the design spec verbatim. these enum" - }, - { - "label": "test_keyring.py", - "file_type": "code", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L1", - "id": "tests_unit_constants_test_keyring_py", - "community": 289, - "norm_label": "test_keyring.py" - }, - { - "label": "test_keyring_service_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L13", - "id": "constants_test_keyring_test_keyring_service_literal", - "community": 289, - "norm_label": "test_keyring_service_literal()" - }, - { - "label": "test_keyring_username_lims_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L18", - "id": "constants_test_keyring_test_keyring_username_lims_literal", - "community": 289, - "norm_label": "test_keyring_username_lims_literal()" - }, - { - "label": "test_nas_keyring_username_removed()", - "file_type": "code", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L23", - "id": "constants_test_keyring_test_nas_keyring_username_removed", - "community": 289, - "norm_label": "test_nas_keyring_username_removed()" - }, - { - "label": "test_keyring_re_exported_from_package()", - "file_type": "code", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L31", - "id": "constants_test_keyring_test_keyring_re_exported_from_package", - "community": 289, - "norm_label": "test_keyring_re_exported_from_package()" - }, - { - "label": "Verify the keyring service / username conventions. These literals are committed", - "file_type": "rationale", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L1", - "id": "constants_test_keyring_rationale_1", - "community": 289, - "norm_label": "verify the keyring service / username conventions. these literals are committed" - }, - { - "label": "test_limits.py", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L1", - "id": "tests_unit_constants_test_limits_py", - "community": 126, - "norm_label": "test_limits.py" - }, - { - "label": "test_plugin_timeout_max_seconds()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L12", - "id": "constants_test_limits_test_plugin_timeout_max_seconds", - "community": 126, - "norm_label": "test_plugin_timeout_max_seconds()" - }, - { - "label": "test_plugin_memory_max_mb()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L17", - "id": "constants_test_limits_test_plugin_memory_max_mb", - "community": 126, - "norm_label": "test_plugin_memory_max_mb()" - }, - { - "label": "test_plugin_validation_cpu_seconds()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L22", - "id": "constants_test_limits_test_plugin_validation_cpu_seconds", - "community": 126, - "norm_label": "test_plugin_validation_cpu_seconds()" - }, - { - "label": "test_plugin_validation_memory_mb()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L27", - "id": "constants_test_limits_test_plugin_validation_memory_mb", - "community": 126, - "norm_label": "test_plugin_validation_memory_mb()" - }, - { - "label": "test_plugin_validation_wall_seconds()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L32", - "id": "constants_test_limits_test_plugin_validation_wall_seconds", - "community": 126, - "norm_label": "test_plugin_validation_wall_seconds()" - }, - { - "label": "test_plugin_rlimit_nofile()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L37", - "id": "constants_test_limits_test_plugin_rlimit_nofile", - "community": 126, - "norm_label": "test_plugin_rlimit_nofile()" - }, - { - "label": "test_plugin_ipc_frame_cap_bytes_is_one_mib()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L42", - "id": "constants_test_limits_test_plugin_ipc_frame_cap_bytes_is_one_mib", - "community": 126, - "norm_label": "test_plugin_ipc_frame_cap_bytes_is_one_mib()" - }, - { - "label": "test_plugin_api_version()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L48", - "id": "constants_test_limits_test_plugin_api_version", - "community": 126, - "norm_label": "test_plugin_api_version()" - }, - { - "label": "test_plugin_supported_api_versions()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L54", - "id": "constants_test_limits_test_plugin_supported_api_versions", - "community": 126, - "norm_label": "test_plugin_supported_api_versions()" - }, - { - "label": "test_plugin_forbidden_path_prefixes()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L62", - "id": "constants_test_limits_test_plugin_forbidden_path_prefixes", - "community": 126, - "norm_label": "test_plugin_forbidden_path_prefixes()" - }, - { - "label": "test_label_max_length()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L72", - "id": "constants_test_limits_test_label_max_length", - "community": 126, - "norm_label": "test_label_max_length()" - }, - { - "label": "test_objective_max_length()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L77", - "id": "constants_test_limits_test_objective_max_length", - "community": 126, - "norm_label": "test_objective_max_length()" - }, - { - "label": "test_validator_binary_detect_bytes()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L82", - "id": "constants_test_limits_test_validator_binary_detect_bytes", - "community": 126, - "norm_label": "test_validator_binary_detect_bytes()" - }, - { - "label": "test_log_line_max_bytes()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L87", - "id": "constants_test_limits_test_log_line_max_bytes", - "community": 126, - "norm_label": "test_log_line_max_bytes()" - }, - { - "label": "test_session_gc_after_seconds()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L92", - "id": "constants_test_limits_test_session_gc_after_seconds", - "community": 126, - "norm_label": "test_session_gc_after_seconds()" - }, - { - "label": "test_audit_refresh_seconds()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L97", - "id": "constants_test_limits_test_audit_refresh_seconds", - "community": 126, - "norm_label": "test_audit_refresh_seconds()" - }, - { - "label": "test_quit_drain_timeout_seconds()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L102", - "id": "constants_test_limits_test_quit_drain_timeout_seconds", - "community": 126, - "norm_label": "test_quit_drain_timeout_seconds()" - }, - { - "label": "test_sigterm_drain_timeout_seconds()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L107", - "id": "constants_test_limits_test_sigterm_drain_timeout_seconds", - "community": 126, - "norm_label": "test_sigterm_drain_timeout_seconds()" - }, - { - "label": "test_tray_status_refresh_seconds()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L112", - "id": "constants_test_limits_test_tray_status_refresh_seconds", - "community": 126, - "norm_label": "test_tray_status_refresh_seconds()" - }, - { - "label": "test_worker_timeout_grace_seconds()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L117", - "id": "constants_test_limits_test_worker_timeout_grace_seconds", - "community": 126, - "norm_label": "test_worker_timeout_grace_seconds()" - }, - { - "label": "test_window_default_size()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L122", - "id": "constants_test_limits_test_window_default_size", - "community": 126, - "norm_label": "test_window_default_size()" - }, - { - "label": "test_notification_coalesce_seconds()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L128", - "id": "constants_test_limits_test_notification_coalesce_seconds", - "community": 126, - "norm_label": "test_notification_coalesce_seconds()" - }, - { - "label": "test_disk_space_preflight_mib()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L133", - "id": "constants_test_limits_test_disk_space_preflight_mib", - "community": 126, - "norm_label": "test_disk_space_preflight_mib()" - }, - { - "label": "test_limits_re_exported_from_package()", - "file_type": "code", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L138", - "id": "constants_test_limits_test_limits_re_exported_from_package", - "community": 126, - "norm_label": "test_limits_re_exported_from_package()" - }, - { - "label": "Verify the numeric limits and policy ceilings. Each value here is hard-coded pe", - "file_type": "rationale", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L1", - "id": "constants_test_limits_rationale_1", - "community": 126, - "norm_label": "verify the numeric limits and policy ceilings. each value here is hard-coded pe" - }, - { - "label": "test_filenames.py", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L1", - "id": "tests_unit_constants_test_filenames_py", - "community": 184, - "norm_label": "test_filenames.py" - }, - { - "label": "test_cache_dir_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L12", - "id": "constants_test_filenames_test_cache_dir_name", - "community": 184, - "norm_label": "test_cache_dir_name()" - }, - { - "label": "test_creation_json_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L17", - "id": "constants_test_filenames_test_creation_json_name", - "community": 184, - "norm_label": "test_creation_json_name()" - }, - { - "label": "test_readme_fields_json_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L22", - "id": "constants_test_filenames_test_readme_fields_json_name", - "community": 184, - "norm_label": "test_readme_fields_json_name()" - }, - { - "label": "test_equipment_json_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L27", - "id": "constants_test_filenames_test_equipment_json_name", - "community": 184, - "norm_label": "test_equipment_json_name()" - }, - { - "label": "test_sync_state_filename()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L32", - "id": "constants_test_filenames_test_sync_state_filename", - "community": 184, - "norm_label": "test_sync_state_filename()" - }, - { - "label": "test_test_runs_json_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L37", - "id": "constants_test_filenames_test_test_runs_json_name", - "community": 184, - "norm_label": "test_test_runs_json_name()" - }, - { - "label": "test_answers_file_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L42", - "id": "constants_test_filenames_test_answers_file_name", - "community": 184, - "norm_label": "test_answers_file_name()" - }, - { - "label": "test_log_file_template()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L47", - "id": "constants_test_filenames_test_log_file_template", - "community": 184, - "norm_label": "test_log_file_template()" - }, - { - "label": "test_log_file_template_formats()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L52", - "id": "constants_test_filenames_test_log_file_template_formats", - "community": 184, - "norm_label": "test_log_file_template_formats()" - }, - { - "label": "test_readme_file_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L58", - "id": "constants_test_filenames_test_readme_file_name", - "community": 184, - "norm_label": "test_readme_file_name()" - }, - { - "label": "test_copier_manifest_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L63", - "id": "constants_test_filenames_test_copier_manifest_name", - "community": 184, - "norm_label": "test_copier_manifest_name()" - }, - { - "label": "test_plugin_manifest_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L68", - "id": "constants_test_filenames_test_plugin_manifest_name", - "community": 184, - "norm_label": "test_plugin_manifest_name()" - }, - { - "label": "test_server_state_file()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L73", - "id": "constants_test_filenames_test_server_state_file", - "community": 184, - "norm_label": "test_server_state_file()" - }, - { - "label": "test_lims_cache_db_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L78", - "id": "constants_test_filenames_test_lims_cache_db_name", - "community": 184, - "norm_label": "test_lims_cache_db_name()" - }, - { - "label": "test_sync_queue_db_name()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L83", - "id": "constants_test_filenames_test_sync_queue_db_name", - "community": 184, - "norm_label": "test_sync_queue_db_name()" - }, - { - "label": "test_central_log_file()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L88", - "id": "constants_test_filenames_test_central_log_file", - "community": 184, - "norm_label": "test_central_log_file()" - }, - { - "label": "test_secrets_file()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L93", - "id": "constants_test_filenames_test_secrets_file", - "community": 184, - "norm_label": "test_secrets_file()" - }, - { - "label": "test_filenames_re_exported_from_package()", - "file_type": "code", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L98", - "id": "constants_test_filenames_test_filenames_re_exported_from_package", - "community": 184, - "norm_label": "test_filenames_re_exported_from_package()" - }, - { - "label": "Verify the canonical filename constants. These literals appear in directory lay", - "file_type": "rationale", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L1", - "id": "constants_test_filenames_rationale_1", - "community": 184, - "norm_label": "verify the canonical filename constants. these literals appear in directory lay" - }, - { - "label": "test_yaml_files.py", - "file_type": "code", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L1", - "id": "tests_unit_io_test_yaml_files_py", - "community": 7, - "norm_label": "test_yaml_files.py" - }, - { - "label": "test_load_yaml_manifest_returns_dict()", - "file_type": "code", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L13", - "id": "io_test_yaml_files_test_load_yaml_manifest_returns_dict", - "community": 7, - "norm_label": "test_load_yaml_manifest_returns_dict()" - }, - { - "label": "test_load_yaml_manifest_empty_file_returns_empty_dict()", - "file_type": "code", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L19", - "id": "io_test_yaml_files_test_load_yaml_manifest_empty_file_returns_empty_dict", - "community": 7, - "norm_label": "test_load_yaml_manifest_empty_file_returns_empty_dict()" - }, - { - "label": "test_load_yaml_manifest_non_dict_returns_empty_dict()", - "file_type": "code", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L25", - "id": "io_test_yaml_files_test_load_yaml_manifest_non_dict_returns_empty_dict", - "community": 7, - "norm_label": "test_load_yaml_manifest_non_dict_returns_empty_dict()" - }, - { - "label": "test_load_yaml_manifest_propagates_yaml_error()", - "file_type": "code", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L32", - "id": "io_test_yaml_files_test_load_yaml_manifest_propagates_yaml_error", - "community": 7, - "norm_label": "test_load_yaml_manifest_propagates_yaml_error()" - }, - { - "label": "test_load_yaml_manifest_missing_file_raises()", - "file_type": "code", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L39", - "id": "io_test_yaml_files_test_load_yaml_manifest_missing_file_raises", - "community": 7, - "norm_label": "test_load_yaml_manifest_missing_file_raises()" - }, - { - "label": "Tests for ``exlab_wizard.io.yaml_files``.", - "file_type": "rationale", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L1", - "id": "io_test_yaml_files_rationale_1", - "community": 7, - "norm_label": "tests for ``exlab_wizard.io.yaml_files``." - }, - { - "label": "A YAML file with a top-level scalar/list is not a manifest.", - "file_type": "rationale", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L26", - "id": "io_test_yaml_files_rationale_26", - "community": 7, - "norm_label": "a yaml file with a top-level scalar/list is not a manifest." - }, - { - "label": "test_atomic_write.py", - "file_type": "code", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L1", - "id": "tests_unit_io_test_atomic_write_py", - "community": 262, - "norm_label": "test_atomic_write.py" - }, - { - "label": "test_atomic_write_creates_file()", - "file_type": "code", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L13", - "id": "io_test_atomic_write_test_atomic_write_creates_file", - "community": 262, - "norm_label": "test_atomic_write_creates_file()" - }, - { - "label": "test_atomic_write_overwrites_existing()", - "file_type": "code", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L19", - "id": "io_test_atomic_write_test_atomic_write_overwrites_existing", - "community": 262, - "norm_label": "test_atomic_write_overwrites_existing()" - }, - { - "label": "test_atomic_write_leaves_no_temp_file_on_success()", - "file_type": "code", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L26", - "id": "io_test_atomic_write_test_atomic_write_leaves_no_temp_file_on_success", - "community": 262, - "norm_label": "test_atomic_write_leaves_no_temp_file_on_success()" - }, - { - "label": "test_atomic_write_cleans_up_temp_on_replace_failure()", - "file_type": "code", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L33", - "id": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", - "community": 262, - "norm_label": "test_atomic_write_cleans_up_temp_on_replace_failure()" - }, - { - "label": "test_atomic_write_skip_fsync()", - "file_type": "code", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L48", - "id": "io_test_atomic_write_test_atomic_write_skip_fsync", - "community": 262, - "norm_label": "test_atomic_write_skip_fsync()" - }, - { - "label": "test_atomic_write_calls_fsync_by_default()", - "file_type": "code", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L56", - "id": "io_test_atomic_write_test_atomic_write_calls_fsync_by_default", - "community": 262, - "norm_label": "test_atomic_write_calls_fsync_by_default()" - }, - { - "label": "Tests for ``exlab_wizard.io.atomic_write``.", - "file_type": "rationale", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L1", - "id": "io_test_atomic_write_rationale_1", - "community": 262, - "norm_label": "tests for ``exlab_wizard.io.atomic_write``." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/io/__init__.py", - "source_location": "L1", - "id": "tests_unit_io_init_py", - "community": 554, - "norm_label": "__init__.py" - }, - { - "label": "test_json_files.py", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L1", - "id": "tests_unit_io_test_json_files_py", - "community": 117, - "norm_label": "test_json_files.py" - }, - { - "label": "_Dummy", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L18", - "id": "io_test_json_files_dummy", - "community": 117, - "norm_label": "_dummy" - }, - { - "label": "test_require_schema_major_accepts_matching_major()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L23", - "id": "io_test_json_files_test_require_schema_major_accepts_matching_major", - "community": 117, - "norm_label": "test_require_schema_major_accepts_matching_major()" - }, - { - "label": "test_require_schema_major_rejects_different_major()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L27", - "id": "io_test_json_files_test_require_schema_major_rejects_different_major", - "community": 117, - "norm_label": "test_require_schema_major_rejects_different_major()" - }, - { - "label": "test_require_schema_major_rejects_empty()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L34", - "id": "io_test_json_files_test_require_schema_major_rejects_empty", - "community": 117, - "norm_label": "test_require_schema_major_rejects_empty()" - }, - { - "label": "test_require_schema_major_rejects_none()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L39", - "id": "io_test_json_files_test_require_schema_major_rejects_none", - "community": 117, - "norm_label": "test_require_schema_major_rejects_none()" - }, - { - "label": "test_require_schema_major_rejects_unparseable()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L44", - "id": "io_test_json_files_test_require_schema_major_rejects_unparseable", - "community": 117, - "norm_label": "test_require_schema_major_rejects_unparseable()" - }, - { - "label": "test_read_msgspec_json_decodes_to_struct()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L49", - "id": "io_test_json_files_test_read_msgspec_json_decodes_to_struct", - "community": 231, - "norm_label": "test_read_msgspec_json_decodes_to_struct()" - }, - { - "label": "test_read_msgspec_json_with_matching_major()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L57", - "id": "io_test_json_files_test_read_msgspec_json_with_matching_major", - "community": 231, - "norm_label": "test_read_msgspec_json_with_matching_major()" - }, - { - "label": "test_read_msgspec_json_rejects_wrong_major()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L64", - "id": "io_test_json_files_test_read_msgspec_json_rejects_wrong_major", - "community": 231, - "norm_label": "test_read_msgspec_json_rejects_wrong_major()" - }, - { - "label": "test_read_msgspec_json_passes_through_malformed()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L71", - "id": "io_test_json_files_test_read_msgspec_json_passes_through_malformed", - "community": 231, - "norm_label": "test_read_msgspec_json_passes_through_malformed()" - }, - { - "label": "test_read_msgspec_json_raw_returns_dict()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L79", - "id": "io_test_json_files_test_read_msgspec_json_raw_returns_dict", - "community": 117, - "norm_label": "test_read_msgspec_json_raw_returns_dict()" - }, - { - "label": "test_read_msgspec_json_raw_with_matching_major()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L86", - "id": "io_test_json_files_test_read_msgspec_json_raw_with_matching_major", - "community": 117, - "norm_label": "test_read_msgspec_json_raw_with_matching_major()" - }, - { - "label": "test_read_msgspec_json_raw_rejects_wrong_major()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L93", - "id": "io_test_json_files_test_read_msgspec_json_raw_rejects_wrong_major", - "community": 117, - "norm_label": "test_read_msgspec_json_raw_rejects_wrong_major()" - }, - { - "label": "test_read_msgspec_json_raw_skips_check_when_version_missing()", - "file_type": "code", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L100", - "id": "io_test_json_files_test_read_msgspec_json_raw_skips_check_when_version_missing", - "community": 117, - "norm_label": "test_read_msgspec_json_raw_skips_check_when_version_missing()" - }, - { - "label": "Tests for ``exlab_wizard.io.json_files``.", - "file_type": "rationale", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L1", - "id": "io_test_json_files_rationale_1", - "community": 117, - "norm_label": "tests for ``exlab_wizard.io.json_files``." - }, - { - "label": "Malformed JSON should surface from msgspec, not the major-check.", - "file_type": "rationale", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L72", - "id": "io_test_json_files_rationale_72", - "community": 231, - "norm_label": "malformed json should surface from msgspec, not the major-check." - }, - { - "label": "A dict without schema_version must not be rejected (the typed decoder downst", - "file_type": "rationale", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L103", - "id": "io_test_json_files_rationale_103", - "community": 117, - "norm_label": "a dict without schema_version must not be rejected (the typed decoder downst" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/template/__init__.py", - "source_location": "L1", - "id": "tests_unit_template_init_py", - "community": 477, - "norm_label": "__init__.py" - }, - { - "label": "Template (Copier) package. Backend Spec \u00a75.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/template/__init__.py", - "source_location": "L1", - "id": "template_init_rationale_1", - "community": 477, - "norm_label": "template (copier) package. backend spec \u00a75." - }, - { - "label": "test_copier_driver.py", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L1", - "id": "tests_unit_template_test_copier_driver_py", - "community": 49, - "norm_label": "test_copier_driver.py" - }, - { - "label": "test_core_readme_field_ids_pins_the_three_core_fields()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L59", - "id": "template_test_copier_driver_test_core_readme_field_ids_pins_the_three_core_fields", - "community": 49, - "norm_label": "test_core_readme_field_ids_pins_the_three_core_fields()" - }, - { - "label": "test_resolve_project_basic_returns_resolved_template()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L70", - "id": "template_test_copier_driver_test_resolve_project_basic_returns_resolved_template", - "community": 49, - "norm_label": "test_resolve_project_basic_returns_resolved_template()" - }, - { - "label": "test_resolve_run_basic_experimental_sets_run_scope_experimental()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L90", - "id": "template_test_copier_driver_test_resolve_run_basic_experimental_sets_run_scope_experimental", - "community": 49, - "norm_label": "test_resolve_run_basic_experimental_sets_run_scope_experimental()" - }, - { - "label": "test_resolve_run_basic_test_sets_run_scope_test()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L100", - "id": "template_test_copier_driver_test_resolve_run_basic_test_sets_run_scope_test", - "community": 49, - "norm_label": "test_resolve_run_basic_test_sets_run_scope_test()" - }, - { - "label": "test_resolve_run_basic_both_sets_run_scope_both()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L108", - "id": "template_test_copier_driver_test_resolve_run_basic_both_sets_run_scope_both", - "community": 49, - "norm_label": "test_resolve_run_basic_both_sets_run_scope_both()" - }, - { - "label": "test_resolve_missing_version_raises_template_load_error_mentioning_field()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L121", - "id": "template_test_copier_driver_test_resolve_missing_version_raises_template_load_error_mentioning_field", - "community": 49, - "norm_label": "test_resolve_missing_version_raises_template_load_error_mentioning_field()" - }, - { - "label": "test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L130", - "id": "template_test_copier_driver_test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender", - "community": 49, - "norm_label": "test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender()" - }, - { - "label": "test_resolve_redeclares_core_is_also_caught_as_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L138", - "id": "template_test_copier_driver_test_resolve_redeclares_core_is_also_caught_as_template_load_error", - "community": 49, - "norm_label": "test_resolve_redeclares_core_is_also_caught_as_template_load_error()" - }, - { - "label": "test_resolve_missing_copier_yml_raises_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L146", - "id": "template_test_copier_driver_test_resolve_missing_copier_yml_raises_template_load_error", - "community": 49, - "norm_label": "test_resolve_missing_copier_yml_raises_template_load_error()" - }, - { - "label": "test_resolve_scope_mismatch_raises_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L156", - "id": "template_test_copier_driver_test_resolve_scope_mismatch_raises_template_load_error", - "community": 49, - "norm_label": "test_resolve_scope_mismatch_raises_template_load_error()" - }, - { - "label": "test_resolve_run_template_missing_run_scope_raises()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L165", - "id": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises", - "community": 49, - "norm_label": "test_resolve_run_template_missing_run_scope_raises()" - }, - { - "label": "test_resolve_run_template_invalid_run_scope_raises()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L179", - "id": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises", - "community": 49, - "norm_label": "test_resolve_run_template_invalid_run_scope_raises()" - }, - { - "label": "test_resolve_with_tasks_does_not_raise()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L198", - "id": "template_test_copier_driver_test_resolve_with_tasks_does_not_raise", - "community": 49, - "norm_label": "test_resolve_with_tasks_does_not_raise()" - }, - { - "label": "test_resolve_with_tasks_emits_warning_log()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L208", - "id": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log", - "community": 49, - "norm_label": "test_resolve_with_tasks_emits_warning_log()" - }, - { - "label": "test_render_project_basic_writes_readme()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L227", - "id": "template_test_copier_driver_test_render_project_basic_writes_readme", - "community": 49, - "norm_label": "test_render_project_basic_writes_readme()" - }, - { - "label": "test_render_project_basic_files_written_lists_the_readme()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L245", - "id": "template_test_copier_driver_test_render_project_basic_files_written_lists_the_readme", - "community": 49, - "norm_label": "test_render_project_basic_files_written_lists_the_readme()" - }, - { - "label": "test_render_with_tasks_silently_ignores_tasks_and_writes_file()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L263", - "id": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", - "community": 49, - "norm_label": "test_render_with_tasks_silently_ignores_tasks_and_writes_file()" - }, - { - "label": "test_render_into_dst_with_conflicting_files_raises()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L288", - "id": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises", - "community": 49, - "norm_label": "test_render_into_dst_with_conflicting_files_raises()" - }, - { - "label": "test_render_calls_copier_run_copy_with_spec_kwargs()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L322", - "id": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", - "community": 49, - "norm_label": "test_render_calls_copier_run_copy_with_spec_kwargs()" - }, - { - "label": "test_resolve_unreadable_copier_yml_raises_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L350", - "id": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", - "community": 49, - "norm_label": "test_resolve_unreadable_copier_yml_raises_template_load_error()" - }, - { - "label": "test_resolve_malformed_yaml_raises_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L371", - "id": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error", - "community": 49, - "norm_label": "test_resolve_malformed_yaml_raises_template_load_error()" - }, - { - "label": "test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L387", - "id": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type", - "community": 49, - "norm_label": "test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type()" - }, - { - "label": "test_resolve_non_mapping_yaml_raises_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L403", - "id": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error", - "community": 49, - "norm_label": "test_resolve_non_mapping_yaml_raises_template_load_error()" - }, - { - "label": "test_resolve_missing_exlab_type_raises_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L421", - "id": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error", - "community": 49, - "norm_label": "test_resolve_missing_exlab_type_raises_template_load_error()" - }, - { - "label": "test_resolve_invalid_exlab_type_value_raises_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L436", - "id": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error", - "community": 49, - "norm_label": "test_resolve_invalid_exlab_type_value_raises_template_load_error()" - }, - { - "label": "test_resolve_readme_fields_with_non_core_entries_passes_through()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L461", - "id": "template_test_copier_driver_test_resolve_readme_fields_with_non_core_entries_passes_through", - "community": 49, - "norm_label": "test_resolve_readme_fields_with_non_core_entries_passes_through()" - }, - { - "label": "test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L488", - "id": "template_test_copier_driver_test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields", - "community": 49, - "norm_label": "test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields()" - }, - { - "label": "test_resolve_readme_fields_not_a_list_yields_empty_extra_fields()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L505", - "id": "template_test_copier_driver_test_resolve_readme_fields_not_a_list_yields_empty_extra_fields", - "community": 49, - "norm_label": "test_resolve_readme_fields_not_a_list_yields_empty_extra_fields()" - }, - { - "label": "test_resolve_non_string_description_falls_back_to_empty()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L532", - "id": "template_test_copier_driver_test_resolve_non_string_description_falls_back_to_empty", - "community": 49, - "norm_label": "test_resolve_non_string_description_falls_back_to_empty()" - }, - { - "label": "test_resolve_plugin_order_preserved()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L548", - "id": "template_test_copier_driver_test_resolve_plugin_order_preserved", - "community": 49, - "norm_label": "test_resolve_plugin_order_preserved()" - }, - { - "label": "test_resolve_non_list_plugin_order_falls_back_to_empty()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L567", - "id": "template_test_copier_driver_test_resolve_non_list_plugin_order_falls_back_to_empty", - "community": 49, - "norm_label": "test_resolve_non_list_plugin_order_falls_back_to_empty()" - }, - { - "label": "test_render_snapshots_existing_regular_file_at_dst()", - "file_type": "code", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L587", - "id": "template_test_copier_driver_test_render_snapshots_existing_regular_file_at_dst", - "community": 49, - "norm_label": "test_render_snapshots_existing_regular_file_at_dst()" - }, - { - "label": "Unit tests for ``exlab_wizard.template.copier_driver``. These tests pin the \u00a74.", - "file_type": "rationale", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L1", - "id": "template_test_copier_driver_rationale_1", - "community": 49, - "norm_label": "unit tests for ``exlab_wizard.template.copier_driver``. these tests pin the \u00a74." - }, - { - "label": "test_time.py", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L1", - "id": "tests_unit_utils_test_time_py", - "community": 134, - "norm_label": "test_time.py" - }, - { - "label": "test_utc_now_iso_format()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L20", - "id": "utils_test_time_test_utc_now_iso_format", - "community": 134, - "norm_label": "test_utc_now_iso_format()" - }, - { - "label": "test_dt_to_iso_naive_assumed_utc()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L25", - "id": "utils_test_time_test_dt_to_iso_naive_assumed_utc", - "community": 134, - "norm_label": "test_dt_to_iso_naive_assumed_utc()" - }, - { - "label": "test_dt_to_iso_utc_aware()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L30", - "id": "utils_test_time_test_dt_to_iso_utc_aware", - "community": 134, - "norm_label": "test_dt_to_iso_utc_aware()" - }, - { - "label": "test_dt_to_iso_non_utc_zone_converts()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L35", - "id": "utils_test_time_test_dt_to_iso_non_utc_zone_converts", - "community": 134, - "norm_label": "test_dt_to_iso_non_utc_zone_converts()" - }, - { - "label": "test_parse_utc_iso_z_form()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L42", - "id": "utils_test_time_test_parse_utc_iso_z_form", - "community": 134, - "norm_label": "test_parse_utc_iso_z_form()" - }, - { - "label": "test_parse_utc_iso_offset_form()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L47", - "id": "utils_test_time_test_parse_utc_iso_offset_form", - "community": 134, - "norm_label": "test_parse_utc_iso_offset_form()" - }, - { - "label": "test_parse_utc_iso_naive_input_tagged_utc()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L52", - "id": "utils_test_time_test_parse_utc_iso_naive_input_tagged_utc", - "community": 134, - "norm_label": "test_parse_utc_iso_naive_input_tagged_utc()" - }, - { - "label": "test_parse_utc_iso_round_trip_with_now()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L57", - "id": "utils_test_time_test_parse_utc_iso_round_trip_with_now", - "community": 134, - "norm_label": "test_parse_utc_iso_round_trip_with_now()" - }, - { - "label": "test_parse_utc_iso_raises_on_garbage()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L63", - "id": "utils_test_time_test_parse_utc_iso_raises_on_garbage", - "community": 134, - "norm_label": "test_parse_utc_iso_raises_on_garbage()" - }, - { - "label": "test_parse_utc_iso_or_none_handles_none()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L68", - "id": "utils_test_time_test_parse_utc_iso_or_none_handles_none", - "community": 134, - "norm_label": "test_parse_utc_iso_or_none_handles_none()" - }, - { - "label": "test_parse_utc_iso_or_none_handles_empty()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L72", - "id": "utils_test_time_test_parse_utc_iso_or_none_handles_empty", - "community": 134, - "norm_label": "test_parse_utc_iso_or_none_handles_empty()" - }, - { - "label": "test_parse_utc_iso_or_none_handles_malformed()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L76", - "id": "utils_test_time_test_parse_utc_iso_or_none_handles_malformed", - "community": 134, - "norm_label": "test_parse_utc_iso_or_none_handles_malformed()" - }, - { - "label": "test_parse_utc_iso_or_none_returns_datetime_for_valid()", - "file_type": "code", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L80", - "id": "utils_test_time_test_parse_utc_iso_or_none_returns_datetime_for_valid", - "community": 134, - "norm_label": "test_parse_utc_iso_or_none_returns_datetime_for_valid()" - }, - { - "label": "Tests for ``exlab_wizard.utils.time``.", - "file_type": "rationale", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L1", - "id": "utils_test_time_rationale_1", - "community": 134, - "norm_label": "tests for ``exlab_wizard.utils.time``." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/utils/__init__.py", - "source_location": "L1", - "id": "tests_unit_utils_init_py", - "community": 555, - "norm_label": "__init__.py" - }, - { - "label": "test_state.py", - "file_type": "code", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L1", - "id": "tests_unit_utils_test_state_py", - "community": 24, - "norm_label": "test_state.py" - }, - { - "label": "_State", - "file_type": "code", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L12", - "id": "utils_test_state_state", - "community": 24, - "norm_label": "_state" - }, - { - "label": "StrEnum", - "file_type": "code", - "source_file": "", - "source_location": "", - "id": "strenum", - "community": 29, - "norm_label": "strenum" - }, - { - "label": "test_allowed_transition_returns_none()", - "file_type": "code", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L25", - "id": "utils_test_state_test_allowed_transition_returns_none", - "community": 24, - "norm_label": "test_allowed_transition_returns_none()" - }, - { - "label": "test_disallowed_transition_raises()", - "file_type": "code", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L29", - "id": "utils_test_state_test_disallowed_transition_raises", - "community": 24, - "norm_label": "test_disallowed_transition_raises()" - }, - { - "label": "test_terminal_transition_raises()", - "file_type": "code", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L34", - "id": "utils_test_state_test_terminal_transition_raises", - "community": 24, - "norm_label": "test_terminal_transition_raises()" - }, - { - "label": "test_unknown_source_raises()", - "file_type": "code", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L39", - "id": "utils_test_state_test_unknown_source_raises", - "community": 24, - "norm_label": "test_unknown_source_raises()" - }, - { - "label": "Tests for ``exlab_wizard.utils.state``.", - "file_type": "rationale", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L1", - "id": "utils_test_state_rationale_1", - "community": 24, - "norm_label": "tests for ``exlab_wizard.utils.state``." - }, - { - "label": "test_storage_secret.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L1", - "id": "tests_unit_tray_test_storage_secret_py", - "community": 263, - "norm_label": "test_storage_secret.py" - }, - { - "label": "test_generates_secret_on_first_call()", - "file_type": "code", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L23", - "id": "tray_test_storage_secret_test_generates_secret_on_first_call", - "community": 263, - "norm_label": "test_generates_secret_on_first_call()" - }, - { - "label": "test_idempotent_across_calls()", - "file_type": "code", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L31", - "id": "tray_test_storage_secret_test_idempotent_across_calls", - "community": 263, - "norm_label": "test_idempotent_across_calls()" - }, - { - "label": "test_secret_file_mode_is_0600()", - "file_type": "code", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L38", - "id": "tray_test_storage_secret_test_secret_file_mode_is_0600", - "community": 263, - "norm_label": "test_secret_file_mode_is_0600()" - }, - { - "label": "test_regenerates_on_empty_file()", - "file_type": "code", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L45", - "id": "tray_test_storage_secret_test_regenerates_on_empty_file", - "community": 263, - "norm_label": "test_regenerates_on_empty_file()" - }, - { - "label": "test_regenerates_on_whitespace_only_file()", - "file_type": "code", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L53", - "id": "tray_test_storage_secret_test_regenerates_on_whitespace_only_file", - "community": 263, - "norm_label": "test_regenerates_on_whitespace_only_file()" - }, - { - "label": "test_creates_state_dir_if_missing()", - "file_type": "code", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L61", - "id": "tray_test_storage_secret_test_creates_state_dir_if_missing", - "community": 263, - "norm_label": "test_creates_state_dir_if_missing()" - }, - { - "label": "Tests for ``exlab_wizard.tray.storage_secret``. The secret backs NiceGUI's Star", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L1", - "id": "tray_test_storage_secret_rationale_1", - "community": 263, - "norm_label": "tests for ``exlab_wizard.tray.storage_secret``. the secret backs nicegui's star" - }, - { - "label": "test_dependencies.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L1", - "id": "tests_unit_tray_test_dependencies_py", - "community": 43, - "norm_label": "test_dependencies.py" - }, - { - "label": "_InMemoryKeyring", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L39", - "id": "tray_test_dependencies_inmemorykeyring", - "community": 43, - "norm_label": "_inmemorykeyring" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L44", - "id": "tray_test_dependencies_inmemorykeyring_init", - "community": 43, - "norm_label": ".__init__()" - }, - { - "label": ".get_password()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L47", - "id": "tray_test_dependencies_inmemorykeyring_get_password", - "community": 43, - "norm_label": ".get_password()" - }, - { - "label": ".set_password()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L50", - "id": "tray_test_dependencies_inmemorykeyring_set_password", - "community": 43, - "norm_label": ".set_password()" - }, - { - "label": ".delete_password()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L53", - "id": "tray_test_dependencies_inmemorykeyring_delete_password", - "community": 43, - "norm_label": ".delete_password()" - }, - { - "label": "_swap_keyring()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L58", - "id": "tray_test_dependencies_swap_keyring", - "community": 43, - "norm_label": "_swap_keyring()" - }, - { - "label": "test_build_production_dependencies_exposes_keyring_store()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L67", - "id": "tray_test_dependencies_test_build_production_dependencies_exposes_keyring_store", - "community": 22, - "norm_label": "test_build_production_dependencies_exposes_keyring_store()" - }, - { - "label": "test_build_production_dependencies_nas_sync_is_a_client()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L75", - "id": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", - "community": 0, - "norm_label": "test_build_production_dependencies_nas_sync_is_a_client()" - }, - { - "label": "test_check_keyring_present_true_when_lims_password_stored()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L108", - "id": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", - "community": 43, - "norm_label": "test_check_keyring_present_true_when_lims_password_stored()" - }, - { - "label": "test_lims_client_password_provider_reads_keyring_under_lims_username()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L125", - "id": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", - "community": 43, - "norm_label": "test_lims_client_password_provider_reads_keyring_under_lims_username()" - }, - { - "label": "_nas_config_with_two_equipment()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L147", - "id": "tray_test_dependencies_nas_config_with_two_equipment", - "community": 43, - "norm_label": "_nas_config_with_two_equipment()" - }, - { - "label": "_nas_config_with_remote()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L170", - "id": "tray_test_dependencies_nas_config_with_remote", - "community": 43, - "norm_label": "_nas_config_with_remote()" - }, - { - "label": "_StubAbout", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L178", - "id": "tray_test_dependencies_stubabout", - "community": 0, - "norm_label": "_stubabout" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L179", - "id": "tray_test_dependencies_stubabout_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": "test_make_equipment_probe_targets_nas_remote_not_keyring()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L185", - "id": "tray_test_dependencies_test_make_equipment_probe_targets_nas_remote_not_keyring", - "community": 43, - "norm_label": "test_make_equipment_probe_targets_nas_remote_not_keyring()" - }, - { - "label": "test_make_equipment_probe_short_circuits_without_remote()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L217", - "id": "tray_test_dependencies_test_make_equipment_probe_short_circuits_without_remote", - "community": 43, - "norm_label": "test_make_equipment_probe_short_circuits_without_remote()" - }, - { - "label": "test_make_equipment_probe_surfaces_about_failure()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L231", - "id": "tray_test_dependencies_test_make_equipment_probe_surfaces_about_failure", - "community": 43, - "norm_label": "test_make_equipment_probe_surfaces_about_failure()" - }, - { - "label": "test_nas_remote_available_reflects_listremotes()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L258", - "id": "tray_test_dependencies_test_nas_remote_available_reflects_listremotes", - "community": 43, - "norm_label": "test_nas_remote_available_reflects_listremotes()" - }, - { - "label": "Tests for the production dependency factory's keyring wiring. ``build_productio", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L1", - "id": "tray_test_dependencies_rationale_1", - "community": 43, - "norm_label": "tests for the production dependency factory's keyring wiring. ``build_productio" - }, - { - "label": "Trivial in-memory keyring backend, mirroring the keyring-store tests.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L40", - "id": "tray_test_dependencies_rationale_40", - "community": 43, - "norm_label": "trivial in-memory keyring backend, mirroring the keyring-store tests." - }, - { - "label": "The settings GUI persists the LIMS password through deps.keyring_store.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L68", - "id": "tray_test_dependencies_rationale_68", - "community": 22, - "norm_label": "the settings gui persists the lims password through deps.keyring_store." - }, - { - "label": "``deps.nas_sync`` must be a :class:`NASSyncClient`, not a bare queue. Regre", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L78", - "id": "tray_test_dependencies_rationale_78", - "community": 0, - "norm_label": "``deps.nas_sync`` must be a :class:`nassyncclient`, not a bare queue. regre" - }, - { - "label": "The probe must look up the password under KEYRING_USERNAME_LIMS. Regression", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L109", - "id": "tray_test_dependencies_rationale_109", - "community": 43, - "norm_label": "the probe must look up the password under keyring_username_lims. regression" - }, - { - "label": "The LIMS client's keyring provider resolves the stored password.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L128", - "id": "tray_test_dependencies_rationale_128", - "community": 43, - "norm_label": "the lims client's keyring provider resolves the stored password." - }, - { - "label": "Build a two-equipment nas-mode config for the NAS-presence tests.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L148", - "id": "tray_test_dependencies_rationale_148", - "community": 43, - "norm_label": "build a two-equipment nas-mode config for the nas-presence tests." - }, - { - "label": "``_nas_config_with_two_equipment`` plus a configured ``nas:`` block.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L171", - "id": "tray_test_dependencies_rationale_171", - "community": 43, - "norm_label": "``_nas_config_with_two_equipment`` plus a configured ``nas:`` block." - }, - { - "label": "The probe must call ``rclone about :`` and ignore the keyring.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L188", - "id": "tray_test_dependencies_rationale_188", - "community": 43, - "norm_label": "the probe must call ``rclone about :`` and ignore the keyring." - }, - { - "label": "No configured ``nas.remote`` must not spawn rclone.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L218", - "id": "tray_test_dependencies_rationale_218", - "community": 43, - "norm_label": "no configured ``nas.remote`` must not spawn rclone." - }, - { - "label": "A failing ``rclone about`` surfaces as ``ok=False`` with the reason.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L234", - "id": "tray_test_dependencies_rationale_234", - "community": 43, - "norm_label": "a failing ``rclone about`` surfaces as ``ok=false`` with the reason." - }, - { - "label": "Boot-time hydration drives ``deps.nas_remote_available`` from listremotes.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L261", - "id": "tray_test_dependencies_rationale_261", - "community": 43, - "norm_label": "boot-time hydration drives ``deps.nas_remote_available`` from listremotes." - }, - { - "label": "test_icon.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L1", - "id": "tests_unit_tray_test_icon_py", - "community": 103, - "norm_label": "test_icon.py" - }, - { - "label": "_FakeMenu", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L18", - "id": "tray_test_icon_fakemenu", - "community": 103, - "norm_label": "_fakemenu" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L21", - "id": "tray_test_icon_fakemenu_init", - "community": 103, - "norm_label": ".__init__()" - }, - { - "label": "_FakeMenuItem", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L25", - "id": "tray_test_icon_fakemenuitem", - "community": 103, - "norm_label": "_fakemenuitem" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L26", - "id": "tray_test_icon_fakemenuitem_init", - "community": 103, - "norm_label": ".__init__()" - }, - { - "label": "_FakeIcon", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L40", - "id": "tray_test_icon_fakeicon", - "community": 103, - "norm_label": "_fakeicon" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L41", - "id": "tray_test_icon_fakeicon_init", - "community": 103, - "norm_label": ".__init__()" - }, - { - "label": "_FakePystray", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L48", - "id": "tray_test_icon_fakepystray", - "community": 103, - "norm_label": "_fakepystray" - }, - { - "label": "test_build_icon_returns_icon_object()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L54", - "id": "tray_test_icon_test_build_icon_returns_icon_object", - "community": 103, - "norm_label": "test_build_icon_returns_icon_object()" - }, - { - "label": "test_open_menu_item_invokes_callback()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L71", - "id": "tray_test_icon_test_open_menu_item_invokes_callback", - "community": 103, - "norm_label": "test_open_menu_item_invokes_callback()" - }, - { - "label": "test_quit_menu_item_invokes_callback()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L85", - "id": "tray_test_icon_test_quit_menu_item_invokes_callback", - "community": 103, - "norm_label": "test_quit_menu_item_invokes_callback()" - }, - { - "label": "test_status_label_callable()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L99", - "id": "tray_test_icon_test_status_label_callable", - "community": 103, - "norm_label": "test_status_label_callable()" - }, - { - "label": "test_callback_exception_is_swallowed()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L112", - "id": "tray_test_icon_test_callback_exception_is_swallowed", - "community": 103, - "norm_label": "test_callback_exception_is_swallowed()" - }, - { - "label": "test_default_icon_image_returns_pillow_image()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L127", - "id": "tray_test_icon_test_default_icon_image_returns_pillow_image", - "community": 103, - "norm_label": "test_default_icon_image_returns_pillow_image()" - }, - { - "label": "test_lazy_pystray_import()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L133", - "id": "tray_test_icon_test_lazy_pystray_import", - "community": 103, - "norm_label": "test_lazy_pystray_import()" - }, - { - "label": "test_separator_present()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L148", - "id": "tray_test_icon_test_separator_present", - "community": 103, - "norm_label": "test_separator_present()" - }, - { - "label": "test_import_pystray_returns_module()", - "file_type": "code", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L158", - "id": "tray_test_icon_test_import_pystray_returns_module", - "community": 103, - "norm_label": "test_import_pystray_returns_module()" - }, - { - "label": "Tests for :mod:`exlab_wizard.tray.icon`. Backend Spec \u00a74.3.2.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L1", - "id": "tray_test_icon_rationale_1", - "community": 103, - "norm_label": "tests for :mod:`exlab_wizard.tray.icon`. backend spec \u00a74.3.2." - }, - { - "label": "When ``pystray_module`` is omitted the lazy import path is taken.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L134", - "id": "tray_test_icon_rationale_134", - "community": 103, - "norm_label": "when ``pystray_module`` is omitted the lazy import path is taken." - }, - { - "label": "The lazy-import helper imports pystray when called.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L159", - "id": "tray_test_icon_rationale_159", - "community": 103, - "norm_label": "the lazy-import helper imports pystray when called." - }, - { - "label": "test_live_reload.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L1", - "id": "tests_unit_tray_test_live_reload_py", - "community": 101, - "norm_label": "test_live_reload.py" - }, - { - "label": "_stub_configure_logging()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L38", - "id": "tray_test_live_reload_stub_configure_logging", - "community": 101, - "norm_label": "_stub_configure_logging()" - }, - { - "label": "_equipment()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L52", - "id": "tray_test_live_reload_equipment", - "community": 101, - "norm_label": "_equipment()" - }, - { - "label": "_config()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L61", - "id": "tray_test_live_reload_config", - "community": 101, - "norm_label": "_config()" - }, - { - "label": "_RecordingComponent", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L77", - "id": "tray_test_live_reload_recordingcomponent", - "community": 0, - "norm_label": "_recordingcomponent" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L80", - "id": "tray_test_live_reload_recordingcomponent_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".apply_config()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L84", - "id": "tray_test_live_reload_recordingcomponent_apply_config", - "community": 0, - "norm_label": ".apply_config()" - }, - { - "label": "_RecordingValidator", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L89", - "id": "tray_test_live_reload_recordingvalidator", - "community": 0, - "norm_label": "_recordingvalidator" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L90", - "id": "tray_test_live_reload_recordingvalidator_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".reconfigure()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L93", - "id": "tray_test_live_reload_recordingvalidator_reconfigure", - "community": 0, - "norm_label": ".reconfigure()" - }, - { - "label": "_AsyncStub", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L97", - "id": "tray_test_live_reload_asyncstub", - "community": 0, - "norm_label": "_asyncstub" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L100", - "id": "tray_test_live_reload_asyncstub_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".start()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L107", - "id": "tray_test_live_reload_asyncstub_start", - "community": 0, - "norm_label": ".start()" - }, - { - "label": "_running_deps()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L111", - "id": "tray_test_live_reload_running_deps", - "community": 101, - "norm_label": "_running_deps()" - }, - { - "label": "test_reconfigures_existing_components_in_place()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L127", - "id": "tray_test_live_reload_test_reconfigures_existing_components_in_place", - "community": 101, - "norm_label": "test_reconfigures_existing_components_in_place()" - }, - { - "label": "test_skips_logging_reconfigure_when_unchanged()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L141", - "id": "tray_test_live_reload_test_skips_logging_reconfigure_when_unchanged", - "community": 101, - "norm_label": "test_skips_logging_reconfigure_when_unchanged()" - }, - { - "label": "test_component_failure_is_isolated()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L147", - "id": "tray_test_live_reload_test_component_failure_is_isolated", - "community": 101, - "norm_label": "test_component_failure_is_isolated()" - }, - { - "label": "test_rebuilds_lims_only_on_endpoint_change()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L173", - "id": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", - "community": 101, - "norm_label": "test_rebuilds_lims_only_on_endpoint_change()" - }, - { - "label": "test_rebuilds_plugin_host_only_on_dir_change()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L192", - "id": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", - "community": 101, - "norm_label": "test_rebuilds_plugin_host_only_on_dir_change()" - }, - { - "label": "test_builds_and_starts_components_on_fresh_install()", - "file_type": "code", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L217", - "id": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", - "community": 101, - "norm_label": "test_builds_and_starts_components_on_fresh_install()" - }, - { - "label": "Tests for the live config-reload coordinator (no tray relaunch). ``exlab_wizard", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L1", - "id": "tray_test_live_reload_rationale_1", - "community": 101, - "norm_label": "tests for the live config-reload coordinator (no tray relaunch). ``exlab_wizard" - }, - { - "label": "Stub the real logging reconfigure so tests don't churn global handlers. Ret", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L39", - "id": "tray_test_live_reload_rationale_39", - "community": 101, - "norm_label": "stub the real logging reconfigure so tests don't churn global handlers. ret" - }, - { - "label": "Stub controller / nas_sync / poller recording ``apply_config`` calls.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L78", - "id": "tray_test_live_reload_rationale_78", - "community": 0, - "norm_label": "stub controller / nas_sync / poller recording ``apply_config`` calls." - }, - { - "label": "Fresh-built nas_sync / poller stub with async init / start.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L98", - "id": "tray_test_live_reload_rationale_98", - "community": 0, - "norm_label": "fresh-built nas_sync / poller stub with async init / start." - }, - { - "label": "Build a deps bundle whose config-dependent components already exist.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L112", - "id": "tray_test_live_reload_rationale_112", - "community": 101, - "norm_label": "build a deps bundle whose config-dependent components already exist." - }, - { - "label": "One component raising must not abort the rest, and config still lands.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L148", - "id": "tray_test_live_reload_rationale_148", - "community": 101, - "norm_label": "one component raising must not abort the rest, and config still lands." - }, - { - "label": "On a first save the absent components are built and their async bring-up is", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L220", - "id": "tray_test_live_reload_rationale_220", - "community": 101, - "norm_label": "on a first save the absent components are built and their async bring-up is" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/tray/__init__.py", - "source_location": "L1", - "id": "tests_unit_tray_init_py", - "community": 478, - "norm_label": "__init__.py" - }, - { - "label": "Tray application package. Backend Spec \u00a74.3.2. Public API: * :class:`Autostart", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/__init__.py", - "source_location": "L1", - "id": "tray_init_rationale_1", - "community": 478, - "norm_label": "tray application package. backend spec \u00a74.3.2. public api: * :class:`autostart" - }, - { - "label": "test_status.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L1", - "id": "tests_unit_tray_test_status_py", - "community": 47, - "norm_label": "test_status.py" - }, - { - "label": "_StubStore", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L17", - "id": "tray_test_status_stubstore", - "community": 47, - "norm_label": "_stubstore" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L18", - "id": "tray_test_status_stubstore_init", - "community": 47, - "norm_label": ".__init__()" - }, - { - "label": "_StubSync", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L23", - "id": "tray_test_status_stubsync", - "community": 47, - "norm_label": "_stubsync" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L24", - "id": "tray_test_status_stubsync_init", - "community": 47, - "norm_label": ".__init__()" - }, - { - "label": "test_format_status_idle()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L28", - "id": "tray_test_status_test_format_status_idle", - "community": 47, - "norm_label": "test_format_status_idle()" - }, - { - "label": "test_format_status_sync_jobs()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L33", - "id": "tray_test_status_test_format_status_sync_jobs", - "community": 47, - "norm_label": "test_format_status_sync_jobs()" - }, - { - "label": "test_format_status_single_job_uses_singular()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L38", - "id": "tray_test_status_test_format_status_single_job_uses_singular", - "community": 47, - "norm_label": "test_format_status_single_job_uses_singular()" - }, - { - "label": "test_format_status_input_required_singular()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L43", - "id": "tray_test_status_test_format_status_input_required_singular", - "community": 47, - "norm_label": "test_format_status_input_required_singular()" - }, - { - "label": "test_format_status_input_required_plural()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L48", - "id": "tray_test_status_test_format_status_input_required_plural", - "community": 47, - "norm_label": "test_format_status_input_required_plural()" - }, - { - "label": "test_format_status_combines_sync_and_input_required()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L53", - "id": "tray_test_status_test_format_status_combines_sync_and_input_required", - "community": 47, - "norm_label": "test_format_status_combines_sync_and_input_required()" - }, - { - "label": "test_snapshot_status_with_none_components()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L58", - "id": "tray_test_status_test_snapshot_status_with_none_components", - "community": 47, - "norm_label": "test_snapshot_status_with_none_components()" - }, - { - "label": "test_snapshot_status_reads_components()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L65", - "id": "tray_test_status_test_snapshot_status_reads_components", - "community": 47, - "norm_label": "test_snapshot_status_reads_components()" - }, - { - "label": "test_snapshot_status_callable_attributes()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L75", - "id": "tray_test_status_test_snapshot_status_callable_attributes", - "community": 47, - "norm_label": "test_snapshot_status_callable_attributes()" - }, - { - "label": "test_ticker_invokes_callback_on_first_tick()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L84", - "id": "tray_test_status_test_ticker_invokes_callback_on_first_tick", - "community": 47, - "norm_label": "test_ticker_invokes_callback_on_first_tick()" - }, - { - "label": "test_ticker_does_not_invoke_callback_when_label_unchanged()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L97", - "id": "tray_test_status_test_ticker_does_not_invoke_callback_when_label_unchanged", - "community": 47, - "norm_label": "test_ticker_does_not_invoke_callback_when_label_unchanged()" - }, - { - "label": "test_ticker_start_and_stop_idempotent()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L109", - "id": "tray_test_status_test_ticker_start_and_stop_idempotent", - "community": 47, - "norm_label": "test_ticker_start_and_stop_idempotent()" - }, - { - "label": "test_ticker_callback_exception_is_swallowed()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L117", - "id": "tray_test_status_test_ticker_callback_exception_is_swallowed", - "community": 47, - "norm_label": "test_ticker_callback_exception_is_swallowed()" - }, - { - "label": "test_ticker_thread_runs()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L127", - "id": "tray_test_status_test_ticker_thread_runs", - "community": 47, - "norm_label": "test_ticker_thread_runs()" - }, - { - "label": "test_default_refresh_matches_spec()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L149", - "id": "tray_test_status_test_default_refresh_matches_spec", - "community": 47, - "norm_label": "test_default_refresh_matches_spec()" - }, - { - "label": "test_safe_int_handles_callable_that_raises()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L154", - "id": "tray_test_status_test_safe_int_handles_callable_that_raises", - "community": 47, - "norm_label": "test_safe_int_handles_callable_that_raises()" - }, - { - "label": "test_safe_int_handles_non_numeric()", - "file_type": "code", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L164", - "id": "tray_test_status_test_safe_int_handles_non_numeric", - "community": 47, - "norm_label": "test_safe_int_handles_non_numeric()" - }, - { - "label": "Tests for :mod:`exlab_wizard.tray.status`. Backend Spec \u00a74.3.2.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L1", - "id": "tray_test_status_rationale_1", - "community": 47, - "norm_label": "tests for :mod:`exlab_wizard.tray.status`. backend spec \u00a74.3.2." - }, - { - "label": "Drive the ticker thread for a short window and confirm callback fires.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L128", - "id": "tray_test_status_rationale_128", - "community": 47, - "norm_label": "drive the ticker thread for a short window and confirm callback fires." - }, - { - "label": "test_server_runner.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L1", - "id": "tests_unit_tray_test_server_runner_py", - "community": 27, - "norm_label": "test_server_runner.py" - }, - { - "label": "_FakeUvicornServer", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L21", - "id": "tray_test_server_runner_fakeuvicornserver", - "community": 27, - "norm_label": "_fakeuvicornserver" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L24", - "id": "tray_test_server_runner_fakeuvicornserver_init", - "community": 27, - "norm_label": ".__init__()" - }, - { - "label": ".run()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L30", - "id": "tray_test_server_runner_fakeuvicornserver_run", - "community": 27, - "norm_label": ".run()" - }, - { - "label": "_make_runner()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L44", - "id": "tray_test_server_runner_make_runner", - "community": 27, - "norm_label": "_make_runner()" - }, - { - "label": "test_pick_free_port_returns_bindable_port()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L60", - "id": "tray_test_server_runner_test_pick_free_port_returns_bindable_port", - "community": 27, - "norm_label": "test_pick_free_port_returns_bindable_port()" - }, - { - "label": "test_start_writes_server_json_atomically()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L72", - "id": "tray_test_server_runner_test_start_writes_server_json_atomically", - "community": 27, - "norm_label": "test_start_writes_server_json_atomically()" - }, - { - "label": "test_stop_deletes_state_file()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L89", - "id": "tray_test_server_runner_test_stop_deletes_state_file", - "community": 27, - "norm_label": "test_stop_deletes_state_file()" - }, - { - "label": "test_double_start_raises()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L98", - "id": "tray_test_server_runner_test_double_start_raises", - "community": 27, - "norm_label": "test_double_start_raises()" - }, - { - "label": "test_port_property_before_start_raises()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L108", - "id": "tray_test_server_runner_test_port_property_before_start_raises", - "community": 27, - "norm_label": "test_port_property_before_start_raises()" - }, - { - "label": "test_port_property_after_start()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L114", - "id": "tray_test_server_runner_test_port_property_after_start", - "community": 27, - "norm_label": "test_port_property_after_start()" - }, - { - "label": "test_state_file_property_returns_expected_path()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L123", - "id": "tray_test_server_runner_test_state_file_property_returns_expected_path", - "community": 27, - "norm_label": "test_state_file_property_returns_expected_path()" - }, - { - "label": "test_stop_is_idempotent()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L128", - "id": "tray_test_server_runner_test_stop_is_idempotent", - "community": 27, - "norm_label": "test_stop_is_idempotent()" - }, - { - "label": "test_start_creates_state_dir_if_missing()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L135", - "id": "tray_test_server_runner_test_start_creates_state_dir_if_missing", - "community": 27, - "norm_label": "test_start_creates_state_dir_if_missing()" - }, - { - "label": "test_is_running_tracks_thread_lifecycle()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L145", - "id": "tray_test_server_runner_test_is_running_tracks_thread_lifecycle", - "community": 27, - "norm_label": "test_is_running_tracks_thread_lifecycle()" - }, - { - "label": "test_real_uvicorn_resolves_lazily()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L157", - "id": "tray_test_server_runner_test_real_uvicorn_resolves_lazily", - "community": 27, - "norm_label": "test_real_uvicorn_resolves_lazily()" - }, - { - "label": "test_delete_state_file_handles_missing()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L170", - "id": "tray_test_server_runner_test_delete_state_file_handles_missing", - "community": 27, - "norm_label": "test_delete_state_file_handles_missing()" - }, - { - "label": "test_stop_handles_attribute_error_on_should_exit()", - "file_type": "code", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L176", - "id": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit", - "community": 27, - "norm_label": "test_stop_handles_attribute_error_on_should_exit()" - }, - { - "label": "Tests for :mod:`exlab_wizard.tray.server_runner`. Backend Spec \u00a74.3.2.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L1", - "id": "tray_test_server_runner_rationale_1", - "community": 27, - "norm_label": "tests for :mod:`exlab_wizard.tray.server_runner`. backend spec \u00a74.3.2." - }, - { - "label": "Fake :class:`uvicorn.Server` that runs a tiny event loop.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L22", - "id": "tray_test_server_runner_rationale_22", - "community": 27, - "norm_label": "fake :class:`uvicorn.server` that runs a tiny event loop." - }, - { - "label": "The real ``_build_uvicorn`` defers the uvicorn import. We can call ``_build", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L158", - "id": "tray_test_server_runner_rationale_158", - "community": 27, - "norm_label": "the real ``_build_uvicorn`` defers the uvicorn import. we can call ``_build" - }, - { - "label": "A custom server object missing ``should_exit`` is tolerated.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L177", - "id": "tray_test_server_runner_rationale_177", - "community": 27, - "norm_label": "a custom server object missing ``should_exit`` is tolerated." - }, - { - "label": "test_notifications.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L1", - "id": "tests_unit_tray_test_notifications_py", - "community": 44, - "norm_label": "test_notifications.py" - }, - { - "label": "test_notify_calls_injected_callable()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L19", - "id": "tray_test_notifications_test_notify_calls_injected_callable", - "community": 44, - "norm_label": "test_notify_calls_injected_callable()" - }, - { - "label": "test_notify_swallows_notifier_exceptions()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L29", - "id": "tray_test_notifications_test_notify_swallows_notifier_exceptions", - "community": 44, - "norm_label": "test_notify_swallows_notifier_exceptions()" - }, - { - "label": "test_bus_emits_after_coalescing_window()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L37", - "id": "tray_test_notifications_test_bus_emits_after_coalescing_window", - "community": 44, - "norm_label": "test_bus_emits_after_coalescing_window()" - }, - { - "label": "test_bus_suppresses_when_window_foregrounded()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L63", - "id": "tray_test_notifications_test_bus_suppresses_when_window_foregrounded", - "community": 44, - "norm_label": "test_bus_suppresses_when_window_foregrounded()" - }, - { - "label": "test_bus_separate_kinds_separate_buckets()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L74", - "id": "tray_test_notifications_test_bus_separate_kinds_separate_buckets", - "community": 44, - "norm_label": "test_bus_separate_kinds_separate_buckets()" - }, - { - "label": "test_bus_cancel_all_drops_pending()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L89", - "id": "tray_test_notifications_test_bus_cancel_all_drops_pending", - "community": 44, - "norm_label": "test_bus_cancel_all_drops_pending()" - }, - { - "label": "test_bus_emits_singleton_message_unchanged()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L102", - "id": "tray_test_notifications_test_bus_emits_singleton_message_unchanged", - "community": 44, - "norm_label": "test_bus_emits_singleton_message_unchanged()" - }, - { - "label": "test_coalescing_window_constant_matches_spec()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L114", - "id": "tray_test_notifications_test_coalescing_window_constant_matches_spec", - "community": 44, - "norm_label": "test_coalescing_window_constant_matches_spec()" - }, - { - "label": "test_coalesced_message_plugin_input_required_plural()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L118", - "id": "tray_test_notifications_test_coalesced_message_plugin_input_required_plural", - "community": 44, - "norm_label": "test_coalesced_message_plugin_input_required_plural()" - }, - { - "label": "test_coalesced_message_plugin_input_required_singular()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L122", - "id": "tray_test_notifications_test_coalesced_message_plugin_input_required_singular", - "community": 44, - "norm_label": "test_coalesced_message_plugin_input_required_singular()" - }, - { - "label": "test_coalesced_message_sync_failed_plural()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L126", - "id": "tray_test_notifications_test_coalesced_message_sync_failed_plural", - "community": 44, - "norm_label": "test_coalesced_message_sync_failed_plural()" - }, - { - "label": "test_coalesced_message_sync_failed_singular()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L130", - "id": "tray_test_notifications_test_coalesced_message_sync_failed_singular", - "community": 44, - "norm_label": "test_coalesced_message_sync_failed_singular()" - }, - { - "label": "test_coalesced_message_unknown_kind()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L134", - "id": "tray_test_notifications_test_coalesced_message_unknown_kind", - "community": 44, - "norm_label": "test_coalesced_message_unknown_kind()" - }, - { - "label": "test_bus_timer_fires_after_window()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L138", - "id": "tray_test_notifications_test_bus_timer_fires_after_window", - "community": 44, - "norm_label": "test_bus_timer_fires_after_window()" - }, - { - "label": "test_default_notifier_returns_callable()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L153", - "id": "tray_test_notifications_test_default_notifier_returns_callable", - "community": 44, - "norm_label": "test_default_notifier_returns_callable()" - }, - { - "label": "test_noop_notifier_swallows_arbitrary_kwargs()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L161", - "id": "tray_test_notifications_test_noop_notifier_swallows_arbitrary_kwargs", - "community": 44, - "norm_label": "test_noop_notifier_swallows_arbitrary_kwargs()" - }, - { - "label": "test_notify_uses_default_notifier_when_none()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L168", - "id": "tray_test_notifications_test_notify_uses_default_notifier_when_none", - "community": 44, - "norm_label": "test_notify_uses_default_notifier_when_none()" - }, - { - "label": "test_flush_with_already_drained_bucket()", - "file_type": "code", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L180", - "id": "tray_test_notifications_test_flush_with_already_drained_bucket", - "community": 44, - "norm_label": "test_flush_with_already_drained_bucket()" - }, - { - "label": "Tests for :mod:`exlab_wizard.tray.notifications`. Backend Spec \u00a715.7.3.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L1", - "id": "tray_test_notifications_rationale_1", - "community": 44, - "norm_label": "tests for :mod:`exlab_wizard.tray.notifications`. backend spec \u00a715.7.3." - }, - { - "label": "Drive the real timer with a tiny window.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L139", - "id": "tray_test_notifications_rationale_139", - "community": 44, - "norm_label": "drive the real timer with a tiny window." - }, - { - "label": "The default notifier resolves either to plyer or to the noop fallback.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L154", - "id": "tray_test_notifications_rationale_154", - "community": 44, - "norm_label": "the default notifier resolves either to plyer or to the noop fallback." - }, - { - "label": "Fallback notifier is keyword-tolerant.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L162", - "id": "tray_test_notifications_rationale_162", - "community": 44, - "norm_label": "fallback notifier is keyword-tolerant." - }, - { - "label": "``_flush`` is safe when the bucket has already been popped (race).", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L181", - "id": "tray_test_notifications_rationale_181", - "community": 44, - "norm_label": "``_flush`` is safe when the bucket has already been popped (race)." - }, - { - "label": "test_quit_coordinator.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L1", - "id": "tests_unit_tray_test_quit_coordinator_py", - "community": 58, - "norm_label": "test_quit_coordinator.py" - }, - { - "label": "_StubServer", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L17", - "id": "tray_test_quit_coordinator_stubserver", - "community": 58, - "norm_label": "_stubserver" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L18", - "id": "tray_test_quit_coordinator_stubserver_init", - "community": 58, - "norm_label": ".__init__()" - }, - { - "label": ".stop()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L21", - "id": "tray_test_quit_coordinator_stubserver_stop", - "community": 58, - "norm_label": ".stop()" - }, - { - "label": "_StubWindow", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L25", - "id": "tray_test_quit_coordinator_stubwindow", - "community": 58, - "norm_label": "_stubwindow" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L26", - "id": "tray_test_quit_coordinator_stubwindow_init", - "community": 58, - "norm_label": ".__init__()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L29", - "id": "tray_test_quit_coordinator_stubwindow_close", - "community": 58, - "norm_label": ".close()" - }, - { - "label": "_Counted", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L33", - "id": "tray_test_quit_coordinator_counted", - "community": 58, - "norm_label": "_counted" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L34", - "id": "tray_test_quit_coordinator_counted_init", - "community": 58, - "norm_label": ".__init__()" - }, - { - "label": "_make_coordinator()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L38", - "id": "tray_test_quit_coordinator_make_coordinator", - "community": 58, - "norm_label": "_make_coordinator()" - }, - { - "label": "test_idle_predicate_short_circuits()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L64", - "id": "tray_test_quit_coordinator_test_idle_predicate_short_circuits", - "community": 58, - "norm_label": "test_idle_predicate_short_circuits()" - }, - { - "label": "test_busy_predicate_times_out_and_force_quits()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L72", - "id": "tray_test_quit_coordinator_test_busy_predicate_times_out_and_force_quits", - "community": 58, - "norm_label": "test_busy_predicate_times_out_and_force_quits()" - }, - { - "label": "test_busy_predicate_wait_resets_timer()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L91", - "id": "tray_test_quit_coordinator_test_busy_predicate_wait_resets_timer", - "community": 58, - "norm_label": "test_busy_predicate_wait_resets_timer()" - }, - { - "label": "test_sigterm_uses_short_timeout()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L111", - "id": "tray_test_quit_coordinator_test_sigterm_uses_short_timeout", - "community": 58, - "norm_label": "test_sigterm_uses_short_timeout()" - }, - { - "label": "test_quit_handles_missing_window_launcher()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L137", - "id": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher", - "community": 58, - "norm_label": "test_quit_handles_missing_window_launcher()" - }, - { - "label": "test_safe_count_handles_callable_attribute()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L152", - "id": "tray_test_quit_coordinator_test_safe_count_handles_callable_attribute", - "community": 58, - "norm_label": "test_safe_count_handles_callable_attribute()" - }, - { - "label": "test_safe_count_handles_callable_that_raises()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L158", - "id": "tray_test_quit_coordinator_test_safe_count_handles_callable_that_raises", - "community": 58, - "norm_label": "test_safe_count_handles_callable_that_raises()" - }, - { - "label": "test_safe_count_handles_none_obj()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L168", - "id": "tray_test_quit_coordinator_test_safe_count_handles_none_obj", - "community": 58, - "norm_label": "test_safe_count_handles_none_obj()" - }, - { - "label": "test_safe_count_handles_non_numeric()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L172", - "id": "tray_test_quit_coordinator_test_safe_count_handles_non_numeric", - "community": 58, - "norm_label": "test_safe_count_handles_non_numeric()" - }, - { - "label": "test_force_quit_prompt_exception_defaults_to_force()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L179", - "id": "tray_test_quit_coordinator_test_force_quit_prompt_exception_defaults_to_force", - "community": 58, - "norm_label": "test_force_quit_prompt_exception_defaults_to_force()" - }, - { - "label": "test_default_timeout_constants_match_spec()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L192", - "id": "tray_test_quit_coordinator_test_default_timeout_constants_match_spec", - "community": 58, - "norm_label": "test_default_timeout_constants_match_spec()" - }, - { - "label": "test_idle_predicate_returns_true_immediately()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L199", - "id": "tray_test_quit_coordinator_test_idle_predicate_returns_true_immediately", - "community": 58, - "norm_label": "test_idle_predicate_returns_true_immediately()" - }, - { - "label": "test_predicate_eventually_becomes_true()", - "file_type": "code", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L208", - "id": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", - "community": 58, - "norm_label": "test_predicate_eventually_becomes_true()" - }, - { - "label": "Tests for :mod:`exlab_wizard.tray.quit_coordinator`. Backend Spec \u00a74.3.2.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L1", - "id": "tray_test_quit_coordinator_rationale_1", - "community": 58, - "norm_label": "tests for :mod:`exlab_wizard.tray.quit_coordinator`. backend spec \u00a74.3.2." - }, - { - "label": "Wait loop returns True when the predicate flips mid-wait.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L209", - "id": "tray_test_quit_coordinator_rationale_209", - "community": 58, - "norm_label": "wait loop returns true when the predicate flips mid-wait." - }, - { - "label": "test_window_launcher.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L1", - "id": "tests_unit_tray_test_window_launcher_py", - "community": 88, - "norm_label": "test_window_launcher.py" - }, - { - "label": "_python_window_argv()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L18", - "id": "tray_test_window_launcher_python_window_argv", - "community": 88, - "norm_label": "_python_window_argv()" - }, - { - "label": "test_open_spawns_subprocess()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L29", - "id": "tray_test_window_launcher_test_open_spawns_subprocess", - "community": 88, - "norm_label": "test_open_spawns_subprocess()" - }, - { - "label": "test_close_terminates_subprocess()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L42", - "id": "tray_test_window_launcher_test_close_terminates_subprocess", - "community": 88, - "norm_label": "test_close_terminates_subprocess()" - }, - { - "label": "test_close_is_idempotent()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L53", - "id": "tray_test_window_launcher_test_close_is_idempotent", - "community": 88, - "norm_label": "test_close_is_idempotent()" - }, - { - "label": "test_open_focuses_existing()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L60", - "id": "tray_test_window_launcher_test_open_focuses_existing", - "community": 88, - "norm_label": "test_open_focuses_existing()" - }, - { - "label": "test_resolve_window_executable_prefers_env_var()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L71", - "id": "tray_test_window_launcher_test_resolve_window_executable_prefers_env_var", - "community": 88, - "norm_label": "test_resolve_window_executable_prefers_env_var()" - }, - { - "label": "test_resolve_window_executable_uses_path()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L76", - "id": "tray_test_window_launcher_test_resolve_window_executable_uses_path", - "community": 88, - "norm_label": "test_resolve_window_executable_uses_path()" - }, - { - "label": "test_resolve_window_executable_falls_back_to_module()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L85", - "id": "tray_test_window_launcher_test_resolve_window_executable_falls_back_to_module", - "community": 88, - "norm_label": "test_resolve_window_executable_falls_back_to_module()" - }, - { - "label": "test_window_executable_override()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L95", - "id": "tray_test_window_launcher_test_window_executable_override", - "community": 88, - "norm_label": "test_window_executable_override()" - }, - { - "label": "test_argv_falls_through_resolve_helper()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L103", - "id": "tray_test_window_launcher_test_argv_falls_through_resolve_helper", - "community": 88, - "norm_label": "test_argv_falls_through_resolve_helper()" - }, - { - "label": "test_pid_is_none_before_open()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L113", - "id": "tray_test_window_launcher_test_pid_is_none_before_open", - "community": 88, - "norm_label": "test_pid_is_none_before_open()" - }, - { - "label": "test_close_kills_unresponsive_process()", - "file_type": "code", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L119", - "id": "tray_test_window_launcher_test_close_kills_unresponsive_process", - "community": 88, - "norm_label": "test_close_kills_unresponsive_process()" - }, - { - "label": "Tests for :mod:`exlab_wizard.tray.window_launcher`. Backend Spec \u00a74.3.2.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L1", - "id": "tray_test_window_launcher_rationale_1", - "community": 88, - "norm_label": "tests for :mod:`exlab_wizard.tray.window_launcher`. backend spec \u00a74.3.2." - }, - { - "label": "Return an argv that runs a tiny window stand-in (a sleep).", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L19", - "id": "tray_test_window_launcher_rationale_19", - "community": 88, - "norm_label": "return an argv that runs a tiny window stand-in (a sleep)." - }, - { - "label": "Default constructor with no override delegates to the resolver.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L104", - "id": "tray_test_window_launcher_rationale_104", - "community": 88, - "norm_label": "default constructor with no override delegates to the resolver." - }, - { - "label": "test_autostart.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L1", - "id": "tests_unit_tray_test_autostart_py", - "community": 72, - "norm_label": "test_autostart.py" - }, - { - "label": "test_macos_register_writes_plist()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L24", - "id": "tray_test_autostart_test_macos_register_writes_plist", - "community": 72, - "norm_label": "test_macos_register_writes_plist()" - }, - { - "label": "test_macos_unregister_removes_plist()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L40", - "id": "tray_test_autostart_test_macos_unregister_removes_plist", - "community": 72, - "norm_label": "test_macos_unregister_removes_plist()" - }, - { - "label": "test_macos_register_is_idempotent()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L51", - "id": "tray_test_autostart_test_macos_register_is_idempotent", - "community": 72, - "norm_label": "test_macos_register_is_idempotent()" - }, - { - "label": "test_linux_register_writes_systemd_and_desktop()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L63", - "id": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", - "community": 72, - "norm_label": "test_linux_register_writes_systemd_and_desktop()" - }, - { - "label": "test_linux_unregister_removes_both_files()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L80", - "id": "tray_test_autostart_test_linux_unregister_removes_both_files", - "community": 72, - "norm_label": "test_linux_unregister_removes_both_files()" - }, - { - "label": "test_linux_is_registered_when_only_desktop_present()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L87", - "id": "tray_test_autostart_test_linux_is_registered_when_only_desktop_present", - "community": 72, - "norm_label": "test_linux_is_registered_when_only_desktop_present()" - }, - { - "label": "_FakeKey", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L100", - "id": "tray_test_autostart_fakekey", - "community": 271, - "norm_label": "_fakekey" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L101", - "id": "tray_test_autostart_fakekey_init", - "community": 271, - "norm_label": ".__init__()" - }, - { - "label": ".__enter__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L105", - "id": "tray_test_autostart_fakekey_enter", - "community": 271, - "norm_label": ".__enter__()" - }, - { - "label": ".__exit__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L108", - "id": "tray_test_autostart_fakekey_exit", - "community": 271, - "norm_label": ".__exit__()" - }, - { - "label": "_FakeWinreg", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L112", - "id": "tray_test_autostart_fakewinreg", - "community": 271, - "norm_label": "_fakewinreg" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L118", - "id": "tray_test_autostart_fakewinreg_init", - "community": 271, - "norm_label": ".__init__()" - }, - { - "label": ".OpenKey()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L122", - "id": "tray_test_autostart_fakewinreg_openkey", - "community": 271, - "norm_label": ".openkey()" - }, - { - "label": ".SetValueEx()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L133", - "id": "tray_test_autostart_fakewinreg_setvalueex", - "community": 271, - "norm_label": ".setvalueex()" - }, - { - "label": ".QueryValueEx()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L145", - "id": "tray_test_autostart_fakewinreg_queryvalueex", - "community": 271, - "norm_label": ".queryvalueex()" - }, - { - "label": ".DeleteValue()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L150", - "id": "tray_test_autostart_fakewinreg_deletevalue", - "community": 271, - "norm_label": ".deletevalue()" - }, - { - "label": "fake_winreg()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L155", - "id": "tray_test_autostart_fake_winreg", - "community": 271, - "norm_label": "fake_winreg()" - }, - { - "label": "test_windows_register_sets_run_value()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L161", - "id": "tray_test_autostart_test_windows_register_sets_run_value", - "community": 72, - "norm_label": "test_windows_register_sets_run_value()" - }, - { - "label": "test_windows_unregister_deletes_run_value()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L173", - "id": "tray_test_autostart_test_windows_unregister_deletes_run_value", - "community": 72, - "norm_label": "test_windows_unregister_deletes_run_value()" - }, - { - "label": "test_windows_unregister_when_value_missing_is_safe()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L185", - "id": "tray_test_autostart_test_windows_unregister_when_value_missing_is_safe", - "community": 72, - "norm_label": "test_windows_unregister_when_value_missing_is_safe()" - }, - { - "label": "test_windows_open_key_handles_filenotfound_on_query()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L193", - "id": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query", - "community": 72, - "norm_label": "test_windows_open_key_handles_filenotfound_on_query()" - }, - { - "label": "test_silently_unlink_tolerates_missing()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L211", - "id": "tray_test_autostart_test_silently_unlink_tolerates_missing", - "community": 213, - "norm_label": "test_silently_unlink_tolerates_missing()" - }, - { - "label": "test_env_var_root_overrides_constructor()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L223", - "id": "tray_test_autostart_test_env_var_root_overrides_constructor", - "community": 72, - "norm_label": "test_env_var_root_overrides_constructor()" - }, - { - "label": "test_executable_path_property()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L238", - "id": "tray_test_autostart_test_executable_path_property", - "community": 72, - "norm_label": "test_executable_path_property()" - }, - { - "label": "test_default_executable_falls_back_to_sys_executable()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L244", - "id": "tray_test_autostart_test_default_executable_falls_back_to_sys_executable", - "community": 72, - "norm_label": "test_default_executable_falls_back_to_sys_executable()" - }, - { - "label": "test_detect_platform_returns_known_value()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L250", - "id": "tray_test_autostart_test_detect_platform_returns_known_value", - "community": 213, - "norm_label": "test_detect_platform_returns_known_value()" - }, - { - "label": "test_detect_platform_dispatch()", - "file_type": "code", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L255", - "id": "tray_test_autostart_test_detect_platform_dispatch", - "community": 213, - "norm_label": "test_detect_platform_dispatch()" - }, - { - "label": "Tests for :mod:`exlab_wizard.tray.autostart`. Backend Spec \u00a715.7.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L1", - "id": "tray_test_autostart_rationale_1", - "community": 72, - "norm_label": "tests for :mod:`exlab_wizard.tray.autostart`. backend spec \u00a715.7." - }, - { - "label": "When ``OpenKey`` raises FileNotFoundError, ``is_registered`` returns False.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L196", - "id": "tray_test_autostart_rationale_196", - "community": 72, - "norm_label": "when ``openkey`` raises filenotfounderror, ``is_registered`` returns false." - }, - { - "label": "Internal helper tolerates a missing path without raising.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L212", - "id": "tray_test_autostart_rationale_212", - "community": 213, - "norm_label": "internal helper tolerates a missing path without raising." - }, - { - "label": "test_main.py", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L1", - "id": "tests_unit_tray_test_main_py", - "community": 9, - "norm_label": "test_main.py" - }, - { - "label": "_StubServerRunner", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L15", - "id": "tray_test_main_stubserverrunner", - "community": 9, - "norm_label": "_stubserverrunner" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L16", - "id": "tray_test_main_stubserverrunner_init", - "community": 9, - "norm_label": ".__init__()" - }, - { - "label": ".start()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L22", - "id": "tray_test_main_stubserverrunner_start", - "community": 9, - "norm_label": ".start()" - }, - { - "label": ".stop()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L26", - "id": "tray_test_main_stubserverrunner_stop", - "community": 9, - "norm_label": ".stop()" - }, - { - "label": "_StubWindowLauncher", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L30", - "id": "tray_test_main_stubwindowlauncher", - "community": 9, - "norm_label": "_stubwindowlauncher" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L31", - "id": "tray_test_main_stubwindowlauncher_init", - "community": 9, - "norm_label": ".__init__()" - }, - { - "label": ".open()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L35", - "id": "tray_test_main_stubwindowlauncher_open", - "community": 9, - "norm_label": ".open()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L38", - "id": "tray_test_main_stubwindowlauncher_close", - "community": 9, - "norm_label": ".close()" - }, - { - "label": "_StubQuitCoordinator", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L42", - "id": "tray_test_main_stubquitcoordinator", - "community": 9, - "norm_label": "_stubquitcoordinator" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L43", - "id": "tray_test_main_stubquitcoordinator_init", - "community": 9, - "norm_label": ".__init__()" - }, - { - "label": ".quit()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L46", - "id": "tray_test_main_stubquitcoordinator_quit", - "community": 9, - "norm_label": ".quit()" - }, - { - "label": "_StubStatusTicker", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L51", - "id": "tray_test_main_stubstatusticker", - "community": 9, - "norm_label": "_stubstatusticker" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L52", - "id": "tray_test_main_stubstatusticker_init", - "community": 9, - "norm_label": ".__init__()" - }, - { - "label": ".start()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L57", - "id": "tray_test_main_stubstatusticker_start", - "community": 9, - "norm_label": ".start()" - }, - { - "label": ".stop()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L60", - "id": "tray_test_main_stubstatusticker_stop", - "community": 9, - "norm_label": ".stop()" - }, - { - "label": ".tick_once()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L63", - "id": "tray_test_main_stubstatusticker_tick_once", - "community": 9, - "norm_label": ".tick_once()" - }, - { - "label": "_StubBus", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L68", - "id": "tray_test_main_stubbus", - "community": 9, - "norm_label": "_stubbus" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L69", - "id": "tray_test_main_stubbus_init", - "community": 9, - "norm_label": ".__init__()" - }, - { - "label": ".cancel_all()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L72", - "id": "tray_test_main_stubbus_cancel_all", - "community": 9, - "norm_label": ".cancel_all()" - }, - { - "label": "_StubAutostart", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L76", - "id": "tray_test_main_stubautostart", - "community": 9, - "norm_label": "_stubautostart" - }, - { - "label": "_make_tray()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L80", - "id": "tray_test_main_make_tray", - "community": 9, - "norm_label": "_make_tray()" - }, - { - "label": "test_start_server_calls_runner()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L91", - "id": "tray_test_main_test_start_server_calls_runner", - "community": 9, - "norm_label": "test_start_server_calls_runner()" - }, - { - "label": "test_open_window_delegates()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L98", - "id": "tray_test_main_test_open_window_delegates", - "community": 9, - "norm_label": "test_open_window_delegates()" - }, - { - "label": "test_request_quit_runs_coordinator()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L104", - "id": "tray_test_main_test_request_quit_runs_coordinator", - "community": 9, - "norm_label": "test_request_quit_runs_coordinator()" - }, - { - "label": "test_request_quit_calls_icon_stop_when_set()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L110", - "id": "tray_test_main_test_request_quit_calls_icon_stop_when_set", - "community": 9, - "norm_label": "test_request_quit_calls_icon_stop_when_set()" - }, - { - "label": "test_request_quit_handles_icon_stop_error()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L118", - "id": "tray_test_main_test_request_quit_handles_icon_stop_error", - "community": 9, - "norm_label": "test_request_quit_handles_icon_stop_error()" - }, - { - "label": "test_shutdown_tears_components_down()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L126", - "id": "tray_test_main_test_shutdown_tears_components_down", - "community": 9, - "norm_label": "test_shutdown_tears_components_down()" - }, - { - "label": "test_run_wires_icon_and_invokes_run_loop()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L135", - "id": "tray_test_main_test_run_wires_icon_and_invokes_run_loop", - "community": 9, - "norm_label": "test_run_wires_icon_and_invokes_run_loop()" - }, - { - "label": "test_build_default_components()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L166", - "id": "tray_test_main_test_build_default_components", - "community": 110, - "norm_label": "test_build_default_components()" - }, - { - "label": "test_main_uses_run_helper()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L178", - "id": "tray_test_main_test_main_uses_run_helper", - "community": 9, - "norm_label": "test_main_uses_run_helper()" - }, - { - "label": "test_main_handles_keyboard_interrupt()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L201", - "id": "tray_test_main_test_main_handles_keyboard_interrupt", - "community": 9, - "norm_label": "test_main_handles_keyboard_interrupt()" - }, - { - "label": "test_run_returns_one_on_icon_failure()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L218", - "id": "tray_test_main_test_run_returns_one_on_icon_failure", - "community": 9, - "norm_label": "test_run_returns_one_on_icon_failure()" - }, - { - "label": "test_request_quit_uses_running_loop_when_present()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L232", - "id": "tray_test_main_test_request_quit_uses_running_loop_when_present", - "community": 9, - "norm_label": "test_request_quit_uses_running_loop_when_present()" - }, - { - "label": "test_build_default_app()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L269", - "id": "tray_test_main_test_build_default_app", - "community": 9, - "norm_label": "test_build_default_app()" - }, - { - "label": "test_build_default_components_falls_back_to_default_app()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L302", - "id": "tray_test_main_test_build_default_components_falls_back_to_default_app", - "community": 9, - "norm_label": "test_build_default_components_falls_back_to_default_app()" - }, - { - "label": "test_parse_argv_defaults_no_smoke()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L314", - "id": "tray_test_main_test_parse_argv_defaults_no_smoke", - "community": 9, - "norm_label": "test_parse_argv_defaults_no_smoke()" - }, - { - "label": "test_parse_argv_smoke_flag()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L323", - "id": "tray_test_main_test_parse_argv_smoke_flag", - "community": 9, - "norm_label": "test_parse_argv_smoke_flag()" - }, - { - "label": "test_parse_argv_no_autostart_prompt_silently_accepted()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L331", - "id": "tray_test_main_test_parse_argv_no_autostart_prompt_silently_accepted", - "community": 9, - "norm_label": "test_parse_argv_no_autostart_prompt_silently_accepted()" - }, - { - "label": "test_run_smoke_starts_server_and_stops_on_signal()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L339", - "id": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal", - "community": 9, - "norm_label": "test_run_smoke_starts_server_and_stops_on_signal()" - }, - { - "label": "test_main_smoke_dispatches_to_run_smoke()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L376", - "id": "tray_test_main_test_main_smoke_dispatches_to_run_smoke", - "community": 9, - "norm_label": "test_main_smoke_dispatches_to_run_smoke()" - }, - { - "label": "test_parse_argv_version_flag()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L397", - "id": "tray_test_main_test_parse_argv_version_flag", - "community": 9, - "norm_label": "test_parse_argv_version_flag()" - }, - { - "label": "test_main_version_prints_version_and_exits_zero()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L405", - "id": "tray_test_main_test_main_version_prints_version_and_exits_zero", - "community": 9, - "norm_label": "test_main_version_prints_version_and_exits_zero()" - }, - { - "label": "test_parse_argv_defaults_no_test_flags()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L423", - "id": "tray_test_main_test_parse_argv_defaults_no_test_flags", - "community": 9, - "norm_label": "test_parse_argv_defaults_no_test_flags()" - }, - { - "label": "test_parse_argv_test_flag()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L432", - "id": "tray_test_main_test_parse_argv_test_flag", - "community": 9, - "norm_label": "test_parse_argv_test_flag()" - }, - { - "label": "test_parse_argv_test_with_samples()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L440", - "id": "tray_test_main_test_parse_argv_test_with_samples", - "community": 9, - "norm_label": "test_parse_argv_test_with_samples()" - }, - { - "label": "test_parse_argv_samples_without_test_errors()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L448", - "id": "tray_test_main_test_parse_argv_samples_without_test_errors", - "community": 9, - "norm_label": "test_parse_argv_samples_without_test_errors()" - }, - { - "label": "test_mode_env()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L462", - "id": "tray_test_main_test_mode_env", - "community": 9, - "norm_label": "test_mode_env()" - }, - { - "label": "test_main_test_flag_sets_env_and_bootstraps_config()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L487", - "id": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", - "community": 9, - "norm_label": "test_main_test_flag_sets_env_and_bootstraps_config()" - }, - { - "label": "test_main_test_does_not_overwrite_existing_config()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L524", - "id": "tray_test_main_test_main_test_does_not_overwrite_existing_config", - "community": 9, - "norm_label": "test_main_test_does_not_overwrite_existing_config()" - }, - { - "label": "test_main_test_with_samples_adds_equipment()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L539", - "id": "tray_test_main_test_main_test_with_samples_adds_equipment", - "community": 9, - "norm_label": "test_main_test_with_samples_adds_equipment()" - }, - { - "label": "test_main_test_with_samples_repeat_boot_is_noop()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L562", - "id": "tray_test_main_test_main_test_with_samples_repeat_boot_is_noop", - "community": 9, - "norm_label": "test_main_test_with_samples_repeat_boot_is_noop()" - }, - { - "label": "test_main_without_test_does_not_set_env()", - "file_type": "code", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L579", - "id": "tray_test_main_test_main_without_test_does_not_set_env", - "community": 9, - "norm_label": "test_main_without_test_does_not_set_env()" - }, - { - "label": "Tests for :mod:`exlab_wizard.tray.main`. Backend Spec \u00a74.3.2.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L1", - "id": "tray_test_main_rationale_1", - "community": 9, - "norm_label": "tests for :mod:`exlab_wizard.tray.main`. backend spec \u00a74.3.2." - }, - { - "label": "``main()`` builds default components and calls :meth:`TrayApp.run`.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L179", - "id": "tray_test_main_rationale_179", - "community": 9, - "norm_label": "``main()`` builds default components and calls :meth:`trayapp.run`." - }, - { - "label": "``asyncio.run`` raises RuntimeError when a loop is running. The tray's ``re", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L235", - "id": "tray_test_main_rationale_235", - "community": 9, - "norm_label": "``asyncio.run`` raises runtimeerror when a loop is running. the tray's ``re" - }, - { - "label": "``_build_default_app`` builds deps, calls ``create_app``, mounts NiceGUI.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L270", - "id": "tray_test_main_rationale_270", - "community": 9, - "norm_label": "``_build_default_app`` builds deps, calls ``create_app``, mounts nicegui." - }, - { - "label": "When ``app`` is None, the helper calls ``_build_default_app``.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L305", - "id": "tray_test_main_rationale_305", - "community": 9, - "norm_label": "when ``app`` is none, the helper calls ``_build_default_app``." - }, - { - "label": "No flags -> ``smoke`` is False, ``no_autostart_prompt`` is False.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L315", - "id": "tray_test_main_rationale_315", - "community": 9, - "norm_label": "no flags -> ``smoke`` is false, ``no_autostart_prompt`` is false." - }, - { - "label": "``--smoke`` sets the smoke flag.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L324", - "id": "tray_test_main_rationale_324", - "community": 9, - "norm_label": "``--smoke`` sets the smoke flag." - }, - { - "label": "``--no-autostart-prompt`` is silently accepted (reserved).", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L332", - "id": "tray_test_main_rationale_332", - "community": 9, - "norm_label": "``--no-autostart-prompt`` is silently accepted (reserved)." - }, - { - "label": "``_run_smoke`` boots the server, blocks on a stop event, and stops cleanly.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L342", - "id": "tray_test_main_rationale_342", - "community": 9, - "norm_label": "``_run_smoke`` boots the server, blocks on a stop event, and stops cleanly." - }, - { - "label": "``main([\"--smoke\"])`` calls ``_run_smoke`` instead of the icon loop.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L379", - "id": "tray_test_main_rationale_379", - "community": 9, - "norm_label": "``main([\"--smoke\"])`` calls ``_run_smoke`` instead of the icon loop." - }, - { - "label": "``--version`` sets the version flag.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L398", - "id": "tray_test_main_rationale_398", - "community": 9, - "norm_label": "``--version`` sets the version flag." - }, - { - "label": "``main([\"--version\"])`` prints the package version and returns 0.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L408", - "id": "tray_test_main_rationale_408", - "community": 9, - "norm_label": "``main([\"--version\"])`` prints the package version and returns 0." - }, - { - "label": "No flags -> both test-mode flags are False.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L424", - "id": "tray_test_main_rationale_424", - "community": 9, - "norm_label": "no flags -> both test-mode flags are false." - }, - { - "label": "``--add-test-samples`` alone must be rejected via parser.error (exit 2).", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L451", - "id": "tray_test_main_rationale_451", - "community": 9, - "norm_label": "``--add-test-samples`` alone must be rejected via parser.error (exit 2)." - }, - { - "label": "Sandbox ``main([\"--test\", ...])`` into ``tmp_path``. Redirects ``Path.home(", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L463", - "id": "tray_test_main_rationale_463", - "community": 9, - "norm_label": "sandbox ``main([\"--test\", ...])`` into ``tmp_path``. redirects ``path.home(" - }, - { - "label": "``main([\"--test\"])`` sets EXLAB_WIZARD_TEST_MODE=1 and writes a starter config.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L488", - "id": "tray_test_main_rationale_488", - "community": 9, - "norm_label": "``main([\"--test\"])`` sets exlab_wizard_test_mode=1 and writes a starter config." - }, - { - "label": "Re-running ``--test`` must preserve any edits the user made in-session.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L525", - "id": "tray_test_main_rationale_525", - "community": 9, - "norm_label": "re-running ``--test`` must preserve any edits the user made in-session." - }, - { - "label": "A second ``--test --add-test-samples`` boot must neither re-seed nor wipe.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L563", - "id": "tray_test_main_rationale_563", - "community": 9, - "norm_label": "a second ``--test --add-test-samples`` boot must neither re-seed nor wipe." - }, - { - "label": "Sanity: running without --test leaves the env var unset and writes no test confi", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L580", - "id": "tray_test_main_rationale_580", - "community": 9, - "norm_label": "sanity: running without --test leaves the env var unset and writes no test confi" - }, - { - "label": "test_generator.py", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L1", - "id": "tests_unit_readme_test_generator_py", - "community": 48, - "norm_label": "test_generator.py" - }, - { - "label": "_system_fields()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L57", - "id": "readme_test_generator_system_fields", - "community": 48, - "norm_label": "_system_fields()" - }, - { - "label": "_ctx()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L73", - "id": "readme_test_generator_ctx", - "community": 48, - "norm_label": "_ctx()" - }, - { - "label": "generator()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L99", - "id": "readme_test_generator_generator", - "community": 224, - "norm_label": "generator()" - }, - { - "label": "test_generate_writes_both_files()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L109", - "id": "readme_test_generator_test_generate_writes_both_files", - "community": 48, - "norm_label": "test_generate_writes_both_files()" - }, - { - "label": "test_readme_starts_with_yaml_front_matter()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L118", - "id": "readme_test_generator_test_readme_starts_with_yaml_front_matter", - "community": 48, - "norm_label": "test_readme_starts_with_yaml_front_matter()" - }, - { - "label": "test_readme_body_includes_label_and_objective()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L135", - "id": "readme_test_generator_test_readme_body_includes_label_and_objective", - "community": 48, - "norm_label": "test_readme_body_includes_label_and_objective()" - }, - { - "label": "test_readme_fields_json_round_trips()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L148", - "id": "readme_test_generator_test_readme_fields_json_round_trips", - "community": 48, - "norm_label": "test_readme_fields_json_round_trips()" - }, - { - "label": "test_empty_core_field_rejected()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L192", - "id": "readme_test_generator_test_empty_core_field_rejected", - "community": 48, - "norm_label": "test_empty_core_field_rejected()" - }, - { - "label": "test_label_over_max_length_rejected()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L201", - "id": "readme_test_generator_test_label_over_max_length_rejected", - "community": 48, - "norm_label": "test_label_over_max_length_rejected()" - }, - { - "label": "test_objective_over_max_length_rejected()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L208", - "id": "readme_test_generator_test_objective_over_max_length_rejected", - "community": 48, - "norm_label": "test_objective_over_max_length_rejected()" - }, - { - "label": "test_required_template_field_missing_raises()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L222", - "id": "readme_test_generator_test_required_template_field_missing_raises", - "community": 48, - "norm_label": "test_required_template_field_missing_raises()" - }, - { - "label": "test_required_config_field_missing_raises()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L231", - "id": "readme_test_generator_test_required_config_field_missing_raises", - "community": 48, - "norm_label": "test_required_config_field_missing_raises()" - }, - { - "label": "test_duplicate_field_id_across_layers_raises()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L247", - "id": "readme_test_generator_test_duplicate_field_id_across_layers_raises", - "community": 48, - "norm_label": "test_duplicate_field_id_across_layers_raises()" - }, - { - "label": "test_custom_field_label_collides_with_template_id()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L263", - "id": "readme_test_generator_test_custom_field_label_collides_with_template_id", - "community": 48, - "norm_label": "test_custom_field_label_collides_with_template_id()" - }, - { - "label": "test_core_field_redeclared_in_template_raises()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L281", - "id": "readme_test_generator_test_core_field_redeclared_in_template_raises", - "community": 48, - "norm_label": "test_core_field_redeclared_in_template_raises()" - }, - { - "label": "test_core_field_redeclared_in_config_raises()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L290", - "id": "readme_test_generator_test_core_field_redeclared_in_config_raises", - "community": 48, - "norm_label": "test_core_field_redeclared_in_config_raises()" - }, - { - "label": "test_project_level_system_run_is_none()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L304", - "id": "readme_test_generator_test_project_level_system_run_is_none", - "community": 48, - "norm_label": "test_project_level_system_run_is_none()" - }, - { - "label": "test_run_level_experimental_run_name()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L313", - "id": "readme_test_generator_test_run_level_experimental_run_name", - "community": 48, - "norm_label": "test_run_level_experimental_run_name()" - }, - { - "label": "test_run_level_test_run_name()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L322", - "id": "readme_test_generator_test_run_level_test_run_name", - "community": 48, - "norm_label": "test_run_level_test_run_name()" - }, - { - "label": "test_string_type_accepts_string_rejects_int()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L336", - "id": "readme_test_generator_test_string_type_accepts_string_rejects_int", - "community": 48, - "norm_label": "test_string_type_accepts_string_rejects_int()" - }, - { - "label": "test_text_type_accepts_multiline_rejects_list()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L354", - "id": "readme_test_generator_test_text_type_accepts_multiline_rejects_list", - "community": 48, - "norm_label": "test_text_type_accepts_multiline_rejects_list()" - }, - { - "label": "test_choice_type_accepts_listed_rejects_other()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L370", - "id": "readme_test_generator_test_choice_type_accepts_listed_rejects_other", - "community": 48, - "norm_label": "test_choice_type_accepts_listed_rejects_other()" - }, - { - "label": "test_choice_without_options_raises()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L386", - "id": "readme_test_generator_test_choice_without_options_raises", - "community": 48, - "norm_label": "test_choice_without_options_raises()" - }, - { - "label": "test_date_type_accepts_iso8601_rejects_garbage()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L396", - "id": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", - "community": 48, - "norm_label": "test_date_type_accepts_iso8601_rejects_garbage()" - }, - { - "label": "test_date_type_rejects_non_string()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L419", - "id": "readme_test_generator_test_date_type_rejects_non_string", - "community": 48, - "norm_label": "test_date_type_rejects_non_string()" - }, - { - "label": "test_boolean_type_accepts_bool_rejects_string()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L429", - "id": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", - "community": 48, - "norm_label": "test_boolean_type_accepts_bool_rejects_string()" - }, - { - "label": "test_unknown_field_type_raises()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L449", - "id": "readme_test_generator_test_unknown_field_type_raises", - "community": 48, - "norm_label": "test_unknown_field_type_raises()" - }, - { - "label": "test_choice_type_rejects_non_string_value()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L459", - "id": "readme_test_generator_test_choice_type_rejects_non_string_value", - "community": 48, - "norm_label": "test_choice_type_rejects_non_string_value()" - }, - { - "label": "test_generate_is_idempotent_byte_identical()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L476", - "id": "readme_test_generator_test_generate_is_idempotent_byte_identical", - "community": 48, - "norm_label": "test_generate_is_idempotent_byte_identical()" - }, - { - "label": "test_generated_at_uses_z_suffix()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L512", - "id": "readme_test_generator_test_generated_at_uses_z_suffix", - "community": 48, - "norm_label": "test_generated_at_uses_z_suffix()" - }, - { - "label": "test_cache_dir_created_on_demand()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L520", - "id": "readme_test_generator_test_cache_dir_created_on_demand", - "community": 48, - "norm_label": "test_cache_dir_created_on_demand()" - }, - { - "label": "test_value_without_declaration_skips_typecheck()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L529", - "id": "readme_test_generator_test_value_without_declaration_skips_typecheck", - "community": 48, - "norm_label": "test_value_without_declaration_skips_typecheck()" - }, - { - "label": "test_optional_empty_field_is_skipped()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L546", - "id": "readme_test_generator_test_optional_empty_field_is_skipped", - "community": 48, - "norm_label": "test_optional_empty_field_is_skipped()" - }, - { - "label": "test_required_field_present_with_none_raises()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L556", - "id": "readme_test_generator_test_required_field_present_with_none_raises", - "community": 48, - "norm_label": "test_required_field_present_with_none_raises()" - }, - { - "label": "test_generated_at_uses_z_for_naive_datetime()", - "file_type": "code", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L569", - "id": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", - "community": 224, - "norm_label": "test_generated_at_uses_z_for_naive_datetime()" - }, - { - "label": "Tests for :class:`exlab_wizard.readme.generator.ReadmeGenerator`. Pins the cont", - "file_type": "rationale", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L1", - "id": "readme_test_generator_rationale_1", - "community": 48, - "norm_label": "tests for :class:`exlab_wizard.readme.generator.readmegenerator`. pins the cont" - }, - { - "label": "Calling generate twice with the same context produces identical bytes.", - "file_type": "rationale", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L479", - "id": "readme_test_generator_rationale_479", - "community": 48, - "norm_label": "calling generate twice with the same context produces identical bytes." - }, - { - "label": "A value whose id has no declaration is permitted (controller-side merge).", - "file_type": "rationale", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L532", - "id": "readme_test_generator_rationale_532", - "community": 48, - "norm_label": "a value whose id has no declaration is permitted (controller-side merge)." - }, - { - "label": "An optional field with an empty value passes; type check is skipped.", - "file_type": "rationale", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L547", - "id": "readme_test_generator_rationale_547", - "community": 48, - "norm_label": "an optional field with an empty value passes; type check is skipped." - }, - { - "label": "``None`` is treated as absent for required fields.", - "file_type": "rationale", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L559", - "id": "readme_test_generator_rationale_559", - "community": 48, - "norm_label": "``none`` is treated as absent for required fields." - }, - { - "label": "Naive datetimes are treated as already-UTC (no timezone gymnastics).", - "file_type": "rationale", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L572", - "id": "readme_test_generator_rationale_572", - "community": 224, - "norm_label": "naive datetimes are treated as already-utc (no timezone gymnastics)." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/readme/__init__.py", - "source_location": "L1", - "id": "tests_unit_readme_init_py", - "community": 479, - "norm_label": "__init__.py" - }, - { - "label": "README generation package. Backend Spec \u00a710.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/__init__.py", - "source_location": "L1", - "id": "readme_init_rationale_1", - "community": 479, - "norm_label": "readme generation package. backend spec \u00a710." - }, - { - "label": "test_metadata_assembly.py", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L1", - "id": "tests_unit_controller_test_metadata_assembly_py", - "community": 25, - "norm_label": "test_metadata_assembly.py" - }, - { - "label": "_config()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L72", - "id": "controller_test_metadata_assembly_config", - "community": 25, - "norm_label": "_config()" - }, - { - "label": "_template_desc()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L92", - "id": "controller_test_metadata_assembly_template_desc", - "community": 25, - "norm_label": "_template_desc()" - }, - { - "label": "_sample_type_default()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L103", - "id": "controller_test_metadata_assembly_sample_type_default", - "community": 25, - "norm_label": "_sample_type_default()" - }, - { - "label": "test_build_readme_context_partitions_readme_extra()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L119", - "id": "controller_test_metadata_assembly_test_build_readme_context_partitions_readme_extra", - "community": 25, - "norm_label": "test_build_readme_context_partitions_readme_extra()" - }, - { - "label": "test_build_readme_context_system_and_level_for_run()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L155", - "id": "controller_test_metadata_assembly_test_build_readme_context_system_and_level_for_run", - "community": 25, - "norm_label": "test_build_readme_context_system_and_level_for_run()" - }, - { - "label": "test_build_readme_context_unknown_equipment_blank_label()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L186", - "id": "controller_test_metadata_assembly_test_build_readme_context_unknown_equipment_blank_label", - "community": 25, - "norm_label": "test_build_readme_context_unknown_equipment_blank_label()" - }, - { - "label": "_lims_block()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L212", - "id": "controller_test_metadata_assembly_lims_block", - "community": 25, - "norm_label": "_lims_block()" - }, - { - "label": "test_build_creation_json_all_blocks_populated()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L221", - "id": "controller_test_metadata_assembly_test_build_creation_json_all_blocks_populated", - "community": 25, - "norm_label": "test_build_creation_json_all_blocks_populated()" - }, - { - "label": "test_build_creation_json_sync_status_override()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L270", - "id": "controller_test_metadata_assembly_test_build_creation_json_sync_status_override", - "community": 25, - "norm_label": "test_build_creation_json_sync_status_override()" - }, - { - "label": "test_build_creation_json_blank_nas_when_root_empty()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L291", - "id": "controller_test_metadata_assembly_test_build_creation_json_blank_nas_when_root_empty", - "community": 25, - "norm_label": "test_build_creation_json_blank_nas_when_root_empty()" - }, - { - "label": "_controller()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L315", - "id": "controller_test_metadata_assembly_controller", - "community": 25, - "norm_label": "_controller()" - }, - { - "label": "_project_request()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L329", - "id": "controller_test_metadata_assembly_project_request", - "community": 25, - "norm_label": "_project_request()" - }, - { - "label": "_resolved_desc_from()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L347", - "id": "controller_test_metadata_assembly_resolved_desc_from", - "community": 25, - "norm_label": "_resolved_desc_from()" - }, - { - "label": "_normalize_ctx()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L358", - "id": "controller_test_metadata_assembly_normalize_ctx", - "community": 25, - "norm_label": "_normalize_ctx()" - }, - { - "label": "test_parity_build_readme_context()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L365", - "id": "controller_test_metadata_assembly_test_parity_build_readme_context", - "community": 25, - "norm_label": "test_parity_build_readme_context()" - }, - { - "label": "test_parity_build_creation_json()", - "file_type": "code", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L396", - "id": "controller_test_metadata_assembly_test_parity_build_creation_json", - "community": 25, - "norm_label": "test_parity_build_creation_json()" - }, - { - "label": "Unit + parity tests for ``controller/metadata_assembly``. The two helpers ``bui", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L1", - "id": "controller_test_metadata_assembly_rationale_1", - "community": 25, - "norm_label": "unit + parity tests for ``controller/metadata_assembly``. the two helpers ``bui" - }, - { - "label": "``readme_extra`` keys split across template / config / custom layers, and co", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L120", - "id": "controller_test_metadata_assembly_rationale_120", - "community": 25, - "norm_label": "``readme_extra`` keys split across template / config / custom layers, and co" - }, - { - "label": "Replace the injected, environment-dependent system fields with fixtures so t", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L359", - "id": "controller_test_metadata_assembly_rationale_359", - "community": 25, - "norm_label": "replace the injected, environment-dependent system fields with fixtures so t" - }, - { - "label": "test_creation_apply_config.py", - "file_type": "code", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L1", - "id": "tests_unit_controller_test_creation_apply_config_py", - "community": 23, - "norm_label": "test_creation_apply_config.py" - }, - { - "label": "_controller()", - "file_type": "code", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L16", - "id": "controller_test_creation_apply_config_controller", - "community": 23, - "norm_label": "_controller()" - }, - { - "label": "test_apply_config_swaps_config()", - "file_type": "code", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L29", - "id": "controller_test_creation_apply_config_test_apply_config_swaps_config", - "community": 23, - "norm_label": "test_apply_config_swaps_config()" - }, - { - "label": "test_apply_config_reinjects_plugin_host_only_when_given()", - "file_type": "code", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L39", - "id": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", - "community": 23, - "norm_label": "test_apply_config_reinjects_plugin_host_only_when_given()" - }, - { - "label": "Unit tests for ``CreationController.apply_config`` (live config reload). The co", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L1", - "id": "controller_test_creation_apply_config_rationale_1", - "community": 23, - "norm_label": "unit tests for ``creationcontroller.apply_config`` (live config reload). the co" - }, - { - "label": "test_state_machine.py", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L1", - "id": "tests_unit_controller_test_state_machine_py", - "community": 24, - "norm_label": "test_state_machine.py" - }, - { - "label": "test_state_to_phase_pending_returns_none()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L25", - "id": "controller_test_state_machine_test_state_to_phase_pending_returns_none", - "community": 24, - "norm_label": "test_state_to_phase_pending_returns_none()" - }, - { - "label": "test_state_to_phase_validating_returns_validating_inputs()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L29", - "id": "controller_test_state_machine_test_state_to_phase_validating_returns_validating_inputs", - "community": 24, - "norm_label": "test_state_to_phase_validating_returns_validating_inputs()" - }, - { - "label": "test_state_to_phase_rendering_returns_rendering_template()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L33", - "id": "controller_test_state_machine_test_state_to_phase_rendering_returns_rendering_template", - "community": 24, - "norm_label": "test_state_to_phase_rendering_returns_rendering_template()" - }, - { - "label": "test_state_to_phase_plugin_pass_returns_running_plugins()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L37", - "id": "controller_test_state_machine_test_state_to_phase_plugin_pass_returns_running_plugins", - "community": 24, - "norm_label": "test_state_to_phase_plugin_pass_returns_running_plugins()" - }, - { - "label": "test_state_to_phase_input_required_returns_input_required()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L41", - "id": "controller_test_state_machine_test_state_to_phase_input_required_returns_input_required", - "community": 24, - "norm_label": "test_state_to_phase_input_required_returns_input_required()" - }, - { - "label": "test_state_to_phase_cache_write_returns_writing_cache()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L45", - "id": "controller_test_state_machine_test_state_to_phase_cache_write_returns_writing_cache", - "community": 24, - "norm_label": "test_state_to_phase_cache_write_returns_writing_cache()" - }, - { - "label": "test_state_to_phase_post_validate_returns_validating_post_creation()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L49", - "id": "controller_test_state_machine_test_state_to_phase_post_validate_returns_validating_post_creation", - "community": 24, - "norm_label": "test_state_to_phase_post_validate_returns_validating_post_creation()" - }, - { - "label": "test_state_to_phase_sync_queued_returns_queueing_nas_sync()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L53", - "id": "controller_test_state_machine_test_state_to_phase_sync_queued_returns_queueing_nas_sync", - "community": 24, - "norm_label": "test_state_to_phase_sync_queued_returns_queueing_nas_sync()" - }, - { - "label": "test_state_to_phase_done_returns_done()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L57", - "id": "controller_test_state_machine_test_state_to_phase_done_returns_done", - "community": 24, - "norm_label": "test_state_to_phase_done_returns_done()" - }, - { - "label": "test_state_to_phase_failed_returns_none()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L61", - "id": "controller_test_state_machine_test_state_to_phase_failed_returns_none", - "community": 24, - "norm_label": "test_state_to_phase_failed_returns_none()" - }, - { - "label": "test_state_to_phase_aborted_returns_none()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L65", - "id": "controller_test_state_machine_test_state_to_phase_aborted_returns_none", - "community": 24, - "norm_label": "test_state_to_phase_aborted_returns_none()" - }, - { - "label": "test_state_to_phase_covers_every_state()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L69", - "id": "controller_test_state_machine_test_state_to_phase_covers_every_state", - "community": 24, - "norm_label": "test_state_to_phase_covers_every_state()" - }, - { - "label": "test_pending_transitions_to_validating()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L82", - "id": "controller_test_state_machine_test_pending_transitions_to_validating", - "community": 24, - "norm_label": "test_pending_transitions_to_validating()" - }, - { - "label": "test_validating_transitions_to_rendering()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L86", - "id": "controller_test_state_machine_test_validating_transitions_to_rendering", - "community": 24, - "norm_label": "test_validating_transitions_to_rendering()" - }, - { - "label": "test_rendering_transitions_to_plugin_pass()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L90", - "id": "controller_test_state_machine_test_rendering_transitions_to_plugin_pass", - "community": 24, - "norm_label": "test_rendering_transitions_to_plugin_pass()" - }, - { - "label": "test_plugin_pass_transitions_to_input_required_and_cache_write()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L94", - "id": "controller_test_state_machine_test_plugin_pass_transitions_to_input_required_and_cache_write", - "community": 24, - "norm_label": "test_plugin_pass_transitions_to_input_required_and_cache_write()" - }, - { - "label": "test_input_required_transitions_back_to_plugin_pass()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L100", - "id": "controller_test_state_machine_test_input_required_transitions_back_to_plugin_pass", - "community": 24, - "norm_label": "test_input_required_transitions_back_to_plugin_pass()" - }, - { - "label": "test_cache_write_transitions_to_post_validate()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L104", - "id": "controller_test_state_machine_test_cache_write_transitions_to_post_validate", - "community": 24, - "norm_label": "test_cache_write_transitions_to_post_validate()" - }, - { - "label": "test_post_validate_transitions_to_sync_queued()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L108", - "id": "controller_test_state_machine_test_post_validate_transitions_to_sync_queued", - "community": 24, - "norm_label": "test_post_validate_transitions_to_sync_queued()" - }, - { - "label": "test_sync_queued_transitions_to_done()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L112", - "id": "controller_test_state_machine_test_sync_queued_transitions_to_done", - "community": 24, - "norm_label": "test_sync_queued_transitions_to_done()" - }, - { - "label": "test_fail_allowed_from_every_non_terminal_state()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L134", - "id": "controller_test_state_machine_test_fail_allowed_from_every_non_terminal_state", - "community": 24, - "norm_label": "test_fail_allowed_from_every_non_terminal_state()" - }, - { - "label": "test_aborted_allowed_from_every_non_terminal_state()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L151", - "id": "controller_test_state_machine_test_aborted_allowed_from_every_non_terminal_state", - "community": 24, - "norm_label": "test_aborted_allowed_from_every_non_terminal_state()" - }, - { - "label": "test_done_is_terminal()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L160", - "id": "controller_test_state_machine_test_done_is_terminal", - "community": 24, - "norm_label": "test_done_is_terminal()" - }, - { - "label": "test_failed_is_terminal()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L164", - "id": "controller_test_state_machine_test_failed_is_terminal", - "community": 24, - "norm_label": "test_failed_is_terminal()" - }, - { - "label": "test_aborted_is_terminal()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L168", - "id": "controller_test_state_machine_test_aborted_is_terminal", - "community": 24, - "norm_label": "test_aborted_is_terminal()" - }, - { - "label": "test_assert_transition_allows_legal_forward_edge()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L177", - "id": "controller_test_state_machine_test_assert_transition_allows_legal_forward_edge", - "community": 24, - "norm_label": "test_assert_transition_allows_legal_forward_edge()" - }, - { - "label": "test_assert_transition_allows_cancel_from_any_non_terminal()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L183", - "id": "controller_test_state_machine_test_assert_transition_allows_cancel_from_any_non_terminal", - "community": 24, - "norm_label": "test_assert_transition_allows_cancel_from_any_non_terminal()" - }, - { - "label": "test_assert_transition_rejects_skipping_a_state()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L188", - "id": "controller_test_state_machine_test_assert_transition_rejects_skipping_a_state", - "community": 24, - "norm_label": "test_assert_transition_rejects_skipping_a_state()" - }, - { - "label": "test_assert_transition_rejects_terminal_to_anything()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L193", - "id": "controller_test_state_machine_test_assert_transition_rejects_terminal_to_anything", - "community": 24, - "norm_label": "test_assert_transition_rejects_terminal_to_anything()" - }, - { - "label": "test_assert_transition_rejects_done_back_to_pipeline()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L198", - "id": "controller_test_state_machine_test_assert_transition_rejects_done_back_to_pipeline", - "community": 24, - "norm_label": "test_assert_transition_rejects_done_back_to_pipeline()" - }, - { - "label": "test_assert_transition_rejects_backwards_through_pipeline()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L203", - "id": "controller_test_state_machine_test_assert_transition_rejects_backwards_through_pipeline", - "community": 24, - "norm_label": "test_assert_transition_rejects_backwards_through_pipeline()" - }, - { - "label": "test_session_state_values_match_lowercase_names()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L213", - "id": "controller_test_state_machine_test_session_state_values_match_lowercase_names", - "community": 24, - "norm_label": "test_session_state_values_match_lowercase_names()" - }, - { - "label": "test_phase_values_use_spec_strings()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L218", - "id": "controller_test_state_machine_test_phase_values_use_spec_strings", - "community": 24, - "norm_label": "test_phase_values_use_spec_strings()" - }, - { - "label": "test_valid_transitions_keys_cover_every_session_state()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L229", - "id": "controller_test_state_machine_test_valid_transitions_keys_cover_every_session_state", - "community": 24, - "norm_label": "test_valid_transitions_keys_cover_every_session_state()" - }, - { - "label": "test_assert_transition_rejects_unknown_source_state()", - "file_type": "code", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L233", - "id": "controller_test_state_machine_test_assert_transition_rejects_unknown_source_state", - "community": 24, - "norm_label": "test_assert_transition_rejects_unknown_source_state()" - }, - { - "label": "Tests for ``exlab_wizard.controller.state_machine``. The state machine is the c", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L1", - "id": "controller_test_state_machine_rationale_1", - "community": 24, - "norm_label": "tests for ``exlab_wizard.controller.state_machine``. the state machine is the c" - }, - { - "label": "Every ``SessionState`` value must have an explicit mapping entry.", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L70", - "id": "controller_test_state_machine_rationale_70", - "community": 24, - "norm_label": "every ``sessionstate`` value must have an explicit mapping entry." - }, - { - "label": "The guard rejects a state not present in ``VALID_TRANSITIONS``. We can't ea", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L234", - "id": "controller_test_state_machine_rationale_234", - "community": 24, - "norm_label": "the guard rejects a state not present in ``valid_transitions``. we can't ea" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/controller/__init__.py", - "source_location": "L1", - "id": "tests_unit_controller_init_py", - "community": 400, - "norm_label": "__init__.py" - }, - { - "label": "Controller package. Backend Spec \u00a74.4.1, \u00a74.7, \u00a74.7.1, \u00a74.8. Re-exports the pub", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/__init__.py", - "source_location": "L1", - "id": "controller_init_rationale_1", - "community": 400, - "norm_label": "controller package. backend spec \u00a74.4.1, \u00a74.7, \u00a74.7.1, \u00a74.8. re-exports the pub" - }, - { - "label": "test_session_store.py", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L1", - "id": "tests_unit_controller_test_session_store_py", - "community": 18, - "norm_label": "test_session_store.py" - }, - { - "label": "test_open_returns_fresh_pending_session()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L36", - "id": "controller_test_session_store_test_open_returns_fresh_pending_session", - "community": 18, - "norm_label": "test_open_returns_fresh_pending_session()" - }, - { - "label": "test_open_assigns_uuid4_session_id()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L46", - "id": "controller_test_session_store_test_open_assigns_uuid4_session_id", - "community": 18, - "norm_label": "test_open_assigns_uuid4_session_id()" - }, - { - "label": "test_open_two_sessions_get_distinct_ids()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L54", - "id": "controller_test_session_store_test_open_two_sessions_get_distinct_ids", - "community": 18, - "norm_label": "test_open_two_sessions_get_distinct_ids()" - }, - { - "label": "test_open_sets_created_at_and_last_heartbeat_to_now()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L61", - "id": "controller_test_session_store_test_open_sets_created_at_and_last_heartbeat_to_now", - "community": 18, - "norm_label": "test_open_sets_created_at_and_last_heartbeat_to_now()" - }, - { - "label": "test_get_returns_none_for_unknown_session_id()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L75", - "id": "controller_test_session_store_test_get_returns_none_for_unknown_session_id", - "community": 18, - "norm_label": "test_get_returns_none_for_unknown_session_id()" - }, - { - "label": "test_get_returns_session_after_open()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L80", - "id": "controller_test_session_store_test_get_returns_session_after_open", - "community": 18, - "norm_label": "test_get_returns_session_after_open()" - }, - { - "label": "test_iter_sorted_returns_pairs_oldest_created_first()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L87", - "id": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", - "community": 18, - "norm_label": "test_iter_sorted_returns_pairs_oldest_created_first()" - }, - { - "label": "test_gc_publishes_terminal_frame_to_live_subscriber()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L98", - "id": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", - "community": 18, - "norm_label": "test_gc_publishes_terminal_frame_to_live_subscriber()" - }, - { - "label": "test_project_identifier_prefers_short_id_then_falls_back_to_project_name()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L120", - "id": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name", - "community": 18, - "norm_label": "test_project_identifier_prefers_short_id_then_falls_back_to_project_name()" - }, - { - "label": "test_transition_updates_state_and_phase_together()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L136", - "id": "controller_test_session_store_test_transition_updates_state_and_phase_together", - "community": 18, - "norm_label": "test_transition_updates_state_and_phase_together()" - }, - { - "label": "test_transition_to_input_required_sets_next_action_awaiting_input()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L144", - "id": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input", - "community": 18, - "norm_label": "test_transition_to_input_required_sets_next_action_awaiting_input()" - }, - { - "label": "test_transition_back_to_plugin_pass_clears_next_action()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L154", - "id": "controller_test_session_store_test_transition_back_to_plugin_pass_clears_next_action", - "community": 18, - "norm_label": "test_transition_back_to_plugin_pass_clears_next_action()" - }, - { - "label": "test_transition_rejects_unknown_session_id()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L169", - "id": "controller_test_session_store_test_transition_rejects_unknown_session_id", - "community": 18, - "norm_label": "test_transition_rejects_unknown_session_id()" - }, - { - "label": "test_transition_rejects_illegal_state_transition()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L175", - "id": "controller_test_session_store_test_transition_rejects_illegal_state_transition", - "community": 18, - "norm_label": "test_transition_rejects_illegal_state_transition()" - }, - { - "label": "test_attach_event_queue_wires_queue_to_session()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L187", - "id": "controller_test_session_store_test_attach_event_queue_wires_queue_to_session", - "community": 18, - "norm_label": "test_attach_event_queue_wires_queue_to_session()" - }, - { - "label": "test_attach_event_queue_rejects_unknown_session_id()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L195", - "id": "controller_test_session_store_test_attach_event_queue_rejects_unknown_session_id", - "community": 18, - "norm_label": "test_attach_event_queue_rejects_unknown_session_id()" - }, - { - "label": "test_heartbeat_updates_last_heartbeat()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L207", - "id": "controller_test_session_store_test_heartbeat_updates_last_heartbeat", - "community": 18, - "norm_label": "test_heartbeat_updates_last_heartbeat()" - }, - { - "label": "test_heartbeat_is_noop_for_unknown_session()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L217", - "id": "controller_test_session_store_test_heartbeat_is_noop_for_unknown_session", - "community": 18, - "norm_label": "test_heartbeat_is_noop_for_unknown_session()" - }, - { - "label": "test_abandoned_older_than_returns_only_input_required_sessions()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L228", - "id": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", - "community": 18, - "norm_label": "test_abandoned_older_than_returns_only_input_required_sessions()" - }, - { - "label": "test_abandoned_older_than_skips_recent_input_required_sessions()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L250", - "id": "controller_test_session_store_test_abandoned_older_than_skips_recent_input_required_sessions", - "community": 18, - "norm_label": "test_abandoned_older_than_skips_recent_input_required_sessions()" - }, - { - "label": "test_abandoned_older_than_returns_empty_when_no_sessions_exist()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L265", - "id": "controller_test_session_store_test_abandoned_older_than_returns_empty_when_no_sessions_exist", - "community": 18, - "norm_label": "test_abandoned_older_than_returns_empty_when_no_sessions_exist()" - }, - { - "label": "test_close_stores_outcome_for_done_session()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L275", - "id": "controller_test_session_store_test_close_stores_outcome_for_done_session", - "community": 18, - "norm_label": "test_close_stores_outcome_for_done_session()" - }, - { - "label": "test_close_stores_outcome_in_error_for_failed_session()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L294", - "id": "controller_test_session_store_test_close_stores_outcome_in_error_for_failed_session", - "community": 18, - "norm_label": "test_close_stores_outcome_in_error_for_failed_session()" - }, - { - "label": "test_close_is_noop_for_unknown_session()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L304", - "id": "controller_test_session_store_test_close_is_noop_for_unknown_session", - "community": 18, - "norm_label": "test_close_is_noop_for_unknown_session()" - }, - { - "label": "test_gc_loop_closes_abandoned_input_required_session()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L315", - "id": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", - "community": 18, - "norm_label": "test_gc_loop_closes_abandoned_input_required_session()" - }, - { - "label": "test_gc_loop_periodically_runs_and_can_be_cancelled()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L339", - "id": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", - "community": 18, - "norm_label": "test_gc_loop_periodically_runs_and_can_be_cancelled()" - }, - { - "label": "test_gc_loop_skips_non_input_required_sessions()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L350", - "id": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", - "community": 18, - "norm_label": "test_gc_loop_skips_non_input_required_sessions()" - }, - { - "label": "test_session_is_terminal_for_terminal_states()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L366", - "id": "controller_test_session_store_test_session_is_terminal_for_terminal_states", - "community": 10, - "norm_label": "test_session_is_terminal_for_terminal_states()" - }, - { - "label": "test_session_is_terminal_false_for_non_terminal_states()", - "file_type": "code", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L382", - "id": "controller_test_session_store_test_session_is_terminal_false_for_non_terminal_states", - "community": 10, - "norm_label": "test_session_is_terminal_false_for_non_terminal_states()" - }, - { - "label": "Tests for ``exlab_wizard.controller.session_store``. The session store is the i", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L1", - "id": "controller_test_session_store_rationale_1", - "community": 18, - "norm_label": "tests for ``exlab_wizard.controller.session_store``. the session store is the i" - }, - { - "label": "An abandoned-session GC pass must wake a live ``subscribe()`` consumer. The", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L99", - "id": "controller_test_session_store_rationale_99", - "community": 18, - "norm_label": "an abandoned-session gc pass must wake a live ``subscribe()`` consumer. the" - }, - { - "label": "The GC pass moves abandoned ``INPUT_REQUIRED`` sessions to ``ABORTED``.", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L316", - "id": "controller_test_session_store_rationale_316", - "community": 18, - "norm_label": "the gc pass moves abandoned ``input_required`` sessions to ``aborted``." - }, - { - "label": "The ``gc_loop`` runs forever until cancelled.", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L340", - "id": "controller_test_session_store_rationale_340", - "community": 18, - "norm_label": "the ``gc_loop`` runs forever until cancelled." - }, - { - "label": "Even with a stale heartbeat, only INPUT_REQUIRED sessions are GC'd.", - "file_type": "rationale", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L351", - "id": "controller_test_session_store_rationale_351", - "community": 18, - "norm_label": "even with a stale heartbeat, only input_required sessions are gc'd." - }, - { - "label": "test_generator.py", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L1", - "id": "tests_unit_sample_data_test_generator_py", - "community": 109, - "norm_label": "test_generator.py" - }, - { - "label": "sandbox()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L48", - "id": "sample_data_test_generator_sandbox", - "community": 0, - "norm_label": "sandbox()" - }, - { - "label": "_read_creation()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L69", - "id": "sample_data_test_generator_read_creation", - "community": 109, - "norm_label": "_read_creation()" - }, - { - "label": "_read_readme_fields()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L74", - "id": "sample_data_test_generator_read_readme_fields", - "community": 109, - "norm_label": "_read_readme_fields()" - }, - { - "label": "_read_front_matter()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L79", - "id": "sample_data_test_generator_read_front_matter", - "community": 109, - "norm_label": "_read_front_matter()" - }, - { - "label": "_read_label()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L86", - "id": "sample_data_test_generator_read_label", - "community": 109, - "norm_label": "_read_label()" - }, - { - "label": "_project_dirs()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L91", - "id": "sample_data_test_generator_project_dirs", - "community": 109, - "norm_label": "_project_dirs()" - }, - { - "label": "_run_dirs()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L107", - "id": "sample_data_test_generator_run_dirs", - "community": 109, - "norm_label": "_run_dirs()" - }, - { - "label": "test_full_tree_exists()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L121", - "id": "sample_data_test_generator_test_full_tree_exists", - "community": 109, - "norm_label": "test_full_tree_exists()" - }, - { - "label": "test_every_folder_has_metadata()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L146", - "id": "sample_data_test_generator_test_every_folder_has_metadata", - "community": 109, - "norm_label": "test_every_folder_has_metadata()" - }, - { - "label": "test_test_runs_marker_present_for_test_projects()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L176", - "id": "sample_data_test_generator_test_test_runs_marker_present_for_test_projects", - "community": 109, - "norm_label": "test_test_runs_marker_present_for_test_projects()" - }, - { - "label": "test_sync_status_spread()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L198", - "id": "sample_data_test_generator_test_sync_status_spread", - "community": 109, - "norm_label": "test_sync_status_spread()" - }, - { - "label": "test_each_run_sync_status_matches_sample()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L216", - "id": "sample_data_test_generator_test_each_run_sync_status_matches_sample", - "community": 109, - "norm_label": "test_each_run_sync_status_matches_sample()" - }, - { - "label": "test_default_payload_pair()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L240", - "id": "sample_data_test_generator_test_default_payload_pair", - "community": 109, - "norm_label": "test_default_payload_pair()" - }, - { - "label": "test_blocked_run_carries_trigger_file()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L256", - "id": "sample_data_test_generator_test_blocked_run_carries_trigger_file", - "community": 109, - "norm_label": "test_blocked_run_carries_trigger_file()" - }, - { - "label": "test_readme_field_layering()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L284", - "id": "sample_data_test_generator_test_readme_field_layering", - "community": 109, - "norm_label": "test_readme_field_layering()" - }, - { - "label": "test_seeded_config_default_is_present_and_optional()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L307", - "id": "sample_data_test_generator_test_seeded_config_default_is_present_and_optional", - "community": 109, - "norm_label": "test_seeded_config_default_is_present_and_optional()" - }, - { - "label": "_snapshot()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L325", - "id": "sample_data_test_generator_snapshot", - "community": 473, - "norm_label": "_snapshot()" - }, - { - "label": "test_determinism()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L339", - "id": "sample_data_test_generator_test_determinism", - "community": 473, - "norm_label": "test_determinism()" - }, - { - "label": "test_equipment_json_normalized_is_deterministic()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L354", - "id": "sample_data_test_generator_test_equipment_json_normalized_is_deterministic", - "community": 528, - "norm_label": "test_equipment_json_normalized_is_deterministic()" - }, - { - "label": "test_wipe_refuses_when_test_mode_unset()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L383", - "id": "sample_data_test_generator_test_wipe_refuses_when_test_mode_unset", - "community": 109, - "norm_label": "test_wipe_refuses_when_test_mode_unset()" - }, - { - "label": "test_wipe_refuses_when_app_name_not_test()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L389", - "id": "sample_data_test_generator_test_wipe_refuses_when_app_name_not_test", - "community": 109, - "norm_label": "test_wipe_refuses_when_app_name_not_test()" - }, - { - "label": "test_wipe_refuses_when_target_escapes_sandbox()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L399", - "id": "sample_data_test_generator_test_wipe_refuses_when_target_escapes_sandbox", - "community": 174, - "norm_label": "test_wipe_refuses_when_target_escapes_sandbox()" - }, - { - "label": "test_wipe_refuses_symlinked_target_escaping_sandbox()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L419", - "id": "sample_data_test_generator_test_wipe_refuses_symlinked_target_escaping_sandbox", - "community": 109, - "norm_label": "test_wipe_refuses_symlinked_target_escaping_sandbox()" - }, - { - "label": "test_seeded_equipment_roots_are_base_paths()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L444", - "id": "sample_data_test_generator_test_seeded_equipment_roots_are_base_paths", - "community": 109, - "norm_label": "test_seeded_equipment_roots_are_base_paths()" - }, - { - "label": "test_no_wipe_is_idempotent_and_nondestructive()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L472", - "id": "sample_data_test_generator_test_no_wipe_is_idempotent_and_nondestructive", - "community": 109, - "norm_label": "test_no_wipe_is_idempotent_and_nondestructive()" - }, - { - "label": "test_generator_class_is_constructable()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L487", - "id": "sample_data_test_generator_test_generator_class_is_constructable", - "community": 174, - "norm_label": "test_generator_class_is_constructable()" - }, - { - "label": "End-to-end tests for the sample-data generator (design spec \u00a76/\u00a77/\u00a79). These dr", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L1", - "id": "sample_data_test_generator_rationale_1", - "community": 109, - "norm_label": "end-to-end tests for the sample-data generator (design spec \u00a76/\u00a77/\u00a79). these dr" - }, - { - "label": "Build a ``-test`` sandbox with a starter config; return ``config_path``. Se", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L49", - "id": "sample_data_test_generator_rationale_49", - "community": 0, - "norm_label": "build a ``-test`` sandbox with a starter config; return ``config_path``. se" - }, - { - "label": "Return the README ``core_fields.label`` for a project/run folder.", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L87", - "id": "sample_data_test_generator_rationale_87", - "community": 109, - "norm_label": "return the readme ``core_fields.label`` for a project/run folder." - }, - { - "label": "Return every ``/`` directory under ``local_root``. Excludes th", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L92", - "id": "sample_data_test_generator_rationale_92", - "community": 109, - "norm_label": "return every ``/`` directory under ``local_root``. excludes th" - }, - { - "label": "Map relpath -> bytes for README/creation.json/payload (no equipment.json).", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L326", - "id": "sample_data_test_generator_rationale_326", - "community": 473, - "norm_label": "map relpath -> bytes for readme/creation.json/payload (no equipment.json)." - }, - { - "label": "equipment.json differs only in the two writer-stamped timestamps.", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L355", - "id": "sample_data_test_generator_rationale_355", - "community": 528, - "norm_label": "equipment.json differs only in the two writer-stamped timestamps." - }, - { - "label": "A seeded equipment dir replaced by a symlink out of the sandbox is refused.", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L420", - "id": "sample_data_test_generator_rationale_420", - "community": 109, - "norm_label": "a seeded equipment dir replaced by a symlink out of the sandbox is refused." - }, - { - "label": "Seeded ``EquipmentConfig.local_root``/``nas_root`` are BASE roots. Consumer", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L445", - "id": "sample_data_test_generator_rationale_445", - "community": 109, - "norm_label": "seeded ``equipmentconfig.local_root``/``nas_root`` are base roots. consumer" - }, - { - "label": "``wipe=False`` seeds, and a re-seed without wipe does not delete the tree.", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L473", - "id": "sample_data_test_generator_rationale_473", - "community": 109, - "norm_label": "``wipe=false`` seeds, and a re-seed without wipe does not delete the tree." - }, - { - "label": "test_spec.py", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L1", - "id": "tests_unit_sample_data_test_spec_py", - "community": 78, - "norm_label": "test_spec.py" - }, - { - "label": "_project()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L23", - "id": "sample_data_test_spec_project", - "community": 78, - "norm_label": "_project()" - }, - { - "label": "test_samples_top_level_shape()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L27", - "id": "sample_data_test_spec_test_samples_top_level_shape", - "community": 78, - "norm_label": "test_samples_top_level_shape()" - }, - { - "label": "test_testrig_has_one_project_three_runs()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L34", - "id": "sample_data_test_spec_test_testrig_has_one_project_three_runs", - "community": 78, - "norm_label": "test_testrig_has_one_project_three_runs()" - }, - { - "label": "test_altrig_has_two_projects_two_runs_each()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L41", - "id": "sample_data_test_spec_test_altrig_has_two_projects_two_runs_each", - "community": 78, - "norm_label": "test_altrig_has_two_projects_two_runs_each()" - }, - { - "label": "test_total_run_count_is_seven()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L49", - "id": "sample_data_test_spec_test_total_run_count_is_seven", - "community": 78, - "norm_label": "test_total_run_count_is_seven()" - }, - { - "label": "test_malformed_short_id_raises_validation_error()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L54", - "id": "sample_data_test_spec_test_malformed_short_id_raises_validation_error", - "community": 78, - "norm_label": "test_malformed_short_id_raises_validation_error()" - }, - { - "label": "test_malformed_equipment_id_raises_validation_error()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L73", - "id": "sample_data_test_spec_test_malformed_equipment_id_raises_validation_error", - "community": 78, - "norm_label": "test_malformed_equipment_id_raises_validation_error()" - }, - { - "label": "test_malformed_project_name_raises_validation_error()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L98", - "id": "sample_data_test_spec_test_malformed_project_name_raises_validation_error", - "community": 78, - "norm_label": "test_malformed_project_name_raises_validation_error()" - }, - { - "label": "test_unknown_key_rejected_extra_forbid()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L119", - "id": "sample_data_test_spec_test_unknown_key_rejected_extra_forbid", - "community": 78, - "norm_label": "test_unknown_key_rejected_extra_forbid()" - }, - { - "label": "test_samplefile_rejects_escaping_relpath()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L131", - "id": "sample_data_test_spec_test_samplefile_rejects_escaping_relpath", - "community": 78, - "norm_label": "test_samplefile_rejects_escaping_relpath()" - }, - { - "label": "test_samplefile_accepts_nested_relative_path()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L137", - "id": "sample_data_test_spec_test_samplefile_accepts_nested_relative_path", - "community": 78, - "norm_label": "test_samplefile_accepts_nested_relative_path()" - }, - { - "label": "test_sync_status_spread_covers_required_states()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L141", - "id": "sample_data_test_spec_test_sync_status_spread_covers_required_states", - "community": 78, - "norm_label": "test_sync_status_spread_covers_required_states()" - }, - { - "label": "test_proj_0003_blocked_run_carries_trigger_file()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L151", - "id": "sample_data_test_spec_test_proj_0003_blocked_run_carries_trigger_file", - "community": 78, - "norm_label": "test_proj_0003_blocked_run_carries_trigger_file()" - }, - { - "label": "test_proj_0002_calibration_a_has_readme_extra_fields()", - "file_type": "code", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L162", - "id": "sample_data_test_spec_test_proj_0002_calibration_a_has_readme_extra_fields", - "community": 78, - "norm_label": "test_proj_0002_calibration_a_has_readme_extra_fields()" - }, - { - "label": "Tests for the declarative ``SAMPLES`` list and its Pydantic models (\u00a74). These", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L1", - "id": "sample_data_test_spec_rationale_1", - "community": 78, - "norm_label": "tests for the declarative ``samples`` list and its pydantic models (\u00a74). these" - }, - { - "label": "Two equipment entries, keyed TESTRIG then ALTRIG.", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L28", - "id": "sample_data_test_spec_rationale_28", - "community": 78, - "norm_label": "two equipment entries, keyed testrig then altrig." - }, - { - "label": "``relpath`` must stay under the run dir -- no absolute or ``..`` paths.", - "file_type": "rationale", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L132", - "id": "sample_data_test_spec_rationale_132", - "community": 78, - "norm_label": "``relpath`` must stay under the run dir -- no absolute or ``..`` paths." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/sample_data/__init__.py", - "source_location": "L1", - "id": "tests_unit_sample_data_init_py", - "community": 480, - "norm_label": "__init__.py" - }, - { - "label": "Declarative sample-data fixtures for the ``-test`` sandbox. This package owns t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/__init__.py", - "source_location": "L1", - "id": "sample_data_init_rationale_1", - "community": 480, - "norm_label": "declarative sample-data fixtures for the ``-test`` sandbox. this package owns t" - }, - { - "label": "test_pywebview_app.py", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L1", - "id": "tests_unit_window_test_pywebview_app_py", - "community": 17, - "norm_label": "test_pywebview_app.py" - }, - { - "label": "_hs()", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L20", - "id": "window_test_pywebview_app_hs", - "community": 17, - "norm_label": "_hs()" - }, - { - "label": "test_build_window_url_uses_loopback()", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L24", - "id": "window_test_pywebview_app_test_build_window_url_uses_loopback", - "community": 17, - "norm_label": "test_build_window_url_uses_loopback()" - }, - { - "label": "test_is_debug_enabled_default()", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L28", - "id": "window_test_pywebview_app_test_is_debug_enabled_default", - "community": 17, - "norm_label": "test_is_debug_enabled_default()" - }, - { - "label": "test_is_debug_enabled_truthy()", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L34", - "id": "window_test_pywebview_app_test_is_debug_enabled_truthy", - "community": 17, - "norm_label": "test_is_debug_enabled_truthy()" - }, - { - "label": "test_is_debug_enabled_falsy()", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L40", - "id": "window_test_pywebview_app_test_is_debug_enabled_falsy", - "community": 17, - "norm_label": "test_is_debug_enabled_falsy()" - }, - { - "label": "test_run_window_calls_create_and_start()", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L45", - "id": "window_test_pywebview_app_test_run_window_calls_create_and_start", - "community": 17, - "norm_label": "test_run_window_calls_create_and_start()" - }, - { - "label": "test_run_window_passes_debug_when_env_var_set()", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L64", - "id": "window_test_pywebview_app_test_run_window_passes_debug_when_env_var_set", - "community": 17, - "norm_label": "test_run_window_passes_debug_when_env_var_set()" - }, - { - "label": "test_run_window_with_only_create_window_uses_default_start()", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L77", - "id": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", - "community": 17, - "norm_label": "test_run_window_with_only_create_window_uses_default_start()" - }, - { - "label": "test_window_title_constant()", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L97", - "id": "window_test_pywebview_app_test_window_title_constant", - "community": 17, - "norm_label": "test_window_title_constant()" - }, - { - "label": "test_import_webview_returns_module()", - "file_type": "code", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L101", - "id": "window_test_pywebview_app_test_import_webview_returns_module", - "community": 17, - "norm_label": "test_import_webview_returns_module()" - }, - { - "label": "Tests for :mod:`exlab_wizard.window.pywebview_app`. Backend Spec \u00a715.3.2.", - "file_type": "rationale", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L1", - "id": "window_test_pywebview_app_rationale_1", - "community": 17, - "norm_label": "tests for :mod:`exlab_wizard.window.pywebview_app`. backend spec \u00a715.3.2." - }, - { - "label": "When ``start`` is omitted the lazy import path is taken.", - "file_type": "rationale", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L80", - "id": "window_test_pywebview_app_rationale_80", - "community": 17, - "norm_label": "when ``start`` is omitted the lazy import path is taken." - }, - { - "label": "The lazy-import helper imports ``webview`` when called.", - "file_type": "rationale", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L102", - "id": "window_test_pywebview_app_rationale_102", - "community": 17, - "norm_label": "the lazy-import helper imports ``webview`` when called." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/window/__init__.py", - "source_location": "L1", - "id": "tests_unit_window_init_py", - "community": 481, - "norm_label": "__init__.py" - }, - { - "label": "Window application package. Backend Spec \u00a74.3.2. Public API: * :func:`run_wind", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/__init__.py", - "source_location": "L1", - "id": "window_init_rationale_1", - "community": 481, - "norm_label": "window application package. backend spec \u00a74.3.2. public api: * :func:`run_wind" - }, - { - "label": "test_main.py", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L1", - "id": "tests_unit_window_test_main_py", - "community": 17, - "norm_label": "test_main.py" - }, - { - "label": "_write_server_json()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L24", - "id": "window_test_main_write_server_json", - "community": 17, - "norm_label": "_write_server_json()" - }, - { - "label": "test_read_server_handshake_returns_none_when_missing()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L36", - "id": "window_test_main_test_read_server_handshake_returns_none_when_missing", - "community": 17, - "norm_label": "test_read_server_handshake_returns_none_when_missing()" - }, - { - "label": "test_read_server_handshake_returns_handshake()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L40", - "id": "window_test_main_test_read_server_handshake_returns_handshake", - "community": 17, - "norm_label": "test_read_server_handshake_returns_handshake()" - }, - { - "label": "test_read_server_handshake_returns_none_on_invalid_json()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L48", - "id": "window_test_main_test_read_server_handshake_returns_none_on_invalid_json", - "community": 17, - "norm_label": "test_read_server_handshake_returns_none_on_invalid_json()" - }, - { - "label": "test_read_server_handshake_returns_none_on_missing_keys()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L53", - "id": "window_test_main_test_read_server_handshake_returns_none_on_missing_keys", - "community": 17, - "norm_label": "test_read_server_handshake_returns_none_on_missing_keys()" - }, - { - "label": "test_main_returns_stale_when_no_state_file()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L58", - "id": "window_test_main_test_main_returns_stale_when_no_state_file", - "community": 17, - "norm_label": "test_main_returns_stale_when_no_state_file()" - }, - { - "label": "test_main_returns_stale_on_dead_pid()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L67", - "id": "window_test_main_test_main_returns_stale_on_dead_pid", - "community": 17, - "norm_label": "test_main_returns_stale_on_dead_pid()" - }, - { - "label": "test_main_hands_off_with_live_state()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L75", - "id": "window_test_main_test_main_hands_off_with_live_state", - "community": 17, - "norm_label": "test_main_hands_off_with_live_state()" - }, - { - "label": "test_is_pid_alive_for_self()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L89", - "id": "window_test_main_test_is_pid_alive_for_self", - "community": 17, - "norm_label": "test_is_pid_alive_for_self()" - }, - { - "label": "test_is_pid_alive_rejects_zero()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L93", - "id": "window_test_main_test_is_pid_alive_rejects_zero", - "community": 17, - "norm_label": "test_is_pid_alive_rejects_zero()" - }, - { - "label": "test_is_pid_alive_for_dead_pid()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L98", - "id": "window_test_main_test_is_pid_alive_for_dead_pid", - "community": 17, - "norm_label": "test_is_pid_alive_for_dead_pid()" - }, - { - "label": "test_is_pid_alive_falls_through_to_default()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L103", - "id": "window_test_main_test_is_pid_alive_falls_through_to_default", - "community": 17, - "norm_label": "test_is_pid_alive_falls_through_to_default()" - }, - { - "label": "test_default_state_dir_is_used()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L117", - "id": "window_test_main_test_default_state_dir_is_used", - "community": 17, - "norm_label": "test_default_state_dir_is_used()" - }, - { - "label": "test_default_handoff_invokes_run_window()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L123", - "id": "window_test_main_test_default_handoff_invokes_run_window", - "community": 17, - "norm_label": "test_default_handoff_invokes_run_window()" - }, - { - "label": "test_argv_is_ignored()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L139", - "id": "window_test_main_test_argv_is_ignored", - "community": 17, - "norm_label": "test_argv_is_ignored()" - }, - { - "label": "test_server_handshake_round_trip()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L145", - "id": "window_test_main_test_server_handshake_round_trip", - "community": 17, - "norm_label": "test_server_handshake_round_trip()" - }, - { - "label": "test_posix_is_pid_alive_handles_permission()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L152", - "id": "window_test_main_test_posix_is_pid_alive_handles_permission", - "community": 17, - "norm_label": "test_posix_is_pid_alive_handles_permission()" - }, - { - "label": "test_posix_is_pid_alive_handles_dead_pid()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L163", - "id": "window_test_main_test_posix_is_pid_alive_handles_dead_pid", - "community": 17, - "norm_label": "test_posix_is_pid_alive_handles_dead_pid()" - }, - { - "label": "test_is_pid_alive_dispatches_to_windows()", - "file_type": "code", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L173", - "id": "window_test_main_test_is_pid_alive_dispatches_to_windows", - "community": 17, - "norm_label": "test_is_pid_alive_dispatches_to_windows()" - }, - { - "label": "Tests for :mod:`exlab_wizard.window.main`. Backend Spec \u00a715.3.2.", - "file_type": "rationale", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L1", - "id": "window_test_main_rationale_1", - "community": 17, - "norm_label": "tests for :mod:`exlab_wizard.window.main`. backend spec \u00a715.3.2." - }, - { - "label": "Default ``pid_alive`` lookup uses ``is_pid_alive``.", - "file_type": "rationale", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L104", - "id": "window_test_main_rationale_104", - "community": 17, - "norm_label": "default ``pid_alive`` lookup uses ``is_pid_alive``." - }, - { - "label": "A foreign-uid live PID counts as alive.", - "file_type": "rationale", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L153", - "id": "window_test_main_rationale_153", - "community": 17, - "norm_label": "a foreign-uid live pid counts as alive." - }, - { - "label": "When sys.platform is 'win32' the windows implementation runs.", - "file_type": "rationale", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L174", - "id": "window_test_main_rationale_174", - "community": 17, - "norm_label": "when sys.platform is 'win32' the windows implementation runs." - }, - { - "label": "test_setup.py", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L1", - "id": "tests_unit_api_test_setup_py", - "community": 95, - "norm_label": "test_setup.py" - }, - { - "label": "_ready_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L28", - "id": "api_test_setup_ready_config", - "community": 95, - "norm_label": "_ready_config()" - }, - { - "label": "_ready_config_without_lims()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L51", - "id": "api_test_setup_ready_config_without_lims", - "community": 0, - "norm_label": "_ready_config_without_lims()" - }, - { - "label": "test_compute_setup_state_returns_ready_for_complete_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L71", - "id": "api_test_setup_test_compute_setup_state_returns_ready_for_complete_config", - "community": 95, - "norm_label": "test_compute_setup_state_returns_ready_for_complete_config()" - }, - { - "label": "test_compute_setup_state_no_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L76", - "id": "api_test_setup_test_compute_setup_state_no_config", - "community": 95, - "norm_label": "test_compute_setup_state_no_config()" - }, - { - "label": "test_is_creation_blocked_treats_lims_unreachable_as_soft()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L81", - "id": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", - "community": 331, - "norm_label": "test_is_creation_blocked_treats_lims_unreachable_as_soft()" - }, - { - "label": "test_compute_setup_state_returns_incomplete_no_nas_remote()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L91", - "id": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_remote", - "community": 95, - "norm_label": "test_compute_setup_state_returns_incomplete_no_nas_remote()" - }, - { - "label": "test_get_setup_status_reports_configure_rclone_remote()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L101", - "id": "api_test_setup_test_get_setup_status_reports_configure_rclone_remote", - "community": 95, - "norm_label": "test_get_setup_status_reports_configure_rclone_remote()" - }, - { - "label": "test_setup_state_gate_returns_503_in_incomplete_states()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L118", - "id": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", - "community": 95, - "norm_label": "test_setup_state_gate_returns_503_in_incomplete_states()" - }, - { - "label": "test_setup_state_gate_lims_unreachable_does_not_block()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L182", - "id": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", - "community": 95, - "norm_label": "test_setup_state_gate_lims_unreachable_does_not_block()" - }, - { - "label": "test_setup_state_gate_no_op_without_dependencies()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L200", - "id": "api_test_setup_test_setup_state_gate_no_op_without_dependencies", - "community": 95, - "norm_label": "test_setup_state_gate_no_op_without_dependencies()" - }, - { - "label": "test_get_setup_status_ready()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L213", - "id": "api_test_setup_test_get_setup_status_ready", - "community": 95, - "norm_label": "test_get_setup_status_ready()" - }, - { - "label": "test_get_setup_status_incomplete_paths()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L225", - "id": "api_test_setup_test_get_setup_status_incomplete_paths", - "community": 95, - "norm_label": "test_get_setup_status_incomplete_paths()" - }, - { - "label": "test_post_test_lims_invokes_probe()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L238", - "id": "api_test_setup_test_post_test_lims_invokes_probe", - "community": 95, - "norm_label": "test_post_test_lims_invokes_probe()" - }, - { - "label": "test_post_test_lims_probe_raises_returns_reason()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L250", - "id": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", - "community": 95, - "norm_label": "test_post_test_lims_probe_raises_returns_reason()" - }, - { - "label": "test_post_test_lims_without_probe_reports_not_wired()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L263", - "id": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", - "community": 95, - "norm_label": "test_post_test_lims_without_probe_reports_not_wired()" - }, - { - "label": "test_post_test_equipment_requires_equipment_id()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L271", - "id": "api_test_setup_test_post_test_equipment_requires_equipment_id", - "community": 95, - "norm_label": "test_post_test_equipment_requires_equipment_id()" - }, - { - "label": "test_post_test_equipment_with_explicit_equipment_id()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L284", - "id": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", - "community": 95, - "norm_label": "test_post_test_equipment_with_explicit_equipment_id()" - }, - { - "label": "test_post_test_equipment_unknown_id_returns_404()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L300", - "id": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", - "community": 95, - "norm_label": "test_post_test_equipment_unknown_id_returns_404()" - }, - { - "label": "test_post_autostart_calls_toggle()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L312", - "id": "api_test_setup_test_post_autostart_calls_toggle", - "community": 95, - "norm_label": "test_post_autostart_calls_toggle()" - }, - { - "label": "test_post_autostart_without_toggle_echoes_state()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L330", - "id": "api_test_setup_test_post_autostart_without_toggle_echoes_state", - "community": 95, - "norm_label": "test_post_autostart_without_toggle_echoes_state()" - }, - { - "label": "Unit tests for ``exlab_wizard.api.setup`` (gate + endpoints).", - "file_type": "rationale", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L1", - "id": "api_test_setup_rationale_1", - "community": 95, - "norm_label": "unit tests for ``exlab_wizard.api.setup`` (gate + endpoints)." - }, - { - "label": "``_ready_config`` minus the LIMS slot, for exercising the LIMS gate.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L52", - "id": "api_test_setup_rationale_52", - "community": 0, - "norm_label": "``_ready_config`` minus the lims slot, for exercising the lims gate." - }, - { - "label": "NAS sync in use but the configured remote is absent from rclone.conf gates.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L92", - "id": "api_test_setup_rationale_92", - "community": 95, - "norm_label": "nas sync in use but the configured remote is absent from rclone.conf gates." - }, - { - "label": "When the nas remote is unavailable the status surfaces the rclone next-action.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L102", - "id": "api_test_setup_rationale_102", - "community": 95, - "norm_label": "when the nas remote is unavailable the status surfaces the rclone next-action." - }, - { - "label": "Each non-soft INCOMPLETE_* state returns a 503 with the right code.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L119", - "id": "api_test_setup_rationale_119", - "community": 95, - "norm_label": "each non-soft incomplete_* state returns a 503 with the right code." - }, - { - "label": "test_errors.py", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L1", - "id": "tests_unit_api_test_errors_py", - "community": 31, - "norm_label": "test_errors.py" - }, - { - "label": "_bare_request()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L33", - "id": "api_test_errors_bare_request", - "community": 31, - "norm_label": "_bare_request()" - }, - { - "label": "test_build_envelope_includes_required_fields()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L45", - "id": "api_test_errors_test_build_envelope_includes_required_fields", - "community": 31, - "norm_label": "test_build_envelope_includes_required_fields()" - }, - { - "label": "test_build_envelope_drops_optional_fields_when_absent()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L64", - "id": "api_test_errors_test_build_envelope_drops_optional_fields_when_absent", - "community": 31, - "norm_label": "test_build_envelope_drops_optional_fields_when_absent()" - }, - { - "label": "test_unknown_code_falls_back_to_internal_error()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L70", - "id": "api_test_errors_test_unknown_code_falls_back_to_internal_error", - "community": 31, - "norm_label": "test_unknown_code_falls_back_to_internal_error()" - }, - { - "label": "test_extract_trace_id_uses_header_when_present()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L75", - "id": "api_test_errors_test_extract_trace_id_uses_header_when_present", - "community": 31, - "norm_label": "test_extract_trace_id_uses_header_when_present()" - }, - { - "label": "test_extract_trace_id_generates_when_missing()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L87", - "id": "api_test_errors_test_extract_trace_id_generates_when_missing", - "community": 31, - "norm_label": "test_extract_trace_id_generates_when_missing()" - }, - { - "label": "test_error_response_sets_trace_id_header()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L93", - "id": "api_test_errors_test_error_response_sets_trace_id_header", - "community": 31, - "norm_label": "test_error_response_sets_trace_id_header()" - }, - { - "label": "test_required_codes_are_registered()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L105", - "id": "api_test_errors_test_required_codes_are_registered", - "community": 31, - "norm_label": "test_required_codes_are_registered()" - }, - { - "label": "test_register_exception_handlers_catches_exlab_validation()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L129", - "id": "api_test_errors_test_register_exception_handlers_catches_exlab_validation", - "community": 31, - "norm_label": "test_register_exception_handlers_catches_exlab_validation()" - }, - { - "label": "_PydanticBody", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L147", - "id": "api_test_errors_pydanticbody", - "community": 15, - "norm_label": "_pydanticbody" - }, - { - "label": "BaseModel", - "file_type": "code", - "source_file": "", - "source_location": "", - "id": "basemodel", - "community": 0, - "norm_label": "basemodel" - }, - { - "label": "test_register_exception_handlers_catches_pydantic_validation()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L154", - "id": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation", - "community": 31, - "norm_label": "test_register_exception_handlers_catches_pydantic_validation()" - }, - { - "label": "test_register_exception_handlers_catches_keyring_error()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L170", - "id": "api_test_errors_test_register_exception_handlers_catches_keyring_error", - "community": 31, - "norm_label": "test_register_exception_handlers_catches_keyring_error()" - }, - { - "label": "test_register_exception_handlers_catches_schema_major_mismatch()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L184", - "id": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch", - "community": 31, - "norm_label": "test_register_exception_handlers_catches_schema_major_mismatch()" - }, - { - "label": "test_register_exception_handlers_catches_setup_incomplete()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L199", - "id": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete", - "community": 31, - "norm_label": "test_register_exception_handlers_catches_setup_incomplete()" - }, - { - "label": "test_register_exception_handlers_catches_config_error()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L217", - "id": "api_test_errors_test_register_exception_handlers_catches_config_error", - "community": 31, - "norm_label": "test_register_exception_handlers_catches_config_error()" - }, - { - "label": "test_register_exception_handlers_catches_template_load_error()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L231", - "id": "api_test_errors_test_register_exception_handlers_catches_template_load_error", - "community": 31, - "norm_label": "test_register_exception_handlers_catches_template_load_error()" - }, - { - "label": "test_register_exception_handlers_catches_template_core_field_redeclared()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L245", - "id": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared", - "community": 31, - "norm_label": "test_register_exception_handlers_catches_template_core_field_redeclared()" - }, - { - "label": "test_generic_handler_returns_internal_error()", - "file_type": "code", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L259", - "id": "api_test_errors_test_generic_handler_returns_internal_error", - "community": 31, - "norm_label": "test_generic_handler_returns_internal_error()" - }, - { - "label": "Unit tests for the ``exlab_wizard.api.errors`` envelope helpers.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L1", - "id": "api_test_errors_rationale_1", - "community": 31, - "norm_label": "unit tests for the ``exlab_wizard.api.errors`` envelope helpers." - }, - { - "label": "Build a minimal Starlette Request for handler tests.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L34", - "id": "api_test_errors_rationale_34", - "community": 31, - "norm_label": "build a minimal starlette request for handler tests." - }, - { - "label": "Every code in \u00a74.6.3's table must be in :data:`ERROR_CODES`.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L106", - "id": "api_test_errors_rationale_106", - "community": 31, - "norm_label": "every code in \u00a74.6.3's table must be in :data:`error_codes`." - }, - { - "label": "Module-level body class so FastAPI treats ``body: _PydanticBody`` as a JSON", - "file_type": "rationale", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L148", - "id": "api_test_errors_rationale_148", - "community": 15, - "norm_label": "module-level body class so fastapi treats ``body: _pydanticbody`` as a json" - }, - { - "label": "test_config_router.py", - "file_type": "code", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L1", - "id": "tests_unit_api_test_config_router_py", - "community": 94, - "norm_label": "test_config_router.py" - }, - { - "label": "_empty_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L19", - "id": "api_test_config_router_empty_config", - "community": 94, - "norm_label": "_empty_config()" - }, - { - "label": "_ready_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L23", - "id": "api_test_config_router_ready_config", - "community": 0, - "norm_label": "_ready_config()" - }, - { - "label": "test_get_config_returns_loaded_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L39", - "id": "api_test_config_router_test_get_config_returns_loaded_config", - "community": 94, - "norm_label": "test_get_config_returns_loaded_config()" - }, - { - "label": "test_get_config_returns_default_when_none()", - "file_type": "code", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L50", - "id": "api_test_config_router_test_get_config_returns_default_when_none", - "community": 94, - "norm_label": "test_get_config_returns_default_when_none()" - }, - { - "label": "test_put_config_persists_and_reevaluates_state()", - "file_type": "code", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L60", - "id": "api_test_config_router_test_put_config_persists_and_reevaluates_state", - "community": 94, - "norm_label": "test_put_config_persists_and_reevaluates_state()" - }, - { - "label": "test_put_config_invalid_body_returns_422()", - "file_type": "code", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L87", - "id": "api_test_config_router_test_put_config_invalid_body_returns_422", - "community": 94, - "norm_label": "test_put_config_invalid_body_returns_422()" - }, - { - "label": "test_append_equipment_persists_and_re_evaluates_state()", - "file_type": "code", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L103", - "id": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", - "community": 94, - "norm_label": "test_append_equipment_persists_and_re_evaluates_state()" - }, - { - "label": "test_append_equipment_rejects_duplicate_id()", - "file_type": "code", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L128", - "id": "api_test_config_router_test_append_equipment_rejects_duplicate_id", - "community": 94, - "norm_label": "test_append_equipment_rejects_duplicate_id()" - }, - { - "label": "Unit tests for the ``/config`` router.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L1", - "id": "api_test_config_router_rationale_1", - "community": 94, - "norm_label": "unit tests for the ``/config`` router." - }, - { - "label": "test_operations.py", - "file_type": "code", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L1", - "id": "tests_unit_api_test_operations_py", - "community": 278, - "norm_label": "test_operations.py" - }, - { - "label": "_ready_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L23", - "id": "api_test_operations_ready_config", - "community": 278, - "norm_label": "_ready_config()" - }, - { - "label": "_StubController", - "file_type": "code", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L40", - "id": "api_test_operations_stubcontroller", - "community": 278, - "norm_label": "_stubcontroller" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L41", - "id": "api_test_operations_stubcontroller_init", - "community": 278, - "norm_label": ".__init__()" - }, - { - "label": "_make_project_request()", - "file_type": "code", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L45", - "id": "api_test_operations_make_project_request", - "community": 278, - "norm_label": "_make_project_request()" - }, - { - "label": "test_get_operations_lists_in_flight_sessions()", - "file_type": "code", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L62", - "id": "api_test_operations_test_get_operations_lists_in_flight_sessions", - "community": 278, - "norm_label": "test_get_operations_lists_in_flight_sessions()" - }, - { - "label": "test_get_operations_excludes_done_and_aborted()", - "file_type": "code", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L79", - "id": "api_test_operations_test_get_operations_excludes_done_and_aborted", - "community": 278, - "norm_label": "test_get_operations_excludes_done_and_aborted()" - }, - { - "label": "test_get_operations_emits_plugin_name_when_input_required()", - "file_type": "code", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L99", - "id": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", - "community": 278, - "norm_label": "test_get_operations_emits_plugin_name_when_input_required()" - }, - { - "label": "test_get_operations_503_when_controller_missing()", - "file_type": "code", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L116", - "id": "api_test_operations_test_get_operations_503_when_controller_missing", - "community": 278, - "norm_label": "test_get_operations_503_when_controller_missing()" - }, - { - "label": "Unit tests for the ``/operations`` router.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L1", - "id": "api_test_operations_rationale_1", - "community": 278, - "norm_label": "unit tests for the ``/operations`` router." - }, - { - "label": "test_sessions.py", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L1", - "id": "tests_unit_api_test_sessions_py", - "community": 135, - "norm_label": "test_sessions.py" - }, - { - "label": "_ready_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L28", - "id": "api_test_sessions_ready_config", - "community": 135, - "norm_label": "_ready_config()" - }, - { - "label": "_StubController", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L47", - "id": "api_test_sessions_stubcontroller", - "community": 135, - "norm_label": "_stubcontroller" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L50", - "id": "api_test_sessions_stubcontroller_init", - "community": 135, - "norm_label": ".__init__()" - }, - { - "label": ".create_project()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L56", - "id": "api_test_sessions_stubcontroller_create_project", - "community": 10, - "norm_label": ".create_project()" - }, - { - "label": ".create_run()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L68", - "id": "api_test_sessions_stubcontroller_create_run", - "community": 10, - "norm_label": ".create_run()" - }, - { - "label": ".status()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L80", - "id": "api_test_sessions_stubcontroller_status", - "community": 135, - "norm_label": ".status()" - }, - { - "label": ".resume()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L91", - "id": "api_test_sessions_stubcontroller_resume", - "community": 135, - "norm_label": ".resume()" - }, - { - "label": ".cancel()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L95", - "id": "api_test_sessions_stubcontroller_cancel", - "community": 135, - "norm_label": ".cancel()" - }, - { - "label": ".subscribe()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L102", - "id": "api_test_sessions_stubcontroller_subscribe", - "community": 135, - "norm_label": ".subscribe()" - }, - { - "label": "test_create_session_project()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L115", - "id": "api_test_sessions_test_create_session_project", - "community": 135, - "norm_label": "test_create_session_project()" - }, - { - "label": "test_create_session_run()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L144", - "id": "api_test_sessions_test_create_session_run", - "community": 135, - "norm_label": "test_create_session_run()" - }, - { - "label": "test_get_session_returns_snapshot()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L168", - "id": "api_test_sessions_test_get_session_returns_snapshot", - "community": 135, - "norm_label": "test_get_session_returns_snapshot()" - }, - { - "label": "test_get_session_404_for_unknown()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L193", - "id": "api_test_sessions_test_get_session_404_for_unknown", - "community": 135, - "norm_label": "test_get_session_404_for_unknown()" - }, - { - "label": "test_post_resume_invokes_controller()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L204", - "id": "api_test_sessions_test_post_resume_invokes_controller", - "community": 135, - "norm_label": "test_post_resume_invokes_controller()" - }, - { - "label": "test_post_cancel_invokes_controller()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L223", - "id": "api_test_sessions_test_post_cancel_invokes_controller", - "community": 135, - "norm_label": "test_post_cancel_invokes_controller()" - }, - { - "label": "test_post_cancel_404_for_unknown()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L238", - "id": "api_test_sessions_test_post_cancel_404_for_unknown", - "community": 135, - "norm_label": "test_post_cancel_404_for_unknown()" - }, - { - "label": "test_post_resume_409_for_terminal_session()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L247", - "id": "api_test_sessions_test_post_resume_409_for_terminal_session", - "community": 135, - "norm_label": "test_post_resume_409_for_terminal_session()" - }, - { - "label": "test_websocket_streams_session_events()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L262", - "id": "api_test_sessions_test_websocket_streams_session_events", - "community": 135, - "norm_label": "test_websocket_streams_session_events()" - }, - { - "label": "test_websocket_unknown_session_closes()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L283", - "id": "api_test_sessions_test_websocket_unknown_session_closes", - "community": 135, - "norm_label": "test_websocket_unknown_session_closes()" - }, - { - "label": "_make_request()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L295", - "id": "api_test_sessions_make_request", - "community": 135, - "norm_label": "_make_request()" - }, - { - "label": "test_create_session_validation_error_returns_422()", - "file_type": "code", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L312", - "id": "api_test_sessions_test_create_session_validation_error_returns_422", - "community": 135, - "norm_label": "test_create_session_validation_error_returns_422()" - }, - { - "label": "Unit tests for the ``/sessions`` router.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L1", - "id": "api_test_sessions_rationale_1", - "community": 135, - "norm_label": "unit tests for the ``/sessions`` router." - }, - { - "label": "Minimal in-memory controller for routing tests.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L48", - "id": "api_test_sessions_rationale_48", - "community": 135, - "norm_label": "minimal in-memory controller for routing tests." - }, - { - "label": "Posting without ``kind`` discriminator must 422.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L313", - "id": "api_test_sessions_rationale_313", - "community": 135, - "norm_label": "posting without ``kind`` discriminator must 422." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/api/__init__.py", - "source_location": "L1", - "id": "tests_unit_api_init_py", - "community": 401, - "norm_label": "__init__.py" - }, - { - "label": "HTTP API package. Backend Spec \u00a74. Public re-exports so callers (the launcher,", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/__init__.py", - "source_location": "L1", - "id": "api_init_rationale_1", - "community": 401, - "norm_label": "http api package. backend spec \u00a74. public re-exports so callers (the launcher," - }, - { - "label": "test_browse.py", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L1", - "id": "tests_unit_api_test_browse_py", - "community": 12, - "norm_label": "test_browse.py" - }, - { - "label": "_config_with_local_root()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L37", - "id": "api_test_browse_config_with_local_root", - "community": 12, - "norm_label": "_config_with_local_root()" - }, - { - "label": "_write_creation_json()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L58", - "id": "api_test_browse_write_creation_json", - "community": 12, - "norm_label": "_write_creation_json()" - }, - { - "label": "test_get_tree_lists_equipment_and_projects()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L80", - "id": "api_test_browse_test_get_tree_lists_equipment_and_projects", - "community": 12, - "norm_label": "test_get_tree_lists_equipment_and_projects()" - }, - { - "label": "test_get_tree_returns_empty_when_no_equipment()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L111", - "id": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", - "community": 94, - "norm_label": "test_get_tree_returns_empty_when_no_equipment()" - }, - { - "label": "test_get_run_returns_detail()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L129", - "id": "api_test_browse_test_get_run_returns_detail", - "community": 12, - "norm_label": "test_get_run_returns_detail()" - }, - { - "label": "test_get_run_404_when_creation_missing()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L148", - "id": "api_test_browse_test_get_run_404_when_creation_missing", - "community": 12, - "norm_label": "test_get_run_404_when_creation_missing()" - }, - { - "label": "test_get_tree_skips_unknown_dirs()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L161", - "id": "api_test_browse_test_get_tree_skips_unknown_dirs", - "community": 12, - "norm_label": "test_get_tree_skips_unknown_dirs()" - }, - { - "label": "test_get_tree_includes_test_runs()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L179", - "id": "api_test_browse_test_get_tree_includes_test_runs", - "community": 12, - "norm_label": "test_get_tree_includes_test_runs()" - }, - { - "label": "test_get_run_returns_422_when_creation_json_malformed()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L199", - "id": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", - "community": 12, - "norm_label": "test_get_run_returns_422_when_creation_json_malformed()" - }, - { - "label": "test_get_run_returns_none_readme_when_absent()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L220", - "id": "api_test_browse_test_get_run_returns_none_readme_when_absent", - "community": 12, - "norm_label": "test_get_run_returns_none_readme_when_absent()" - }, - { - "label": "test_get_folder_returns_immediate_contents()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L239", - "id": "api_test_browse_test_get_folder_returns_immediate_contents", - "community": 12, - "norm_label": "test_get_folder_returns_immediate_contents()" - }, - { - "label": "test_get_folder_404_on_vanished_path()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L260", - "id": "api_test_browse_test_get_folder_404_on_vanished_path", - "community": 12, - "norm_label": "test_get_folder_404_on_vanished_path()" - }, - { - "label": "test_get_tree_includes_sync_mode_on_equipment()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L269", - "id": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", - "community": 12, - "norm_label": "test_get_tree_includes_sync_mode_on_equipment()" - }, - { - "label": "test_get_folder_rejects_path_outside_configured_roots()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L281", - "id": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", - "community": 12, - "norm_label": "test_get_folder_rejects_path_outside_configured_roots()" - }, - { - "label": "_StubJobRow", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L303", - "id": "api_test_browse_stubjobrow", - "community": 0, - "norm_label": "_stubjobrow" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L306", - "id": "api_test_browse_stubjobrow_init", - "community": 3, - "norm_label": ".__init__()" - }, - { - "label": "_StubNasSync", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L319", - "id": "api_test_browse_stubnassync", - "community": 0, - "norm_label": "_stubnassync" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L322", - "id": "api_test_browse_stubnassync_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".get_by_run_path()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L325", - "id": "api_test_browse_stubnassync_get_by_run_path", - "community": 0, - "norm_label": ".get_by_run_path()" - }, - { - "label": "test_get_run_log_returns_queue_derived_history()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L331", - "id": "api_test_browse_test_get_run_log_returns_queue_derived_history", - "community": 12, - "norm_label": "test_get_run_log_returns_queue_derived_history()" - }, - { - "label": "test_get_run_log_forwards_failure_extras_in_payload()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L353", - "id": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", - "community": 12, - "norm_label": "test_get_run_log_forwards_failure_extras_in_payload()" - }, - { - "label": "test_get_run_log_empty_history_when_no_queue_job()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L385", - "id": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", - "community": 12, - "norm_label": "test_get_run_log_empty_history_when_no_queue_job()" - }, - { - "label": "test_get_run_log_404_when_run_missing()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L402", - "id": "api_test_browse_test_get_run_log_404_when_run_missing", - "community": 12, - "norm_label": "test_get_run_log_404_when_run_missing()" - }, - { - "label": "test_build_hierarchy_dict_returns_empty_when_config_missing()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L417", - "id": "api_test_browse_test_build_hierarchy_dict_returns_empty_when_config_missing", - "community": 12, - "norm_label": "test_build_hierarchy_dict_returns_empty_when_config_missing()" - }, - { - "label": "test_build_hierarchy_dict_includes_owned_and_relay_equipment()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L423", - "id": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", - "community": 12, - "norm_label": "test_build_hierarchy_dict_includes_owned_and_relay_equipment()" - }, - { - "label": "test_scan_folder_sync_lists_immediate_contents()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L458", - "id": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", - "community": 12, - "norm_label": "test_scan_folder_sync_lists_immediate_contents()" - }, - { - "label": "test_scan_folder_sync_raises_404_for_missing_path()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L477", - "id": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path", - "community": 12, - "norm_label": "test_scan_folder_sync_raises_404_for_missing_path()" - }, - { - "label": "_seed_run_with_creation()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L498", - "id": "api_test_browse_seed_run_with_creation", - "community": 12, - "norm_label": "_seed_run_with_creation()" - }, - { - "label": "_write_sync_state()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L507", - "id": "api_test_browse_write_sync_state", - "community": 12, - "norm_label": "_write_sync_state()" - }, - { - "label": "test_per_file_status_acquiring_when_not_in_sync_state()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L529", - "id": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", - "community": 12, - "norm_label": "test_per_file_status_acquiring_when_not_in_sync_state()" - }, - { - "label": "test_per_file_status_syncing_when_unverified()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L542", - "id": "api_test_browse_test_per_file_status_syncing_when_unverified", - "community": 12, - "norm_label": "test_per_file_status_syncing_when_unverified()" - }, - { - "label": "test_per_file_status_synced_when_verified_and_on_disk()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L556", - "id": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", - "community": 12, - "norm_label": "test_per_file_status_synced_when_verified_and_on_disk()" - }, - { - "label": "test_per_file_status_on_nas_tombstone_for_cleared_run()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L573", - "id": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", - "community": 12, - "norm_label": "test_per_file_status_on_nas_tombstone_for_cleared_run()" - }, - { - "label": "test_per_file_status_keep_local_flag_carried()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L596", - "id": "api_test_browse_test_per_file_status_keep_local_flag_carried", - "community": 12, - "norm_label": "test_per_file_status_keep_local_flag_carried()" - }, - { - "label": "test_build_run_node_rollup_from_sync_state()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L620", - "id": "api_test_browse_test_build_run_node_rollup_from_sync_state", - "community": 12, - "norm_label": "test_build_run_node_rollup_from_sync_state()" - }, - { - "label": "test_build_run_node_rollup_cleared()", - "file_type": "code", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L636", - "id": "api_test_browse_test_build_run_node_rollup_cleared", - "community": 12, - "norm_label": "test_build_run_node_rollup_cleared()" - }, - { - "label": "Unit tests for the ``/tree`` and ``/run/{path}`` browse endpoints.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L1", - "id": "api_test_browse_rationale_1", - "community": 12, - "norm_label": "unit tests for the ``/tree`` and ``/run/{path}`` browse endpoints." - }, - { - "label": "When config has no equipment the setup gate blocks /tree.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L112", - "id": "api_test_browse_rationale_112", - "community": 94, - "norm_label": "when config has no equipment the setup gate blocks /tree." - }, - { - "label": "``TestRuns`` directory under a project surfaces as ``test_runs`` list.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L180", - "id": "api_test_browse_rationale_180", - "community": 12, - "norm_label": "``testruns`` directory under a project surfaces as ``test_runs`` list." - }, - { - "label": "A creation.json that is present but malformed surfaces as 422.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L200", - "id": "api_test_browse_rationale_200", - "community": 12, - "norm_label": "a creation.json that is present but malformed surfaces as 422." - }, - { - "label": "Run with creation.json but no README.md returns readme: null.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L221", - "id": "api_test_browse_rationale_221", - "community": 12, - "norm_label": "run with creation.json but no readme.md returns readme: null." - }, - { - "label": "Path-confinement guard: only the configured local_root / staging_root / temp", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L282", - "id": "api_test_browse_rationale_282", - "community": 12, - "norm_label": "path-confinement guard: only the configured local_root / staging_root / temp" - }, - { - "label": "A minimal sync-queue job row for the run-log tests.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L304", - "id": "api_test_browse_rationale_304", - "community": 0, - "norm_label": "a minimal sync-queue job row for the run-log tests." - }, - { - "label": "Sync-queue stub serving ``get_by_run_path`` for the log endpoint.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L320", - "id": "api_test_browse_rationale_320", - "community": 0, - "norm_label": "sync-queue stub serving ``get_by_run_path`` for the log endpoint." - }, - { - "label": "A staged run's sync-queue job state is surfaced as the log.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L332", - "id": "api_test_browse_rationale_332", - "community": 12, - "norm_label": "a staged run's sync-queue job state is surfaced as the log." - }, - { - "label": "A failed job row's ``last_error`` / ``attempts`` / ``verify_passes`` / ``nas", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L354", - "id": "api_test_browse_rationale_354", - "community": 12, - "norm_label": "a failed job row's ``last_error`` / ``attempts`` / ``verify_passes`` / ``nas" - }, - { - "label": "A run with no sync-queue job returns an empty history + 'none' state.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L386", - "id": "api_test_browse_rationale_386", - "community": 12, - "norm_label": "a run with no sync-queue job returns an empty history + 'none' state." - }, - { - "label": "A run directory that does not exist returns 404 ``session_not_found``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L403", - "id": "api_test_browse_rationale_403", - "community": 12, - "norm_label": "a run directory that does not exist returns 404 ``session_not_found``." - }, - { - "label": "The nested dict surfaces both owned and received-equipment roots with their", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L424", - "id": "api_test_browse_rationale_424", - "community": 12, - "norm_label": "the nested dict surfaces both owned and received-equipment roots with their" - }, - { - "label": "``scan_folder_sync`` shares the same shape as the route handler.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L459", - "id": "api_test_browse_rationale_459", - "community": 12, - "norm_label": "``scan_folder_sync`` shares the same shape as the route handler." - }, - { - "label": "A missing folder raises the same 404 HTTPException the route does.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L478", - "id": "api_test_browse_rationale_478", - "community": 12, - "norm_label": "a missing folder raises the same 404 httpexception the route does." - }, - { - "label": "Create a run dir with a creation.json so it is recognised as a run.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L499", - "id": "api_test_browse_rationale_499", - "community": 12, - "norm_label": "create a run dir with a creation.json so it is recognised as a run." - }, - { - "label": "Write a sync_state.json with the given per-file records.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L508", - "id": "api_test_browse_rationale_508", - "community": 12, - "norm_label": "write a sync_state.json with the given per-file records." - }, - { - "label": "A file on disk but absent from sync_state.json reads as ``acquiring``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L530", - "id": "api_test_browse_rationale_530", - "community": 12, - "norm_label": "a file on disk but absent from sync_state.json reads as ``acquiring``." - }, - { - "label": "A recorded file with verified_at null + on disk reads as ``syncing``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L543", - "id": "api_test_browse_rationale_543", - "community": 12, - "norm_label": "a recorded file with verified_at null + on disk reads as ``syncing``." - }, - { - "label": "A recorded+verified file still on disk reads as ``synced``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L557", - "id": "api_test_browse_rationale_557", - "community": 12, - "norm_label": "a recorded+verified file still on disk reads as ``synced``." - }, - { - "label": "A cleared run lists verified-but-absent files as ``on_nas`` tombstones.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L574", - "id": "api_test_browse_rationale_574", - "community": 12, - "norm_label": "a cleared run lists verified-but-absent files as ``on_nas`` tombstones." - }, - { - "label": "A keep_local file carries the flag alongside its sync status.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L597", - "id": "api_test_browse_rationale_597", - "community": 12, - "norm_label": "a keep_local file carries the flag alongside its sync status." - }, - { - "label": "The tree run-node sync_status is the sync_state.json rollup, not creation.json.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L621", - "id": "api_test_browse_rationale_621", - "community": 12, - "norm_label": "the tree run-node sync_status is the sync_state.json rollup, not creation.json." - }, - { - "label": "A cleared run rolls up to ``cleared`` in the tree.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L637", - "id": "api_test_browse_rationale_637", - "community": 12, - "norm_label": "a cleared run rolls up to ``cleared`` in the tree." - }, - { - "label": "test_schemas.py", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L1", - "id": "tests_unit_api_test_schemas_py", - "community": 42, - "norm_label": "test_schemas.py" - }, - { - "label": "_minimal_creation_json()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L53", - "id": "api_test_schemas_minimal_creation_json", - "community": 42, - "norm_label": "_minimal_creation_json()" - }, - { - "label": "test_creation_json_round_trips_through_msgspec()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L87", - "id": "api_test_schemas_test_creation_json_round_trips_through_msgspec", - "community": 42, - "norm_label": "test_creation_json_round_trips_through_msgspec()" - }, - { - "label": "test_creation_json_round_trip_preserves_lims_project_subfields()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L94", - "id": "api_test_schemas_test_creation_json_round_trip_preserves_lims_project_subfields", - "community": 42, - "norm_label": "test_creation_json_round_trip_preserves_lims_project_subfields()" - }, - { - "label": "test_creation_json_round_trip_preserves_plugins_applied_with_isolation()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L110", - "id": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", - "community": 42, - "norm_label": "test_creation_json_round_trip_preserves_plugins_applied_with_isolation()" - }, - { - "label": "test_creation_json_round_trip_preserves_orchestrator_block()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L131", - "id": "api_test_schemas_test_creation_json_round_trip_preserves_orchestrator_block", - "community": 42, - "norm_label": "test_creation_json_round_trip_preserves_orchestrator_block()" - }, - { - "label": "test_creation_json_orchestrator_block_omitted_when_none()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L144", - "id": "api_test_schemas_test_creation_json_orchestrator_block_omitted_when_none", - "community": 42, - "norm_label": "test_creation_json_orchestrator_block_omitted_when_none()" - }, - { - "label": "test_orchestrator_block_carries_relay_discovery_field()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L151", - "id": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field", - "community": 42, - "norm_label": "test_orchestrator_block_carries_relay_discovery_field()" - }, - { - "label": "test_orchestrator_block_relay_field_defaults_to_none()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L170", - "id": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none", - "community": 42, - "norm_label": "test_orchestrator_block_relay_field_defaults_to_none()" - }, - { - "label": "test_creation_json_default_sync_status_is_pending()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L183", - "id": "api_test_schemas_test_creation_json_default_sync_status_is_pending", - "community": 42, - "norm_label": "test_creation_json_default_sync_status_is_pending()" - }, - { - "label": "test_creation_json_default_validation_overrides_is_empty_list()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L188", - "id": "api_test_schemas_test_creation_json_default_validation_overrides_is_empty_list", - "community": 42, - "norm_label": "test_creation_json_default_validation_overrides_is_empty_list()" - }, - { - "label": "test_creation_json_missing_required_field_raises()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L198", - "id": "api_test_schemas_test_creation_json_missing_required_field_raises", - "community": 42, - "norm_label": "test_creation_json_missing_required_field_raises()" - }, - { - "label": "test_creation_json_missing_lims_project_raises()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L206", - "id": "api_test_schemas_test_creation_json_missing_lims_project_raises", - "community": 42, - "norm_label": "test_creation_json_missing_lims_project_raises()" - }, - { - "label": "test_creation_json_unknown_field_is_ignored_on_decode()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L232", - "id": "api_test_schemas_test_creation_json_unknown_field_is_ignored_on_decode", - "community": 42, - "norm_label": "test_creation_json_unknown_field_is_ignored_on_decode()" - }, - { - "label": "test_override_entry_to_dict_emits_revoked_field_explicitly()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L268", - "id": "api_test_schemas_test_override_entry_to_dict_emits_revoked_field_explicitly", - "community": 152, - "norm_label": "test_override_entry_to_dict_emits_revoked_field_explicitly()" - }, - { - "label": "test_tombstone_entry_to_dict_emits_revoked_field_explicitly()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L283", - "id": "api_test_schemas_test_tombstone_entry_to_dict_emits_revoked_field_explicitly", - "community": 152, - "norm_label": "test_tombstone_entry_to_dict_emits_revoked_field_explicitly()" - }, - { - "label": "test_parse_validation_override_entry_returns_override_for_revoked_false()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L296", - "id": "api_test_schemas_test_parse_validation_override_entry_returns_override_for_revoked_false", - "community": 42, - "norm_label": "test_parse_validation_override_entry_returns_override_for_revoked_false()" - }, - { - "label": "test_parse_validation_override_entry_returns_tombstone_for_revoked_true()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L311", - "id": "api_test_schemas_test_parse_validation_override_entry_returns_tombstone_for_revoked_true", - "community": 42, - "norm_label": "test_parse_validation_override_entry_returns_tombstone_for_revoked_true()" - }, - { - "label": "test_creation_json_decodes_validation_overrides_as_list_of_dict()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L326", - "id": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", - "community": 42, - "norm_label": "test_creation_json_decodes_validation_overrides_as_list_of_dict()" - }, - { - "label": "test_readme_fields_json_round_trips()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L363", - "id": "api_test_schemas_test_readme_fields_json_round_trips", - "community": 224, - "norm_label": "test_readme_fields_json_round_trips()" - }, - { - "label": "test_readme_fields_json_optional_fields_default_to_empty()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L379", - "id": "api_test_schemas_test_readme_fields_json_optional_fields_default_to_empty", - "community": 224, - "norm_label": "test_readme_fields_json_optional_fields_default_to_empty()" - }, - { - "label": "test_readme_fields_json_round_trip_preserves_custom_fields()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L391", - "id": "api_test_schemas_test_readme_fields_json_round_trip_preserves_custom_fields", - "community": 224, - "norm_label": "test_readme_fields_json_round_trip_preserves_custom_fields()" - }, - { - "label": "test_readme_fields_json_missing_required_field_raises()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L410", - "id": "api_test_schemas_test_readme_fields_json_missing_required_field_raises", - "community": 42, - "norm_label": "test_readme_fields_json_missing_required_field_raises()" - }, - { - "label": "test_equipment_json_round_trips()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L422", - "id": "api_test_schemas_test_equipment_json_round_trips", - "community": 42, - "norm_label": "test_equipment_json_round_trips()" - }, - { - "label": "test_equipment_json_missing_required_field_raises()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L437", - "id": "api_test_schemas_test_equipment_json_missing_required_field_raises", - "community": 42, - "norm_label": "test_equipment_json_missing_required_field_raises()" - }, - { - "label": "test_test_runs_json_round_trips()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L449", - "id": "api_test_schemas_test_test_runs_json_round_trips", - "community": 42, - "norm_label": "test_test_runs_json_round_trips()" - }, - { - "label": "test_test_runs_json_missing_required_field_raises()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L462", - "id": "api_test_schemas_test_test_runs_json_missing_required_field_raises", - "community": 42, - "norm_label": "test_test_runs_json_missing_required_field_raises()" - }, - { - "label": "_creation_json_payload()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L478", - "id": "api_test_schemas_creation_json_payload", - "community": 42, - "norm_label": "_creation_json_payload()" - }, - { - "label": "test_strenum_field_round_trip_preserves_wire_format()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L556", - "id": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format", - "community": 42, - "norm_label": "test_strenum_field_round_trip_preserves_wire_format()" - }, - { - "label": "test_lims_project_block_source_round_trip()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L601", - "id": "api_test_schemas_test_lims_project_block_source_round_trip", - "community": 42, - "norm_label": "test_lims_project_block_source_round_trip()" - }, - { - "label": "test_template_block_run_scope_round_trip()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L633", - "id": "api_test_schemas_test_template_block_run_scope_round_trip", - "community": 42, - "norm_label": "test_template_block_run_scope_round_trip()" - }, - { - "label": "test_plugin_applied_status_round_trip()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L659", - "id": "api_test_schemas_test_plugin_applied_status_round_trip", - "community": 42, - "norm_label": "test_plugin_applied_status_round_trip()" - }, - { - "label": "test_test_runs_json_default_run_kind_serializes_as_test()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L675", - "id": "api_test_schemas_test_test_runs_json_default_run_kind_serializes_as_test", - "community": 42, - "norm_label": "test_test_runs_json_default_run_kind_serializes_as_test()" - }, - { - "label": "test_test_runs_json_explicit_run_kind_round_trips()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L692", - "id": "api_test_schemas_test_test_runs_json_explicit_run_kind_round_trips", - "community": 42, - "norm_label": "test_test_runs_json_explicit_run_kind_round_trips()" - }, - { - "label": "test_creation_json_default_sync_status_omitted_on_encode()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L706", - "id": "api_test_schemas_test_creation_json_default_sync_status_omitted_on_encode", - "community": 42, - "norm_label": "test_creation_json_default_sync_status_omitted_on_encode()" - }, - { - "label": "test_lims_project_block_default_source_omitted_on_encode()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L716", - "id": "api_test_schemas_test_lims_project_block_default_source_omitted_on_encode", - "community": 42, - "norm_label": "test_lims_project_block_default_source_omitted_on_encode()" - }, - { - "label": "test_lims_project_status_round_trip()", - "file_type": "code", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L747", - "id": "api_test_schemas_test_lims_project_status_round_trip", - "community": 42, - "norm_label": "test_lims_project_status_round_trip()" - }, - { - "label": "Tests for the msgspec.Struct cache-file types in ``exlab_wizard.api.schemas``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L1", - "id": "api_test_schemas_rationale_1", - "community": 42, - "norm_label": "tests for the msgspec.struct cache-file types in ``exlab_wizard.api.schemas``." - }, - { - "label": "Build a minimal valid CreationJson at the current version for round-trip tests.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L54", - "id": "api_test_schemas_rationale_54", - "community": 42, - "norm_label": "build a minimal valid creationjson at the current version for round-trip tests." - }, - { - "label": "Spec \u00a711.3: orchestrator is *absent* (not null) in single-equipment mode.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L145", - "id": "api_test_schemas_rationale_145", - "community": 42, - "norm_label": "spec \u00a711.3: orchestrator is *absent* (not null) in single-equipment mode." - }, - { - "label": "Redesign \u00a73.3: pushed creation.json carries the equipment label so the orche", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L152", - "id": "api_test_schemas_rationale_152", - "community": 42, - "norm_label": "redesign \u00a73.3: pushed creation.json carries the equipment label so the orche" - }, - { - "label": "Older creation.json files (no relay field) decode cleanly.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L171", - "id": "api_test_schemas_rationale_171", - "community": 42, - "norm_label": "older creation.json files (no relay field) decode cleanly." - }, - { - "label": "``lims_project`` is required at the project- and run-levels for v1.8.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L207", - "id": "api_test_schemas_rationale_207", - "community": 42, - "norm_label": "``lims_project`` is required at the project- and run-levels for v1.8." - }, - { - "label": "forbid_unknown_fields=False -- unknown fields are silently dropped at decode", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L233", - "id": "api_test_schemas_rationale_233", - "community": 42, - "norm_label": "forbid_unknown_fields=false -- unknown fields are silently dropped at decode" - }, - { - "label": "Spec \u00a711.3: ``revoked`` is required on every entry. ``omit_defaults`` would", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L269", - "id": "api_test_schemas_rationale_269", - "community": 152, - "norm_label": "spec \u00a711.3: ``revoked`` is required on every entry. ``omit_defaults`` would" - }, - { - "label": "Build a minimal valid creation.json JSON document for round-trip tests.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L479", - "id": "api_test_schemas_rationale_479", - "community": 42, - "norm_label": "build a minimal valid creation.json json document for round-trip tests." - }, - { - "label": "Decode an old-format JSON document (bare string at ``field``) into the typed", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L563", - "id": "api_test_schemas_rationale_563", - "community": 42, - "norm_label": "decode an old-format json document (bare string at ``field``) into the typed" - }, - { - "label": "The ``run_kind`` default switched from bare ``\"test\"`` to ``RunKind.TEST``;", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L676", - "id": "api_test_schemas_rationale_676", - "community": 42, - "norm_label": "the ``run_kind`` default switched from bare ``\"test\"`` to ``runkind.test``;" - }, - { - "label": "``SyncStatus.PENDING`` is the declared default; ``omit_defaults=True`` drops", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L707", - "id": "api_test_schemas_rationale_707", - "community": 42, - "norm_label": "``syncstatus.pending`` is the declared default; ``omit_defaults=true`` drops" - }, - { - "label": "``LIMSProjectSource.LIVE`` is the declared default; ``omit_defaults=True`` d", - "file_type": "rationale", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L717", - "id": "api_test_schemas_rationale_717", - "community": 42, - "norm_label": "``limsprojectsource.live`` is the declared default; ``omit_defaults=true`` d" - }, - { - "label": "test_health.py", - "file_type": "code", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L1", - "id": "tests_unit_api_test_health_py", - "community": 136, - "norm_label": "test_health.py" - }, - { - "label": "_ready_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L21", - "id": "api_test_health_ready_config", - "community": 136, - "norm_label": "_ready_config()" - }, - { - "label": "test_health_endpoint_status_ok_with_no_deps()", - "file_type": "code", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L38", - "id": "api_test_health_test_health_endpoint_status_ok_with_no_deps", - "community": 136, - "norm_label": "test_health_endpoint_status_ok_with_no_deps()" - }, - { - "label": "test_health_endpoint_warn_when_lims_unreachable()", - "file_type": "code", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L50", - "id": "api_test_health_test_health_endpoint_warn_when_lims_unreachable", - "community": 136, - "norm_label": "test_health_endpoint_warn_when_lims_unreachable()" - }, - { - "label": "test_health_components_pluck_snapshots()", - "file_type": "code", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L59", - "id": "api_test_health_test_health_components_pluck_snapshots", - "community": 136, - "norm_label": "test_health_components_pluck_snapshots()" - }, - { - "label": "test_top_level_status_aggregates()", - "file_type": "code", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L75", - "id": "api_test_health_test_top_level_status_aggregates", - "community": 136, - "norm_label": "test_top_level_status_aggregates()" - }, - { - "label": "test_component_rollup_handles_none_deps()", - "file_type": "code", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L81", - "id": "api_test_health_test_component_rollup_handles_none_deps", - "community": 136, - "norm_label": "test_component_rollup_handles_none_deps()" - }, - { - "label": "test_health_with_validator_last_audit()", - "file_type": "code", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L86", - "id": "api_test_health_test_health_with_validator_last_audit", - "community": 136, - "norm_label": "test_health_with_validator_last_audit()" - }, - { - "label": "test_health_nas_sync_snapshot_failure_marked_warn()", - "file_type": "code", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L94", - "id": "api_test_health_test_health_nas_sync_snapshot_failure_marked_warn", - "community": 136, - "norm_label": "test_health_nas_sync_snapshot_failure_marked_warn()" - }, - { - "label": "Unit tests for ``exlab_wizard.api.health``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L1", - "id": "api_test_health_rationale_1", - "community": 136, - "norm_label": "unit tests for ``exlab_wizard.api.health``." - }, - { - "label": "test_staging_router.py", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L1", - "id": "tests_unit_api_test_staging_router_py", - "community": 35, - "norm_label": "test_staging_router.py" - }, - { - "label": "_Handle", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L34", - "id": "api_test_staging_router_handle", - "community": 0, - "norm_label": "_handle" - }, - { - "label": "_StubNasSync", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L40", - "id": "api_test_staging_router_stubnassync", - "community": 0, - "norm_label": "_stubnassync" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L43", - "id": "api_test_staging_router_stubnassync_init", - "community": 0, - "norm_label": ".__init__()" - }, - { - "label": ".enqueue()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L46", - "id": "api_test_staging_router_stubnassync_enqueue", - "community": 0, - "norm_label": ".enqueue()" - }, - { - "label": "_make_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L51", - "id": "api_test_staging_router_make_config", - "community": 35, - "norm_label": "_make_config()" - }, - { - "label": "_seed_run()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L70", - "id": "api_test_staging_router_seed_run", - "community": 35, - "norm_label": "_seed_run()" - }, - { - "label": "_write_creation_json()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L83", - "id": "api_test_staging_router_write_creation_json", - "community": 0, - "norm_label": "_write_creation_json()" - }, - { - "label": "_seed_real_run()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L120", - "id": "api_test_staging_router_seed_real_run", - "community": 35, - "norm_label": "_seed_real_run()" - }, - { - "label": "_mark_synced()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L133", - "id": "api_test_staging_router_mark_synced", - "community": 35, - "norm_label": "_mark_synced()" - }, - { - "label": "test_get_staging_returns_empty_when_staging_root_unset()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L148", - "id": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", - "community": 35, - "norm_label": "test_get_staging_returns_empty_when_staging_root_unset()" - }, - { - "label": "test_force_sync_returns_no_503_when_run_missing()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L158", - "id": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", - "community": 35, - "norm_label": "test_force_sync_returns_no_503_when_run_missing()" - }, - { - "label": "test_clear_returns_no_503_when_run_missing()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L167", - "id": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", - "community": 35, - "norm_label": "test_clear_returns_no_503_when_run_missing()" - }, - { - "label": "test_get_staging_returns_run_rows()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L181", - "id": "api_test_staging_router_test_get_staging_returns_run_rows", - "community": 35, - "norm_label": "test_get_staging_returns_run_rows()" - }, - { - "label": "test_get_staging_derives_current_state_from_sync_state_rollup()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L201", - "id": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", - "community": 35, - "norm_label": "test_get_staging_derives_current_state_from_sync_state_rollup()" - }, - { - "label": "test_get_staging_returns_empty_runs_for_missing_root()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L212", - "id": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", - "community": 35, - "norm_label": "test_get_staging_returns_empty_runs_for_missing_root()" - }, - { - "label": "test_force_sync_invokes_nas_sync_enqueue()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L227", - "id": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", - "community": 35, - "norm_label": "test_force_sync_invokes_nas_sync_enqueue()" - }, - { - "label": "test_force_sync_returns_503_when_nas_sync_unwired()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L242", - "id": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", - "community": 35, - "norm_label": "test_force_sync_returns_503_when_nas_sync_unwired()" - }, - { - "label": "test_clear_endpoint_deletes_synced_run()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L256", - "id": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", - "community": 35, - "norm_label": "test_clear_endpoint_deletes_synced_run()" - }, - { - "label": "test_clear_endpoint_rejects_non_synced_run()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L277", - "id": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", - "community": 35, - "norm_label": "test_clear_endpoint_rejects_non_synced_run()" - }, - { - "label": "test_clear_endpoint_idempotent_for_missing_run()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L289", - "id": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", - "community": 35, - "norm_label": "test_clear_endpoint_idempotent_for_missing_run()" - }, - { - "label": "test_clear_verified_endpoint_clears_only_synced_runs()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L307", - "id": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", - "community": 35, - "norm_label": "test_clear_verified_endpoint_clears_only_synced_runs()" - }, - { - "label": "test_clear_verified_endpoint_returns_empty_when_no_verified_runs()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L333", - "id": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", - "community": 35, - "norm_label": "test_clear_verified_endpoint_returns_empty_when_no_verified_runs()" - }, - { - "label": "test_clear_verified_endpoint_returns_503_when_config_unwired()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L344", - "id": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired", - "community": 94, - "norm_label": "test_clear_verified_endpoint_returns_503_when_config_unwired()" - }, - { - "label": "test_keep_local_toggles_sync_state()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L359", - "id": "api_test_staging_router_test_keep_local_toggles_sync_state", - "community": 35, - "norm_label": "test_keep_local_toggles_sync_state()" - }, - { - "label": "test_keep_local_toggle_off_round_trips()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L382", - "id": "api_test_staging_router_test_keep_local_toggle_off_round_trips", - "community": 35, - "norm_label": "test_keep_local_toggle_off_round_trips()" - }, - { - "label": "test_keep_local_returns_503_when_writer_unwired()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L400", - "id": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", - "community": 35, - "norm_label": "test_keep_local_returns_503_when_writer_unwired()" - }, - { - "label": "test_keep_local_returns_503_when_config_unwired()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L414", - "id": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired", - "community": 94, - "norm_label": "test_keep_local_returns_503_when_config_unwired()" - }, - { - "label": "test_keep_local_rejects_extra_body_fields()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L426", - "id": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", - "community": 35, - "norm_label": "test_keep_local_rejects_extra_body_fields()" - }, - { - "label": "test_keep_local_returns_404_for_path_outside_allowed_roots()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L440", - "id": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", - "community": 35, - "norm_label": "test_keep_local_returns_404_for_path_outside_allowed_roots()" - }, - { - "label": "test_keep_local_returns_404_when_run_has_no_creation_json()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L461", - "id": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", - "community": 35, - "norm_label": "test_keep_local_returns_404_when_run_has_no_creation_json()" - }, - { - "label": "test_keep_local_creates_sync_state_when_cache_dir_absent()", - "file_type": "code", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L479", - "id": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", - "community": 35, - "norm_label": "test_keep_local_creates_sync_state_when_cache_dir_absent()" - }, - { - "label": "Unit tests for the ``/staging`` router. Backend Spec \u00a713.7, \u00a713.8. The operator", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L1", - "id": "api_test_staging_router_rationale_1", - "community": 35, - "norm_label": "unit tests for the ``/staging`` router. backend spec \u00a713.7, \u00a713.8. the operator" - }, - { - "label": "In-memory sync-queue stub recording ``enqueue`` calls (force-sync).", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L41", - "id": "api_test_staging_router_rationale_41", - "community": 0, - "norm_label": "in-memory sync-queue stub recording ``enqueue`` calls (force-sync)." - }, - { - "label": "Write a minimal ``creation.json`` so a dir reads as a real run. The ``POST", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L84", - "id": "api_test_staging_router_rationale_84", - "community": 0, - "norm_label": "write a minimal ``creation.json`` so a dir reads as a real run. the ``post" - }, - { - "label": "Seed a run dir that carries a ``creation.json`` -- a real run.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L127", - "id": "api_test_staging_router_rationale_127", - "community": 35, - "norm_label": "seed a run dir that carries a ``creation.json`` -- a real run." - }, - { - "label": "Write a fully-verified ``sync_state.json`` so the run rolls up to ``synced``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L134", - "id": "api_test_staging_router_rationale_134", - "community": 35, - "norm_label": "write a fully-verified ``sync_state.json`` so the run rolls up to ``synced``." - }, - { - "label": "A run with no queue job and no directory clears to zeros.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L290", - "id": "api_test_staging_router_rationale_290", - "community": 35, - "norm_label": "a run with no queue job and no directory clears to zeros." - }, - { - "label": "The bulk endpoint clears every fully-``synced`` run and reports paths.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L308", - "id": "api_test_staging_router_rationale_308", - "community": 35, - "norm_label": "the bulk endpoint clears every fully-``synced`` run and reports paths." - }, - { - "label": "No verified rows -> empty cleared_paths, no error.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L334", - "id": "api_test_staging_router_rationale_334", - "community": 35, - "norm_label": "no verified rows -> empty cleared_paths, no error." - }, - { - "label": "A deps without a config raises the standard 503.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L345", - "id": "api_test_staging_router_rationale_345", - "community": 94, - "norm_label": "a deps without a config raises the standard 503." - }, - { - "label": "The endpoint flips ``keep_local`` in the run's ``sync_state.json``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L360", - "id": "api_test_staging_router_rationale_360", - "community": 35, - "norm_label": "the endpoint flips ``keep_local`` in the run's ``sync_state.json``." - }, - { - "label": "Setting ``keep_local`` False after True clears the flag on disk.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L383", - "id": "api_test_staging_router_rationale_383", - "community": 35, - "norm_label": "setting ``keep_local`` false after true clears the flag on disk." - }, - { - "label": "A deps without a ``sync_state_writer`` raises the standard 503.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L401", - "id": "api_test_staging_router_rationale_401", - "community": 35, - "norm_label": "a deps without a ``sync_state_writer`` raises the standard 503." - }, - { - "label": "A deps without a config raises the standard 503.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L415", - "id": "api_test_staging_router_rationale_415", - "community": 94, - "norm_label": "a deps without a config raises the standard 503." - }, - { - "label": "The request model forbids unknown fields.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L427", - "id": "api_test_staging_router_rationale_427", - "community": 35, - "norm_label": "the request model forbids unknown fields." - }, - { - "label": "A path outside the configured roots is rejected before any write. Operator-", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L441", - "id": "api_test_staging_router_rationale_441", - "community": 35, - "norm_label": "a path outside the configured roots is rejected before any write. operator-" - }, - { - "label": "A dir under an allowed root but without a creation.json is not a run.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L462", - "id": "api_test_staging_router_rationale_462", - "community": 35, - "norm_label": "a dir under an allowed root but without a creation.json is not a run." - }, - { - "label": "The writer mkdir's the .exlab-wizard/ dir -- a real run with only a creation", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L480", - "id": "api_test_staging_router_rationale_480", - "community": 35, - "norm_label": "the writer mkdir's the .exlab-wizard/ dir -- a real run with only a creation" - }, - { - "label": "test_events.py", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L1", - "id": "tests_unit_api_test_events_py", - "community": 64, - "norm_label": "test_events.py" - }, - { - "label": "test_phase_event_round_trip()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L24", - "id": "api_test_events_test_phase_event_round_trip", - "community": 64, - "norm_label": "test_phase_event_round_trip()" - }, - { - "label": "test_progress_event_includes_kind()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L34", - "id": "api_test_events_test_progress_event_includes_kind", - "community": 64, - "norm_label": "test_progress_event_includes_kind()" - }, - { - "label": "test_input_required_event_carries_fields()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L41", - "id": "api_test_events_test_input_required_event_carries_fields", - "community": 64, - "norm_label": "test_input_required_event_carries_fields()" - }, - { - "label": "test_warning_event_serializes()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L52", - "id": "api_test_events_test_warning_event_serializes", - "community": 64, - "norm_label": "test_warning_event_serializes()" - }, - { - "label": "test_done_event_carries_result()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L62", - "id": "api_test_events_test_done_event_carries_result", - "community": 64, - "norm_label": "test_done_event_carries_result()" - }, - { - "label": "test_failed_event_carries_error()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L69", - "id": "api_test_events_test_failed_event_carries_error", - "community": 64, - "norm_label": "test_failed_event_carries_error()" - }, - { - "label": "test_snapshot_event_lists_findings()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L76", - "id": "api_test_events_test_snapshot_event_lists_findings", - "community": 64, - "norm_label": "test_snapshot_event_lists_findings()" - }, - { - "label": "test_delta_event_serializes_three_lists()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L85", - "id": "api_test_events_test_delta_event_serializes_three_lists", - "community": 64, - "norm_label": "test_delta_event_serializes_three_lists()" - }, - { - "label": "test_event_from_dict_round_trips_each_kind()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L92", - "id": "api_test_events_test_event_from_dict_round_trips_each_kind", - "community": 64, - "norm_label": "test_event_from_dict_round_trips_each_kind()" - }, - { - "label": "test_event_from_dict_rejects_unknown_kind()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L111", - "id": "api_test_events_test_event_from_dict_rejects_unknown_kind", - "community": 64, - "norm_label": "test_event_from_dict_rejects_unknown_kind()" - }, - { - "label": "test_event_from_dict_rejects_missing_kind()", - "file_type": "code", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L116", - "id": "api_test_events_test_event_from_dict_rejects_missing_kind", - "community": 64, - "norm_label": "test_event_from_dict_rejects_missing_kind()" - }, - { - "label": "Unit tests for ``exlab_wizard.api.events``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L1", - "id": "api_test_events_rationale_1", - "community": 64, - "norm_label": "unit tests for ``exlab_wizard.api.events``." - }, - { - "label": "test_problems.py", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L1", - "id": "tests_unit_api_test_problems_py", - "community": 121, - "norm_label": "test_problems.py" - }, - { - "label": "_StubValidator", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L38", - "id": "api_test_problems_stubvalidator", - "community": 121, - "norm_label": "_stubvalidator" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L41", - "id": "api_test_problems_stubvalidator_init", - "community": 121, - "norm_label": ".__init__()" - }, - { - "label": ".query_problems()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L45", - "id": "api_test_problems_stubvalidator_query_problems", - "community": 121, - "norm_label": ".query_problems()" - }, - { - "label": ".audit()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L48", - "id": "api_test_problems_stubvalidator_audit", - "community": 121, - "norm_label": ".audit()" - }, - { - "label": "_ready_config()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L53", - "id": "api_test_problems_ready_config", - "community": 121, - "norm_label": "_ready_config()" - }, - { - "label": "_findings()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L72", - "id": "api_test_problems_findings", - "community": 121, - "norm_label": "_findings()" - }, - { - "label": "_write_creation_json()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L94", - "id": "api_test_problems_write_creation_json", - "community": 0, - "norm_label": "_write_creation_json()" - }, - { - "label": "test_list_problems_returns_findings()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L116", - "id": "api_test_problems_test_list_problems_returns_findings", - "community": 121, - "norm_label": "test_list_problems_returns_findings()" - }, - { - "label": "test_list_problems_filters_by_severity()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L132", - "id": "api_test_problems_test_list_problems_filters_by_severity", - "community": 121, - "norm_label": "test_list_problems_filters_by_severity()" - }, - { - "label": "test_list_problems_filters_by_class()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L144", - "id": "api_test_problems_test_list_problems_filters_by_class", - "community": 121, - "norm_label": "test_list_problems_filters_by_class()" - }, - { - "label": "test_list_problems_with_equipment_scope()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L156", - "id": "api_test_problems_test_list_problems_with_equipment_scope", - "community": 121, - "norm_label": "test_list_problems_with_equipment_scope()" - }, - { - "label": "test_list_problems_unknown_scope_returns_422()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L167", - "id": "api_test_problems_test_list_problems_unknown_scope_returns_422", - "community": 121, - "norm_label": "test_list_problems_unknown_scope_returns_422()" - }, - { - "label": "test_refresh_runs_audit()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L180", - "id": "api_test_problems_test_refresh_runs_audit", - "community": 121, - "norm_label": "test_refresh_runs_audit()" - }, - { - "label": "test_append_override_writes_entry()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L193", - "id": "api_test_problems_test_append_override_writes_entry", - "community": 121, - "norm_label": "test_append_override_writes_entry()" - }, - { - "label": "test_append_override_404_when_path_absent()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L226", - "id": "api_test_problems_test_append_override_404_when_path_absent", - "community": 121, - "norm_label": "test_append_override_404_when_path_absent()" - }, - { - "label": "test_problems_websocket_sends_snapshot_on_connect()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L244", - "id": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", - "community": 121, - "norm_label": "test_problems_websocket_sends_snapshot_on_connect()" - }, - { - "label": "test_problems_websocket_closes_when_no_channel()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L265", - "id": "api_test_problems_test_problems_websocket_closes_when_no_channel", - "community": 121, - "norm_label": "test_problems_websocket_closes_when_no_channel()" - }, - { - "label": "test_refresh_publishes_snapshot_to_channel()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L285", - "id": "api_test_problems_test_refresh_publishes_snapshot_to_channel", - "community": 121, - "norm_label": "test_refresh_publishes_snapshot_to_channel()" - }, - { - "label": "test_revoke_override_writes_tombstone()", - "file_type": "code", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L306", - "id": "api_test_problems_test_revoke_override_writes_tombstone", - "community": 121, - "norm_label": "test_revoke_override_writes_tombstone()" - }, - { - "label": "Unit tests for the ``/problems`` router.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L1", - "id": "api_test_problems_rationale_1", - "community": 121, - "norm_label": "unit tests for the ``/problems`` router." - }, - { - "label": "Test double that returns a canned finding list.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L39", - "id": "api_test_problems_rationale_39", - "community": 121, - "norm_label": "test double that returns a canned finding list." - }, - { - "label": "Connecting to /problems/events emits a snapshot frame immediately.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L245", - "id": "api_test_problems_rationale_245", - "community": 121, - "norm_label": "connecting to /problems/events emits a snapshot frame immediately." - }, - { - "label": "Without an audit channel the WebSocket closes with 1011.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L266", - "id": "api_test_problems_rationale_266", - "community": 121, - "norm_label": "without an audit channel the websocket closes with 1011." - }, - { - "label": "``POST /problems/refresh`` invokes audit and publishes to the channel.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L286", - "id": "api_test_problems_rationale_286", - "community": 121, - "norm_label": "``post /problems/refresh`` invokes audit and publishes to the channel." - }, - { - "label": "test_app.py", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L1", - "id": "tests_unit_api_test_app_py", - "community": 67, - "norm_label": "test_app.py" - }, - { - "label": "_F", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L21", - "id": "api_test_app_f", - "community": 67, - "norm_label": "_f" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L24", - "id": "api_test_app_f_init", - "community": 67, - "norm_label": ".__init__()" - }, - { - "label": "test_diff_findings_added_removed_changed()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L37", - "id": "api_test_app_test_diff_findings_added_removed_changed", - "community": 67, - "norm_label": "test_diff_findings_added_removed_changed()" - }, - { - "label": "test_finding_to_dict_handles_dataclass_and_dict()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L48", - "id": "api_test_app_test_finding_to_dict_handles_dataclass_and_dict", - "community": 67, - "norm_label": "test_finding_to_dict_handles_dataclass_and_dict()" - }, - { - "label": "test_audit_channel_publishes_snapshot_to_subscriber()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L57", - "id": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", - "community": 67, - "norm_label": "test_audit_channel_publishes_snapshot_to_subscriber()" - }, - { - "label": "test_audit_channel_publishes_delta()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L78", - "id": "api_test_app_test_audit_channel_publishes_delta", - "community": 67, - "norm_label": "test_audit_channel_publishes_delta()" - }, - { - "label": "test_audit_channel_late_subscribe_receives_latest_snapshot()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L101", - "id": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot", - "community": 67, - "norm_label": "test_audit_channel_late_subscribe_receives_latest_snapshot()" - }, - { - "label": "test_audit_channel_close_signals_subscribers()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L119", - "id": "api_test_app_test_audit_channel_close_signals_subscribers", - "community": 67, - "norm_label": "test_audit_channel_close_signals_subscribers()" - }, - { - "label": "test_create_app_uses_supplied_dependencies()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L135", - "id": "api_test_app_test_create_app_uses_supplied_dependencies", - "community": 67, - "norm_label": "test_create_app_uses_supplied_dependencies()" - }, - { - "label": "test_create_app_creates_default_dependencies()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L141", - "id": "api_test_app_test_create_app_creates_default_dependencies", - "community": 67, - "norm_label": "test_create_app_creates_default_dependencies()" - }, - { - "label": "test_create_app_attaches_audit_channel()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L147", - "id": "api_test_app_test_create_app_attaches_audit_channel", - "community": 67, - "norm_label": "test_create_app_attaches_audit_channel()" - }, - { - "label": "test_lifespan_starts_and_stops_audit_task()", - "file_type": "code", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L154", - "id": "api_test_app_test_lifespan_starts_and_stops_audit_task", - "community": 67, - "norm_label": "test_lifespan_starts_and_stops_audit_task()" - }, - { - "label": "Unit tests for ``exlab_wizard.api.app``: AuditChannel + app factory.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L1", - "id": "api_test_app_rationale_1", - "community": 67, - "norm_label": "unit tests for ``exlab_wizard.api.app``: auditchannel + app factory." - }, - { - "label": "Tiny finding-shaped object for diff tests.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L22", - "id": "api_test_app_rationale_22", - "community": 67, - "norm_label": "tiny finding-shaped object for diff tests." - }, - { - "label": "When start_audit_task=True the lifespan starts the audit task and cancels on clo", - "file_type": "rationale", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L155", - "id": "api_test_app_rationale_155", - "community": 67, - "norm_label": "when start_audit_task=true the lifespan starts the audit task and cancels on clo" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/dev/__init__.py", - "source_location": "L1", - "id": "tests_unit_dev_init_py", - "community": 556, - "norm_label": "__init__.py" - }, - { - "label": "test_seed.py", - "file_type": "code", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L1", - "id": "tests_unit_dev_test_seed_py", - "community": 16, - "norm_label": "test_seed.py" - }, - { - "label": "_sandbox_under()", - "file_type": "code", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L10", - "id": "dev_test_seed_sandbox_under", - "community": 16, - "norm_label": "_sandbox_under()" - }, - { - "label": "test_seed_main_creates_full_tree()", - "file_type": "code", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L31", - "id": "dev_test_seed_test_seed_main_creates_full_tree", - "community": 16, - "norm_label": "test_seed_main_creates_full_tree()" - }, - { - "label": "test_seed_main_wipes_and_rebuilds()", - "file_type": "code", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L59", - "id": "dev_test_seed_test_seed_main_wipes_and_rebuilds", - "community": 16, - "norm_label": "test_seed_main_wipes_and_rebuilds()" - }, - { - "label": "Tests for the standalone dev seeder (``python -m exlab_wizard.dev.seed``).", - "file_type": "rationale", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L1", - "id": "dev_test_seed_rationale_1", - "community": 16, - "norm_label": "tests for the standalone dev seeder (``python -m exlab_wizard.dev.seed``)." - }, - { - "label": "Pin the sandbox under ``tmp_path`` and enable test mode. Patches ``paths.os", - "file_type": "rationale", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L11", - "id": "dev_test_seed_rationale_11", - "community": 16, - "norm_label": "pin the sandbox under ``tmp_path`` and enable test mode. patches ``paths.os" - }, - { - "label": "A clean sandbox (no config) is bootstrapped and fully seeded.", - "file_type": "rationale", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L32", - "id": "dev_test_seed_rationale_32", - "community": 16, - "norm_label": "a clean sandbox (no config) is bootstrapped and fully seeded." - }, - { - "label": "A second run wipes the seeded subtree (clearing stray files) and rebuilds.", - "file_type": "rationale", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L60", - "id": "dev_test_seed_rationale_60", - "community": 16, - "norm_label": "a second run wipes the seeded subtree (clearing stray files) and rebuilds." - }, - { - "label": "test_nas_client_extra.py", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1", - "id": "tests_unit_sync_test_nas_client_extra_py", - "community": 1, - "norm_label": "test_nas_client_extra.py" - }, - { - "label": "_build_config()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L50", - "id": "sync_test_nas_client_extra_build_config", - "community": 1, - "norm_label": "_build_config()" - }, - { - "label": "_make_creation()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L77", - "id": "sync_test_nas_client_extra_make_creation", - "community": 0, - "norm_label": "_make_creation()" - }, - { - "label": "_populate_run()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L91", - "id": "sync_test_nas_client_extra_populate_run", - "community": 1, - "norm_label": "_populate_run()" - }, - { - "label": "_factory()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L103", - "id": "sync_test_nas_client_extra_factory", - "community": 1, - "norm_label": "_factory()" - }, - { - "label": "test_hash_mismatch_first_failure_retries()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L114", - "id": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", - "community": 1, - "norm_label": "test_hash_mismatch_first_failure_retries()" - }, - { - "label": "test_hash_mismatch_second_failure_terminal()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L170", - "id": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", - "community": 1, - "norm_label": "test_hash_mismatch_second_failure_terminal()" - }, - { - "label": "test_cleanup_full_delete_when_retain_cache_false()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L208", - "id": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", - "community": 1, - "norm_label": "test_cleanup_full_delete_when_retain_cache_false()" - }, - { - "label": "test_cleanup_retain_cache_keeps_metadata()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L245", - "id": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", - "community": 1, - "norm_label": "test_cleanup_retain_cache_keeps_metadata()" - }, - { - "label": "test_cleanup_disabled_keeps_files()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L284", - "id": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", - "community": 1, - "norm_label": "test_cleanup_disabled_keeps_files()" - }, - { - "label": "test_cleanup_eligible_when_min_verify_passes_unmet()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L323", - "id": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", - "community": 1, - "norm_label": "test_cleanup_eligible_when_min_verify_passes_unmet()" - }, - { - "label": "test_cleanup_blocked_by_remote_stat()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L360", - "id": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", - "community": 1, - "norm_label": "test_cleanup_blocked_by_remote_stat()" - }, - { - "label": "_client()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L403", - "id": "sync_test_nas_client_extra_client", - "community": 1, - "norm_label": "_client()" - }, - { - "label": "test_delete_local_skips_keep_local_files_incl_nested()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L413", - "id": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", - "community": 1, - "norm_label": "test_delete_local_skips_keep_local_files_incl_nested()" - }, - { - "label": "test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L442", - "id": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", - "community": 1, - "norm_label": "test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file()" - }, - { - "label": "test_delete_local_does_not_descend_or_remove_directory_symlink()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L475", - "id": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", - "community": 1, - "norm_label": "test_delete_local_does_not_descend_or_remove_directory_symlink()" - }, - { - "label": "test_delete_local_keep_local_survives_retain_cache_false()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L501", - "id": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", - "community": 1, - "norm_label": "test_delete_local_keep_local_survives_retain_cache_false()" - }, - { - "label": "test_delete_local_retain_cache_false_drops_whole_run_without_keep_local()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L518", - "id": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", - "community": 1, - "norm_label": "test_delete_local_retain_cache_false_drops_whole_run_without_keep_local()" - }, - { - "label": "test_cleanup_marks_cleared_in_sync_state()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L532", - "id": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", - "community": 1, - "norm_label": "test_cleanup_marks_cleared_in_sync_state()" - }, - { - "label": "test_cleanup_keeps_keep_local_file()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L573", - "id": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", - "community": 1, - "norm_label": "test_cleanup_keeps_keep_local_file()" - }, - { - "label": "test_cleanup_deferred_when_run_only_partially_synced()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L617", - "id": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", - "community": 1, - "norm_label": "test_cleanup_deferred_when_run_only_partially_synced()" - }, - { - "label": "test_worker_marks_failed_when_local_run_vanished()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L675", - "id": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", - "community": 1, - "norm_label": "test_worker_marks_failed_when_local_run_vanished()" - }, - { - "label": "test_cleanup_runs_hash_gate_before_delete()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L727", - "id": "sync_test_nas_client_extra_test_cleanup_runs_hash_gate_before_delete", - "community": 1, - "norm_label": "test_cleanup_runs_hash_gate_before_delete()" - }, - { - "label": "test_cleanup_aborts_delete_on_hash_mismatch()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L778", - "id": "sync_test_nas_client_extra_test_cleanup_aborts_delete_on_hash_mismatch", - "community": 1, - "norm_label": "test_cleanup_aborts_delete_on_hash_mismatch()" - }, - { - "label": "test_cleanup_aborts_delete_when_remote_file_vanished_at_gate()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L818", - "id": "sync_test_nas_client_extra_test_cleanup_aborts_delete_when_remote_file_vanished_at_gate", - "community": 1, - "norm_label": "test_cleanup_aborts_delete_when_remote_file_vanished_at_gate()" - }, - { - "label": "test_default_push_factory_uses_real_driver()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L888", - "id": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", - "community": 1, - "norm_label": "test_default_push_factory_uses_real_driver()" - }, - { - "label": "test_network_error_records_backoff_retry()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L914", - "id": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", - "community": 1, - "norm_label": "test_network_error_records_backoff_retry()" - }, - { - "label": "test_compute_nas_path_returns_none_when_empty()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L948", - "id": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", - "community": 0, - "norm_label": "test_compute_nas_path_returns_none_when_empty()" - }, - { - "label": "test_mark_synced_no_op_when_creation_missing()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L964", - "id": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", - "community": 1, - "norm_label": "test_mark_synced_no_op_when_creation_missing()" - }, - { - "label": "test_delete_local_no_op_when_path_missing()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L982", - "id": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", - "community": 1, - "norm_label": "test_delete_local_no_op_when_path_missing()" - }, - { - "label": "test_infer_equipment_id_falls_back_to_first()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L996", - "id": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", - "community": 0, - "norm_label": "test_infer_equipment_id_falls_back_to_first()" - }, - { - "label": "test_partial_batch_credits_reconciled_files_in_sync_state()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1027", - "id": "sync_test_nas_client_extra_test_partial_batch_credits_reconciled_files_in_sync_state", - "community": 1, - "norm_label": "test_partial_batch_credits_reconciled_files_in_sync_state()" - }, - { - "label": "test_full_batch_credits_every_file_in_sync_state()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1098", - "id": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", - "community": 1, - "norm_label": "test_full_batch_credits_every_file_in_sync_state()" - }, - { - "label": "Extra coverage tests for ``exlab_wizard.sync.nas_client``. These hit the sub-br", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1", - "id": "sync_test_nas_client_extra_rationale_1", - "community": 1, - "norm_label": "extra coverage tests for ``exlab_wizard.sync.nas_client``. these hit the sub-br" - }, - { - "label": "A first hash-mismatch from the transport re-queues without backoff. The fir", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L115", - "id": "sync_test_nas_client_extra_rationale_115", - "community": 1, - "norm_label": "a first hash-mismatch from the transport re-queues without backoff. the fir" - }, - { - "label": "A second consecutive hash-mismatch terminates FAILED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L171", - "id": "sync_test_nas_client_extra_rationale_171", - "community": 1, - "norm_label": "a second consecutive hash-mismatch terminates failed." - }, - { - "label": "``retain_cache=False`` removes the entire run directory after CLEANED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L209", - "id": "sync_test_nas_client_extra_rationale_209", - "community": 1, - "norm_label": "``retain_cache=false`` removes the entire run directory after cleaned." - }, - { - "label": "``retain_cache=True`` deletes data files but keeps ``.exlab-wizard/``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L246", - "id": "sync_test_nas_client_extra_rationale_246", - "community": 1, - "norm_label": "``retain_cache=true`` deletes data files but keeps ``.exlab-wizard/``." - }, - { - "label": "``nas_cleanup.enabled=False`` -> job stays VERIFIED, no cleanup.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L285", - "id": "sync_test_nas_client_extra_rationale_285", - "community": 1, - "norm_label": "``nas_cleanup.enabled=false`` -> job stays verified, no cleanup." - }, - { - "label": "Job lands in CLEANUP_ELIGIBLE when min_verify_passes > current passes.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L324", - "id": "sync_test_nas_client_extra_rationale_324", - "community": 1, - "norm_label": "job lands in cleanup_eligible when min_verify_passes > current passes." - }, - { - "label": "A failing remote_stat keeps the job in CLEANUP_ELIGIBLE, not CLEANED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L361", - "id": "sync_test_nas_client_extra_rationale_361", - "community": 1, - "norm_label": "a failing remote_stat keeps the job in cleanup_eligible, not cleaned." - }, - { - "label": "Build an un-init'd client for direct ``_delete_local`` calls.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L404", - "id": "sync_test_nas_client_extra_rationale_404", - "community": 1, - "norm_label": "build an un-init'd client for direct ``_delete_local`` calls." - }, - { - "label": "``_delete_local`` keeps ``keep_local`` files, incl. a nested one.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L414", - "id": "sync_test_nas_client_extra_rationale_414", - "community": 1, - "norm_label": "``_delete_local`` keeps ``keep_local`` files, incl. a nested one." - }, - { - "label": "A directory holding only deleted files is pruned (deepest-first); a parent s", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L443", - "id": "sync_test_nas_client_extra_rationale_443", - "community": 1, - "norm_label": "a directory holding only deleted files is pruned (deepest-first); a parent s" - }, - { - "label": "A directory symlink inside the run is left untouched -- its target's content", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L476", - "id": "sync_test_nas_client_extra_rationale_476", - "community": 1, - "norm_label": "a directory symlink inside the run is left untouched -- its target's content" - }, - { - "label": "A ``keep_local`` file survives even when ``retain_cache=False``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L502", - "id": "sync_test_nas_client_extra_rationale_502", - "community": 1, - "norm_label": "a ``keep_local`` file survives even when ``retain_cache=false``." - }, - { - "label": "With ``retain_cache=False`` and no kept files the run dir is removed.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L521", - "id": "sync_test_nas_client_extra_rationale_521", - "community": 1, - "norm_label": "with ``retain_cache=false`` and no kept files the run dir is removed." - }, - { - "label": "A full cleanup pass stamps ``cleared_at`` in ``sync_state.json``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L533", - "id": "sync_test_nas_client_extra_rationale_533", - "community": 1, - "norm_label": "a full cleanup pass stamps ``cleared_at`` in ``sync_state.json``." - }, - { - "label": "A file flagged ``keep_local`` survives the cleanup sweep.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L574", - "id": "sync_test_nas_client_extra_rationale_574", - "community": 1, - "norm_label": "a file flagged ``keep_local`` survives the cleanup sweep." - }, - { - "label": "Cleanup does not run while a tracked file remains unverified. A pre-existin", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L618", - "id": "sync_test_nas_client_extra_rationale_618", - "community": 1, - "norm_label": "cleanup does not run while a tracked file remains unverified. a pre-existin" - }, - { - "label": "A run dir deleted between enqueue and worker pick -> FAILED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L676", - "id": "sync_test_nas_client_extra_rationale_676", - "community": 1, - "norm_label": "a run dir deleted between enqueue and worker pick -> failed." - }, - { - "label": "The cleanup pass runs the hash-gate, and on success deletes locally. The in", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L728", - "id": "sync_test_nas_client_extra_rationale_728", - "community": 1, - "norm_label": "the cleanup pass runs the hash-gate, and on success deletes locally. the in" - }, - { - "label": "A hash-gate mismatch defers cleanup (CLEANUP_ELIGIBLE), files survive.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L779", - "id": "sync_test_nas_client_extra_rationale_779", - "community": 1, - "norm_label": "a hash-gate mismatch defers cleanup (cleanup_eligible), files survive." - }, - { - "label": "A tracked file present at reconcile but gone at the cleanup gate defers cleanup.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L819", - "id": "sync_test_nas_client_extra_rationale_819", - "community": 1, - "norm_label": "a tracked file present at reconcile but gone at the cleanup gate defers cleanup." - }, - { - "label": "When no factory is injected, the client builds the named-remote driver. We", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L889", - "id": "sync_test_nas_client_extra_rationale_889", - "community": 1, - "norm_label": "when no factory is injected, the client builds the named-remote driver. we" - }, - { - "label": "Helper returns ``None`` when ``creation.paths.nas`` is the empty string.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L949", - "id": "sync_test_nas_client_extra_rationale_949", - "community": 0, - "norm_label": "helper returns ``none`` when ``creation.paths.nas`` is the empty string." - }, - { - "label": "``_mark_synced`` is a no-op when ``creation.json`` doesn't exist.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L965", - "id": "sync_test_nas_client_extra_rationale_965", - "community": 1, - "norm_label": "``_mark_synced`` is a no-op when ``creation.json`` doesn't exist." - }, - { - "label": "``_delete_local`` is a no-op when the run directory is already gone.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L983", - "id": "sync_test_nas_client_extra_rationale_983", - "community": 1, - "norm_label": "``_delete_local`` is a no-op when the run directory is already gone." - }, - { - "label": "If neither ``creation.paths.local`` nor ``run_path`` contains a configured e", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L997", - "id": "sync_test_nas_client_extra_rationale_997", - "community": 0, - "norm_label": "if neither ``creation.paths.local`` nor ``run_path`` contains a configured e" - }, - { - "label": "A batch where one file is absent remotely still credits the others. Routine", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1028", - "id": "sync_test_nas_client_extra_rationale_1028", - "community": 1, - "norm_label": "a batch where one file is absent remotely still credits the others. routine" - }, - { - "label": "A fully-successful batch credits every verified file in sync_state.json.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1099", - "id": "sync_test_nas_client_extra_rationale_1099", - "community": 1, - "norm_label": "a fully-successful batch credits every verified file in sync_state.json." - }, - { - "label": "test_transports.py", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L1", - "id": "tests_unit_sync_test_transports_py", - "community": 68, - "norm_label": "test_transports.py" - }, - { - "label": "stub_dir()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L34", - "id": "sync_test_transports_stub_dir", - "community": 495, - "norm_label": "stub_dir()" - }, - { - "label": "record_argv()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L48", - "id": "sync_test_transports_record_argv", - "community": 496, - "norm_label": "record_argv()" - }, - { - "label": "_read_recorded_argvs()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L55", - "id": "sync_test_transports_read_recorded_argvs", - "community": 68, - "norm_label": "_read_recorded_argvs()" - }, - { - "label": "test_rclone_push_success()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L65", - "id": "sync_test_transports_test_rclone_push_success", - "community": 68, - "norm_label": "test_rclone_push_success()" - }, - { - "label": "test_rclone_push_network_error_is_retryable()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L81", - "id": "sync_test_transports_test_rclone_push_network_error_is_retryable", - "community": 68, - "norm_label": "test_rclone_push_network_error_is_retryable()" - }, - { - "label": "test_rclone_push_auth_error_is_terminal()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L93", - "id": "sync_test_transports_test_rclone_push_auth_error_is_terminal", - "community": 68, - "norm_label": "test_rclone_push_auth_error_is_terminal()" - }, - { - "label": "test_rclone_push_hash_mismatch()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L105", - "id": "sync_test_transports_test_rclone_push_hash_mismatch", - "community": 68, - "norm_label": "test_rclone_push_hash_mismatch()" - }, - { - "label": "test_rclone_push_missing_binary_raises()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L117", - "id": "sync_test_transports_test_rclone_push_missing_binary_raises", - "community": 68, - "norm_label": "test_rclone_push_missing_binary_raises()" - }, - { - "label": "test_rclone_argv_includes_checksum_flag()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L129", - "id": "sync_test_transports_test_rclone_argv_includes_checksum_flag", - "community": 68, - "norm_label": "test_rclone_argv_includes_checksum_flag()" - }, - { - "label": "test_rclone_argv_includes_bwlimit_when_set()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L145", - "id": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", - "community": 68, - "norm_label": "test_rclone_argv_includes_bwlimit_when_set()" - }, - { - "label": "test_rclone_argv_omits_bwlimit_when_none()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L162", - "id": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none", - "community": 68, - "norm_label": "test_rclone_argv_omits_bwlimit_when_none()" - }, - { - "label": "test_rclone_argv_includes_files_from_when_set()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L177", - "id": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", - "community": 68, - "norm_label": "test_rclone_argv_includes_files_from_when_set()" - }, - { - "label": "test_rclone_argv_omits_files_from_when_none()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L196", - "id": "sync_test_transports_test_rclone_argv_omits_files_from_when_none", - "community": 68, - "norm_label": "test_rclone_argv_omits_files_from_when_none()" - }, - { - "label": "test_about_success()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L216", - "id": "sync_test_transports_test_about_success", - "community": 68, - "norm_label": "test_about_success()" - }, - { - "label": "test_about_auth_failure()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L225", - "id": "sync_test_transports_test_about_auth_failure", - "community": 68, - "norm_label": "test_about_auth_failure()" - }, - { - "label": "test_parse_combined_handles_all_prefixes()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L239", - "id": "sync_test_transports_test_parse_combined_handles_all_prefixes", - "community": 232, - "norm_label": "test_parse_combined_handles_all_prefixes()" - }, - { - "label": "test_parse_combined_empty_returns_empty_result()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L249", - "id": "sync_test_transports_test_parse_combined_empty_returns_empty_result", - "community": 232, - "norm_label": "test_parse_combined_empty_returns_empty_result()" - }, - { - "label": "test_parse_combined_tolerates_blank_lines_and_unknown_prefix()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L253", - "id": "sync_test_transports_test_parse_combined_tolerates_blank_lines_and_unknown_prefix", - "community": 232, - "norm_label": "test_parse_combined_tolerates_blank_lines_and_unknown_prefix()" - }, - { - "label": "test_push_argv_includes_config_and_perf()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L266", - "id": "sync_test_transports_test_push_argv_includes_config_and_perf", - "community": 68, - "norm_label": "test_push_argv_includes_config_and_perf()" - }, - { - "label": "test_lsjson_argv_is_recursive_readonly()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L288", - "id": "sync_test_transports_test_lsjson_argv_is_recursive_readonly", - "community": 68, - "norm_label": "test_lsjson_argv_is_recursive_readonly()" - }, - { - "label": "test_lsjson_raises_transport_error_on_failure()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L308", - "id": "sync_test_transports_test_lsjson_raises_transport_error_on_failure", - "community": 68, - "norm_label": "test_lsjson_raises_transport_error_on_failure()" - }, - { - "label": "test_listremotes_parses_lines()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L323", - "id": "sync_test_transports_test_listremotes_parses_lines", - "community": 68, - "norm_label": "test_listremotes_parses_lines()" - }, - { - "label": "test_listremotes_empty_on_failure()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L334", - "id": "sync_test_transports_test_listremotes_empty_on_failure", - "community": 68, - "norm_label": "test_listremotes_empty_on_failure()" - }, - { - "label": "test_classify_failure_unknown_when_rc_zero_and_no_markers()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L347", - "id": "sync_test_transports_test_classify_failure_unknown_when_rc_zero_and_no_markers", - "community": 104, - "norm_label": "test_classify_failure_unknown_when_rc_zero_and_no_markers()" - }, - { - "label": "test_check_missing_binary_raises()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L357", - "id": "sync_test_transports_test_check_missing_binary_raises", - "community": 68, - "norm_label": "test_check_missing_binary_raises()" - }, - { - "label": "test_check_auth_failure_with_no_combined_output_raises()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L369", - "id": "sync_test_transports_test_check_auth_failure_with_no_combined_output_raises", - "community": 68, - "norm_label": "test_check_auth_failure_with_no_combined_output_raises()" - }, - { - "label": "test_check_unreadable_combined_file_is_tolerated()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L383", - "id": "sync_test_transports_test_check_unreadable_combined_file_is_tolerated", - "community": 68, - "norm_label": "test_check_unreadable_combined_file_is_tolerated()" - }, - { - "label": "test_about_missing_binary_returns_not_ok()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L405", - "id": "sync_test_transports_test_about_missing_binary_returns_not_ok", - "community": 232, - "norm_label": "test_about_missing_binary_returns_not_ok()" - }, - { - "label": "test_about_malformed_json_is_ok_with_empty_info()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L415", - "id": "sync_test_transports_test_about_malformed_json_is_ok_with_empty_info", - "community": 68, - "norm_label": "test_about_malformed_json_is_ok_with_empty_info()" - }, - { - "label": "test_lsjson_missing_binary_raises()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L431", - "id": "sync_test_transports_test_lsjson_missing_binary_raises", - "community": 68, - "norm_label": "test_lsjson_missing_binary_raises()" - }, - { - "label": "Tests for the rclone transport driver. Backend Spec \u00a77.1.3, \u00a77.1.5. The driver", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L1", - "id": "sync_test_transports_rationale_1", - "community": 68, - "norm_label": "tests for the rclone transport driver. backend spec \u00a77.1.3, \u00a77.1.5. the driver" - }, - { - "label": "Install the rclone stub under ``tmp_path/bin`` and prepend to PATH.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L35", - "id": "sync_test_transports_rationale_35", - "community": 495, - "norm_label": "install the rclone stub under ``tmp_path/bin`` and prepend to path." - }, - { - "label": "Tell the stub to append every invocation's argv to a log file.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L49", - "id": "sync_test_transports_rationale_49", - "community": 496, - "norm_label": "tell the stub to append every invocation's argv to a log file." - }, - { - "label": "Return the recorded argv lists, in invocation order.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L56", - "id": "sync_test_transports_rationale_56", - "community": 68, - "norm_label": "return the recorded argv lists, in invocation order." - }, - { - "label": "A missing binary raises :class:`TransportError`, not a retry result.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L118", - "id": "sync_test_transports_rationale_118", - "community": 68, - "norm_label": "a missing binary raises :class:`transporterror`, not a retry result." - }, - { - "label": "If the --combined tempfile cannot be read, treat it as empty output.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L384", - "id": "sync_test_transports_rationale_384", - "community": 68, - "norm_label": "if the --combined tempfile cannot be read, treat it as empty output." - }, - { - "label": "test_bandwidth.py", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L1", - "id": "tests_unit_sync_test_bandwidth_py", - "community": 89, - "norm_label": "test_bandwidth.py" - }, - { - "label": "_wed_at()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L20", - "id": "sync_test_bandwidth_wed_at", - "community": 89, - "norm_label": "_wed_at()" - }, - { - "label": "test_mbps_to_kibps_uses_spec_formula()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L25", - "id": "sync_test_bandwidth_test_mbps_to_kibps_uses_spec_formula", - "community": 89, - "norm_label": "test_mbps_to_kibps_uses_spec_formula()" - }, - { - "label": "test_mbps_to_kibps_floor_for_tiny_input()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L31", - "id": "sync_test_bandwidth_test_mbps_to_kibps_floor_for_tiny_input", - "community": 89, - "norm_label": "test_mbps_to_kibps_floor_for_tiny_input()" - }, - { - "label": "test_mbps_to_kibps_zero()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L36", - "id": "sync_test_bandwidth_test_mbps_to_kibps_zero", - "community": 89, - "norm_label": "test_mbps_to_kibps_zero()" - }, - { - "label": "test_day_name_to_index_covers_all_days()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L41", - "id": "sync_test_bandwidth_test_day_name_to_index_covers_all_days", - "community": 89, - "norm_label": "test_day_name_to_index_covers_all_days()" - }, - { - "label": "test_is_window_active_inside_window()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L47", - "id": "sync_test_bandwidth_test_is_window_active_inside_window", - "community": 89, - "norm_label": "test_is_window_active_inside_window()" - }, - { - "label": "test_is_window_active_outside_window()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L52", - "id": "sync_test_bandwidth_test_is_window_active_outside_window", - "community": 89, - "norm_label": "test_is_window_active_outside_window()" - }, - { - "label": "test_is_window_active_wrong_weekday()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L58", - "id": "sync_test_bandwidth_test_is_window_active_wrong_weekday", - "community": 89, - "norm_label": "test_is_window_active_wrong_weekday()" - }, - { - "label": "test_effective_unlimited_when_upload_mbps_none()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L64", - "id": "sync_test_bandwidth_test_effective_unlimited_when_upload_mbps_none", - "community": 89, - "norm_label": "test_effective_unlimited_when_upload_mbps_none()" - }, - { - "label": "test_effective_unlimited_when_outside_schedule()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L69", - "id": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", - "community": 89, - "norm_label": "test_effective_unlimited_when_outside_schedule()" - }, - { - "label": "test_effective_throttled_inside_schedule()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L78", - "id": "sync_test_bandwidth_test_effective_throttled_inside_schedule", - "community": 89, - "norm_label": "test_effective_throttled_inside_schedule()" - }, - { - "label": "test_effective_throttled_when_no_schedule()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L86", - "id": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", - "community": 89, - "norm_label": "test_effective_throttled_when_no_schedule()" - }, - { - "label": "test_effective_throttled_in_first_matching_window()", - "file_type": "code", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L92", - "id": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", - "community": 89, - "norm_label": "test_effective_throttled_in_first_matching_window()" - }, - { - "label": "Tests for ``exlab_wizard.sync.bandwidth``. Backend Spec \u00a77.1.7. The schedule ev", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L1", - "id": "sync_test_bandwidth_rationale_1", - "community": 89, - "norm_label": "tests for ``exlab_wizard.sync.bandwidth``. backend spec \u00a77.1.7. the schedule ev" - }, - { - "label": "A Wednesday in 2026 (weekday 2) at the requested local time.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L21", - "id": "sync_test_bandwidth_rationale_21", - "community": 89, - "norm_label": "a wednesday in 2026 (weekday 2) at the requested local time." - }, - { - "label": "Spec \u00a77.1.7: ``K = upload_mbps * 1024 / 8``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L26", - "id": "sync_test_bandwidth_rationale_26", - "community": 89, - "norm_label": "spec \u00a77.1.7: ``k = upload_mbps * 1024 / 8``." - }, - { - "label": "A tiny but positive input rounds up to 1 KiB/s, not 0.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L32", - "id": "sync_test_bandwidth_rationale_32", - "community": 89, - "norm_label": "a tiny but positive input rounds up to 1 kib/s, not 0." - }, - { - "label": "Weekday filtering rejects days not in ``window.days``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L59", - "id": "sync_test_bandwidth_rationale_59", - "community": 89, - "norm_label": "weekday filtering rejects days not in ``window.days``." - }, - { - "label": "A cap with no schedule applies always.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L87", - "id": "sync_test_bandwidth_rationale_87", - "community": 89, - "norm_label": "a cap with no schedule applies always." - }, - { - "label": "test_cleanup.py", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L1", - "id": "tests_unit_sync_test_cleanup_py", - "community": 120, - "norm_label": "test_cleanup.py" - }, - { - "label": "_job()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L22", - "id": "sync_test_cleanup_job", - "community": 120, - "norm_label": "_job()" - }, - { - "label": "_config()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L38", - "id": "sync_test_cleanup_config", - "community": 120, - "norm_label": "_config()" - }, - { - "label": "test_all_interlocks_pass()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L53", - "id": "sync_test_cleanup_test_all_interlocks_pass", - "community": 120, - "norm_label": "test_all_interlocks_pass()" - }, - { - "label": "test_min_verify_passes_blocks()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L65", - "id": "sync_test_cleanup_test_min_verify_passes_blocks", - "community": 120, - "norm_label": "test_min_verify_passes_blocks()" - }, - { - "label": "test_min_age_hours_blocks()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L77", - "id": "sync_test_cleanup_test_min_age_hours_blocks", - "community": 120, - "norm_label": "test_min_age_hours_blocks()" - }, - { - "label": "test_remote_stat_failure_blocks()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L90", - "id": "sync_test_cleanup_test_remote_stat_failure_blocks", - "community": 120, - "norm_label": "test_remote_stat_failure_blocks()" - }, - { - "label": "test_recent_revocation_blocks()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L102", - "id": "sync_test_cleanup_test_recent_revocation_blocks", - "community": 120, - "norm_label": "test_recent_revocation_blocks()" - }, - { - "label": "test_old_revocation_does_not_block()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L124", - "id": "sync_test_cleanup_test_old_revocation_does_not_block", - "community": 120, - "norm_label": "test_old_revocation_does_not_block()" - }, - { - "label": "test_missing_verified_at_blocks()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L145", - "id": "sync_test_cleanup_test_missing_verified_at_blocks", - "community": 120, - "norm_label": "test_missing_verified_at_blocks()" - }, - { - "label": "test_has_recent_revocation_with_malformed_timestamp_is_recent()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L157", - "id": "sync_test_cleanup_test_has_recent_revocation_with_malformed_timestamp_is_recent", - "community": 120, - "norm_label": "test_has_recent_revocation_with_malformed_timestamp_is_recent()" - }, - { - "label": "test_has_recent_revocation_ignores_non_tombstones()", - "file_type": "code", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L172", - "id": "sync_test_cleanup_test_has_recent_revocation_ignores_non_tombstones", - "community": 120, - "norm_label": "test_has_recent_revocation_ignores_non_tombstones()" - }, - { - "label": "Tests for ``exlab_wizard.sync.cleanup``. Backend Spec \u00a77.1.6. Each interlock mu", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L1", - "id": "sync_test_cleanup_rationale_1", - "community": 120, - "norm_label": "tests for ``exlab_wizard.sync.cleanup``. backend spec \u00a77.1.6. each interlock mu" - }, - { - "label": "Happy path: cleanup is allowed.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L54", - "id": "sync_test_cleanup_rationale_54", - "community": 120, - "norm_label": "happy path: cleanup is allowed." - }, - { - "label": "Failing the verify-passes threshold blocks cleanup.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L66", - "id": "sync_test_cleanup_rationale_66", - "community": 120, - "norm_label": "failing the verify-passes threshold blocks cleanup." - }, - { - "label": "A verify that happened too recently blocks cleanup.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L78", - "id": "sync_test_cleanup_rationale_78", - "community": 120, - "norm_label": "a verify that happened too recently blocks cleanup." - }, - { - "label": "An unreachable NAS blocks cleanup.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L91", - "id": "sync_test_cleanup_rationale_91", - "community": 120, - "norm_label": "an unreachable nas blocks cleanup." - }, - { - "label": "A tombstone written within ``min_age_hours`` blocks cleanup.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L103", - "id": "sync_test_cleanup_rationale_103", - "community": 120, - "norm_label": "a tombstone written within ``min_age_hours`` blocks cleanup." - }, - { - "label": "A verified_at column missing or malformed blocks cleanup.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L146", - "id": "sync_test_cleanup_rationale_146", - "community": 120, - "norm_label": "a verified_at column missing or malformed blocks cleanup." - }, - { - "label": "A malformed ``recorded_at`` is treated as recent (fail-safe).", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L158", - "id": "sync_test_cleanup_rationale_158", - "community": 120, - "norm_label": "a malformed ``recorded_at`` is treated as recent (fail-safe)." - }, - { - "label": "An override entry without ``revoked: True`` is ignored.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L173", - "id": "sync_test_cleanup_rationale_173", - "community": 120, - "norm_label": "an override entry without ``revoked: true`` is ignored." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/sync/__init__.py", - "source_location": "L1", - "id": "tests_unit_sync_init_py", - "community": 482, - "norm_label": "__init__.py" - }, - { - "label": "Sync package. Backend Spec \u00a77. Public re-exports for the NAS sync subsystem. Ca", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/__init__.py", - "source_location": "L1", - "id": "sync_init_rationale_1", - "community": 482, - "norm_label": "sync package. backend spec \u00a77. public re-exports for the nas sync subsystem. ca" - }, - { - "label": "test_manifest.py", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L1", - "id": "tests_unit_sync_test_manifest_py", - "community": 115, - "norm_label": "test_manifest.py" - }, - { - "label": "test_parse_drops_dirs_and_keys_by_path()", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L12", - "id": "sync_test_manifest_test_parse_drops_dirs_and_keys_by_path", - "community": 115, - "norm_label": "test_parse_drops_dirs_and_keys_by_path()" - }, - { - "label": "test_parse_strips_prefix()", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L20", - "id": "sync_test_manifest_test_parse_strips_prefix", - "community": 115, - "norm_label": "test_parse_strips_prefix()" - }, - { - "label": "test_parse_empty_and_malformed()", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L26", - "id": "sync_test_manifest_test_parse_empty_and_malformed", - "community": 115, - "norm_label": "test_parse_empty_and_malformed()" - }, - { - "label": "test_manifest_size_match_helper()", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L32", - "id": "sync_test_manifest_test_manifest_size_match_helper", - "community": 115, - "norm_label": "test_manifest_size_match_helper()" - }, - { - "label": "test_manifest_matches_size_and_mtime_within_tolerance()", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L39", - "id": "sync_test_manifest_test_manifest_matches_size_and_mtime_within_tolerance", - "community": 115, - "norm_label": "test_manifest_matches_size_and_mtime_within_tolerance()" - }, - { - "label": "test_manifest_to_epoch_handles_fractional_and_z()", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L50", - "id": "sync_test_manifest_test_manifest_to_epoch_handles_fractional_and_z", - "community": 115, - "norm_label": "test_manifest_to_epoch_handles_fractional_and_z()" - }, - { - "label": "test_manifest_matches_false_when_modtime_unparseable()", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L58", - "id": "sync_test_manifest_test_manifest_matches_false_when_modtime_unparseable", - "community": 115, - "norm_label": "test_manifest_matches_false_when_modtime_unparseable()" - }, - { - "label": "test_parse_non_list_json_yields_empty()", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L67", - "id": "sync_test_manifest_test_parse_non_list_json_yields_empty", - "community": 115, - "norm_label": "test_parse_non_list_json_yields_empty()" - }, - { - "label": "test_parse_skips_rows_with_empty_path()", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L73", - "id": "sync_test_manifest_test_parse_skips_rows_with_empty_path", - "community": 115, - "norm_label": "test_parse_skips_rows_with_empty_path()" - }, - { - "label": "test_parse_skips_rows_with_non_numeric_size()", - "file_type": "code", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L83", - "id": "sync_test_manifest_test_parse_skips_rows_with_non_numeric_size", - "community": 115, - "norm_label": "test_parse_skips_rows_with_non_numeric_size()" - }, - { - "label": "test_queue.py", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L1", - "id": "tests_unit_sync_test_queue_py", - "community": 122, - "norm_label": "test_queue.py" - }, - { - "label": "queue()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L26", - "id": "sync_test_queue_queue", - "community": 264, - "norm_label": "queue()" - }, - { - "label": "test_insert_creates_queued_row()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L35", - "id": "sync_test_queue_test_insert_creates_queued_row", - "community": 122, - "norm_label": "test_insert_creates_queued_row()" - }, - { - "label": "test_insert_unique_constraint()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L45", - "id": "sync_test_queue_test_insert_unique_constraint", - "community": 122, - "norm_label": "test_insert_unique_constraint()" - }, - { - "label": "test_files_column_round_trips()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L52", - "id": "sync_test_queue_test_files_column_round_trips", - "community": 122, - "norm_label": "test_files_column_round_trips()" - }, - { - "label": "test_files_column_defaults_to_empty()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L62", - "id": "sync_test_queue_test_files_column_defaults_to_empty", - "community": 122, - "norm_label": "test_files_column_defaults_to_empty()" - }, - { - "label": "test_requeue_with_files_resets_terminal_job()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L71", - "id": "sync_test_queue_test_requeue_with_files_resets_terminal_job", - "community": 122, - "norm_label": "test_requeue_with_files_resets_terminal_job()" - }, - { - "label": "test_get_by_id_and_run_path()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L83", - "id": "sync_test_queue_test_get_by_id_and_run_path", - "community": 122, - "norm_label": "test_get_by_id_and_run_path()" - }, - { - "label": "test_get_missing_returns_none()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L92", - "id": "sync_test_queue_test_get_missing_returns_none", - "community": 122, - "norm_label": "test_get_missing_returns_none()" - }, - { - "label": "test_transition_forward()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L97", - "id": "sync_test_queue_test_transition_forward", - "community": 122, - "norm_label": "test_transition_forward()" - }, - { - "label": "test_transition_unknown_raises()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L106", - "id": "sync_test_queue_test_transition_unknown_raises", - "community": 122, - "norm_label": "test_transition_unknown_raises()" - }, - { - "label": "test_transition_increments_verify_passes()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L111", - "id": "sync_test_queue_test_transition_increments_verify_passes", - "community": 122, - "norm_label": "test_transition_increments_verify_passes()" - }, - { - "label": "test_record_failure_increments_attempts()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L123", - "id": "sync_test_queue_test_record_failure_increments_attempts", - "community": 122, - "norm_label": "test_record_failure_increments_attempts()" - }, - { - "label": "test_record_failure_terminal()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L132", - "id": "sync_test_queue_test_record_failure_terminal", - "community": 122, - "norm_label": "test_record_failure_terminal()" - }, - { - "label": "test_record_failure_terminal_after_max_attempts()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L139", - "id": "sync_test_queue_test_record_failure_terminal_after_max_attempts", - "community": 122, - "norm_label": "test_record_failure_terminal_after_max_attempts()" - }, - { - "label": "test_compute_next_attempt_at_uses_schedule()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L148", - "id": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", - "community": 265, - "norm_label": "test_compute_next_attempt_at_uses_schedule()" - }, - { - "label": "test_compute_next_attempt_at_out_of_range()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L158", - "id": "sync_test_queue_test_compute_next_attempt_at_out_of_range", - "community": 265, - "norm_label": "test_compute_next_attempt_at_out_of_range()" - }, - { - "label": "test_persistence_across_reinit()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L164", - "id": "sync_test_queue_test_persistence_across_reinit", - "community": 264, - "norm_label": "test_persistence_across_reinit()" - }, - { - "label": "test_init_replays_running_to_queued()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L180", - "id": "sync_test_queue_test_init_replays_running_to_queued", - "community": 264, - "norm_label": "test_init_replays_running_to_queued()" - }, - { - "label": "test_list_in_state_returns_only_matching()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L197", - "id": "sync_test_queue_test_list_in_state_returns_only_matching", - "community": 122, - "norm_label": "test_list_in_state_returns_only_matching()" - }, - { - "label": "test_list_all_orders_by_enqueued_at()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L207", - "id": "sync_test_queue_test_list_all_orders_by_enqueued_at", - "community": 122, - "norm_label": "test_list_all_orders_by_enqueued_at()" - }, - { - "label": "test_reset_to_queued_clears_attempts()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L215", - "id": "sync_test_queue_test_reset_to_queued_clears_attempts", - "community": 122, - "norm_label": "test_reset_to_queued_clears_attempts()" - }, - { - "label": "test_reset_to_queued_unknown_raises()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L224", - "id": "sync_test_queue_test_reset_to_queued_unknown_raises", - "community": 122, - "norm_label": "test_reset_to_queued_unknown_raises()" - }, - { - "label": "test_record_failure_unknown_raises()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L229", - "id": "sync_test_queue_test_record_failure_unknown_raises", - "community": 122, - "norm_label": "test_record_failure_unknown_raises()" - }, - { - "label": "test_delete_removes_row()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L234", - "id": "sync_test_queue_test_delete_removes_row", - "community": 122, - "norm_label": "test_delete_removes_row()" - }, - { - "label": "test_is_terminal_classifies_states()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L240", - "id": "sync_test_queue_test_is_terminal_classifies_states", - "community": 122, - "norm_label": "test_is_terminal_classifies_states()" - }, - { - "label": "test_init_required_before_use()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L247", - "id": "sync_test_queue_test_init_required_before_use", - "community": 264, - "norm_label": "test_init_required_before_use()" - }, - { - "label": "test_close_is_idempotent()", - "file_type": "code", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L254", - "id": "sync_test_queue_test_close_is_idempotent", - "community": 264, - "norm_label": "test_close_is_idempotent()" - }, - { - "label": "Tests for ``exlab_wizard.sync.queue``. Covers the durable SQLite-backed sync-jo", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L1", - "id": "sync_test_queue_rationale_1", - "community": 122, - "norm_label": "tests for ``exlab_wizard.sync.queue``. covers the durable sqlite-backed sync-jo" - }, - { - "label": "``insert`` produces a QUEUED row with a generated UUID job id.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L36", - "id": "sync_test_queue_rationale_36", - "community": 122, - "norm_label": "``insert`` produces a queued row with a generated uuid job id." - }, - { - "label": "Two inserts on the same run_path violate UNIQUE.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L46", - "id": "sync_test_queue_rationale_46", - "community": 122, - "norm_label": "two inserts on the same run_path violate unique." - }, - { - "label": "The per-file ``files`` list round-trips through insert and read.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L53", - "id": "sync_test_queue_rationale_53", - "community": 122, - "norm_label": "the per-file ``files`` list round-trips through insert and read." - }, - { - "label": "A job inserted without ``files`` reads back as the empty 'whole run' tuple.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L63", - "id": "sync_test_queue_rationale_63", - "community": 122, - "norm_label": "a job inserted without ``files`` reads back as the empty 'whole run' tuple." - }, - { - "label": "``requeue_with_files`` re-arms a terminal job in QUEUED with a new subset.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L72", - "id": "sync_test_queue_rationale_72", - "community": 122, - "norm_label": "``requeue_with_files`` re-arms a terminal job in queued with a new subset." - }, - { - "label": "The 1st through 5th attempts use the documented backoff sequence.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L149", - "id": "sync_test_queue_rationale_149", - "community": 265, - "norm_label": "the 1st through 5th attempts use the documented backoff sequence." - }, - { - "label": "Attempts <1 or >MAX_ATTEMPTS yield ``None``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L159", - "id": "sync_test_queue_rationale_159", - "community": 265, - "norm_label": "attempts <1 or >max_attempts yield ``none``." - }, - { - "label": "A queue rebuilt against the same db file sees the prior rows.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L165", - "id": "sync_test_queue_rationale_165", - "community": 264, - "norm_label": "a queue rebuilt against the same db file sees the prior rows." - }, - { - "label": "A RUNNING row from a prior process is downgraded to QUEUED on restart.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L181", - "id": "sync_test_queue_rationale_181", - "community": 264, - "norm_label": "a running row from a prior process is downgraded to queued on restart." - }, - { - "label": "Operations without init() raise a clear RuntimeError.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L248", - "id": "sync_test_queue_rationale_248", - "community": 264, - "norm_label": "operations without init() raise a clear runtimeerror." - }, - { - "label": "test_nas_client.py", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L1", - "id": "tests_unit_sync_test_nas_client_py", - "community": 8, - "norm_label": "test_nas_client.py" - }, - { - "label": "_build_config()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L62", - "id": "sync_test_nas_client_build_config", - "community": 8, - "norm_label": "_build_config()" - }, - { - "label": "_make_creation()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L86", - "id": "sync_test_nas_client_make_creation", - "community": 8, - "norm_label": "_make_creation()" - }, - { - "label": "_populate_run()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L106", - "id": "sync_test_nas_client_populate_run", - "community": 8, - "norm_label": "_populate_run()" - }, - { - "label": "_make_push_factory()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L119", - "id": "sync_test_nas_client_make_push_factory", - "community": 8, - "norm_label": "_make_push_factory()" - }, - { - "label": "writer()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L136", - "id": "sync_test_nas_client_writer", - "community": 8, - "norm_label": "writer()" - }, - { - "label": "test_enqueue_blocks_run_with_hard_finding_no_override()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L145", - "id": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", - "community": 8, - "norm_label": "test_enqueue_blocks_run_with_hard_finding_no_override()" - }, - { - "label": "test_enqueue_clean_run_creates_queued_row()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L176", - "id": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", - "community": 8, - "norm_label": "test_enqueue_clean_run_creates_queued_row()" - }, - { - "label": "test_enqueue_with_active_override_unblocks()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L206", - "id": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", - "community": 8, - "norm_label": "test_enqueue_with_active_override_unblocks()" - }, - { - "label": "test_status_returns_none_when_no_job()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L254", - "id": "sync_test_nas_client_test_status_returns_none_when_no_job", - "community": 8, - "norm_label": "test_status_returns_none_when_no_job()" - }, - { - "label": "test_retry_resets_failed_to_queued()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L275", - "id": "sync_test_nas_client_test_retry_resets_failed_to_queued", - "community": 8, - "norm_label": "test_retry_resets_failed_to_queued()" - }, - { - "label": "test_force_verify_returns_self_consistent()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L310", - "id": "sync_test_nas_client_test_force_verify_returns_self_consistent", - "community": 8, - "norm_label": "test_force_verify_returns_self_consistent()" - }, - { - "label": "test_worker_drives_to_verified_and_marks_synced()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L334", - "id": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", - "community": 8, - "norm_label": "test_worker_drives_to_verified_and_marks_synced()" - }, - { - "label": "test_routine_reconcile_marks_synced_from_lsjson()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L377", - "id": "sync_test_nas_client_test_routine_reconcile_marks_synced_from_lsjson", - "community": 8, - "norm_label": "test_routine_reconcile_marks_synced_from_lsjson()" - }, - { - "label": "test_routine_reconcile_requeues_when_remote_file_missing()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L439", - "id": "sync_test_nas_client_test_routine_reconcile_requeues_when_remote_file_missing", - "community": 8, - "norm_label": "test_routine_reconcile_requeues_when_remote_file_missing()" - }, - { - "label": "test_worker_terminal_failed_on_auth_error()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L496", - "id": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", - "community": 8, - "norm_label": "test_worker_terminal_failed_on_auth_error()" - }, - { - "label": "test_enqueue_existing_failed_resets_to_queued()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L522", - "id": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", - "community": 8, - "norm_label": "test_enqueue_existing_failed_resets_to_queued()" - }, - { - "label": "test_enqueue_idempotent_for_already_queued_row()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L555", - "id": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", - "community": 8, - "norm_label": "test_enqueue_idempotent_for_already_queued_row()" - }, - { - "label": "test_close_is_idempotent()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L589", - "id": "sync_test_nas_client_test_close_is_idempotent", - "community": 8, - "norm_label": "test_close_is_idempotent()" - }, - { - "label": "test_mark_cleaned_writes_cleaned_to_creation_json()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L607", - "id": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", - "community": 8, - "norm_label": "test_mark_cleaned_writes_cleaned_to_creation_json()" - }, - { - "label": "test_mark_cleaned_is_noop_when_creation_json_missing()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L629", - "id": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", - "community": 8, - "norm_label": "test_mark_cleaned_is_noop_when_creation_json_missing()" - }, - { - "label": "test_enqueue_with_files_inserts_subset()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L656", - "id": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", - "community": 8, - "norm_label": "test_enqueue_with_files_inserts_subset()" - }, - { - "label": "test_enqueue_requeues_terminal_job_with_new_files()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L684", - "id": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", - "community": 8, - "norm_label": "test_enqueue_requeues_terminal_job_with_new_files()" - }, - { - "label": "test_enqueue_noops_active_job_with_new_files()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L719", - "id": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", - "community": 8, - "norm_label": "test_enqueue_noops_active_job_with_new_files()" - }, - { - "label": "test_apply_config_swaps_equipment_map()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L756", - "id": "sync_test_nas_client_test_apply_config_swaps_equipment_map", - "community": 8, - "norm_label": "test_apply_config_swaps_equipment_map()" - }, - { - "label": "_client_for_target_test()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L790", - "id": "sync_test_nas_client_client_for_target_test", - "community": 8, - "norm_label": "_client_for_target_test()" - }, - { - "label": "test_target_for_stage_mode_uses_staging_remote()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L799", - "id": "sync_test_nas_client_test_target_for_stage_mode_uses_staging_remote", - "community": 0, - "norm_label": "test_target_for_stage_mode_uses_staging_remote()" - }, - { - "label": "test_target_for_nas_mode_uses_nas_remote()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L826", - "id": "sync_test_nas_client_test_target_for_nas_mode_uses_nas_remote", - "community": 0, - "norm_label": "test_target_for_nas_mode_uses_nas_remote()" - }, - { - "label": "test_driver_for_stage_mode_uses_staging_perf()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L853", - "id": "sync_test_nas_client_test_driver_for_stage_mode_uses_staging_perf", - "community": 8, - "norm_label": "test_driver_for_stage_mode_uses_staging_perf()" - }, - { - "label": "_make_recording_push_factory()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L903", - "id": "sync_test_nas_client_make_recording_push_factory", - "community": 8, - "norm_label": "_make_recording_push_factory()" - }, - { - "label": "test_drive_job_bandwidth_comes_from_nas_block()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L925", - "id": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block", - "community": 8, - "norm_label": "test_drive_job_bandwidth_comes_from_nas_block()" - }, - { - "label": "Unit tests for ``exlab_wizard.sync.nas_client.NASSyncClient``. Backend Spec \u00a77.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L1", - "id": "sync_test_nas_client_rationale_1", - "community": 8, - "norm_label": "unit tests for ``exlab_wizard.sync.nas_client.nassyncclient``. backend spec \u00a77." - }, - { - "label": "Build a clean run directory with a creation.json under EQ1/PROJ-0042/.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L107", - "id": "sync_test_nas_client_rationale_107", - "community": 8, - "norm_label": "build a clean run directory with a creation.json under eq1/proj-0042/." - }, - { - "label": "A push callable factory that yields deterministic outcomes for tests.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L122", - "id": "sync_test_nas_client_rationale_122", - "community": 8, - "norm_label": "a push callable factory that yields deterministic outcomes for tests." - }, - { - "label": "A run path containing ```` is gated and not queued.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L148", - "id": "sync_test_nas_client_rationale_148", - "community": 8, - "norm_label": "a run path containing ```` is gated and not queued." - }, - { - "label": "A run with placeholder findings + matching active overrides is queued.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L209", - "id": "sync_test_nas_client_rationale_209", - "community": 8, - "norm_label": "a run with placeholder findings + matching active overrides is queued." - }, - { - "label": "A successful push -> AWAITING_VERIFY -> VERIFIED -> sync_status='synced'.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L337", - "id": "sync_test_nas_client_rationale_337", - "community": 8, - "norm_label": "a successful push -> awaiting_verify -> verified -> sync_status='synced'." - }, - { - "label": "The routine post-push path credits files via lsjson, NOT check --download.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L380", - "id": "sync_test_nas_client_rationale_380", - "community": 8, - "norm_label": "the routine post-push path credits files via lsjson, not check --download." - }, - { - "label": "A file absent from the lsjson listing leaves the job re-queued. The present", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L442", - "id": "sync_test_nas_client_rationale_442", - "community": 8, - "norm_label": "a file absent from the lsjson listing leaves the job re-queued. the present" - }, - { - "label": "Re-enqueueing a FAILED row resets it back to QUEUED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L525", - "id": "sync_test_nas_client_rationale_525", - "community": 8, - "norm_label": "re-enqueueing a failed row resets it back to queued." - }, - { - "label": "Enqueueing twice for the same path returns the same job id.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L558", - "id": "sync_test_nas_client_rationale_558", - "community": 8, - "norm_label": "enqueueing twice for the same path returns the same job id." - }, - { - "label": "``_mark_cleaned`` flips ``creation.json.sync_status`` to ``\"cleaned\"``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L610", - "id": "sync_test_nas_client_rationale_610", - "community": 8, - "norm_label": "``_mark_cleaned`` flips ``creation.json.sync_status`` to ``\"cleaned\"``." - }, - { - "label": "With ``retain_cache=False`` the cache dir is gone; ``_mark_cleaned`` no-ops.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L632", - "id": "sync_test_nas_client_rationale_632", - "community": 8, - "norm_label": "with ``retain_cache=false`` the cache dir is gone; ``_mark_cleaned`` no-ops." - }, - { - "label": "``enqueue(run, files=[...])`` stores the subset on the queue row.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L657", - "id": "sync_test_nas_client_rationale_657", - "community": 8, - "norm_label": "``enqueue(run, files=[...])`` stores the subset on the queue row." - }, - { - "label": "A terminal (FAILED) job is re-armed in QUEUED with a fresh file subset.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L687", - "id": "sync_test_nas_client_rationale_687", - "community": 8, - "norm_label": "a terminal (failed) job is re-armed in queued with a fresh file subset." - }, - { - "label": "An active (QUEUED) job is left untouched when re-enqueued with new files.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L722", - "id": "sync_test_nas_client_rationale_722", - "community": 8, - "norm_label": "an active (queued) job is left untouched when re-enqueued with new files." - }, - { - "label": "A live config swap rebuilds the equipment lookup in place.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L757", - "id": "sync_test_nas_client_rationale_757", - "community": 8, - "norm_label": "a live config swap rebuilds the equipment lookup in place." - }, - { - "label": "stage-mode equipment push to the orchestrator's staging remote.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L800", - "id": "sync_test_nas_client_rationale_800", - "community": 0, - "norm_label": "stage-mode equipment push to the orchestrator's staging remote." - }, - { - "label": "nas-mode target still composes from the ``nas:`` block (unchanged).", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L827", - "id": "sync_test_nas_client_rationale_827", - "community": 0, - "norm_label": "nas-mode target still composes from the ``nas:`` block (unchanged)." - }, - { - "label": "stage-mode driver picks up ``orchestrator.staging_perf`` while sharing ``nas", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L854", - "id": "sync_test_nas_client_rationale_854", - "community": 8, - "norm_label": "stage-mode driver picks up ``orchestrator.staging_perf`` while sharing ``nas" - }, - { - "label": "Return ``(factory, recorded_bwlimits)`` where the factory's push callable ap", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L907", - "id": "sync_test_nas_client_rationale_907", - "community": 8, - "norm_label": "return ``(factory, recorded_bwlimits)`` where the factory's push callable ap" - }, - { - "label": "``_drive_job`` must derive its bandwidth cap from ``config.nas.bandwidth``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L928", - "id": "sync_test_nas_client_rationale_928", - "community": 8, - "norm_label": "``_drive_job`` must derive its bandwidth cap from ``config.nas.bandwidth``." - }, - { - "label": "test_pre_sync_gate.py", - "file_type": "code", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L1", - "id": "tests_unit_sync_test_pre_sync_gate_py", - "community": 189, - "norm_label": "test_pre_sync_gate.py" - }, - { - "label": "_build_creation()", - "file_type": "code", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L28", - "id": "sync_test_pre_sync_gate_build_creation", - "community": 189, - "norm_label": "_build_creation()" - }, - { - "label": "validator()", - "file_type": "code", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L58", - "id": "sync_test_pre_sync_gate_validator", - "community": 189, - "norm_label": "validator()" - }, - { - "label": "test_clean_run_is_eligible()", - "file_type": "code", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L62", - "id": "sync_test_pre_sync_gate_test_clean_run_is_eligible", - "community": 189, - "norm_label": "test_clean_run_is_eligible()" - }, - { - "label": "test_hard_finding_blocks()", - "file_type": "code", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L78", - "id": "sync_test_pre_sync_gate_test_hard_finding_blocks", - "community": 189, - "norm_label": "test_hard_finding_blocks()" - }, - { - "label": "test_active_override_unblocks()", - "file_type": "code", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L94", - "id": "sync_test_pre_sync_gate_test_active_override_unblocks", - "community": 189, - "norm_label": "test_active_override_unblocks()" - }, - { - "label": "test_revoked_override_does_not_unblock()", - "file_type": "code", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L130", - "id": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", - "community": 189, - "norm_label": "test_revoked_override_does_not_unblock()" - }, - { - "label": "test_soft_finding_does_not_block()", - "file_type": "code", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L165", - "id": "sync_test_pre_sync_gate_test_soft_finding_does_not_block", - "community": 189, - "norm_label": "test_soft_finding_does_not_block()" - }, - { - "label": "Tests for ``exlab_wizard.sync.pre_sync_gate``. Backend Spec \u00a77.3. The Pre-Sync", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L1", - "id": "sync_test_pre_sync_gate_rationale_1", - "community": 189, - "norm_label": "tests for ``exlab_wizard.sync.pre_sync_gate``. backend spec \u00a77.3. the pre-sync" - }, - { - "label": "A creation with no validator findings is eligible for sync.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L63", - "id": "sync_test_pre_sync_gate_rationale_63", - "community": 189, - "norm_label": "a creation with no validator findings is eligible for sync." - }, - { - "label": "An unresolved-placeholder token in the path triggers a block.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L79", - "id": "sync_test_pre_sync_gate_rationale_79", - "community": 189, - "norm_label": "an unresolved-placeholder token in the path triggers a block." - }, - { - "label": "An active override matching the finding's rule unblocks sync.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L95", - "id": "sync_test_pre_sync_gate_rationale_95", - "community": 189, - "norm_label": "an active override matching the finding's rule unblocks sync." - }, - { - "label": "An override that has been revoked does NOT unblock sync.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L131", - "id": "sync_test_pre_sync_gate_rationale_131", - "community": 189, - "norm_label": "an override that has been revoked does not unblock sync." - }, - { - "label": "A soft-tier finding (missing-required-field) does NOT block sync. The valid", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L166", - "id": "sync_test_pre_sync_gate_rationale_166", - "community": 189, - "norm_label": "a soft-tier finding (missing-required-field) does not block sync. the valid" - }, - { - "label": "_helpers.py", - "file_type": "code", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L1", - "id": "tests_unit_sync_helpers_py", - "community": 1, - "norm_label": "_helpers.py" - }, - { - "label": "_read_files_from()", - "file_type": "code", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L45", - "id": "sync_helpers_read_files_from", - "community": 1, - "norm_label": "_read_files_from()" - }, - { - "label": "_walk_local()", - "file_type": "code", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L56", - "id": "sync_helpers_walk_local", - "community": 115, - "norm_label": "_walk_local()" - }, - { - "label": "local_lsjson_factory()", - "file_type": "code", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L79", - "id": "sync_helpers_local_lsjson_factory", - "community": 1, - "norm_label": "local_lsjson_factory()" - }, - { - "label": "missing_one_lsjson_factory()", - "file_type": "code", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L97", - "id": "sync_helpers_missing_one_lsjson_factory", - "community": 1, - "norm_label": "missing_one_lsjson_factory()" - }, - { - "label": "local_check_factory()", - "file_type": "code", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L118", - "id": "sync_helpers_local_check_factory", - "community": 1, - "norm_label": "local_check_factory()" - }, - { - "label": "corrupt_one_check_factory()", - "file_type": "code", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L137", - "id": "sync_helpers_corrupt_one_check_factory", - "community": 1, - "norm_label": "corrupt_one_check_factory()" - }, - { - "label": "Shared helpers for ``tests/unit/sync/`` test modules. Kept under a leading-unde", - "file_type": "rationale", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L1", - "id": "sync_helpers_rationale_1", - "community": 1, - "norm_label": "shared helpers for ``tests/unit/sync/`` test modules. kept under a leading-unde" - }, - { - "label": "Read run-relative paths from a ``--files-from`` tempfile.", - "file_type": "rationale", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L46", - "id": "sync_helpers_rationale_46", - "community": 1, - "norm_label": "read run-relative paths from a ``--files-from`` tempfile." - }, - { - "label": "Build a perfect remote manifest from the local run subtree. Each non-cache", - "file_type": "rationale", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L57", - "id": "sync_helpers_rationale_57", - "community": 115, - "norm_label": "build a perfect remote manifest from the local run subtree. each non-cache" - }, - { - "label": "lsjson factory whose closure mirrors the local subtree perfectly. Returns a", - "file_type": "rationale", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L80", - "id": "sync_helpers_rationale_80", - "community": 1, - "norm_label": "lsjson factory whose closure mirrors the local subtree perfectly. returns a" - }, - { - "label": "lsjson factory whose closure omits ``missing_rel`` from the manifest. Every", - "file_type": "rationale", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L100", - "id": "sync_helpers_rationale_100", - "community": 1, - "norm_label": "lsjson factory whose closure omits ``missing_rel`` from the manifest. every" - }, - { - "label": "Check factory whose closure declares every file equal. Returns a closure co", - "file_type": "rationale", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L119", - "id": "sync_helpers_rationale_119", - "community": 1, - "norm_label": "check factory whose closure declares every file equal. returns a closure co" - }, - { - "label": "Check factory whose closure flags ``corrupt_rel`` as ``differ``. Every othe", - "file_type": "rationale", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L140", - "id": "sync_helpers_rationale_140", - "community": 1, - "norm_label": "check factory whose closure flags ``corrupt_rel`` as ``differ``. every othe" - }, - { - "label": "test_run.py", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L1", - "id": "tests_unit_sync_transports_test_run_py", - "community": 167, - "norm_label": "test_run.py" - }, - { - "label": "test_run_subprocess_returns_rc_and_streams()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L17", - "id": "transports_test_run_test_run_subprocess_returns_rc_and_streams", - "community": 167, - "norm_label": "test_run_subprocess_returns_rc_and_streams()" - }, - { - "label": "test_run_subprocess_inherits_environment()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L26", - "id": "transports_test_run_test_run_subprocess_inherits_environment", - "community": 167, - "norm_label": "test_run_subprocess_inherits_environment()" - }, - { - "label": "test_run_subprocess_logs_only_the_command()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L41", - "id": "transports_test_run_test_run_subprocess_logs_only_the_command", - "community": 167, - "norm_label": "test_run_subprocess_logs_only_the_command()" - }, - { - "label": "Unit tests for ``exlab_wizard.sync.transports._run.run_subprocess``. rclone.con", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L1", - "id": "transports_test_run_rationale_1", - "community": 167, - "norm_label": "unit tests for ``exlab_wizard.sync.transports._run.run_subprocess``. rclone.con" - }, - { - "label": "The child inherits the parent's environment unchanged.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L27", - "id": "transports_test_run_rationale_27", - "community": 167, - "norm_label": "the child inherits the parent's environment unchanged." - }, - { - "label": "The debug log carries the command line -- and no env block.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L42", - "id": "transports_test_run_rationale_42", - "community": 167, - "norm_label": "the debug log carries the command line -- and no env block." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/sync/transports/__init__.py", - "source_location": "L1", - "id": "tests_unit_sync_transports_init_py", - "community": 557, - "norm_label": "__init__.py" - }, - { - "label": "test_handlers.py", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L1", - "id": "tests_unit_logging_test_handlers_py", - "community": 196, - "norm_label": "test_handlers.py" - }, - { - "label": "_reset_context()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L29", - "id": "logging_test_handlers_reset_context", - "community": 144, - "norm_label": "_reset_context()" - }, - { - "label": "_make_handler()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L34", - "id": "logging_test_handlers_make_handler", - "community": 196, - "norm_label": "_make_handler()" - }, - { - "label": "_make_record()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L41", - "id": "logging_test_handlers_make_record", - "community": 196, - "norm_label": "_make_record()" - }, - { - "label": "test_writes_to_equipment_scoped_path()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L60", - "id": "logging_test_handlers_test_writes_to_equipment_scoped_path", - "community": 196, - "norm_label": "test_writes_to_equipment_scoped_path()" - }, - { - "label": "test_writes_to_separate_files_per_equipment()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L76", - "id": "logging_test_handlers_test_writes_to_separate_files_per_equipment", - "community": 196, - "norm_label": "test_writes_to_separate_files_per_equipment()" - }, - { - "label": "test_subsequent_emits_reuse_the_same_file_descriptor()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L103", - "id": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", - "community": 196, - "norm_label": "test_subsequent_emits_reuse_the_same_file_descriptor()" - }, - { - "label": "test_one_open_per_equipment_even_with_many_emits()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L129", - "id": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", - "community": 196, - "norm_label": "test_one_open_per_equipment_even_with_many_emits()" - }, - { - "label": "test_emit_without_equipment_id_writes_no_file()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L152", - "id": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", - "community": 196, - "norm_label": "test_emit_without_equipment_id_writes_no_file()" - }, - { - "label": "test_emit_with_explicit_none_equipment_skipped()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L164", - "id": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", - "community": 196, - "norm_label": "test_emit_with_explicit_none_equipment_skipped()" - }, - { - "label": "test_fsync_invoked_only_on_error_level()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L181", - "id": "logging_test_handlers_test_fsync_invoked_only_on_error_level", - "community": 196, - "norm_label": "test_fsync_invoked_only_on_error_level()" - }, - { - "label": "test_fsync_on_error_passes_correct_fd()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L199", - "id": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", - "community": 196, - "norm_label": "test_fsync_on_error_passes_correct_fd()" - }, - { - "label": "test_close_drains_cached_files()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L217", - "id": "logging_test_handlers_test_close_drains_cached_files", - "community": 196, - "norm_label": "test_close_drains_cached_files()" - }, - { - "label": "test_close_is_idempotent()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L232", - "id": "logging_test_handlers_test_close_is_idempotent", - "community": 196, - "norm_label": "test_close_is_idempotent()" - }, - { - "label": "test_emit_routes_unexpected_exception_through_handle_error()", - "file_type": "code", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L247", - "id": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", - "community": 196, - "norm_label": "test_emit_routes_unexpected_exception_through_handle_error()" - }, - { - "label": "Tests for ``exlab_wizard.logging.handlers``. Backend Spec \u00a716.2.4 commits the e", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L1", - "id": "logging_test_handlers_rationale_1", - "community": 196, - "norm_label": "tests for ``exlab_wizard.logging.handlers``. backend spec \u00a716.2.4 commits the e" - }, - { - "label": "Wipe the run-context vars between cases so handler tests are isolated.", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L30", - "id": "logging_test_handlers_rationale_30", - "community": 144, - "norm_label": "wipe the run-context vars between cases so handler tests are isolated." - }, - { - "label": "Construct a handler with a deterministic hostname for test paths.", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L35", - "id": "logging_test_handlers_rationale_35", - "community": 196, - "norm_label": "construct a handler with a deterministic hostname for test paths." - }, - { - "label": "The ``Exception`` branch in :meth:`emit` is the stdlib handler-error contrac", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L248", - "id": "logging_test_handlers_rationale_248", - "community": 196, - "norm_label": "the ``exception`` branch in :meth:`emit` is the stdlib handler-error contrac" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/logging/__init__.py", - "source_location": "L1", - "id": "tests_unit_logging_init_py", - "community": 558, - "norm_label": "__init__.py" - }, - { - "label": "test_context.py", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L1", - "id": "tests_unit_logging_test_context_py", - "community": 144, - "norm_label": "test_context.py" - }, - { - "label": "_reset_context()", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L31", - "id": "logging_test_context_reset_context", - "community": 144, - "norm_label": "_reset_context()" - }, - { - "label": "test_set_run_context_pushes_supplied_vars()", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L41", - "id": "logging_test_context_test_set_run_context_pushes_supplied_vars", - "community": 144, - "norm_label": "test_set_run_context_pushes_supplied_vars()" - }, - { - "label": "test_unsupplied_vars_are_unchanged()", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L56", - "id": "logging_test_context_test_unsupplied_vars_are_unchanged", - "community": 144, - "norm_label": "test_unsupplied_vars_are_unchanged()" - }, - { - "label": "test_context_exit_restores_prior_values()", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L70", - "id": "logging_test_context_test_context_exit_restores_prior_values", - "community": 144, - "norm_label": "test_context_exit_restores_prior_values()" - }, - { - "label": "test_context_exit_clears_when_no_prior_value()", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L81", - "id": "logging_test_context_test_context_exit_clears_when_no_prior_value", - "community": 144, - "norm_label": "test_context_exit_clears_when_no_prior_value()" - }, - { - "label": "test_set_run_context_with_no_args_is_noop()", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L88", - "id": "logging_test_context_test_set_run_context_with_no_args_is_noop", - "community": 144, - "norm_label": "test_set_run_context_with_no_args_is_noop()" - }, - { - "label": "test_concurrent_asyncio_tasks_have_independent_contexts()", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L101", - "id": "logging_test_context_test_concurrent_asyncio_tasks_have_independent_contexts", - "community": 144, - "norm_label": "test_concurrent_asyncio_tasks_have_independent_contexts()" - }, - { - "label": "test_get_run_context_returns_snapshot_dict()", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L134", - "id": "logging_test_context_test_get_run_context_returns_snapshot_dict", - "community": 144, - "norm_label": "test_get_run_context_returns_snapshot_dict()" - }, - { - "label": "test_get_run_context_returns_all_keys_even_when_empty()", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L149", - "id": "logging_test_context_test_get_run_context_returns_all_keys_even_when_empty", - "community": 144, - "norm_label": "test_get_run_context_returns_all_keys_even_when_empty()" - }, - { - "label": "test_clear_run_context_resets_every_var()", - "file_type": "code", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L163", - "id": "logging_test_context_test_clear_run_context_resets_every_var", - "community": 144, - "norm_label": "test_clear_run_context_resets_every_var()" - }, - { - "label": "Tests for ``exlab_wizard.logging.context``. Backend Spec \u00a716.2.3 commits the pe", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L1", - "id": "logging_test_context_rationale_1", - "community": 144, - "norm_label": "tests for ``exlab_wizard.logging.context``. backend spec \u00a716.2.3 commits the pe" - }, - { - "label": "Wipe context vars before each test to prevent cross-test leakage.", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L32", - "id": "logging_test_context_rationale_32", - "community": 144, - "norm_label": "wipe context vars before each test to prevent cross-test leakage." - }, - { - "label": "Two ``asyncio.gather``-ed tasks must not see each other's context. This is", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L102", - "id": "logging_test_context_rationale_102", - "community": 144, - "norm_label": "two ``asyncio.gather``-ed tasks must not see each other's context. this is" - }, - { - "label": "test_manager.py", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L1", - "id": "tests_unit_logging_test_manager_py", - "community": 19, - "norm_label": "test_manager.py" - }, - { - "label": "_isolate_central_log()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L30", - "id": "logging_test_manager_isolate_central_log", - "community": 19, - "norm_label": "_isolate_central_log()" - }, - { - "label": "test_get_logger_importable_from_package()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L50", - "id": "logging_test_manager_test_get_logger_importable_from_package", - "community": 19, - "norm_label": "test_get_logger_importable_from_package()" - }, - { - "label": "test_get_logger_importable_from_manager_module()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L56", - "id": "logging_test_manager_test_get_logger_importable_from_manager_module", - "community": 19, - "norm_label": "test_get_logger_importable_from_manager_module()" - }, - { - "label": "test_package_and_manager_export_the_same_callable()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L62", - "id": "logging_test_manager_test_package_and_manager_export_the_same_callable", - "community": 19, - "norm_label": "test_package_and_manager_export_the_same_callable()" - }, - { - "label": "test_get_logger_returns_stdlib_logger_instance()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L69", - "id": "logging_test_manager_test_get_logger_returns_stdlib_logger_instance", - "community": 19, - "norm_label": "test_get_logger_returns_stdlib_logger_instance()" - }, - { - "label": "test_get_logger_sets_name_on_returned_logger()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L76", - "id": "logging_test_manager_test_get_logger_sets_name_on_returned_logger", - "community": 19, - "norm_label": "test_get_logger_sets_name_on_returned_logger()" - }, - { - "label": "test_get_logger_is_idempotent_for_same_name()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L83", - "id": "logging_test_manager_test_get_logger_is_idempotent_for_same_name", - "community": 19, - "norm_label": "test_get_logger_is_idempotent_for_same_name()" - }, - { - "label": "test_get_logger_returns_distinct_loggers_for_different_names()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L93", - "id": "logging_test_manager_test_get_logger_returns_distinct_loggers_for_different_names", - "community": 19, - "norm_label": "test_get_logger_returns_distinct_loggers_for_different_names()" - }, - { - "label": "test_logging_package_all_contains_get_logger()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L103", - "id": "logging_test_manager_test_logging_package_all_contains_get_logger", - "community": 19, - "norm_label": "test_logging_package_all_contains_get_logger()" - }, - { - "label": "test_configure_logging_with_default_threshold_and_handlers()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L112", - "id": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers", - "community": 19, - "norm_label": "test_configure_logging_with_default_threshold_and_handlers()" - }, - { - "label": "test_configure_logging_applies_config_level()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L121", - "id": "logging_test_manager_test_configure_logging_applies_config_level", - "community": 19, - "norm_label": "test_configure_logging_applies_config_level()" - }, - { - "label": "test_configure_logging_idempotent_does_not_accumulate_handlers()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L128", - "id": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", - "community": 19, - "norm_label": "test_configure_logging_idempotent_does_not_accumulate_handlers()" - }, - { - "label": "test_configure_logging_routes_records_through_queue_listener()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L143", - "id": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", - "community": 19, - "norm_label": "test_configure_logging_routes_records_through_queue_listener()" - }, - { - "label": "test_shutdown_logging_is_idempotent()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L154", - "id": "logging_test_manager_test_shutdown_logging_is_idempotent", - "community": 19, - "norm_label": "test_shutdown_logging_is_idempotent()" - }, - { - "label": "test_configure_logging_installs_central_rotating_file_handler()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L161", - "id": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler", - "community": 19, - "norm_label": "test_configure_logging_installs_central_rotating_file_handler()" - }, - { - "label": "test_configure_logging_stderr_handler_is_warn_capped()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L176", - "id": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", - "community": 19, - "norm_label": "test_configure_logging_stderr_handler_is_warn_capped()" - }, - { - "label": "test_resolve_threshold_unknown_level_falls_back_to_info()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L192", - "id": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info", - "community": 19, - "norm_label": "test_resolve_threshold_unknown_level_falls_back_to_info()" - }, - { - "label": "test_configure_logging_strips_pre_existing_queue_handler()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L207", - "id": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", - "community": 19, - "norm_label": "test_configure_logging_strips_pre_existing_queue_handler()" - }, - { - "label": "test_build_real_handlers_includes_equipment_handler_when_local_root_set()", - "file_type": "code", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L228", - "id": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", - "community": 19, - "norm_label": "test_build_real_handlers_includes_equipment_handler_when_local_root_set()" - }, - { - "label": "Tests for the logger factory + ``configure_logging`` in ``exlab_wizard.logging.m", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L1", - "id": "logging_test_manager_rationale_1", - "community": 19, - "norm_label": "tests for the logger factory + ``configure_logging`` in ``exlab_wizard.logging.m" - }, - { - "label": "Redirect ``os_central_log_path`` to ``tmp_path`` so manager tests don't writ", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L31", - "id": "logging_test_manager_rationale_31", - "community": 19, - "norm_label": "redirect ``os_central_log_path`` to ``tmp_path`` so manager tests don't writ" - }, - { - "label": "First call with ``config=None`` installs the queue-handler chain at INFO.", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L113", - "id": "logging_test_manager_rationale_113", - "community": 19, - "norm_label": "first call with ``config=none`` installs the queue-handler chain at info." - }, - { - "label": "``LoggingConfig.level`` drives the root threshold (\u00a716.5).", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L122", - "id": "logging_test_manager_rationale_122", - "community": 19, - "norm_label": "``loggingconfig.level`` drives the root threshold (\u00a716.5)." - }, - { - "label": "\u00a716.2.2: re-calling ``configure_logging`` tears down + rebuilds. The launch", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L129", - "id": "logging_test_manager_rationale_129", - "community": 19, - "norm_label": "\u00a716.2.2: re-calling ``configure_logging`` tears down + rebuilds. the launch" - }, - { - "label": "A logger.info() call in the configured handler chain produces a record that", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L144", - "id": "logging_test_manager_rationale_144", - "community": 19, - "norm_label": "a logger.info() call in the configured handler chain produces a record that" - }, - { - "label": "A second ``_shutdown_logging`` call must be a no-op (used by quit).", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L155", - "id": "logging_test_manager_rationale_155", - "community": 19, - "norm_label": "a second ``_shutdown_logging`` call must be a no-op (used by quit)." - }, - { - "label": "The downstream handler chain must include a ``RotatingFileHandler`` against", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L162", - "id": "logging_test_manager_rationale_162", - "community": 19, - "norm_label": "the downstream handler chain must include a ``rotatingfilehandler`` against" - }, - { - "label": "\u00a716.2.1: the stderr handler is capped at WARN even when the global threshold", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L177", - "id": "logging_test_manager_rationale_177", - "community": 19, - "norm_label": "\u00a716.2.1: the stderr handler is capped at warn even when the global threshold" - }, - { - "label": "A ``LoggingConfig`` with a level that ``getLevelName`` doesn't know about de", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L193", - "id": "logging_test_manager_rationale_193", - "community": 19, - "norm_label": "a ``loggingconfig`` with a level that ``getlevelname`` doesn't know about de" - }, - { - "label": "If a stray ``QueueHandler`` is on the root logger before ``configure_logging", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L208", - "id": "logging_test_manager_rationale_208", - "community": 19, - "norm_label": "if a stray ``queuehandler`` is on the root logger before ``configure_logging" - }, - { - "label": "When ``local_root`` is configured, the listener chain includes an :class:`Eq", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L231", - "id": "logging_test_manager_rationale_231", - "community": 19, - "norm_label": "when ``local_root`` is configured, the listener chain includes an :class:`eq" - }, - { - "label": "test_format.py", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L1", - "id": "tests_unit_logging_test_format_py", - "community": 123, - "norm_label": "test_format.py" - }, - { - "label": "_reset_context()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L21", - "id": "logging_test_format_reset_context", - "community": 144, - "norm_label": "_reset_context()" - }, - { - "label": "_record()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L31", - "id": "logging_test_format_record", - "community": 123, - "norm_label": "_record()" - }, - { - "label": "test_renders_all_tags_when_full_context_set()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L56", - "id": "logging_test_format_test_renders_all_tags_when_full_context_set", - "community": 123, - "norm_label": "test_renders_all_tags_when_full_context_set()" - }, - { - "label": "test_omits_tags_when_their_context_var_is_unset()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L74", - "id": "logging_test_format_test_omits_tags_when_their_context_var_is_unset", - "community": 123, - "norm_label": "test_omits_tags_when_their_context_var_is_unset()" - }, - { - "label": "test_emits_no_tags_when_context_is_empty()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L84", - "id": "logging_test_format_test_emits_no_tags_when_context_is_empty", - "community": 123, - "norm_label": "test_emits_no_tags_when_context_is_empty()" - }, - { - "label": "test_level_field_is_left_padded_to_five_chars()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L90", - "id": "logging_test_format_test_level_field_is_left_padded_to_five_chars", - "community": 123, - "norm_label": "test_level_field_is_left_padded_to_five_chars()" - }, - { - "label": "test_timestamp_is_utc_iso_8601_with_z_suffix()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L111", - "id": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix", - "community": 123, - "norm_label": "test_timestamp_is_utc_iso_8601_with_z_suffix()" - }, - { - "label": "test_message_with_format_args_is_rendered()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L122", - "id": "logging_test_format_test_message_with_format_args_is_rendered", - "community": 123, - "norm_label": "test_message_with_format_args_is_rendered()" - }, - { - "label": "test_redact_url_userinfo_password()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L143", - "id": "logging_test_format_test_redact_url_userinfo_password", - "community": 123, - "norm_label": "test_redact_url_userinfo_password()" - }, - { - "label": "test_redact_url_userinfo_password_with_punctuation()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L147", - "id": "logging_test_format_test_redact_url_userinfo_password_with_punctuation", - "community": 123, - "norm_label": "test_redact_url_userinfo_password_with_punctuation()" - }, - { - "label": "test_redact_bearer_token()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L154", - "id": "logging_test_format_test_redact_bearer_token", - "community": 123, - "norm_label": "test_redact_bearer_token()" - }, - { - "label": "test_redact_bearer_token_lowercase()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L158", - "id": "logging_test_format_test_redact_bearer_token_lowercase", - "community": 123, - "norm_label": "test_redact_bearer_token_lowercase()" - }, - { - "label": "test_redact_authorization_header()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L162", - "id": "logging_test_format_test_redact_authorization_header", - "community": 123, - "norm_label": "test_redact_authorization_header()" - }, - { - "label": "test_redact_authorization_bearer_combined()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L166", - "id": "logging_test_format_test_redact_authorization_bearer_combined", - "community": 123, - "norm_label": "test_redact_authorization_bearer_combined()" - }, - { - "label": "test_redact_leaves_non_secret_strings_alone()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L172", - "id": "logging_test_format_test_redact_leaves_non_secret_strings_alone", - "community": 123, - "norm_label": "test_redact_leaves_non_secret_strings_alone()" - }, - { - "label": "test_redact_handles_url_without_password()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L178", - "id": "logging_test_format_test_redact_handles_url_without_password", - "community": 123, - "norm_label": "test_redact_handles_url_without_password()" - }, - { - "label": "test_redact_handles_multiple_secrets_in_one_string()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L183", - "id": "logging_test_format_test_redact_handles_multiple_secrets_in_one_string", - "community": 123, - "norm_label": "test_redact_handles_multiple_secrets_in_one_string()" - }, - { - "label": "test_redact_coerces_non_string_input()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L191", - "id": "logging_test_format_test_redact_coerces_non_string_input", - "community": 123, - "norm_label": "test_redact_coerces_non_string_input()" - }, - { - "label": "test_format_appends_exception_text_when_exc_info_set()", - "file_type": "code", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L200", - "id": "logging_test_format_test_format_appends_exception_text_when_exc_info_set", - "community": 123, - "norm_label": "test_format_appends_exception_text_when_exc_info_set()" - }, - { - "label": "Tests for ``exlab_wizard.logging.format``. Backend Spec \u00a716.4 defines the canon", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L1", - "id": "logging_test_format_rationale_1", - "community": 123, - "norm_label": "tests for ``exlab_wizard.logging.format``. backend spec \u00a716.4 defines the canon" - }, - { - "label": "Ensure each test starts with no run context bleed-through.", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L22", - "id": "logging_test_format_rationale_22", - "community": 144, - "norm_label": "ensure each test starts with no run context bleed-through." - }, - { - "label": "Build a minimal ``LogRecord`` at a known timestamp. The timestamp is set to", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L32", - "id": "logging_test_format_rationale_32", - "community": 123, - "norm_label": "build a minimal ``logrecord`` at a known timestamp. the timestamp is set to" - }, - { - "label": "Spec \u00a716.4: level field is exactly 5 chars wide. \u00a716.5 commits four canonic", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L91", - "id": "logging_test_format_rationale_91", - "community": 123, - "norm_label": "spec \u00a716.4: level field is exactly 5 chars wide. \u00a716.5 commits four canonic" - }, - { - "label": "``record.exc_info`` triggers the formatter to append a traceback (\u00a716.4 keep", - "file_type": "rationale", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L201", - "id": "logging_test_format_rationale_201", - "community": 123, - "norm_label": "``record.exc_info`` triggers the formatter to append a traceback (\u00a716.4 keep" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/unit/orchestrator/__init__.py", - "source_location": "L1", - "id": "tests_unit_orchestrator_init_py", - "community": 559, - "norm_label": "__init__.py" - }, - { - "label": "test_scan.py", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L1", - "id": "tests_unit_orchestrator_test_scan_py", - "community": 11, - "norm_label": "test_scan.py" - }, - { - "label": "test_iter_subdirs_returns_empty_for_missing_path()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L23", - "id": "orchestrator_test_scan_test_iter_subdirs_returns_empty_for_missing_path", - "community": 11, - "norm_label": "test_iter_subdirs_returns_empty_for_missing_path()" - }, - { - "label": "test_iter_subdirs_skips_cache_dir_and_dotfiles()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L27", - "id": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", - "community": 11, - "norm_label": "test_iter_subdirs_skips_cache_dir_and_dotfiles()" - }, - { - "label": "test_iter_subdirs_does_not_follow_symlinks()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L38", - "id": "orchestrator_test_scan_test_iter_subdirs_does_not_follow_symlinks", - "community": 11, - "norm_label": "test_iter_subdirs_does_not_follow_symlinks()" - }, - { - "label": "test_walk_run_leaves_returns_empty_when_root_missing()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L54", - "id": "orchestrator_test_scan_test_walk_run_leaves_returns_empty_when_root_missing", - "community": 11, - "norm_label": "test_walk_run_leaves_returns_empty_when_root_missing()" - }, - { - "label": "test_walk_run_leaves_finds_experimental_and_test_runs()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L58", - "id": "orchestrator_test_scan_test_walk_run_leaves_finds_experimental_and_test_runs", - "community": 11, - "norm_label": "test_walk_run_leaves_finds_experimental_and_test_runs()" - }, - { - "label": "test_walk_run_leaves_handles_empty_tree()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L69", - "id": "orchestrator_test_scan_test_walk_run_leaves_handles_empty_tree", - "community": 11, - "norm_label": "test_walk_run_leaves_handles_empty_tree()" - }, - { - "label": "test_count_files_and_bytes_excludes_cache_dir_by_default()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L79", - "id": "orchestrator_test_scan_test_count_files_and_bytes_excludes_cache_dir_by_default", - "community": 11, - "norm_label": "test_count_files_and_bytes_excludes_cache_dir_by_default()" - }, - { - "label": "test_count_files_and_bytes_includes_cache_dir_when_requested()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L88", - "id": "orchestrator_test_scan_test_count_files_and_bytes_includes_cache_dir_when_requested", - "community": 11, - "norm_label": "test_count_files_and_bytes_includes_cache_dir_when_requested()" - }, - { - "label": "test_count_files_and_bytes_returns_zero_for_missing_path()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L97", - "id": "orchestrator_test_scan_test_count_files_and_bytes_returns_zero_for_missing_path", - "community": 11, - "norm_label": "test_count_files_and_bytes_returns_zero_for_missing_path()" - }, - { - "label": "test_count_files_and_bytes_descends_into_subdirectories()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L103", - "id": "orchestrator_test_scan_test_count_files_and_bytes_descends_into_subdirectories", - "community": 11, - "norm_label": "test_count_files_and_bytes_descends_into_subdirectories()" - }, - { - "label": "Unit tests for ``exlab_wizard.orchestrator._scan``. The shared filesystem helpe", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L1", - "id": "orchestrator_test_scan_rationale_1", - "community": 11, - "norm_label": "unit tests for ``exlab_wizard.orchestrator._scan``. the shared filesystem helpe" - }, - { - "label": "An empty staging_root has no run leaves -- not an error.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L70", - "id": "orchestrator_test_scan_rationale_70", - "community": 11, - "norm_label": "an empty staging_root has no run leaves -- not an error." - }, - { - "label": "test_staging_query.py", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L1", - "id": "tests_unit_orchestrator_test_staging_query_py", - "community": 11, - "norm_label": "test_staging_query.py" - }, - { - "label": "_config()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L29", - "id": "orchestrator_test_staging_query_config", - "community": 11, - "norm_label": "_config()" - }, - { - "label": "_seed_run()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L39", - "id": "orchestrator_test_staging_query_seed_run", - "community": 11, - "norm_label": "_seed_run()" - }, - { - "label": "test_list_staged_runs_returns_empty_when_staging_root_unset()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L61", - "id": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_unset", - "community": 11, - "norm_label": "test_list_staged_runs_returns_empty_when_staging_root_unset()" - }, - { - "label": "test_list_staged_runs_returns_empty_when_staging_root_missing()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L66", - "id": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_missing", - "community": 11, - "norm_label": "test_list_staged_runs_returns_empty_when_staging_root_missing()" - }, - { - "label": "test_list_staged_runs_returns_summary_rows()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L76", - "id": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows", - "community": 11, - "norm_label": "test_list_staged_runs_returns_summary_rows()" - }, - { - "label": "test_list_staged_runs_includes_test_runs_under_TestRuns()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L92", - "id": "orchestrator_test_staging_query_test_list_staged_runs_includes_test_runs_under_testruns", - "community": 11, - "norm_label": "test_list_staged_runs_includes_test_runs_under_testruns()" - }, - { - "label": "test_list_staged_runs_reports_syncing_when_a_file_is_unverified()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L99", - "id": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", - "community": 11, - "norm_label": "test_list_staged_runs_reports_syncing_when_a_file_is_unverified()" - }, - { - "label": "test_list_staged_runs_reports_synced_when_all_files_verified()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L108", - "id": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", - "community": 11, - "norm_label": "test_list_staged_runs_reports_synced_when_all_files_verified()" - }, - { - "label": "test_list_staged_runs_reports_cleared_after_mark_cleared()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L121", - "id": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", - "community": 11, - "norm_label": "test_list_staged_runs_reports_cleared_after_mark_cleared()" - }, - { - "label": "test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L135", - "id": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", - "community": 11, - "norm_label": "test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing()" - }, - { - "label": "test_list_staged_runs_includes_runs_without_creation_metadata()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L152", - "id": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata", - "community": 11, - "norm_label": "test_list_staged_runs_includes_runs_without_creation_metadata()" - }, - { - "label": "test_list_staged_runs_sorts_most_recent_first()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L162", - "id": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", - "community": 11, - "norm_label": "test_list_staged_runs_sorts_most_recent_first()" - }, - { - "label": "test_list_staged_runs_excludes_cache_dir_from_byte_total()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L177", - "id": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", - "community": 11, - "norm_label": "test_list_staged_runs_excludes_cache_dir_from_byte_total()" - }, - { - "label": "test_list_staged_runs_uses_explicit_staging_root_param()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L189", - "id": "orchestrator_test_staging_query_test_list_staged_runs_uses_explicit_staging_root_param", - "community": 11, - "norm_label": "test_list_staged_runs_uses_explicit_staging_root_param()" - }, - { - "label": "test_list_staged_runs_sets_last_activity_from_directory_mtime()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L197", - "id": "orchestrator_test_staging_query_test_list_staged_runs_sets_last_activity_from_directory_mtime", - "community": 11, - "norm_label": "test_list_staged_runs_sets_last_activity_from_directory_mtime()" - }, - { - "label": "Unit tests for ``exlab_wizard.orchestrator.staging_query``. Backend Spec \u00a713.8.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L1", - "id": "orchestrator_test_staging_query_rationale_1", - "community": 11, - "norm_label": "unit tests for ``exlab_wizard.orchestrator.staging_query``. backend spec \u00a713.8." - }, - { - "label": "A run with an unverified tracked file rolls up to ``syncing``.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L100", - "id": "orchestrator_test_staging_query_rationale_100", - "community": 11, - "norm_label": "a run with an unverified tracked file rolls up to ``syncing``." - }, - { - "label": "Every tracked file verified -> ``current_state == 'synced'``.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L109", - "id": "orchestrator_test_staging_query_rationale_109", - "community": 11, - "norm_label": "every tracked file verified -> ``current_state == 'synced'``." - }, - { - "label": "A run whose ``sync_state.json`` carries ``cleared_at`` rolls up to ``cleared``.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L122", - "id": "orchestrator_test_staging_query_rationale_122", - "community": 11, - "norm_label": "a run whose ``sync_state.json`` carries ``cleared_at`` rolls up to ``cleared``." - }, - { - "label": "A re-modified file (signature cleared -> unverified) flips synced back to syncin", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L136", - "id": "orchestrator_test_staging_query_rationale_136", - "community": 11, - "norm_label": "a re-modified file (signature cleared -> unverified) flips synced back to syncin" - }, - { - "label": "A run leaf with no cache metadata is still listed (ingest.json gone).", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L153", - "id": "orchestrator_test_staging_query_rationale_153", - "community": 11, - "norm_label": "a run leaf with no cache metadata is still listed (ingest.json gone)." - }, - { - "label": "The .exlab-wizard subtree is metadata, not staged data.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L178", - "id": "orchestrator_test_staging_query_rationale_178", - "community": 11, - "norm_label": "the .exlab-wizard subtree is metadata, not staged data." - }, - { - "label": "test_quiescence_poller.py", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L1", - "id": "tests_unit_orchestrator_test_quiescence_poller_py", - "community": 30, - "norm_label": "test_quiescence_poller.py" - }, - { - "label": "_StubNasSync", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L38", - "id": "orchestrator_test_quiescence_poller_stubnassync", - "community": 30, - "norm_label": "_stubnassync" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L41", - "id": "orchestrator_test_quiescence_poller_stubnassync_init", - "community": 30, - "norm_label": ".__init__()" - }, - { - "label": ".enqueue()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L44", - "id": "orchestrator_test_quiescence_poller_stubnassync_enqueue", - "community": 30, - "norm_label": ".enqueue()" - }, - { - "label": "enqueued_paths()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L48", - "id": "orchestrator_test_quiescence_poller_enqueued_paths", - "community": 30, - "norm_label": "enqueued_paths()" - }, - { - "label": "_make_config()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L57", - "id": "orchestrator_test_quiescence_poller_make_config", - "community": 30, - "norm_label": "_make_config()" - }, - { - "label": "_make_run()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L87", - "id": "orchestrator_test_quiescence_poller_make_run", - "community": 30, - "norm_label": "_make_run()" - }, - { - "label": "_poller()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L96", - "id": "orchestrator_test_quiescence_poller_poller", - "community": 30, - "norm_label": "_poller()" - }, - { - "label": "_signature()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L104", - "id": "orchestrator_test_quiescence_poller_signature", - "community": 30, - "norm_label": "_signature()" - }, - { - "label": "test_file_becomes_quiet_only_after_settle_window()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L114", - "id": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", - "community": 30, - "norm_label": "test_file_becomes_quiet_only_after_settle_window()" - }, - { - "label": "test_modified_file_resets_the_settle_window()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L136", - "id": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", - "community": 30, - "norm_label": "test_modified_file_resets_the_settle_window()" - }, - { - "label": "test_ignore_glob_files_do_not_make_a_run_eligible()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L162", - "id": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", - "community": 30, - "norm_label": "test_ignore_glob_files_do_not_make_a_run_eligible()" - }, - { - "label": "test_quiet_real_file_enqueues_despite_ignored_sibling()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L178", - "id": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", - "community": 30, - "norm_label": "test_quiet_real_file_enqueues_despite_ignored_sibling()" - }, - { - "label": "test_discovers_both_staging_and_nas_mode_runs()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L198", - "id": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", - "community": 30, - "norm_label": "test_discovers_both_staging_and_nas_mode_runs()" - }, - { - "label": "test_co_rooted_stage_mode_equipment_run_is_not_enqueued()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L220", - "id": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", - "community": 30, - "norm_label": "test_co_rooted_stage_mode_equipment_run_is_not_enqueued()" - }, - { - "label": "test_file_matching_synced_signature_is_not_re_enqueued()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L265", - "id": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", - "community": 30, - "norm_label": "test_file_matching_synced_signature_is_not_re_enqueued()" - }, - { - "label": "test_file_modified_after_recorded_sync_becomes_eligible()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L289", - "id": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", - "community": 30, - "norm_label": "test_file_modified_after_recorded_sync_becomes_eligible()" - }, - { - "label": "test_only_changed_file_in_a_run_is_enqueued()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L312", - "id": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", - "community": 30, - "norm_label": "test_only_changed_file_in_a_run_is_enqueued()" - }, - { - "label": "test_start_then_stop_is_idempotent()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L343", - "id": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", - "community": 30, - "norm_label": "test_start_then_stop_is_idempotent()" - }, - { - "label": "test_apply_config_swaps_config_reference()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L358", - "id": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference", - "community": 30, - "norm_label": "test_apply_config_swaps_config_reference()" - }, - { - "label": "test_apply_config_quiescence_change_is_live()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L366", - "id": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", - "community": 30, - "norm_label": "test_apply_config_quiescence_change_is_live()" - }, - { - "label": "Unit tests for ``exlab_wizard.orchestrator.quiescence_poller``. The :class:`Qui", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L1", - "id": "orchestrator_test_quiescence_poller_rationale_1", - "community": 30, - "norm_label": "unit tests for ``exlab_wizard.orchestrator.quiescence_poller``. the :class:`qui" - }, - { - "label": "In-memory NAS-sync stub recording per-file enqueue calls.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L39", - "id": "orchestrator_test_quiescence_poller_rationale_39", - "community": 30, - "norm_label": "in-memory nas-sync stub recording per-file enqueue calls." - }, - { - "label": "Build a Config with an optional staging root and a nas-mode equipment.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L63", - "id": "orchestrator_test_quiescence_poller_rationale_63", - "community": 30, - "norm_label": "build a config with an optional staging root and a nas-mode equipment." - }, - { - "label": "Create a run-leaf directory mirroring the \u00a713.2 staging layout.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L88", - "id": "orchestrator_test_quiescence_poller_rationale_88", - "community": 30, - "norm_label": "create a run-leaf directory mirroring the \u00a713.2 staging layout." - }, - { - "label": "A file is enqueued only after its signature settles for the window.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L115", - "id": "orchestrator_test_quiescence_poller_rationale_115", - "community": 30, - "norm_label": "a file is enqueued only after its signature settles for the window." - }, - { - "label": "A signature change resets ``first_seen``; the window restarts.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L137", - "id": "orchestrator_test_quiescence_poller_rationale_137", - "community": 30, - "norm_label": "a signature change resets ``first_seen``; the window restarts." - }, - { - "label": "A run holding only ignore-glob files never enqueues.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L163", - "id": "orchestrator_test_quiescence_poller_rationale_163", - "community": 30, - "norm_label": "a run holding only ignore-glob files never enqueues." - }, - { - "label": "A quiet non-ignored file enqueues even when ignored files coexist.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L179", - "id": "orchestrator_test_quiescence_poller_rationale_179", - "community": 30, - "norm_label": "a quiet non-ignored file enqueues even when ignored files coexist." - }, - { - "label": "A sweep finds runs under staging_root AND under nas-mode local_root.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L199", - "id": "orchestrator_test_quiescence_poller_rationale_199", - "community": 30, - "norm_label": "a sweep finds runs under staging_root and under nas-mode local_root." - }, - { - "label": "A ``stage``-mode equipment sharing one ``local_root`` with a ``nas``-mode eq", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L221", - "id": "orchestrator_test_quiescence_poller_rationale_221", - "community": 30, - "norm_label": "a ``stage``-mode equipment sharing one ``local_root`` with a ``nas``-mode eq" - }, - { - "label": "A quiet file already synced at its current signature is skipped.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L266", - "id": "orchestrator_test_quiescence_poller_rationale_266", - "community": 30, - "norm_label": "a quiet file already synced at its current signature is skipped." - }, - { - "label": "A file modified after its recorded sync re-enters the eligible set.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L290", - "id": "orchestrator_test_quiescence_poller_rationale_290", - "community": 30, - "norm_label": "a file modified after its recorded sync re-enters the eligible set." - }, - { - "label": "A run with a mix of synced + modified files enqueues only the dirty one.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L313", - "id": "orchestrator_test_quiescence_poller_rationale_313", - "community": 30, - "norm_label": "a run with a mix of synced + modified files enqueues only the dirty one." - }, - { - "label": "start()/stop() can be called repeatedly without error.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L344", - "id": "orchestrator_test_quiescence_poller_rationale_344", - "community": 30, - "norm_label": "start()/stop() can be called repeatedly without error." - }, - { - "label": "A live quiescence-window change takes effect on the next sweep. poll_once r", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L367", - "id": "orchestrator_test_quiescence_poller_rationale_367", - "community": 30, - "norm_label": "a live quiescence-window change takes effect on the next sweep. poll_once r" - }, - { - "label": "test_orchestrator_lifecycle.py", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L1", - "id": "tests_integration_test_orchestrator_lifecycle_py", - "community": 13, - "norm_label": "test_orchestrator_lifecycle.py" - }, - { - "label": "_Handle", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L39", - "id": "integration_test_orchestrator_lifecycle_handle", - "community": 13, - "norm_label": "_handle" - }, - { - "label": "_StubJobRow", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L46", - "id": "integration_test_orchestrator_lifecycle_stubjobrow", - "community": 13, - "norm_label": "_stubjobrow" - }, - { - "label": "_StubNasSync", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L51", - "id": "integration_test_orchestrator_lifecycle_stubnassync", - "community": 13, - "norm_label": "_stubnassync" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L54", - "id": "integration_test_orchestrator_lifecycle_stubnassync_init", - "community": 13, - "norm_label": ".__init__()" - }, - { - "label": ".enqueue()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L58", - "id": "integration_test_orchestrator_lifecycle_stubnassync_enqueue", - "community": 13, - "norm_label": ".enqueue()" - }, - { - "label": ".status()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L62", - "id": "integration_test_orchestrator_lifecycle_stubnassync_status", - "community": 13, - "norm_label": ".status()" - }, - { - "label": ".list_all()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L65", - "id": "integration_test_orchestrator_lifecycle_stubnassync_list_all", - "community": 13, - "norm_label": ".list_all()" - }, - { - "label": "enqueued_paths()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L71", - "id": "integration_test_orchestrator_lifecycle_enqueued_paths", - "community": 13, - "norm_label": "enqueued_paths()" - }, - { - "label": "_make_config()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L75", - "id": "integration_test_orchestrator_lifecycle_make_config", - "community": 13, - "norm_label": "_make_config()" - }, - { - "label": "_stage_run()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L95", - "id": "integration_test_orchestrator_lifecycle_stage_run", - "community": 13, - "norm_label": "_stage_run()" - }, - { - "label": "test_poller_enqueues_run_after_settle_window()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L107", - "id": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", - "community": 13, - "norm_label": "test_poller_enqueues_run_after_settle_window()" - }, - { - "label": "test_poller_skips_file_already_synced_at_current_signature()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L125", - "id": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", - "community": 13, - "norm_label": "test_poller_skips_file_already_synced_at_current_signature()" - }, - { - "label": "_mark_run_synced()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L152", - "id": "integration_test_orchestrator_lifecycle_mark_run_synced", - "community": 13, - "norm_label": "_mark_run_synced()" - }, - { - "label": "test_staging_endpoint_surfaces_run_with_rollup_state()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L161", - "id": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", - "community": 13, - "norm_label": "test_staging_endpoint_surfaces_run_with_rollup_state()" - }, - { - "label": "test_clear_endpoint_deletes_synced_run()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L178", - "id": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", - "community": 13, - "norm_label": "test_clear_endpoint_deletes_synced_run()" - }, - { - "label": "test_clear_endpoint_rejects_unsynced_run()", - "file_type": "code", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L201", - "id": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", - "community": 13, - "norm_label": "test_clear_endpoint_rejects_unsynced_run()" - }, - { - "label": "Integration test for the orchestrator quiescence-sync lifecycle. Backend Spec \u00a7", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L1", - "id": "integration_test_orchestrator_lifecycle_rationale_1", - "community": 13, - "norm_label": "integration test for the orchestrator quiescence-sync lifecycle. backend spec \u00a7" - }, - { - "label": "In-memory sync client that records per-file enqueue + serves status/list_all.", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L52", - "id": "integration_test_orchestrator_lifecycle_rationale_52", - "community": 13, - "norm_label": "in-memory sync client that records per-file enqueue + serves status/list_all." - }, - { - "label": "A staged run is enqueued only once its files settle for the window.", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L108", - "id": "integration_test_orchestrator_lifecycle_rationale_108", - "community": 13, - "norm_label": "a staged run is enqueued only once its files settle for the window." - }, - { - "label": "A quiet file recorded in sync_state.json at its current signature is not re-", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L126", - "id": "integration_test_orchestrator_lifecycle_rationale_126", - "community": 13, - "norm_label": "a quiet file recorded in sync_state.json at its current signature is not re-" - }, - { - "label": "Write a fully-verified ``sync_state.json`` so the run rolls up to ``synced``.", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L153", - "id": "integration_test_orchestrator_lifecycle_rationale_153", - "community": 13, - "norm_label": "write a fully-verified ``sync_state.json`` so the run rolls up to ``synced``." - }, - { - "label": "``GET /staging`` reports the run with its ``sync_state.json`` rollup.", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L162", - "id": "integration_test_orchestrator_lifecycle_rationale_162", - "community": 13, - "norm_label": "``get /staging`` reports the run with its ``sync_state.json`` rollup." - }, - { - "label": "``POST /staging/.../clear`` deletes a fully-``synced`` run's data files, ret", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L179", - "id": "integration_test_orchestrator_lifecycle_rationale_179", - "community": 13, - "norm_label": "``post /staging/.../clear`` deletes a fully-``synced`` run's data files, ret" - }, - { - "label": "A run that is not fully ``synced`` cannot be cleared.", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L202", - "id": "integration_test_orchestrator_lifecycle_rationale_202", - "community": 13, - "norm_label": "a run that is not fully ``synced`` cannot be cleared." - }, - { - "label": "test_tray_window_smoke.py", - "file_type": "code", - "source_file": "tests/integration/test_tray_window_smoke.py", - "source_location": "L1", - "id": "tests_integration_test_tray_window_smoke_py", - "community": 27, - "norm_label": "test_tray_window_smoke.py" - }, - { - "label": "_wait_for()", - "file_type": "code", - "source_file": "tests/integration/test_tray_window_smoke.py", - "source_location": "L24", - "id": "integration_test_tray_window_smoke_wait_for", - "community": 27, - "norm_label": "_wait_for()" - }, - { - "label": "test_root_serves_html_after_mount()", - "file_type": "code", - "source_file": "tests/integration/test_tray_window_smoke.py", - "source_location": "L40", - "id": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", - "community": 27, - "norm_label": "test_root_serves_html_after_mount()" - }, - { - "label": "Integration smoke: pywebview-facing root path returns HTML, not JSON 404. This", - "file_type": "rationale", - "source_file": "tests/integration/test_tray_window_smoke.py", - "source_location": "L1", - "id": "integration_test_tray_window_smoke_rationale_1", - "community": 27, - "norm_label": "integration smoke: pywebview-facing root path returns html, not json 404. this" - }, - { - "label": "test_lims_integration.py", - "file_type": "code", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L1", - "id": "tests_integration_test_lims_integration_py", - "community": 253, - "norm_label": "test_lims_integration.py" - }, - { - "label": "_make_client()", - "file_type": "code", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L27", - "id": "integration_test_lims_integration_make_client", - "community": 253, - "norm_label": "_make_client()" - }, - { - "label": "test_client_populates_cache()", - "file_type": "code", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L45", - "id": "integration_test_lims_integration_test_client_populates_cache", - "community": 253, - "norm_label": "test_client_populates_cache()" - }, - { - "label": "test_cache_satisfies_lookup_without_network()", - "file_type": "code", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L63", - "id": "integration_test_lims_integration_test_cache_satisfies_lookup_without_network", - "community": 253, - "norm_label": "test_cache_satisfies_lookup_without_network()" - }, - { - "label": "test_expired_cache_is_refreshed()", - "file_type": "code", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L83", - "id": "integration_test_lims_integration_test_expired_cache_is_refreshed", - "community": 253, - "norm_label": "test_expired_cache_is_refreshed()" - }, - { - "label": "test_relogin_then_cache_upsert()", - "file_type": "code", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L116", - "id": "integration_test_lims_integration_test_relogin_then_cache_upsert", - "community": 253, - "norm_label": "test_relogin_then_cache_upsert()" - }, - { - "label": "test_status_filter_consistent_between_client_and_cache()", - "file_type": "code", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L134", - "id": "integration_test_lims_integration_test_status_filter_consistent_between_client_and_cache", - "community": 253, - "norm_label": "test_status_filter_consistent_between_client_and_cache()" - }, - { - "label": "Integration tests for the LIMS client + cache pair. Backend Spec \u00a77.2. These te", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L1", - "id": "integration_test_lims_integration_rationale_1", - "community": 253, - "norm_label": "integration tests for the lims client + cache pair. backend spec \u00a77.2. these te" - }, - { - "label": "list_projects() fills the cache; the cache then returns the same rows.", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L46", - "id": "integration_test_lims_integration_rationale_46", - "community": 253, - "norm_label": "list_projects() fills the cache; the cache then returns the same rows." - }, - { - "label": "A get_project against the cache hits without a live LIMS call.", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L64", - "id": "integration_test_lims_integration_rationale_64", - "community": 253, - "norm_label": "a get_project against the cache hits without a live lims call." - }, - { - "label": "When cache TTL expires, a refresh from the live API rewrites rows.", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L84", - "id": "integration_test_lims_integration_rationale_84", - "community": 253, - "norm_label": "when cache ttl expires, a refresh from the live api rewrites rows." - }, - { - "label": "A 401-then-relogin flow successfully refreshes and caches results.", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L117", - "id": "integration_test_lims_integration_rationale_117", - "community": 253, - "norm_label": "a 401-then-relogin flow successfully refreshes and caches results." - }, - { - "label": "test_tray_lifecycle.py", - "file_type": "code", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L1", - "id": "tests_integration_test_tray_lifecycle_py", - "community": 27, - "norm_label": "test_tray_lifecycle.py" - }, - { - "label": "_wait_for_health()", - "file_type": "code", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L31", - "id": "integration_test_tray_lifecycle_wait_for_health", - "community": 27, - "norm_label": "_wait_for_health()" - }, - { - "label": "test_tray_lifecycle_round_trip()", - "file_type": "code", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L48", - "id": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", - "community": 27, - "norm_label": "test_tray_lifecycle_round_trip()" - }, - { - "label": "test_tray_lifecycle_window_handshake_reads_server_json()", - "file_type": "code", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L85", - "id": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", - "community": 27, - "norm_label": "test_tray_lifecycle_window_handshake_reads_server_json()" - }, - { - "label": "Integration test: tray <-> window lifecycle round-trip. Backend Spec \u00a74.3.2. Th", - "file_type": "rationale", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L1", - "id": "integration_test_tray_lifecycle_rationale_1", - "community": 27, - "norm_label": "integration test: tray <-> window lifecycle round-trip. backend spec \u00a74.3.2. th" - }, - { - "label": "Poll ``/api/v1/health`` until the server is accepting requests.", - "file_type": "rationale", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L32", - "id": "integration_test_tray_lifecycle_rationale_32", - "community": 27, - "norm_label": "poll ``/api/v1/health`` until the server is accepting requests." - }, - { - "label": "test_nas_sync.py", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L1", - "id": "tests_integration_test_nas_sync_py", - "community": 37, - "norm_label": "test_nas_sync.py" - }, - { - "label": "_StubKeyring", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L52", - "id": "integration_test_nas_sync_stubkeyring", - "community": 37, - "norm_label": "_stubkeyring" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L63", - "id": "integration_test_nas_sync_stubkeyring_init", - "community": 37, - "norm_label": ".__init__()" - }, - { - "label": ".get_password()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L66", - "id": "integration_test_nas_sync_stubkeyring_get_password", - "community": 37, - "norm_label": ".get_password()" - }, - { - "label": "stub_binaries_on_path()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L72", - "id": "integration_test_nas_sync_stub_binaries_on_path", - "community": 37, - "norm_label": "stub_binaries_on_path()" - }, - { - "label": "_build_config()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L85", - "id": "integration_test_nas_sync_build_config", - "community": 37, - "norm_label": "_build_config()" - }, - { - "label": "_make_creation()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L110", - "id": "integration_test_nas_sync_make_creation", - "community": 37, - "norm_label": "_make_creation()" - }, - { - "label": "_populate_run()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L129", - "id": "integration_test_nas_sync_populate_run", - "community": 37, - "norm_label": "_populate_run()" - }, - { - "label": "_wait_for_state()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L140", - "id": "integration_test_nas_sync_wait_for_state", - "community": 37, - "norm_label": "_wait_for_state()" - }, - { - "label": "test_full_happy_path_via_stub_rclone()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L160", - "id": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", - "community": 37, - "norm_label": "test_full_happy_path_via_stub_rclone()" - }, - { - "label": "test_pre_sync_gate_blocks_run_with_placeholder_in_path()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L234", - "id": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", - "community": 37, - "norm_label": "test_pre_sync_gate_blocks_run_with_placeholder_in_path()" - }, - { - "label": "test_auth_error_terminates_failed()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L273", - "id": "integration_test_nas_sync_test_auth_error_terminates_failed", - "community": 37, - "norm_label": "test_auth_error_terminates_failed()" - }, - { - "label": "test_force_verify_returns_ok_after_compute()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L304", - "id": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", - "community": 37, - "norm_label": "test_force_verify_returns_ok_after_compute()" - }, - { - "label": "test_routine_reconcile_retries_until_remote_listing_settles()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L348", - "id": "integration_test_nas_sync_test_routine_reconcile_retries_until_remote_listing_settles", - "community": 37, - "norm_label": "test_routine_reconcile_retries_until_remote_listing_settles()" - }, - { - "label": "test_cleanup_hash_gate_defers_on_remote_mismatch()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L426", - "id": "integration_test_nas_sync_test_cleanup_hash_gate_defers_on_remote_mismatch", - "community": 37, - "norm_label": "test_cleanup_hash_gate_defers_on_remote_mismatch()" - }, - { - "label": "test_poller_per_file_enqueue_drives_to_synced_state()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L489", - "id": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", - "community": 37, - "norm_label": "test_poller_per_file_enqueue_drives_to_synced_state()" - }, - { - "label": "test_poller_to_cleanup_honors_keep_local_and_stamps_cleared()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L563", - "id": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", - "community": 37, - "norm_label": "test_poller_to_cleanup_honors_keep_local_and_stamps_cleared()" - }, - { - "label": "End-to-end integration tests for the NAS sync subsystem (Phase 10). These tests", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L1", - "id": "integration_test_nas_sync_rationale_1", - "community": 37, - "norm_label": "end-to-end integration tests for the nas sync subsystem (phase 10). these tests" - }, - { - "label": "Minimal keyring stub returning a fixed password for every username. Retaine", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L53", - "id": "integration_test_nas_sync_rationale_53", - "community": 37, - "norm_label": "minimal keyring stub returning a fixed password for every username. retaine" - }, - { - "label": "Install the rclone stub on PATH for the test.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L73", - "id": "integration_test_nas_sync_rationale_73", - "community": 37, - "norm_label": "install the rclone stub on path for the test." - }, - { - "label": "Poll ``queue.get_by_id`` until ``state`` is in ``targets`` or timeout.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L148", - "id": "integration_test_nas_sync_rationale_148", - "community": 37, - "norm_label": "poll ``queue.get_by_id`` until ``state`` is in ``targets`` or timeout." - }, - { - "label": "Enqueue -> RUNNING -> AWAITING_VERIFY -> VERIFIED -> CLEANED. Uses the Pyth", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L165", - "id": "integration_test_nas_sync_rationale_165", - "community": 37, - "norm_label": "enqueue -> running -> awaiting_verify -> verified -> cleaned. uses the pyth" - }, - { - "label": "A run path with ```` is gated; sync_status -> blocked_by_validation.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L239", - "id": "integration_test_nas_sync_rationale_239", - "community": 37, - "norm_label": "a run path with ```` is gated; sync_status -> blocked_by_validation." - }, - { - "label": "The stub returns ``auth_error`` -> queue row terminates FAILED.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L278", - "id": "integration_test_nas_sync_rationale_278", - "community": 37, - "norm_label": "the stub returns ``auth_error`` -> queue row terminates failed." - }, - { - "label": "``force_verify`` runs a manifest pass against the local subtree.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L309", - "id": "integration_test_nas_sync_rationale_309", - "community": 37, - "norm_label": "``force_verify`` runs a manifest pass against the local subtree." - }, - { - "label": "A reconcile that initially finds nothing remotely re-queues, then verifies.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L353", - "id": "integration_test_nas_sync_rationale_353", - "community": 37, - "norm_label": "a reconcile that initially finds nothing remotely re-queues, then verifies." - }, - { - "label": "The pre-deletion hash-gate defers cleanup when the stub check differs. The", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L431", - "id": "integration_test_nas_sync_rationale_431", - "community": 37, - "norm_label": "the pre-deletion hash-gate defers cleanup when the stub check differs. the" - }, - { - "label": "Poller sweep -> per-file enqueue -> drive -> verify -> sync_state.json recor", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L494", - "id": "integration_test_nas_sync_rationale_494", - "community": 37, - "norm_label": "poller sweep -> per-file enqueue -> drive -> verify -> sync_state.json recor" - }, - { - "label": "Full Phase 5 path: poller sweep -> enqueue -> verify -> SYNCED rollup -> cle", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L568", - "id": "integration_test_nas_sync_rationale_568", - "community": 37, - "norm_label": "full phase 5 path: poller sweep -> enqueue -> verify -> synced rollup -> cle" - }, - { - "label": "test_lims_contract.py", - "file_type": "code", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L1", - "id": "tests_integration_test_lims_contract_py", - "community": 225, - "norm_label": "test_lims_contract.py" - }, - { - "label": "_load()", - "file_type": "code", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L31", - "id": "integration_test_lims_contract_load", - "community": 225, - "norm_label": "_load()" - }, - { - "label": "test_me_snapshot_decodes_into_lims_user()", - "file_type": "code", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L35", - "id": "integration_test_lims_contract_test_me_snapshot_decodes_into_lims_user", - "community": 225, - "norm_label": "test_me_snapshot_decodes_into_lims_user()" - }, - { - "label": "test_login_response_snapshot_decodes_into_lims_user()", - "file_type": "code", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L43", - "id": "integration_test_lims_contract_test_login_response_snapshot_decodes_into_lims_user", - "community": 225, - "norm_label": "test_login_response_snapshot_decodes_into_lims_user()" - }, - { - "label": "test_projects_list_snapshot_flows_through_list_projects_path()", - "file_type": "code", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L51", - "id": "integration_test_lims_contract_test_projects_list_snapshot_flows_through_list_projects_path", - "community": 225, - "norm_label": "test_projects_list_snapshot_flows_through_list_projects_path()" - }, - { - "label": "test_empty_projects_envelope_decodes_to_empty_list()", - "file_type": "code", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L78", - "id": "integration_test_lims_contract_test_empty_projects_envelope_decodes_to_empty_list", - "community": 225, - "norm_label": "test_empty_projects_envelope_decodes_to_empty_list()" - }, - { - "label": "test_project_one_snapshot_decodes_into_lims_project()", - "file_type": "code", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L86", - "id": "integration_test_lims_contract_test_project_one_snapshot_decodes_into_lims_project", - "community": 225, - "norm_label": "test_project_one_snapshot_decodes_into_lims_project()" - }, - { - "label": "test_snapshot_files_present_and_non_empty()", - "file_type": "code", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L100", - "id": "integration_test_lims_contract_test_snapshot_files_present_and_non_empty", - "community": 225, - "norm_label": "test_snapshot_files_present_and_non_empty()" - }, - { - "label": "Contract test against vendored upstream `mcnaughtonadm/exlab` snapshots. Loads", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L1", - "id": "integration_test_lims_contract_rationale_1", - "community": 225, - "norm_label": "contract test against vendored upstream `mcnaughtonadm/exlab` snapshots. loads" - }, - { - "label": "``GET /api/v1/me`` JSON must satisfy the ``LIMSUser`` schema.", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L36", - "id": "integration_test_lims_contract_rationale_36", - "community": 225, - "norm_label": "``get /api/v1/me`` json must satisfy the ``limsuser`` schema." - }, - { - "label": "Upstream's login body is the same ``safe_user`` shape as ``/me``.", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L44", - "id": "integration_test_lims_contract_rationale_44", - "community": 225, - "norm_label": "upstream's login body is the same ``safe_user`` shape as ``/me``." - }, - { - "label": "``GET /api/v1/projects`` payload must yield ``LIMSProject`` rows. Mirrors t", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L52", - "id": "integration_test_lims_contract_rationale_52", - "community": 225, - "norm_label": "``get /api/v1/projects`` payload must yield ``limsproject`` rows. mirrors t" - }, - { - "label": "An empty ``data`` array must yield zero rows, not raise.", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L79", - "id": "integration_test_lims_contract_rationale_79", - "community": 225, - "norm_label": "an empty ``data`` array must yield zero rows, not raise." - }, - { - "label": "``GET /api/v1/projects/{id}`` returns one bare project object.", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L87", - "id": "integration_test_lims_contract_rationale_87", - "community": 225, - "norm_label": "``get /api/v1/projects/{id}`` returns one bare project object." - }, - { - "label": "Every required snapshot exists; guards against accidental deletion.", - "file_type": "rationale", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L101", - "id": "integration_test_lims_contract_rationale_101", - "community": 225, - "norm_label": "every required snapshot exists; guards against accidental deletion." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/integration/__init__.py", - "source_location": "L1", - "id": "tests_integration_init_py", - "community": 560, - "norm_label": "__init__.py" - }, - { - "label": "test_schema_major_mismatch.py", - "file_type": "code", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L1", - "id": "tests_integration_test_schema_major_mismatch_py", - "community": 255, - "norm_label": "test_schema_major_mismatch.py" - }, - { - "label": "_CacheCase", - "file_type": "code", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L39", - "id": "integration_test_schema_major_mismatch_cachecase", - "community": 255, - "norm_label": "_cachecase" - }, - { - "label": "_resolve_reader()", - "file_type": "code", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L156", - "id": "integration_test_schema_major_mismatch_resolve_reader", - "community": 255, - "norm_label": "_resolve_reader()" - }, - { - "label": "test_cross_major_read_raises_schema_major_mismatch()", - "file_type": "code", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L195", - "id": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", - "community": 255, - "norm_label": "test_cross_major_read_raises_schema_major_mismatch()" - }, - { - "label": "test_cross_major_read_records_higher_majors_too()", - "file_type": "code", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L218", - "id": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", - "community": 255, - "norm_label": "test_cross_major_read_records_higher_majors_too()" - }, - { - "label": "Integration tests for the cross-major-read-fails contract from \u00a711.9.2. For eve", - "file_type": "rationale", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L1", - "id": "integration_test_schema_major_mismatch_rationale_1", - "community": 255, - "norm_label": "integration tests for the cross-major-read-fails contract from \u00a711.9.2. for eve" - }, - { - "label": "One cache-file flavour to exercise against the reader gate.", - "file_type": "rationale", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L40", - "id": "integration_test_schema_major_mismatch_rationale_40", - "community": 255, - "norm_label": "one cache-file flavour to exercise against the reader gate." - }, - { - "label": "Walk the candidate matrix and return the first reader method we find. Each", - "file_type": "rationale", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L157", - "id": "integration_test_schema_major_mismatch_rationale_157", - "community": 255, - "norm_label": "walk the candidate matrix and return the first reader method we find. each" - }, - { - "label": "A v2.0 file MUST be refused by every v1.x reader (\u00a711.9.2 rule 3).", - "file_type": "rationale", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L199", - "id": "integration_test_schema_major_mismatch_rationale_199", - "community": 255, - "norm_label": "a v2.0 file must be refused by every v1.x reader (\u00a711.9.2 rule 3)." - }, - { - "label": "A v3.7 file is also refused; the rule isn't tied to ``2.0`` specifically.", - "file_type": "rationale", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L222", - "id": "integration_test_schema_major_mismatch_rationale_222", - "community": 255, - "norm_label": "a v3.7 file is also refused; the rule isn't tied to ``2.0`` specifically." - }, - { - "label": "test_creation_json_concurrent_writes.py", - "file_type": "code", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L1", - "id": "tests_integration_test_creation_json_concurrent_writes_py", - "community": 294, - "norm_label": "test_creation_json_concurrent_writes.py" - }, - { - "label": "_build_minimal_payload()", - "file_type": "code", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L33", - "id": "integration_test_creation_json_concurrent_writes_build_minimal_payload", - "community": 294, - "norm_label": "_build_minimal_payload()" - }, - { - "label": "test_ten_concurrent_mutations_all_land()", - "file_type": "code", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L57", - "id": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", - "community": 294, - "norm_label": "test_ten_concurrent_mutations_all_land()" - }, - { - "label": "test_concurrent_mutations_keep_schema_at_current_version()", - "file_type": "code", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L94", - "id": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", - "community": 294, - "norm_label": "test_concurrent_mutations_keep_schema_at_current_version()" - }, - { - "label": "test_concurrent_mutations_keep_file_valid_json()", - "file_type": "code", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L131", - "id": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", - "community": 294, - "norm_label": "test_concurrent_mutations_keep_file_valid_json()" - }, - { - "label": "Integration test: concurrent ``creation.json`` writers serialize correctly. Spe", - "file_type": "rationale", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L1", - "id": "integration_test_creation_json_concurrent_writes_rationale_1", - "community": 294, - "norm_label": "integration test: concurrent ``creation.json`` writers serialize correctly. spe" - }, - { - "label": "Run 10 ``update_creation_atomic`` calls concurrently against the same file.", - "file_type": "rationale", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L58", - "id": "integration_test_creation_json_concurrent_writes_rationale_58", - "community": 294, - "norm_label": "run 10 ``update_creation_atomic`` calls concurrently against the same file." - }, - { - "label": "The writer pins ``schema_version`` to the current version on every write. Co", - "file_type": "rationale", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L97", - "id": "integration_test_creation_json_concurrent_writes_rationale_97", - "community": 294, - "norm_label": "the writer pins ``schema_version`` to the current version on every write. co" - }, - { - "label": "An interleaved write must never produce a half-written file. The ``os.replac", - "file_type": "rationale", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L132", - "id": "integration_test_creation_json_concurrent_writes_rationale_132", - "community": 294, - "norm_label": "an interleaved write must never produce a half-written file. the ``os.replac" - }, - { - "label": "test_validator_determinism.py", - "file_type": "code", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L1", - "id": "tests_integration_test_validator_determinism_py", - "community": 280, - "norm_label": "test_validator_determinism.py" - }, - { - "label": "_build_creation_json_dict()", - "file_type": "code", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L49", - "id": "integration_test_validator_determinism_build_creation_json_dict", - "community": 280, - "norm_label": "_build_creation_json_dict()" - }, - { - "label": "_write_creation_json()", - "file_type": "code", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L83", - "id": "integration_test_validator_determinism_write_creation_json", - "community": 280, - "norm_label": "_write_creation_json()" - }, - { - "label": "_build_fixture_tree()", - "file_type": "code", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L89", - "id": "integration_test_validator_determinism_build_fixture_tree", - "community": 280, - "norm_label": "_build_fixture_tree()" - }, - { - "label": "test_audit_two_calls_return_byte_identical_finding_lists()", - "file_type": "code", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L164", - "id": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", - "community": 280, - "norm_label": "test_audit_two_calls_return_byte_identical_finding_lists()" - }, - { - "label": "test_audit_byte_identical_with_query_problems_alias()", - "file_type": "code", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L221", - "id": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", - "community": 280, - "norm_label": "test_audit_byte_identical_with_query_problems_alias()" - }, - { - "label": "Integration test: ``Validator.audit`` is byte-deterministic across runs. Backen", - "file_type": "rationale", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L1", - "id": "integration_test_validator_determinism_rationale_1", - "community": 280, - "norm_label": "integration test: ``validator.audit`` is byte-deterministic across runs. backen" - }, - { - "label": "Construct a tree with several findings in stable on-disk shape. The tree co", - "file_type": "rationale", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L90", - "id": "integration_test_validator_determinism_rationale_90", - "community": 280, - "norm_label": "construct a tree with several findings in stable on-disk shape. the tree co" - }, - { - "label": "Spec \u00a711.8 determinism: two ``audit`` calls produce identical findings. The", - "file_type": "rationale", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L165", - "id": "integration_test_validator_determinism_rationale_165", - "community": 280, - "norm_label": "spec \u00a711.8 determinism: two ``audit`` calls produce identical findings. the" - }, - { - "label": "``audit`` and ``query_problems`` produce byte-identical outputs. This is th", - "file_type": "rationale", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L222", - "id": "integration_test_validator_determinism_rationale_222", - "community": 280, - "norm_label": "``audit`` and ``query_problems`` produce byte-identical outputs. this is th" - }, - { - "label": "test_pyinstaller_smoke.py", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L1", - "id": "tests_integration_test_pyinstaller_smoke_py", - "community": 46, - "norm_label": "test_pyinstaller_smoke.py" - }, - { - "label": "test_tray_main_imports()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L61", - "id": "integration_test_pyinstaller_smoke_test_tray_main_imports", - "community": 46, - "norm_label": "test_tray_main_imports()" - }, - { - "label": "test_window_main_imports()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L71", - "id": "integration_test_pyinstaller_smoke_test_window_main_imports", - "community": 46, - "norm_label": "test_window_main_imports()" - }, - { - "label": "test_cli_main_imports()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L77", - "id": "integration_test_pyinstaller_smoke_test_cli_main_imports", - "community": 46, - "norm_label": "test_cli_main_imports()" - }, - { - "label": "test_version_exposed_and_well_formed()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L91", - "id": "integration_test_pyinstaller_smoke_test_version_exposed_and_well_formed", - "community": 46, - "norm_label": "test_version_exposed_and_well_formed()" - }, - { - "label": "test_version_matches_pyproject()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L105", - "id": "integration_test_pyinstaller_smoke_test_version_matches_pyproject", - "community": 46, - "norm_label": "test_version_matches_pyproject()" - }, - { - "label": "test_pyproject_scripts_match_expected()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L123", - "id": "integration_test_pyinstaller_smoke_test_pyproject_scripts_match_expected", - "community": 46, - "norm_label": "test_pyproject_scripts_match_expected()" - }, - { - "label": "test_spec_file_is_valid_python()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L138", - "id": "integration_test_pyinstaller_smoke_test_spec_file_is_valid_python", - "community": 46, - "norm_label": "test_spec_file_is_valid_python()" - }, - { - "label": "test_spec_references_entry_executable()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L150", - "id": "integration_test_pyinstaller_smoke_test_spec_references_entry_executable", - "community": 46, - "norm_label": "test_spec_references_entry_executable()" - }, - { - "label": "test_spec_references_entry_script()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L164", - "id": "integration_test_pyinstaller_smoke_test_spec_references_entry_script", - "community": 46, - "norm_label": "test_spec_references_entry_script()" - }, - { - "label": "test_spec_uses_merge_directive()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L174", - "id": "integration_test_pyinstaller_smoke_test_spec_uses_merge_directive", - "community": 46, - "norm_label": "test_spec_uses_merge_directive()" - }, - { - "label": "test_spec_lists_required_hidden_imports()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L189", - "id": "integration_test_pyinstaller_smoke_test_spec_lists_required_hidden_imports", - "community": 46, - "norm_label": "test_spec_lists_required_hidden_imports()" - }, - { - "label": "test_spec_declares_macos_bundle_identifier()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L198", - "id": "integration_test_pyinstaller_smoke_test_spec_declares_macos_bundle_identifier", - "community": 46, - "norm_label": "test_spec_declares_macos_bundle_identifier()" - }, - { - "label": "test_workflow_is_valid_yaml()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L209", - "id": "integration_test_pyinstaller_smoke_test_workflow_is_valid_yaml", - "community": 46, - "norm_label": "test_workflow_is_valid_yaml()" - }, - { - "label": "test_workflow_matrix_lists_all_v1_targets()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L218", - "id": "integration_test_pyinstaller_smoke_test_workflow_matrix_lists_all_v1_targets", - "community": 46, - "norm_label": "test_workflow_matrix_lists_all_v1_targets()" - }, - { - "label": "test_workflow_runs_pyinstaller_and_smoke()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L227", - "id": "integration_test_pyinstaller_smoke_test_workflow_runs_pyinstaller_and_smoke", - "community": 46, - "norm_label": "test_workflow_runs_pyinstaller_and_smoke()" - }, - { - "label": "test_internal_templates_dir_exists()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L246", - "id": "integration_test_pyinstaller_smoke_test_internal_templates_dir_exists", - "community": 46, - "norm_label": "test_internal_templates_dir_exists()" - }, - { - "label": "test_internal_plugins_dir_exists()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L252", - "id": "integration_test_pyinstaller_smoke_test_internal_plugins_dir_exists", - "community": 46, - "norm_label": "test_internal_plugins_dir_exists()" - }, - { - "label": "test_local_build_scripts_exist()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L263", - "id": "integration_test_pyinstaller_smoke_test_local_build_scripts_exist", - "community": 46, - "norm_label": "test_local_build_scripts_exist()" - }, - { - "label": "test_workflow_does_not_run_on_branch_push()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L283", - "id": "integration_test_pyinstaller_smoke_test_workflow_does_not_run_on_branch_push", - "community": 46, - "norm_label": "test_workflow_does_not_run_on_branch_push()" - }, - { - "label": "test_workflow_pull_request_targets_main_only()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L299", - "id": "integration_test_pyinstaller_smoke_test_workflow_pull_request_targets_main_only", - "community": 46, - "norm_label": "test_workflow_pull_request_targets_main_only()" - }, - { - "label": "test_workflow_concurrency_cancels_in_progress()", - "file_type": "code", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L310", - "id": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress", - "community": 46, - "norm_label": "test_workflow_concurrency_cancels_in_progress()" - }, - { - "label": "Structural smoke tests for the PyInstaller distribution. Phase 15. The actual `", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L1", - "id": "integration_test_pyinstaller_smoke_rationale_1", - "community": 46, - "norm_label": "structural smoke tests for the pyinstaller distribution. phase 15. the actual `" - }, - { - "label": "``exlab_wizard.tray.main:main`` must import cleanly. PyInstaller's static a", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L62", - "id": "integration_test_pyinstaller_smoke_rationale_62", - "community": 46, - "norm_label": "``exlab_wizard.tray.main:main`` must import cleanly. pyinstaller's static a" - }, - { - "label": "``exlab_wizard.window.main:main`` must import cleanly.", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L72", - "id": "integration_test_pyinstaller_smoke_rationale_72", - "community": 46, - "norm_label": "``exlab_wizard.window.main:main`` must import cleanly." - }, - { - "label": "``exlab_wizard.__main__:main`` must import cleanly. This is the operator-fa", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L78", - "id": "integration_test_pyinstaller_smoke_rationale_78", - "community": 46, - "norm_label": "``exlab_wizard.__main__:main`` must import cleanly. this is the operator-fa" - }, - { - "label": "``exlab_wizard.__version__`` is a non-empty SemVer string. Backend Spec \u00a715", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L92", - "id": "integration_test_pyinstaller_smoke_rationale_92", - "community": 46, - "norm_label": "``exlab_wizard.__version__`` is a non-empty semver string. backend spec \u00a715" - }, - { - "label": "``__version__`` mirrors ``[project] version`` in ``pyproject.toml``. Drift", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L106", - "id": "integration_test_pyinstaller_smoke_rationale_106", - "community": 46, - "norm_label": "``__version__`` mirrors ``[project] version`` in ``pyproject.toml``. drift" - }, - { - "label": "``[project.scripts]`` lists exactly the three \u00a715.3 entry points.", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L124", - "id": "integration_test_pyinstaller_smoke_rationale_124", - "community": 46, - "norm_label": "``[project.scripts]`` lists exactly the three \u00a715.3 entry points." - }, - { - "label": "``exlab_wizard.spec`` parses as Python source. The file is interpreted by P", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L139", - "id": "integration_test_pyinstaller_smoke_rationale_139", - "community": 46, - "norm_label": "``exlab_wizard.spec`` parses as python source. the file is interpreted by p" - }, - { - "label": "The spec names each of the three \u00a715.1 executables.", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L151", - "id": "integration_test_pyinstaller_smoke_rationale_151", - "community": 46, - "norm_label": "the spec names each of the three \u00a715.1 executables." - }, - { - "label": "The spec names the three entry-point script paths. PyInstaller resolves the", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L165", - "id": "integration_test_pyinstaller_smoke_rationale_165", - "community": 46, - "norm_label": "the spec names the three entry-point script paths. pyinstaller resolves the" - }, - { - "label": "The spec uses PyInstaller's ``MERGE`` directive (Backend Spec \u00a715.1). ``MER", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L175", - "id": "integration_test_pyinstaller_smoke_rationale_175", - "community": 46, - "norm_label": "the spec uses pyinstaller's ``merge`` directive (backend spec \u00a715.1). ``mer" - }, - { - "label": "The spec declares hidden imports for libs PyInstaller misses. Backend Spec", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L190", - "id": "integration_test_pyinstaller_smoke_rationale_190", - "community": 46, - "norm_label": "the spec declares hidden imports for libs pyinstaller misses. backend spec" - }, - { - "label": "The spec sets the macOS ``CFBundleIdentifier`` (\u00a715.1).", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L199", - "id": "integration_test_pyinstaller_smoke_rationale_199", - "community": 46, - "norm_label": "the spec sets the macos ``cfbundleidentifier`` (\u00a715.1)." - }, - { - "label": "``.github/workflows/build.yml`` parses as YAML.", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L210", - "id": "integration_test_pyinstaller_smoke_rationale_210", - "community": 46, - "norm_label": "``.github/workflows/build.yml`` parses as yaml." - }, - { - "label": "The matrix covers the three v1 runners (Linux, Windows, mac arm64).", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L219", - "id": "integration_test_pyinstaller_smoke_rationale_219", - "community": 46, - "norm_label": "the matrix covers the three v1 runners (linux, windows, mac arm64)." - }, - { - "label": "The workflow runs ``pyinstaller exlab_wizard.spec`` and a version probe. Ba", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L228", - "id": "integration_test_pyinstaller_smoke_rationale_228", - "community": 46, - "norm_label": "the workflow runs ``pyinstaller exlab_wizard.spec`` and a version probe. ba" - }, - { - "label": "``_internal/templates/`` is checked into the repo (\u00a715.4).", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L247", - "id": "integration_test_pyinstaller_smoke_rationale_247", - "community": 46, - "norm_label": "``_internal/templates/`` is checked into the repo (\u00a715.4)." - }, - { - "label": "``_internal/plugins/`` is checked into the repo (\u00a715.4).", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L253", - "id": "integration_test_pyinstaller_smoke_rationale_253", - "community": 46, - "norm_label": "``_internal/plugins/`` is checked into the repo (\u00a715.4)." - }, - { - "label": "Both POSIX and Windows wrappers are committed. These mirror the CI build st", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L264", - "id": "integration_test_pyinstaller_smoke_rationale_264", - "community": 46, - "norm_label": "both posix and windows wrappers are committed. these mirror the ci build st" - }, - { - "label": "Build matrix is reserved for the merge gate, not every branch push. Branch", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L284", - "id": "integration_test_pyinstaller_smoke_rationale_284", - "community": 46, - "norm_label": "build matrix is reserved for the merge gate, not every branch push. branch" - }, - { - "label": "``pull_request`` is gated on ``main`` so PRs to other branches don't run.", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L300", - "id": "integration_test_pyinstaller_smoke_rationale_300", - "community": 46, - "norm_label": "``pull_request`` is gated on ``main`` so prs to other branches don't run." - }, - { - "label": "Superseded runs on the same ref are auto-cancelled. Without ``cancel-in-pro", - "file_type": "rationale", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L311", - "id": "integration_test_pyinstaller_smoke_rationale_311", - "community": 46, - "norm_label": "superseded runs on the same ref are auto-cancelled. without ``cancel-in-pro" - }, - { - "label": "test_host_isolation.py", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L1", - "id": "tests_integration_plugins_test_host_isolation_py", - "community": 87, - "norm_label": "test_host_isolation.py" - }, - { - "label": "_StubRegistry", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L50", - "id": "plugins_test_host_isolation_stubregistry", - "community": 87, - "norm_label": "_stubregistry" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L53", - "id": "plugins_test_host_isolation_stubregistry_init", - "community": 87, - "norm_label": ".__init__()" - }, - { - "label": ".get_record()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L56", - "id": "plugins_test_host_isolation_stubregistry_get_record", - "community": 87, - "norm_label": ".get_record()" - }, - { - "label": "_record_from_fixture()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L60", - "id": "plugins_test_host_isolation_record_from_fixture", - "community": 87, - "norm_label": "_record_from_fixture()" - }, - { - "label": "_make_dst_with_txt()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L89", - "id": "plugins_test_host_isolation_make_dst_with_txt", - "community": 87, - "norm_label": "_make_dst_with_txt()" - }, - { - "label": "_ctx()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L98", - "id": "plugins_test_host_isolation_ctx", - "community": 87, - "norm_label": "_ctx()" - }, - { - "label": "_refuse_input()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L114", - "id": "plugins_test_host_isolation_refuse_input", - "community": 87, - "norm_label": "_refuse_input()" - }, - { - "label": "test_hello_plugin_runs_successfully()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L124", - "id": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", - "community": 87, - "norm_label": "test_hello_plugin_runs_successfully()" - }, - { - "label": "test_timeout_enforcement()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L149", - "id": "plugins_test_host_isolation_test_timeout_enforcement", - "community": 87, - "norm_label": "test_timeout_enforcement()" - }, - { - "label": "test_plugin_error_does_not_abort_session()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L182", - "id": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", - "community": 87, - "norm_label": "test_plugin_error_does_not_abort_session()" - }, - { - "label": "test_input_required_suspend_resume()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L220", - "id": "plugins_test_host_isolation_test_input_required_suspend_resume", - "community": 87, - "norm_label": "test_input_required_suspend_resume()" - }, - { - "label": "test_input_required_cancelled()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L257", - "id": "plugins_test_host_isolation_test_input_required_cancelled", - "community": 87, - "norm_label": "test_input_required_cancelled()" - }, - { - "label": "test_subprocess_crash_contained()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L284", - "id": "plugins_test_host_isolation_test_subprocess_crash_contained", - "community": 87, - "norm_label": "test_subprocess_crash_contained()" - }, - { - "label": "test_policy_violation_reverts_forbidden_write()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L323", - "id": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", - "community": 87, - "norm_label": "test_policy_violation_reverts_forbidden_write()" - }, - { - "label": "test_sanitized_environment_passes_through_path_home_lang()", - "file_type": "code", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L359", - "id": "plugins_test_host_isolation_test_sanitized_environment_passes_through_path_home_lang", - "community": 87, - "norm_label": "test_sanitized_environment_passes_through_path_home_lang()" - }, - { - "label": "Integration tests for :class:`PluginHost`. Backend Spec \u00a76.3. Each test spawns", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L1", - "id": "plugins_test_host_isolation_rationale_1", - "community": 87, - "norm_label": "integration tests for :class:`pluginhost`. backend spec \u00a76.3. each test spawns" - }, - { - "label": "Minimal :class:`PluginRegistryProtocol` impl backed by a dict.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L51", - "id": "plugins_test_host_isolation_rationale_51", - "community": 87, - "norm_label": "minimal :class:`pluginregistryprotocol` impl backed by a dict." - }, - { - "label": "Build a :class:`PluginRecord` pointing at one fixture plugin. ``hello_plugi", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L67", - "id": "plugins_test_host_isolation_rationale_67", - "community": 87, - "norm_label": "build a :class:`pluginrecord` pointing at one fixture plugin. ``hello_plugi" - }, - { - "label": "Create a destination tree with a single ``data.txt`` file.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L90", - "id": "plugins_test_host_isolation_rationale_90", - "community": 87, - "norm_label": "create a destination tree with a single ``data.txt`` file." - }, - { - "label": "Build a :class:`PluginContext` rooted at ``dst``.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L99", - "id": "plugins_test_host_isolation_rationale_99", - "community": 87, - "norm_label": "build a :class:`plugincontext` rooted at ``dst``." - }, - { - "label": "Default ``on_input_required`` callback for tests that don't expect a prompt.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L115", - "id": "plugins_test_host_isolation_rationale_115", - "community": 87, - "norm_label": "default ``on_input_required`` callback for tests that don't expect a prompt." - }, - { - "label": "Backend Spec \u00a76.5: the canonical hello-world plugin appends ``hello\\\\n``.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L125", - "id": "plugins_test_host_isolation_rationale_125", - "community": 87, - "norm_label": "backend spec \u00a76.5: the canonical hello-world plugin appends ``hello\\\\n``." - }, - { - "label": "Backend Spec \u00a76.3.4: the host must SIGTERM/SIGKILL on wall-clock timeout.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L150", - "id": "plugins_test_host_isolation_rationale_150", - "community": 87, - "norm_label": "backend spec \u00a76.3.4: the host must sigterm/sigkill on wall-clock timeout." - }, - { - "label": "Backend Spec \u00a76.1.3: a plugin error must not abort the surrounding pass.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L183", - "id": "plugins_test_host_isolation_rationale_183", - "community": 87, - "norm_label": "backend spec \u00a76.1.3: a plugin error must not abort the surrounding pass." - }, - { - "label": "Backend Spec \u00a76.4: the host must re-spawn the worker on operator reply.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L221", - "id": "plugins_test_host_isolation_rationale_221", - "community": 87, - "norm_label": "backend spec \u00a76.4: the host must re-spawn the worker on operator reply." - }, - { - "label": "Backend Spec \u00a76.4: an operator cancel must abort the whole pass.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L258", - "id": "plugins_test_host_isolation_rationale_258", - "community": 87, - "norm_label": "backend spec \u00a76.4: an operator cancel must abort the whole pass." - }, - { - "label": "Backend Spec \u00a76.3.4: a worker hard-exit must not raise into the host.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L285", - "id": "plugins_test_host_isolation_rationale_285", - "community": 87, - "norm_label": "backend spec \u00a76.3.4: a worker hard-exit must not raise into the host." - }, - { - "label": "Backend Spec \u00a76.1.5: a write to README.md must be detected and reverted.", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L324", - "id": "plugins_test_host_isolation_rationale_324", - "community": 87, - "norm_label": "backend spec \u00a76.1.5: a write to readme.md must be detected and reverted." - }, - { - "label": "Backend Spec \u00a76.3.1: only PATH, HOME, LANG, EXLAB_* reach the worker. Skipp", - "file_type": "rationale", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L360", - "id": "plugins_test_host_isolation_rationale_360", - "community": 87, - "norm_label": "backend spec \u00a76.3.1: only path, home, lang, exlab_* reach the worker. skipp" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/integration/plugins/__init__.py", - "source_location": "L1", - "id": "tests_integration_plugins_init_py", - "community": 374, - "norm_label": "__init__.py" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/integration/controller/__init__.py", - "source_location": "L1", - "id": "tests_integration_controller_init_py", - "community": 400, - "norm_label": "__init__.py" - }, - { - "label": "test_creation_flow.py", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1", - "id": "tests_integration_controller_test_creation_flow_py", - "community": 140, - "norm_label": "test_creation_flow.py" - }, - { - "label": "_build_config()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L66", - "id": "controller_test_creation_flow_build_config", - "community": 140, - "norm_label": "_build_config()" - }, - { - "label": "_project_request()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L87", - "id": "controller_test_creation_flow_project_request", - "community": 140, - "norm_label": "_project_request()" - }, - { - "label": "_run_request()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L119", - "id": "controller_test_creation_flow_run_request", - "community": 141, - "norm_label": "_run_request()" - }, - { - "label": "_build_controller()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L148", - "id": "controller_test_creation_flow_build_controller", - "community": 140, - "norm_label": "_build_controller()" - }, - { - "label": "_drain_to_done()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L170", - "id": "controller_test_creation_flow_drain_to_done", - "community": 141, - "norm_label": "_drain_to_done()" - }, - { - "label": "test_full_project_creation_happy_path()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L187", - "id": "controller_test_creation_flow_test_full_project_creation_happy_path", - "community": 140, - "norm_label": "test_full_project_creation_happy_path()" - }, - { - "label": "test_full_experimental_run_creation_happy_path()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L220", - "id": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", - "community": 141, - "norm_label": "test_full_experimental_run_creation_happy_path()" - }, - { - "label": "test_same_minute_run_creation_collision_is_hard_failure()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L239", - "id": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", - "community": 141, - "norm_label": "test_same_minute_run_creation_collision_is_hard_failure()" - }, - { - "label": "test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L271", - "id": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", - "community": 141, - "norm_label": "test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind()" - }, - { - "label": "test_validation_rejects_empty_label()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L302", - "id": "controller_test_creation_flow_test_validation_rejects_empty_label", - "community": 140, - "norm_label": "test_validation_rejects_empty_label()" - }, - { - "label": "test_validation_rejects_label_over_length()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L317", - "id": "controller_test_creation_flow_test_validation_rejects_label_over_length", - "community": 140, - "norm_label": "test_validation_rejects_label_over_length()" - }, - { - "label": "test_validation_rejects_objective_over_length()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L331", - "id": "controller_test_creation_flow_test_validation_rejects_objective_over_length", - "community": 140, - "norm_label": "test_validation_rejects_objective_over_length()" - }, - { - "label": "test_validation_rejects_operator_not_in_allowlist()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L347", - "id": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", - "community": 140, - "norm_label": "test_validation_rejects_operator_not_in_allowlist()" - }, - { - "label": "test_validation_rejects_unknown_equipment()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L361", - "id": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", - "community": 140, - "norm_label": "test_validation_rejects_unknown_equipment()" - }, - { - "label": "test_validation_rejects_unsafe_project_name_for_runs()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L377", - "id": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", - "community": 483, - "norm_label": "test_validation_rejects_unsafe_project_name_for_runs()" - }, - { - "label": "test_validation_rejects_empty_objective()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L393", - "id": "controller_test_creation_flow_test_validation_rejects_empty_objective", - "community": 140, - "norm_label": "test_validation_rejects_empty_objective()" - }, - { - "label": "test_validation_rejects_empty_operator()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L406", - "id": "controller_test_creation_flow_test_validation_rejects_empty_operator", - "community": 140, - "norm_label": "test_validation_rejects_empty_operator()" - }, - { - "label": "test_plugin_input_required_suspend_resume()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L424", - "id": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", - "community": 141, - "norm_label": "test_plugin_input_required_suspend_resume()" - }, - { - "label": "test_cancel_with_discard_files_removes_partial_dir()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L500", - "id": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", - "community": 415, - "norm_label": "test_cancel_with_discard_files_removes_partial_dir()" - }, - { - "label": "test_cancel_without_discard_leaves_partial_dir()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L538", - "id": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", - "community": 410, - "norm_label": "test_cancel_without_discard_leaves_partial_dir()" - }, - { - "label": "test_post_validate_blocks_sync_when_placeholder_left_in_file()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L560", - "id": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", - "community": 141, - "norm_label": "test_post_validate_blocks_sync_when_placeholder_left_in_file()" - }, - { - "label": "test_subscribe_yields_phase_events_and_done_envelope()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L601", - "id": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", - "community": 140, - "norm_label": "test_subscribe_yields_phase_events_and_done_envelope()" - }, - { - "label": "test_status_unknown_session_raises()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L629", - "id": "controller_test_creation_flow_test_status_unknown_session_raises", - "community": 140, - "norm_label": "test_status_unknown_session_raises()" - }, - { - "label": "test_resume_rejects_session_not_in_input_required()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L637", - "id": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", - "community": 140, - "norm_label": "test_resume_rejects_session_not_in_input_required()" - }, - { - "label": "test_cancel_unknown_session_is_noop()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L647", - "id": "controller_test_creation_flow_test_cancel_unknown_session_is_noop", - "community": 140, - "norm_label": "test_cancel_unknown_session_is_noop()" - }, - { - "label": "test_noop_readme_generator_writes_minimal_readme()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L660", - "id": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", - "community": 25, - "norm_label": "test_noop_readme_generator_writes_minimal_readme()" - }, - { - "label": "test_real_readme_generator_writes_frontmatter_and_cache()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L692", - "id": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", - "community": 403, - "norm_label": "test_real_readme_generator_writes_frontmatter_and_cache()" - }, - { - "label": "test_noop_nas_sync_returns_none()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L747", - "id": "controller_test_creation_flow_test_noop_nas_sync_returns_none", - "community": 140, - "norm_label": "test_noop_nas_sync_returns_none()" - }, - { - "label": "test_resume_unknown_session_raises()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L758", - "id": "controller_test_creation_flow_test_resume_unknown_session_raises", - "community": 140, - "norm_label": "test_resume_unknown_session_raises()" - }, - { - "label": "test_required_template_field_missing_in_readme_extra_fails()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L766", - "id": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", - "community": 409, - "norm_label": "test_required_template_field_missing_in_readme_extra_fails()" - }, - { - "label": "test_required_template_field_present_passes_validation()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L802", - "id": "controller_test_creation_flow_test_required_template_field_present_passes_validation", - "community": 141, - "norm_label": "test_required_template_field_present_passes_validation()" - }, - { - "label": "test_subscribe_unknown_session_raises()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L837", - "id": "controller_test_creation_flow_test_subscribe_unknown_session_raises", - "community": 140, - "norm_label": "test_subscribe_unknown_session_raises()" - }, - { - "label": "test_cancel_input_required_aborts_session_via_plugin_callback()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L846", - "id": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", - "community": 405, - "norm_label": "test_cancel_input_required_aborts_session_via_plugin_callback()" - }, - { - "label": "test_cancel_invokes_cleanup_when_compose_path_fails()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L904", - "id": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", - "community": 406, - "norm_label": "test_cancel_invokes_cleanup_when_compose_path_fails()" - }, - { - "label": "test_cleanup_removes_existing_directory_when_discard_files_true()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L927", - "id": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", - "community": 408, - "norm_label": "test_cleanup_removes_existing_directory_when_discard_files_true()" - }, - { - "label": "test_config_required_readme_field_missing_fails()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L946", - "id": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", - "community": 413, - "norm_label": "test_config_required_readme_field_missing_fails()" - }, - { - "label": "test_render_failure_transitions_session_to_failed()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L972", - "id": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", - "community": 412, - "norm_label": "test_render_failure_transitions_session_to_failed()" - }, - { - "label": "test_run_creation_writes_equipment_json_at_root()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1000", - "id": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", - "community": 307, - "norm_label": "test_run_creation_writes_equipment_json_at_root()" - }, - { - "label": "test_format_error_with_non_validation_exception_returns_internal_error()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1014", - "id": "controller_test_creation_flow_test_format_error_with_non_validation_exception_returns_internal_error", - "community": 333, - "norm_label": "test_format_error_with_non_validation_exception_returns_internal_error()" - }, - { - "label": "test_append_log_writes_log_line()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1023", - "id": "controller_test_creation_flow_test_append_log_writes_log_line", - "community": 333, - "norm_label": "test_append_log_writes_log_line()" - }, - { - "label": "test_run_inherits_lims_project_block_from_parent()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1039", - "id": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", - "community": 307, - "norm_label": "test_run_inherits_lims_project_block_from_parent()" - }, - { - "label": "test_cancel_before_task_starts_invokes_cleanup()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1063", - "id": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", - "community": 411, - "norm_label": "test_cancel_before_task_starts_invokes_cleanup()" - }, - { - "label": "test_resume_session_with_no_resume_queue_raises()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1083", - "id": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", - "community": 414, - "norm_label": "test_resume_session_with_no_resume_queue_raises()" - }, - { - "label": "test_subscribe_creates_queue_when_missing()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1104", - "id": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", - "community": 404, - "norm_label": "test_subscribe_creates_queue_when_missing()" - }, - { - "label": "test_plugin_pass_aborted_transitions_to_failed()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1128", - "id": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", - "community": 402, - "norm_label": "test_plugin_pass_aborted_transitions_to_failed()" - }, - { - "label": "test_required_field_ids_filters_non_dict_entries()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1173", - "id": "controller_test_creation_flow_test_required_field_ids_filters_non_dict_entries", - "community": 407, - "norm_label": "test_required_field_ids_filters_non_dict_entries()" - }, - { - "label": "test_run_without_parent_creation_json_fills_stub_block()", - "file_type": "code", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1189", - "id": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", - "community": 141, - "norm_label": "test_run_without_parent_creation_json_fills_stub_block()" - }, - { - "label": "End-to-end integration tests for :class:`CreationController`. Each test drives", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1", - "id": "controller_test_creation_flow_rationale_1", - "community": 140, - "norm_label": "end-to-end integration tests for :class:`creationcontroller`. each test drives" - }, - { - "label": "Construct a minimal Config with one equipment configured.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L67", - "id": "controller_test_creation_flow_rationale_67", - "community": 140, - "norm_label": "construct a minimal config with one equipment configured." - }, - { - "label": "Wait for the session task to finish and return the final state dict.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L171", - "id": "controller_test_creation_flow_rationale_171", - "community": 141, - "norm_label": "wait for the session task to finish and return the final state dict." - }, - { - "label": "Project creation walks every state and emits a current-version creation.json.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L188", - "id": "controller_test_creation_flow_rationale_188", - "community": 140, - "norm_label": "project creation walks every state and emits a current-version creation.json." - }, - { - "label": "Redesign \u00a73.4: two creations on the same instrument within the same minute r", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L242", - "id": "controller_test_creation_flow_rationale_242", - "community": 141, - "norm_label": "redesign \u00a73.4: two creations on the same instrument within the same minute r" - }, - { - "label": "A run whose parent project name is not a safe path segment (\u00a73.2) is rejecte", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L378", - "id": "controller_test_creation_flow_rationale_378", - "community": 483, - "norm_label": "a run whose parent project name is not a safe path segment (\u00a73.2) is rejecte" - }, - { - "label": "When a plugin raises PluginInputRequired, controller emits the event and res", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L425", - "id": "controller_test_creation_flow_rationale_425", - "community": 141, - "norm_label": "when a plugin raises plugininputrequired, controller emits the event and res" - }, - { - "label": "A cancel with ``discard_files=True`` deletes the partial directory.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L501", - "id": "controller_test_creation_flow_rationale_501", - "community": 415, - "norm_label": "a cancel with ``discard_files=true`` deletes the partial directory." - }, - { - "label": "A cancel with ``discard_files=False`` leaves the partial directory.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L539", - "id": "controller_test_creation_flow_rationale_539", - "community": 410, - "norm_label": "a cancel with ``discard_files=false`` leaves the partial directory." - }, - { - "label": "A rendered file containing ```` must trip the post-validate gate.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L563", - "id": "controller_test_creation_flow_rationale_563", - "community": 141, - "norm_label": "a rendered file containing ```` must trip the post-validate gate." - }, - { - "label": "T1 (\u00a7C1): the production ``ReadmeGenerator`` -- injected by ``tray.dependenc", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L693", - "id": "controller_test_creation_flow_rationale_693", - "community": 403, - "norm_label": "t1 (\u00a7c1): the production ``readmegenerator`` -- injected by ``tray.dependenc" - }, - { - "label": "A template-required README field missing from ``readme_extra`` must trigger", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L769", - "id": "controller_test_creation_flow_rationale_769", - "community": 409, - "norm_label": "a template-required readme field missing from ``readme_extra`` must trigger" - }, - { - "label": "When ``readme_extra`` supplies a non-empty value for a required field the va", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L805", - "id": "controller_test_creation_flow_rationale_805", - "community": 141, - "norm_label": "when ``readme_extra`` supplies a non-empty value for a required field the va" - }, - { - "label": "When the operator cancels the input-required prompt (host returns ``aborted=", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L849", - "id": "controller_test_creation_flow_rationale_849", - "community": 405, - "norm_label": "when the operator cancels the input-required prompt (host returns ``aborted=" - }, - { - "label": "``_cleanup`` swallows compose-path errors gracefully.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L907", - "id": "controller_test_creation_flow_rationale_907", - "community": 406, - "norm_label": "``_cleanup`` swallows compose-path errors gracefully." - }, - { - "label": "``_cleanup`` removes the destination directory when ``discard_files=True``.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L930", - "id": "controller_test_creation_flow_rationale_930", - "community": 408, - "norm_label": "``_cleanup`` removes the destination directory when ``discard_files=true``." - }, - { - "label": "A config.yaml-required README field missing from ``readme_extra`` must trigg", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L947", - "id": "controller_test_creation_flow_rationale_947", - "community": 413, - "norm_label": "a config.yaml-required readme field missing from ``readme_extra`` must trigg" - }, - { - "label": "A Copier render failure (e.g. dst exists) transitions the session to ``FAILE", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L973", - "id": "controller_test_creation_flow_rationale_973", - "community": 412, - "norm_label": "a copier render failure (e.g. dst exists) transitions the session to ``faile" - }, - { - "label": "The controller writes ``equipment.json`` under ``//.exlab-wiz", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1001", - "id": "controller_test_creation_flow_rationale_1001", - "community": 307, - "norm_label": "the controller writes ``equipment.json`` under ``//.exlab-wiz" - }, - { - "label": "Generic exceptions are wrapped as ``internal_error``.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1017", - "id": "controller_test_creation_flow_rationale_1017", - "community": 333, - "norm_label": "generic exceptions are wrapped as ``internal_error``." - }, - { - "label": "The best-effort log appender writes to the equipment cache dir.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1024", - "id": "controller_test_creation_flow_rationale_1024", - "community": 333, - "norm_label": "the best-effort log appender writes to the equipment cache dir." - }, - { - "label": "A run inherits its LIMS identity from the parent project's creation.json (Ba", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1040", - "id": "controller_test_creation_flow_rationale_1040", - "community": 307, - "norm_label": "a run inherits its lims identity from the parent project's creation.json (ba" - }, - { - "label": "If ``cancel`` is invoked on a session that has not yet started a pipeline ta", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1064", - "id": "controller_test_creation_flow_rationale_1064", - "community": 411, - "norm_label": "if ``cancel`` is invoked on a session that has not yet started a pipeline ta" - }, - { - "label": "Resume against a session that has no resume queue raises.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1084", - "id": "controller_test_creation_flow_rationale_1084", - "community": 414, - "norm_label": "resume against a session that has no resume queue raises." - }, - { - "label": "``subscribe`` initializes ``event_queue`` if the session opened with none (d", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1105", - "id": "controller_test_creation_flow_rationale_1105", - "community": 404, - "norm_label": "``subscribe`` initializes ``event_queue`` if the session opened with none (d" - }, - { - "label": "When :class:`PluginHost` returns ``aborted=True``, the controller transition", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1129", - "id": "controller_test_creation_flow_rationale_1129", - "community": 402, - "norm_label": "when :class:`pluginhost` returns ``aborted=true``, the controller transition" - }, - { - "label": "The ``_required_field_ids`` helper must skip non-dict entries in the templat", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1174", - "id": "controller_test_creation_flow_rationale_1174", - "community": 407, - "norm_label": "the ``_required_field_ids`` helper must skip non-dict entries in the templat" - }, - { - "label": "A run whose parent project folder has no readable creation.json still produc", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1190", - "id": "controller_test_creation_flow_rationale_1190", - "community": 141, - "norm_label": "a run whose parent project folder has no readable creation.json still produc" - }, - { - "label": "test_full_flow.py", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L1", - "id": "tests_integration_api_test_full_flow_py", - "community": 175, - "norm_label": "test_full_flow.py" - }, - { - "label": "ready_config()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L51", - "id": "api_test_full_flow_ready_config", - "community": 0, - "norm_label": "ready_config()" - }, - { - "label": "app_with_real_controller()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L75", - "id": "api_test_full_flow_app_with_real_controller", - "community": 10, - "norm_label": "app_with_real_controller()" - }, - { - "label": "_client()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L104", - "id": "api_test_full_flow_client", - "community": 175, - "norm_label": "_client()" - }, - { - "label": "test_full_project_creation_flow()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L110", - "id": "api_test_full_flow_test_full_project_creation_flow", - "community": 175, - "norm_label": "test_full_project_creation_flow()" - }, - { - "label": "test_health_returns_ready_when_setup_complete()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L154", - "id": "api_test_full_flow_test_health_returns_ready_when_setup_complete", - "community": 175, - "norm_label": "test_health_returns_ready_when_setup_complete()" - }, - { - "label": "test_health_warns_when_lims_unreachable()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L164", - "id": "api_test_full_flow_test_health_warns_when_lims_unreachable", - "community": 175, - "norm_label": "test_health_warns_when_lims_unreachable()" - }, - { - "label": "test_setup_status_each_incomplete_state()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L174", - "id": "api_test_full_flow_test_setup_status_each_incomplete_state", - "community": 175, - "norm_label": "test_setup_status_each_incomplete_state()" - }, - { - "label": "test_create_session_blocked_when_setup_incomplete()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L208", - "id": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", - "community": 175, - "norm_label": "test_create_session_blocked_when_setup_incomplete()" - }, - { - "label": "test_lims_unreachable_does_not_block_creation()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L232", - "id": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "community": 10, - "norm_label": "test_lims_unreachable_does_not_block_creation()" - }, - { - "label": "test_problems_refresh_returns_audit_count()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L283", - "id": "api_test_full_flow_test_problems_refresh_returns_audit_count", - "community": 175, - "norm_label": "test_problems_refresh_returns_audit_count()" - }, - { - "label": "test_get_problems_returns_findings_and_filters()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L305", - "id": "api_test_full_flow_test_get_problems_returns_findings_and_filters", - "community": 175, - "norm_label": "test_get_problems_returns_findings_and_filters()" - }, - { - "label": "test_put_config_validates_and_updates_state()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L324", - "id": "api_test_full_flow_test_put_config_validates_and_updates_state", - "community": 175, - "norm_label": "test_put_config_validates_and_updates_state()" - }, - { - "label": "test_get_tree_in_ready_state()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L344", - "id": "api_test_full_flow_test_get_tree_in_ready_state", - "community": 175, - "norm_label": "test_get_tree_in_ready_state()" - }, - { - "label": "test_websocket_streams_session_events_sync()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L357", - "id": "api_test_full_flow_test_websocket_streams_session_events_sync", - "community": 10, - "norm_label": "test_websocket_streams_session_events_sync()" - }, - { - "label": "_build_minimal_controller()", - "file_type": "code", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L428", - "id": "api_test_full_flow_build_minimal_controller", - "community": 175, - "norm_label": "_build_minimal_controller()" - }, - { - "label": "Full-flow integration test for the FastAPI surface. Drives one project-creation", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L1", - "id": "api_test_full_flow_rationale_1", - "community": 175, - "norm_label": "full-flow integration test for the fastapi surface. drives one project-creation" - }, - { - "label": "Build a FastAPI app with the real controller + validator wired.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L76", - "id": "api_test_full_flow_rationale_76", - "community": 10, - "norm_label": "build a fastapi app with the real controller + validator wired." - }, - { - "label": "End-to-end: POST /sessions -> session reaches DONE -> creation.json on disk.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L111", - "id": "api_test_full_flow_rationale_111", - "community": 175, - "norm_label": "end-to-end: post /sessions -> session reaches done -> creation.json on disk." - }, - { - "label": "Each non-soft INCOMPLETE_* state surfaces the right next_action.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L175", - "id": "api_test_full_flow_rationale_175", - "community": 175, - "norm_label": "each non-soft incomplete_* state surfaces the right next_action." - }, - { - "label": "POST /sessions returns 503 + setup_incomplete in non-soft INCOMPLETE_* states.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L209", - "id": "api_test_full_flow_rationale_209", - "community": 175, - "norm_label": "post /sessions returns 503 + setup_incomplete in non-soft incomplete_* states." - }, - { - "label": "The soft block does not gate POST /sessions per \u00a74.9.4.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L233", - "id": "api_test_full_flow_rationale_233", - "community": 10, - "norm_label": "the soft block does not gate post /sessions per \u00a74.9.4." - }, - { - "label": "``POST /problems/refresh`` invokes Validator.audit and returns the count.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L284", - "id": "api_test_full_flow_rationale_284", - "community": 175, - "norm_label": "``post /problems/refresh`` invokes validator.audit and returns the count." - }, - { - "label": "End-to-end WebSocket stream of phase frames. Uses the synchronous TestClien", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L358", - "id": "api_test_full_flow_rationale_358", - "community": 10, - "norm_label": "end-to-end websocket stream of phase frames. uses the synchronous testclien" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/integration/api/__init__.py", - "source_location": "L1", - "id": "tests_integration_api_init_py", - "community": 401, - "norm_label": "__init__.py" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_init_py", - "community": 561, - "norm_label": "__init__.py" - }, - { - "label": "mock_lims.py", - "file_type": "code", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L1", - "id": "tests_fixtures_mock_lims_py", - "community": 127, - "norm_label": "mock_lims.py" - }, - { - "label": "MockLimsState", - "file_type": "code", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L38", - "id": "fixtures_mock_lims_mocklimsstate", - "community": 332, - "norm_label": "mocklimsstate" - }, - { - "label": ".issue_session()", - "file_type": "code", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L53", - "id": "fixtures_mock_lims_mocklimsstate_issue_session", - "community": 332, - "norm_label": ".issue_session()" - }, - { - "label": ".is_valid_session()", - "file_type": "code", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L59", - "id": "fixtures_mock_lims_mocklimsstate_is_valid_session", - "community": 332, - "norm_label": ".is_valid_session()" - }, - { - "label": ".invalidate_sessions()", - "file_type": "code", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L62", - "id": "fixtures_mock_lims_mocklimsstate_invalidate_sessions", - "community": 332, - "norm_label": ".invalidate_sessions()" - }, - { - "label": "_default_user()", - "file_type": "code", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L69", - "id": "fixtures_mock_lims_default_user", - "community": 127, - "norm_label": "_default_user()" - }, - { - "label": "_default_project()", - "file_type": "code", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L77", - "id": "fixtures_mock_lims_default_project", - "community": 127, - "norm_label": "_default_project()" - }, - { - "label": "make_mock_lims_app()", - "file_type": "code", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L90", - "id": "fixtures_mock_lims_make_mock_lims_app", - "community": 127, - "norm_label": "make_mock_lims_app()" - }, - { - "label": "In-memory FastAPI fixture LIMS server used by the LIMS-client tests. The fixtur", - "file_type": "rationale", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L1", - "id": "fixtures_mock_lims_rationale_1", - "community": 127, - "norm_label": "in-memory fastapi fixture lims server used by the lims-client tests. the fixtur" - }, - { - "label": "Mutable per-app state. ``valid_email`` / ``valid_password`` are the credent", - "file_type": "rationale", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L39", - "id": "fixtures_mock_lims_rationale_39", - "community": 332, - "norm_label": "mutable per-app state. ``valid_email`` / ``valid_password`` are the credent" - }, - { - "label": "Mint a fresh opaque session token.", - "file_type": "rationale", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L54", - "id": "fixtures_mock_lims_rationale_54", - "community": 332, - "norm_label": "mint a fresh opaque session token." - }, - { - "label": "Drop every issued session token. The next protected call sees a 401 and", - "file_type": "rationale", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L63", - "id": "fixtures_mock_lims_rationale_63", - "community": 332, - "norm_label": "drop every issued session token. the next protected call sees a 401 and" - }, - { - "label": "Build a FastAPI app implementing the v1 LIMS read surface. Returns a fresh", - "file_type": "rationale", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L97", - "id": "fixtures_mock_lims_rationale_97", - "community": 127, - "norm_label": "build a fastapi app implementing the v1 lims read surface. returns a fresh" - }, - { - "label": "stub_rclone.py", - "file_type": "code", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L1", - "id": "tests_fixtures_stub_rclone_py", - "community": 203, - "norm_label": "stub_rclone.py" - }, - { - "label": "_parse_copy_args()", - "file_type": "code", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L48", - "id": "fixtures_stub_rclone_parse_copy_args", - "community": 203, - "norm_label": "_parse_copy_args()" - }, - { - "label": "_is_flag_value()", - "file_type": "code", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L60", - "id": "fixtures_stub_rclone_is_flag_value", - "community": 203, - "norm_label": "_is_flag_value()" - }, - { - "label": "_emit_combined()", - "file_type": "code", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L80", - "id": "fixtures_stub_rclone_emit_combined", - "community": 203, - "norm_label": "_emit_combined()" - }, - { - "label": "_flag_value()", - "file_type": "code", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L109", - "id": "fixtures_stub_rclone_flag_value", - "community": 203, - "norm_label": "_flag_value()" - }, - { - "label": "main()", - "file_type": "code", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L120", - "id": "fixtures_stub_rclone_main", - "community": 203, - "norm_label": "main()" - }, - { - "label": "Return ``(local, remote_spec)`` from a ``rclone copy`` argv.", - "file_type": "rationale", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L49", - "id": "fixtures_stub_rclone_rationale_49", - "community": 203, - "norm_label": "return ``(local, remote_spec)`` from a ``rclone copy`` argv." - }, - { - "label": "Return True if ``arg`` is the value-half of a ``--flag value`` pair.", - "file_type": "rationale", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L61", - "id": "fixtures_stub_rclone_rationale_61", - "community": 203, - "norm_label": "return true if ``arg`` is the value-half of a ``--flag value`` pair." - }, - { - "label": "Write `` `` per file in ``--files-from`` to ``--combined``. `", - "file_type": "rationale", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L81", - "id": "fixtures_stub_rclone_rationale_81", - "community": 203, - "norm_label": "write `` `` per file in ``--files-from`` to ``--combined``. `" - }, - { - "label": "Return the value following ``flag`` in ``argv`` or ``None``.", - "file_type": "rationale", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L110", - "id": "fixtures_stub_rclone_rationale_110", - "community": 203, - "norm_label": "return the value following ``flag`` in ``argv`` or ``none``." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/lims/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_lims_init_py", - "community": 562, - "norm_label": "__init__.py" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/lims/exlab_v1/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_lims_exlab_v1_init_py", - "community": 563, - "norm_label": "__init__.py" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_init_py", - "community": 374, - "norm_label": "__init__.py" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/hello_plugin/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_hello_plugin_init_py", - "community": 306, - "norm_label": "__init__.py" - }, - { - "label": "hello_plugin -- canonical scaffold from Backend Spec \u00a76.5. The ``Plugin`` re-ex", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/hello_plugin/__init__.py", - "source_location": "L1", - "id": "hello_plugin_init_rationale_1", - "community": 306, - "norm_label": "hello_plugin -- canonical scaffold from backend spec \u00a76.5. the ``plugin`` re-ex" - }, - { - "label": "plugin.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_hello_plugin_plugin_py", - "community": 306, - "norm_label": "plugin.py" - }, - { - "label": "HelloPlugin", - "file_type": "code", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L20", - "id": "hello_plugin_plugin_helloplugin", - "community": 306, - "norm_label": "helloplugin" - }, - { - "label": ".can_handle()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L28", - "id": "hello_plugin_plugin_helloplugin_can_handle", - "community": 306, - "norm_label": ".can_handle()" - }, - { - "label": ".transform()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L32", - "id": "hello_plugin_plugin_helloplugin_transform", - "community": 306, - "norm_label": ".transform()" - }, - { - "label": "hello_plugin -- minimal real plugin used by the host integration suite. Backend", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L1", - "id": "hello_plugin_plugin_rationale_1", - "community": 306, - "norm_label": "hello_plugin -- minimal real plugin used by the host integration suite. backend" - }, - { - "label": "Append ``hello\\\\n`` to every ``.txt`` file the host hands us.", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L21", - "id": "hello_plugin_plugin_rationale_21", - "community": 306, - "norm_label": "append ``hello\\\\n`` to every ``.txt`` file the host hands us." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_init_py", - "community": 532, - "norm_label": "__init__.py" - }, - { - "label": "Failure-mode plugin fixtures (timeout, error, input-required, policy, crash).", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/__init__.py", - "source_location": "L1", - "id": "failures_init_rationale_1", - "community": 532, - "norm_label": "failure-mode plugin fixtures (timeout, error, input-required, policy, crash)." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_error_plugin_init_py", - "community": 15, - "norm_label": "__init__.py" - }, - { - "label": "error_plugin -- raises PluginError mid-transform.", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/__init__.py", - "source_location": "L1", - "id": "error_plugin_init_rationale_1", - "community": 15, - "norm_label": "error_plugin -- raises pluginerror mid-transform." - }, - { - "label": "plugin.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_error_plugin_plugin_py", - "community": 15, - "norm_label": "plugin.py" - }, - { - "label": "ErrorPlugin", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L17", - "id": "error_plugin_plugin_errorplugin", - "community": 15, - "norm_label": "errorplugin" - }, - { - "label": ".can_handle()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L25", - "id": "error_plugin_plugin_errorplugin_can_handle", - "community": 15, - "norm_label": ".can_handle()" - }, - { - "label": ".transform()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L28", - "id": "error_plugin_plugin_errorplugin_transform", - "community": 15, - "norm_label": ".transform()" - }, - { - "label": "error_plugin -- raises PluginError mid-transform. Exercises the Backend Spec \u00a76", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L1", - "id": "error_plugin_plugin_rationale_1", - "community": 15, - "norm_label": "error_plugin -- raises pluginerror mid-transform. exercises the backend spec \u00a76" - }, - { - "label": "Always raises PluginError on transform.", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L18", - "id": "error_plugin_plugin_rationale_18", - "community": 15, - "norm_label": "always raises pluginerror on transform." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_policy_violation_plugin_init_py", - "community": 304, - "norm_label": "__init__.py" - }, - { - "label": "policy_violation_plugin -- writes to a forbidden path (Backend Spec \u00a76.1.5).", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/__init__.py", - "source_location": "L1", - "id": "policy_violation_plugin_init_rationale_1", - "community": 304, - "norm_label": "policy_violation_plugin -- writes to a forbidden path (backend spec \u00a76.1.5)." - }, - { - "label": "plugin.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py", - "community": 304, - "norm_label": "plugin.py" - }, - { - "label": "PolicyViolationPlugin", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L18", - "id": "policy_violation_plugin_plugin_policyviolationplugin", - "community": 304, - "norm_label": "policyviolationplugin" - }, - { - "label": ".can_handle()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L26", - "id": "policy_violation_plugin_plugin_policyviolationplugin_can_handle", - "community": 304, - "norm_label": ".can_handle()" - }, - { - "label": ".transform()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L29", - "id": "policy_violation_plugin_plugin_policyviolationplugin_transform", - "community": 304, - "norm_label": ".transform()" - }, - { - "label": "policy_violation_plugin -- exercises Backend Spec \u00a76.1.5 enforcement. The plugi", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L1", - "id": "policy_violation_plugin_plugin_rationale_1", - "community": 304, - "norm_label": "policy_violation_plugin -- exercises backend spec \u00a76.1.5 enforcement. the plugi" - }, - { - "label": "Write into ``README.md`` (a wizard-controlled file).", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L19", - "id": "policy_violation_plugin_plugin_rationale_19", - "community": 304, - "norm_label": "write into ``readme.md`` (a wizard-controlled file)." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_input_required_plugin_init_py", - "community": 305, - "norm_label": "__init__.py" - }, - { - "label": "input_required_plugin -- exercises the PluginInputRequired suspend/resume handsh", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/__init__.py", - "source_location": "L1", - "id": "input_required_plugin_init_rationale_1", - "community": 305, - "norm_label": "input_required_plugin -- exercises the plugininputrequired suspend/resume handsh" - }, - { - "label": "plugin.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_input_required_plugin_plugin_py", - "community": 305, - "norm_label": "plugin.py" - }, - { - "label": "InputRequiredPlugin", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L20", - "id": "input_required_plugin_plugin_inputrequiredplugin", - "community": 305, - "norm_label": "inputrequiredplugin" - }, - { - "label": ".can_handle()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L28", - "id": "input_required_plugin_plugin_inputrequiredplugin_can_handle", - "community": 305, - "norm_label": ".can_handle()" - }, - { - "label": ".transform()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L31", - "id": "input_required_plugin_plugin_inputrequiredplugin_transform", - "community": 305, - "norm_label": ".transform()" - }, - { - "label": "input_required_plugin -- exercises Backend Spec \u00a76.4 suspend/resume. On the fir", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L1", - "id": "input_required_plugin_plugin_rationale_1", - "community": 305, - "norm_label": "input_required_plugin -- exercises backend spec \u00a76.4 suspend/resume. on the fir" - }, - { - "label": "Demand a user-supplied ``color`` value before completing.", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L21", - "id": "input_required_plugin_plugin_rationale_21", - "community": 305, - "norm_label": "demand a user-supplied ``color`` value before completing." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_crash_plugin_init_py", - "community": 303, - "norm_label": "__init__.py" - }, - { - "label": "crash_plugin -- exercises subprocess crash containment (SIGSEGV-like).", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/__init__.py", - "source_location": "L1", - "id": "crash_plugin_init_rationale_1", - "community": 303, - "norm_label": "crash_plugin -- exercises subprocess crash containment (sigsegv-like)." - }, - { - "label": "plugin.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_crash_plugin_plugin_py", - "community": 303, - "norm_label": "plugin.py" - }, - { - "label": "CrashPlugin", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L18", - "id": "crash_plugin_plugin_crashplugin", - "community": 303, - "norm_label": "crashplugin" - }, - { - "label": ".can_handle()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L26", - "id": "crash_plugin_plugin_crashplugin_can_handle", - "community": 303, - "norm_label": ".can_handle()" - }, - { - "label": ".transform()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L29", - "id": "crash_plugin_plugin_crashplugin_transform", - "community": 303, - "norm_label": ".transform()" - }, - { - "label": "crash_plugin -- exercises subprocess crash containment. The plugin's ``transfor", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L1", - "id": "crash_plugin_plugin_rationale_1", - "community": 303, - "norm_label": "crash_plugin -- exercises subprocess crash containment. the plugin's ``transfor" - }, - { - "label": "Hard-exit the worker process before any file write.", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L19", - "id": "crash_plugin_plugin_rationale_19", - "community": 303, - "norm_label": "hard-exit the worker process before any file write." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_timeout_plugin_init_py", - "community": 277, - "norm_label": "__init__.py" - }, - { - "label": "Failure fixture: plugin that hangs in ``transform`` past its timeout.", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/__init__.py", - "source_location": "L1", - "id": "timeout_plugin_init_rationale_1", - "community": 277, - "norm_label": "failure fixture: plugin that hangs in ``transform`` past its timeout." - }, - { - "label": "plugin.py", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L1", - "id": "tests_fixtures_plugins_failures_timeout_plugin_plugin_py", - "community": 277, - "norm_label": "plugin.py" - }, - { - "label": "TimeoutPlugin", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L19", - "id": "timeout_plugin_plugin_timeoutplugin", - "community": 277, - "norm_label": "timeoutplugin" - }, - { - "label": ".can_handle()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L27", - "id": "timeout_plugin_plugin_timeoutplugin_can_handle", - "community": 277, - "norm_label": ".can_handle()" - }, - { - "label": ".transform()", - "file_type": "code", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L30", - "id": "timeout_plugin_plugin_timeoutplugin_transform", - "community": 277, - "norm_label": ".transform()" - }, - { - "label": "timeout_plugin -- exercises Backend Spec \u00a76.3.4 timeout enforcement. The plugin", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L1", - "id": "timeout_plugin_plugin_rationale_1", - "community": 277, - "norm_label": "timeout_plugin -- exercises backend spec \u00a76.3.4 timeout enforcement. the plugin" - }, - { - "label": "Hang past the declared timeout. Never reaches its file write.", - "file_type": "rationale", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L20", - "id": "timeout_plugin_plugin_rationale_20", - "community": 277, - "norm_label": "hang past the declared timeout. never reaches its file write." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/configs/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_configs_init_py", - "community": 533, - "norm_label": "__init__.py" - }, - { - "label": "Read-only YAML fixtures for the config-loader unit tests.", - "file_type": "rationale", - "source_file": "tests/fixtures/configs/__init__.py", - "source_location": "L1", - "id": "configs_init_rationale_1", - "community": 533, - "norm_label": "read-only yaml fixtures for the config-loader unit tests." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/fixtures/templates/__init__.py", - "source_location": "L1", - "id": "tests_fixtures_templates_init_py", - "community": 534, - "norm_label": "__init__.py" - }, - { - "label": "Copier template fixtures for the test suite.", - "file_type": "rationale", - "source_file": "tests/fixtures/templates/__init__.py", - "source_location": "L1", - "id": "templates_init_rationale_1", - "community": 534, - "norm_label": "copier template fixtures for the test suite." - }, - { - "label": "test_flow_18_relay_receive.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_18_relay_receive_py", - "community": 375, - "norm_label": "test_flow_18_relay_receive.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L21", - "id": "e2e_test_flow_18_relay_receive_goto", - "community": 375, - "norm_label": "_goto()" - }, - { - "label": "test_flow_18_received_equipment_node_appears()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L34", - "id": "e2e_test_flow_18_relay_receive_test_flow_18_received_equipment_node_appears", - "community": 375, - "norm_label": "test_flow_18_received_equipment_node_appears()" - }, - { - "label": "test_flow_18_received_metadata_shows_relay_badge()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L41", - "id": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", - "community": 375, - "norm_label": "test_flow_18_received_metadata_shows_relay_badge()" - }, - { - "label": "E2E flow 18: relay-receive \u2014 received equipment auto-discovery (Redesign \u00a73.3).", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L1", - "id": "e2e_test_flow_18_relay_receive_rationale_1", - "community": 375, - "norm_label": "e2e flow 18: relay-receive \u2014 received equipment auto-discovery (redesign \u00a73.3)." - }, - { - "label": "conftest.py", - "file_type": "code", - "source_file": "tests/e2e/conftest.py", - "source_location": "L1", - "id": "tests_e2e_conftest_py", - "community": 116, - "norm_label": "conftest.py" - }, - { - "label": "_free_port()", - "file_type": "code", - "source_file": "tests/e2e/conftest.py", - "source_location": "L46", - "id": "e2e_conftest_free_port", - "community": 116, - "norm_label": "_free_port()" - }, - { - "label": "_resolve_chromium_executable()", - "file_type": "code", - "source_file": "tests/e2e/conftest.py", - "source_location": "L53", - "id": "e2e_conftest_resolve_chromium_executable", - "community": 116, - "norm_label": "_resolve_chromium_executable()" - }, - { - "label": "server_url()", - "file_type": "code", - "source_file": "tests/e2e/conftest.py", - "source_location": "L90", - "id": "e2e_conftest_server_url", - "community": 116, - "norm_label": "server_url()" - }, - { - "label": "browser()", - "file_type": "code", - "source_file": "tests/e2e/conftest.py", - "source_location": "L155", - "id": "e2e_conftest_browser", - "community": 116, - "norm_label": "browser()" - }, - { - "label": "page()", - "file_type": "code", - "source_file": "tests/e2e/conftest.py", - "source_location": "L181", - "id": "e2e_conftest_page", - "community": 116, - "norm_label": "page()" - }, - { - "label": "E2E test fixtures (Phase 16). Boots a real uvicorn process serving the e2e test", - "file_type": "rationale", - "source_file": "tests/e2e/conftest.py", - "source_location": "L1", - "id": "e2e_conftest_rationale_1", - "community": 116, - "norm_label": "e2e test fixtures (phase 16). boots a real uvicorn process serving the e2e test" - }, - { - "label": "Return a free TCP port on 127.0.0.1.", - "file_type": "rationale", - "source_file": "tests/e2e/conftest.py", - "source_location": "L47", - "id": "e2e_conftest_rationale_47", - "community": 116, - "norm_label": "return a free tcp port on 127.0.0.1." - }, - { - "label": "Return a chromium executable path or None. Search order: 1. ``EXLAB_E2", - "file_type": "rationale", - "source_file": "tests/e2e/conftest.py", - "source_location": "L54", - "id": "e2e_conftest_rationale_54", - "community": 116, - "norm_label": "return a chromium executable path or none. search order: 1. ``exlab_e2" - }, - { - "label": "Spawn a real uvicorn process serving the e2e test app and yield its URL. Th", - "file_type": "rationale", - "source_file": "tests/e2e/conftest.py", - "source_location": "L91", - "id": "e2e_conftest_rationale_91", - "community": 116, - "norm_label": "spawn a real uvicorn process serving the e2e test app and yield its url. th" - }, - { - "label": "Yield a chromium browser (headless).", - "file_type": "rationale", - "source_file": "tests/e2e/conftest.py", - "source_location": "L156", - "id": "e2e_conftest_rationale_156", - "community": 116, - "norm_label": "yield a chromium browser (headless)." - }, - { - "label": "Yield a fresh Playwright page for each test.", - "file_type": "rationale", - "source_file": "tests/e2e/conftest.py", - "source_location": "L182", - "id": "e2e_conftest_rationale_182", - "community": 116, - "norm_label": "yield a fresh playwright page for each test." - }, - { - "label": "test_flow_00_fresh_install_setup.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_00_fresh_install_setup_py", - "community": 227, - "norm_label": "test_flow_00_fresh_install_setup.py" - }, - { - "label": "fresh_prod_server()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L49", - "id": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", - "community": 227, - "norm_label": "fresh_prod_server()" - }, - { - "label": "test_fresh_install_setup_writes_config_and_applies_live()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L107", - "id": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", - "community": 227, - "norm_label": "test_fresh_install_setup_writes_config_and_applies_live()" - }, - { - "label": "E2E flow 00: fresh-install first-launch setup against the PRODUCTION app. Unlik", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L1", - "id": "e2e_test_flow_00_fresh_install_setup_rationale_1", - "community": 227, - "norm_label": "e2e flow 00: fresh-install first-launch setup against the production app. unlik" - }, - { - "label": "Spawn the production wizard app with HOME redirected to a fresh tmp dir. Yi", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L50", - "id": "e2e_test_flow_00_fresh_install_setup_rationale_50", - "community": 227, - "norm_label": "spawn the production wizard app with home redirected to a fresh tmp dir. yi" - }, - { - "label": "test_flow_22_onboarding_redesign.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_22_onboarding_redesign_py", - "community": 215, - "norm_label": "test_flow_22_onboarding_redesign.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L19", - "id": "e2e_test_flow_22_onboarding_redesign_goto", - "community": 215, - "norm_label": "_goto()" - }, - { - "label": "test_flow_22_welcome_to_add_equipment()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L32", - "id": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", - "community": 215, - "norm_label": "test_flow_22_welcome_to_add_equipment()" - }, - { - "label": "test_flow_22_main_window_has_add_equipment_in_toolbar()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L47", - "id": "e2e_test_flow_22_onboarding_redesign_test_flow_22_main_window_has_add_equipment_in_toolbar", - "community": 215, - "norm_label": "test_flow_22_main_window_has_add_equipment_in_toolbar()" - }, - { - "label": "E2E flow 22: onboarding via the new Add-Equipment wizard (Redesign decision 2).", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L1", - "id": "e2e_test_flow_22_onboarding_redesign_rationale_1", - "community": 215, - "norm_label": "e2e flow 22: onboarding via the new add-equipment wizard (redesign decision 2)." - }, - { - "label": "test_flow_24_context_menus.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_24_context_menus_py", - "community": 207, - "norm_label": "test_flow_24_context_menus.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L21", - "id": "e2e_test_flow_24_context_menus_goto", - "community": 207, - "norm_label": "_goto()" - }, - { - "label": "_open_context()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L34", - "id": "e2e_test_flow_24_context_menus_open_context", - "community": 207, - "norm_label": "_open_context()" - }, - { - "label": "test_flow_24_owned_equipment_context_menu_items_render()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L39", - "id": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", - "community": 207, - "norm_label": "test_flow_24_owned_equipment_context_menu_items_render()" - }, - { - "label": "test_flow_24_edit_equipment_deep_links_into_settings()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L52", - "id": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", - "community": 207, - "norm_label": "test_flow_24_edit_equipment_deep_links_into_settings()" - }, - { - "label": "test_flow_24_remove_equipment_deep_links_into_settings()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L63", - "id": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", - "community": 207, - "norm_label": "test_flow_24_remove_equipment_deep_links_into_settings()" - }, - { - "label": "test_flow_24_received_equipment_has_no_context_menu()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L72", - "id": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", - "community": 207, - "norm_label": "test_flow_24_received_equipment_has_no_context_menu()" - }, - { - "label": "test_flow_24_run_context_menu_items_render()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L85", - "id": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", - "community": 207, - "norm_label": "test_flow_24_run_context_menu_items_render()" - }, - { - "label": "test_flow_24_file_list_row_context_menu()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L97", - "id": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", - "community": 207, - "norm_label": "test_flow_24_file_list_row_context_menu()" - }, - { - "label": "test_flow_24_tombstone_row_has_no_open_in_os()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L112", - "id": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", - "community": 207, - "norm_label": "test_flow_24_tombstone_row_has_no_open_in_os()" - }, - { - "label": "test_flow_24_keep_local_badge_and_toggle()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L132", - "id": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", - "community": 207, - "norm_label": "test_flow_24_keep_local_badge_and_toggle()" - }, - { - "label": "E2E flow 24: right-click context menus (Redesign \u00a74.6 / decision 4A / \u00a79.1). Th", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L1", - "id": "e2e_test_flow_24_context_menus_rationale_1", - "community": 207, - "norm_label": "e2e flow 24: right-click context menus (redesign \u00a74.6 / decision 4a / \u00a79.1). th" - }, - { - "label": "Open a NiceGUI ``ui.context_menu`` by right-clicking its anchor.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L35", - "id": "e2e_test_flow_24_context_menus_rationale_35", - "community": 207, - "norm_label": "open a nicegui ``ui.context_menu`` by right-clicking its anchor." - }, - { - "label": "Decision 3: received-equipment nodes don't expose edit / remove.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L73", - "id": "e2e_test_flow_24_context_menus_rationale_73", - "community": 207, - "norm_label": "decision 3: received-equipment nodes don't expose edit / remove." - }, - { - "label": "Right-clicking a file-list row surfaces Open in OS / Copy path / Keep local.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L98", - "id": "e2e_test_flow_24_context_menus_rationale_98", - "community": 207, - "norm_label": "right-clicking a file-list row surfaces open in os / copy path / keep local." - }, - { - "label": "An \"On NAS\" tombstone row has no local copy, so no Open-in-OS action. Opera", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L113", - "id": "e2e_test_flow_24_context_menus_rationale_113", - "community": 207, - "norm_label": "an \"on nas\" tombstone row has no local copy, so no open-in-os action. opera" - }, - { - "label": "A keep-local file shows the \"kept local\" badge; the toggle action fires. Op", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L133", - "id": "e2e_test_flow_24_context_menus_rationale_133", - "community": 207, - "norm_label": "a keep-local file shows the \"kept local\" badge; the toggle action fires. op" - }, - { - "label": "test_flow_08_settings.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_08_settings_py", - "community": 74, - "norm_label": "test_flow_08_settings.py" - }, - { - "label": "test_flow_08_settings()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L30", - "id": "e2e_test_flow_08_settings_test_flow_08_settings", - "community": 74, - "norm_label": "test_flow_08_settings()" - }, - { - "label": "test_flow_08_lims_password_credential()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L58", - "id": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", - "community": 74, - "norm_label": "test_flow_08_lims_password_credential()" - }, - { - "label": "test_flow_08_lims_password_cancel_discards_edit()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L91", - "id": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", - "community": 74, - "norm_label": "test_flow_08_lims_password_cancel_discards_edit()" - }, - { - "label": "test_flow_08_workstation_section_hides_staging_root()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L108", - "id": "e2e_test_flow_08_settings_test_flow_08_workstation_section_hides_staging_root", - "community": 74, - "norm_label": "test_flow_08_workstation_section_hides_staging_root()" - }, - { - "label": "E2E flow 08: Settings dialog round-trip + persistence. Frontend Spec \u00a76.7 (sett", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L1", - "id": "e2e_test_flow_08_settings_rationale_1", - "community": 74, - "norm_label": "e2e flow 08: settings dialog round-trip + persistence. frontend spec \u00a76.7 (sett" - }, - { - "label": "The LIMS credential field's full lifecycle: set -> replace -> clear (\u00a77.4.1).", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L59", - "id": "e2e_test_flow_08_settings_rationale_59", - "community": 74, - "norm_label": "the lims credential field's full lifecycle: set -> replace -> clear (\u00a77.4.1)." - }, - { - "label": "Cancelling the credential editor collapses the row without saving.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L92", - "id": "e2e_test_flow_08_settings_rationale_92", - "community": 74, - "norm_label": "cancelling the credential editor collapses the row without saving." - }, - { - "label": "The renamed \"Workstation\" section (id still ``orchestrator``) collects the l", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L109", - "id": "e2e_test_flow_08_settings_rationale_109", - "community": 74, - "norm_label": "the renamed \"workstation\" section (id still ``orchestrator``) collects the l" - }, - { - "label": "test_flow_11_crash_recovery.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_11_crash_recovery.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_11_crash_recovery_py", - "community": 142, - "norm_label": "test_flow_11_crash_recovery.py" - }, - { - "label": "test_flow_11_crash_recovery()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_11_crash_recovery.py", - "source_location": "L16", - "id": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", - "community": 142, - "norm_label": "test_flow_11_crash_recovery()" - }, - { - "label": "E2E flow 11: Crash-recovery prompt on relaunch. Frontend Spec \u00a76.10 (crash reco", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_11_crash_recovery.py", - "source_location": "L1", - "id": "e2e_test_flow_11_crash_recovery_rationale_1", - "community": 142, - "norm_label": "e2e flow 11: crash-recovery prompt on relaunch. frontend spec \u00a76.10 (crash reco" - }, - { - "label": "test_flow_03_experimental_run.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_03_experimental_run.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_03_experimental_run_py", - "community": 159, - "norm_label": "test_flow_03_experimental_run.py" - }, - { - "label": "test_flow_03_experimental_run()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_03_experimental_run.py", - "source_location": "L15", - "id": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", - "community": 159, - "norm_label": "test_flow_03_experimental_run()" - }, - { - "label": "E2E flow 03: Experimental-run wizard end-to-end. Frontend Spec \u00a76.4 (run wizard", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_03_experimental_run.py", - "source_location": "L1", - "id": "e2e_test_flow_03_experimental_run_rationale_1", - "community": 159, - "norm_label": "e2e flow 03: experimental-run wizard end-to-end. frontend spec \u00a76.4 (run wizard" - }, - { - "label": "_prod_server.py", - "file_type": "code", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L1", - "id": "tests_e2e_prod_server_py", - "community": 227, - "norm_label": "_prod_server.py" - }, - { - "label": "free_port()", - "file_type": "code", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L29", - "id": "e2e_prod_server_free_port", - "community": 227, - "norm_label": "free_port()" - }, - { - "label": "prod_app_env()", - "file_type": "code", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L36", - "id": "e2e_prod_server_prod_app_env", - "community": 227, - "norm_label": "prod_app_env()" - }, - { - "label": "resolve_config_path()", - "file_type": "code", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L60", - "id": "e2e_prod_server_resolve_config_path", - "community": 227, - "norm_label": "resolve_config_path()" - }, - { - "label": "ProdServer", - "file_type": "code", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L75", - "id": "e2e_prod_server_prodserver", - "community": 270, - "norm_label": "prodserver" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L84", - "id": "e2e_prod_server_prodserver_init", - "community": 227, - "norm_label": ".__init__()" - }, - { - "label": "config_path()", - "file_type": "code", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L94", - "id": "e2e_prod_server_config_path", - "community": 227, - "norm_label": "config_path()" - }, - { - "label": ".start()", - "file_type": "code", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L98", - "id": "e2e_prod_server_prodserver_start", - "community": 270, - "norm_label": ".start()" - }, - { - "label": ".stop()", - "file_type": "code", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L132", - "id": "e2e_prod_server_prodserver_stop", - "community": 270, - "norm_label": ".stop()" - }, - { - "label": ".restart()", - "file_type": "code", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L144", - "id": "e2e_prod_server_prodserver_restart", - "community": 270, - "norm_label": ".restart()" - }, - { - "label": "Reusable spawn/restart harness for the *production* wizard app. The e2e lifecyc", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L1", - "id": "e2e_prod_server_rationale_1", - "community": 227, - "norm_label": "reusable spawn/restart harness for the *production* wizard app. the e2e lifecyc" - }, - { - "label": "Return a free TCP port on 127.0.0.1.", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L30", - "id": "e2e_prod_server_rationale_30", - "community": 227, - "norm_label": "return a free tcp port on 127.0.0.1." - }, - { - "label": "Build a hermetic environment for a spawned production-app process. Every OS", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L37", - "id": "e2e_prod_server_rationale_37", - "community": 227, - "norm_label": "build a hermetic environment for a spawned production-app process. every os" - }, - { - "label": "Where the spawned production app writes ``config.yaml``. Computed by callin", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L61", - "id": "e2e_prod_server_rationale_61", - "community": 227, - "norm_label": "where the spawned production app writes ``config.yaml``. computed by callin" - }, - { - "label": "A spawnable / restartable production-app uvicorn process. ``home`` is the r", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L76", - "id": "e2e_prod_server_rationale_76", - "community": 270, - "norm_label": "a spawnable / restartable production-app uvicorn process. ``home`` is the r" - }, - { - "label": "Where the wizard writes ``config.yaml`` under the redirected HOME.", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L95", - "id": "e2e_prod_server_rationale_95", - "community": 564, - "norm_label": "where the wizard writes ``config.yaml`` under the redirected home." - }, - { - "label": "Spawn uvicorn and block until ``/api/v1/health`` answers 200. Returns `", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L99", - "id": "e2e_prod_server_rationale_99", - "community": 270, - "norm_label": "spawn uvicorn and block until ``/api/v1/health`` answers 200. returns `" - }, - { - "label": "Terminate the uvicorn process. Idempotent.", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L133", - "id": "e2e_prod_server_rationale_133", - "community": 270, - "norm_label": "terminate the uvicorn process. idempotent." - }, - { - "label": "Stop and re-spawn the process with the same HOME / port.", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L145", - "id": "e2e_prod_server_rationale_145", - "community": 270, - "norm_label": "stop and re-spawn the process with the same home / port." - }, - { - "label": "test_flow_17_picker_step.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_17_picker_step_py", - "community": 376, - "norm_label": "test_flow_17_picker_step.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L12", - "id": "e2e_test_flow_17_picker_step_goto", - "community": 376, - "norm_label": "_goto()" - }, - { - "label": "test_flow_17_creation_buttons_enabled_on_owned_node()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L25", - "id": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", - "community": 376, - "norm_label": "test_flow_17_creation_buttons_enabled_on_owned_node()" - }, - { - "label": "test_flow_17_creation_buttons_disabled_on_received_node()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L41", - "id": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_disabled_on_received_node", - "community": 376, - "norm_label": "test_flow_17_creation_buttons_disabled_on_received_node()" - }, - { - "label": "E2E flow 17: creation-button enablement on received nodes (Redesign decision 1).", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L1", - "id": "e2e_test_flow_17_picker_step_rationale_1", - "community": 376, - "norm_label": "e2e flow 17: creation-button enablement on received nodes (redesign decision 1)." - }, - { - "label": "test_flow_20_file_explorer.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_20_file_explorer_py", - "community": 354, - "norm_label": "test_flow_20_file_explorer.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L10", - "id": "e2e_test_flow_20_file_explorer_goto", - "community": 354, - "norm_label": "_goto()" - }, - { - "label": "test_flow_20_file_explorer_renders_three_regions()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L23", - "id": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", - "community": 354, - "norm_label": "test_flow_20_file_explorer_renders_three_regions()" - }, - { - "label": "test_flow_20_select_run_node_renders_metadata_pane()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L43", - "id": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", - "community": 354, - "norm_label": "test_flow_20_select_run_node_renders_metadata_pane()" - }, - { - "label": "test_flow_20_breadcrumb_is_present_when_node_selected()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L54", - "id": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", - "community": 354, - "norm_label": "test_flow_20_breadcrumb_is_present_when_node_selected()" - }, - { - "label": "E2E flow 20: file-explorer navigation (Redesign \u00a74). Tree selection drives the", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L1", - "id": "e2e_test_flow_20_file_explorer_rationale_1", - "community": 354, - "norm_label": "e2e flow 20: file-explorer navigation (redesign \u00a74). tree selection drives the" - }, - { - "label": "test_flow_05_browse_view_sync_icons.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_05_browse_view_sync_icons.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_05_browse_view_sync_icons_py", - "community": 217, - "norm_label": "test_flow_05_browse_view_sync_icons.py" - }, - { - "label": "test_flow_05_sync_icons_render_in_tree()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_05_browse_view_sync_icons.py", - "source_location": "L20", - "id": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", - "community": 217, - "norm_label": "test_flow_05_sync_icons_render_in_tree()" - }, - { - "label": "test_flow_05_sync_icons_static_assets_serve_200()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_05_browse_view_sync_icons.py", - "source_location": "L47", - "id": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_static_assets_serve_200", - "community": 217, - "norm_label": "test_flow_05_sync_icons_static_assets_serve_200()" - }, - { - "label": "E2E flow 05b: per-run sync icons in the browse tree. Verifies that the project", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_05_browse_view_sync_icons.py", - "source_location": "L1", - "id": "e2e_test_flow_05_browse_view_sync_icons_rationale_1", - "community": 217, - "norm_label": "e2e flow 05b: per-run sync icons in the browse tree. verifies that the project" - }, - { - "label": "The ``/assets`` mount serves both SVGs as 200 OK.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_05_browse_view_sync_icons.py", - "source_location": "L48", - "id": "e2e_test_flow_05_browse_view_sync_icons_rationale_48", - "community": 217, - "norm_label": "the ``/assets`` mount serves both svgs as 200 ok." - }, - { - "label": "test_flow_05_browse_view.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_05_browse_view.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_05_browse_view_py", - "community": 217, - "norm_label": "test_flow_05_browse_view.py" - }, - { - "label": "test_flow_05_browse_view()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_05_browse_view.py", - "source_location": "L15", - "id": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", - "community": 217, - "norm_label": "test_flow_05_browse_view()" - }, - { - "label": "E2E flow 05: Browse view -- open existing project + sessions. Frontend Spec \u00a76.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_05_browse_view.py", - "source_location": "L1", - "id": "e2e_test_flow_05_browse_view_rationale_1", - "community": 217, - "norm_label": "e2e flow 05: browse view -- open existing project + sessions. frontend spec \u00a76." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/e2e/__init__.py", - "source_location": "L1", - "id": "tests_e2e_init_py", - "community": 565, - "norm_label": "__init__.py" - }, - { - "label": "test_flow_16_add_equipment.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_16_add_equipment_py", - "community": 186, - "norm_label": "test_flow_16_add_equipment.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L24", - "id": "e2e_test_flow_16_add_equipment_goto", - "community": 186, - "norm_label": "_goto()" - }, - { - "label": "test_flow_16_add_equipment_identity_step()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L37", - "id": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", - "community": 186, - "norm_label": "test_flow_16_add_equipment_identity_step()" - }, - { - "label": "test_flow_16_add_equipment_paths_step()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L48", - "id": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", - "community": 186, - "norm_label": "test_flow_16_add_equipment_paths_step()" - }, - { - "label": "test_flow_16_add_equipment_sync_mode_step()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L60", - "id": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step", - "community": 186, - "norm_label": "test_flow_16_add_equipment_sync_mode_step()" - }, - { - "label": "test_flow_16_add_equipment_review_and_confirm()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L67", - "id": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", - "community": 186, - "norm_label": "test_flow_16_add_equipment_review_and_confirm()" - }, - { - "label": "test_flow_16_next_enables_on_valid_input_and_state_survives_back()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L77", - "id": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", - "community": 186, - "norm_label": "test_flow_16_next_enables_on_valid_input_and_state_survives_back()" - }, - { - "label": "E2E flow 16: Add-Equipment wizard (Redesign \u00a76). Drives the wizard end to end a", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L1", - "id": "e2e_test_flow_16_add_equipment_rationale_1", - "community": 186, - "norm_label": "e2e flow 16: add-equipment wizard (redesign \u00a76). drives the wizard end to end a" - }, - { - "label": "Identity step renders the ID + label inputs.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L38", - "id": "e2e_test_flow_16_add_equipment_rationale_38", - "community": 186, - "norm_label": "identity step renders the id + label inputs." - }, - { - "label": "Paths step renders local + NAS root inputs.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L49", - "id": "e2e_test_flow_16_add_equipment_rationale_49", - "community": 186, - "norm_label": "paths step renders local + nas root inputs." - }, - { - "label": "Sync mode step renders the nas/stage radio.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L61", - "id": "e2e_test_flow_16_add_equipment_rationale_61", - "community": 186, - "norm_label": "sync mode step renders the nas/stage radio." - }, - { - "label": "Review step renders Confirm; clicking it fires the success label.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L68", - "id": "e2e_test_flow_16_add_equipment_rationale_68", - "community": 186, - "norm_label": "review step renders confirm; clicking it fires the success label." - }, - { - "label": "An empty wizard: Next stays disabled until the identity step is valid, then", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L78", - "id": "e2e_test_flow_16_add_equipment_rationale_78", - "community": 186, - "norm_label": "an empty wizard: next stays disabled until the identity step is valid, then" - }, - { - "label": "test_flow_23_footer_staging.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_23_footer_staging_py", - "community": 377, - "norm_label": "test_flow_23_footer_staging.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L20", - "id": "e2e_test_flow_23_footer_staging_goto", - "community": 377, - "norm_label": "_goto()" - }, - { - "label": "test_flow_23_footer_staging_segment_renders()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L33", - "id": "e2e_test_flow_23_footer_staging_test_flow_23_footer_staging_segment_renders", - "community": 377, - "norm_label": "test_flow_23_footer_staging_segment_renders()" - }, - { - "label": "test_flow_23_bulk_clear_verified_action_present()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L38", - "id": "e2e_test_flow_23_footer_staging_test_flow_23_bulk_clear_verified_action_present", - "community": 377, - "norm_label": "test_flow_23_bulk_clear_verified_action_present()" - }, - { - "label": "E2E flow 23: footer Staging segment + bulk Clear verified (Redesign \u00a74.6). The", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L1", - "id": "e2e_test_flow_23_footer_staging_rationale_1", - "community": 377, - "norm_label": "e2e flow 23: footer staging segment + bulk clear verified (redesign \u00a74.6). the" - }, - { - "label": "test_smoke.py", - "file_type": "code", - "source_file": "tests/e2e/test_smoke.py", - "source_location": "L1", - "id": "tests_e2e_test_smoke_py", - "community": 416, - "norm_label": "test_smoke.py" - }, - { - "label": "test_root_url_responds_with_html()", - "file_type": "code", - "source_file": "tests/e2e/test_smoke.py", - "source_location": "L15", - "id": "e2e_test_smoke_test_root_url_responds_with_html", - "community": 416, - "norm_label": "test_root_url_responds_with_html()" - }, - { - "label": "E2E smoke flow. Confirms the Phase 16 e2e harness can drive a real browser agai", - "file_type": "rationale", - "source_file": "tests/e2e/test_smoke.py", - "source_location": "L1", - "id": "e2e_test_smoke_rationale_1", - "community": 416, - "norm_label": "e2e smoke flow. confirms the phase 16 e2e harness can drive a real browser agai" - }, - { - "label": "Smoke: navigate to / and confirm the e2e harness is wired up. The Phase 16", - "file_type": "rationale", - "source_file": "tests/e2e/test_smoke.py", - "source_location": "L16", - "id": "e2e_test_smoke_rationale_16", - "community": 416, - "norm_label": "smoke: navigate to / and confirm the e2e harness is wired up. the phase 16" - }, - { - "label": "test_ux_documentation.py", - "file_type": "code", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L1", - "id": "tests_e2e_test_ux_documentation_py", - "community": 237, - "norm_label": "test_ux_documentation.py" - }, - { - "label": "_render_doc()", - "file_type": "code", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L45", - "id": "e2e_test_ux_documentation_render_doc", - "community": 237, - "norm_label": "_render_doc()" - }, - { - "label": "test_ux_interactions_doc_is_current()", - "file_type": "code", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L66", - "id": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", - "community": 237, - "norm_label": "test_ux_interactions_doc_is_current()" - }, - { - "label": "test_ux_catalog_is_non_trivial()", - "file_type": "code", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L86", - "id": "e2e_test_ux_documentation_test_ux_catalog_is_non_trivial", - "community": 237, - "norm_label": "test_ux_catalog_is_non_trivial()" - }, - { - "label": "_references()", - "file_type": "code", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L97", - "id": "e2e_test_ux_documentation_references", - "community": 237, - "norm_label": "_references()" - }, - { - "label": "test_ux_interaction_testids_exist_in_source()", - "file_type": "code", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L116", - "id": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", - "community": 237, - "norm_label": "test_ux_interaction_testids_exist_in_source()" - }, - { - "label": "test_ux_interactions_are_e2e_covered()", - "file_type": "code", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L127", - "id": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", - "community": 237, - "norm_label": "test_ux_interactions_are_e2e_covered()" - }, - { - "label": "Automated UX-interaction documentation + coverage checks. Drives :mod:`tests.e2", - "file_type": "rationale", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L1", - "id": "e2e_test_ux_documentation_rationale_1", - "community": 237, - "norm_label": "automated ux-interaction documentation + coverage checks. drives :mod:`tests.e2" - }, - { - "label": "Render the catalog into the ``UX_INTERACTIONS.md`` markdown body.", - "file_type": "rationale", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L46", - "id": "e2e_test_ux_documentation_rationale_46", - "community": 237, - "norm_label": "render the catalog into the ``ux_interactions.md`` markdown body." - }, - { - "label": "``docs/UX_INTERACTIONS.md`` is regenerated from the catalog. Regenerates th", - "file_type": "rationale", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L67", - "id": "e2e_test_ux_documentation_rationale_67", - "community": 237, - "norm_label": "``docs/ux_interactions.md`` is regenerated from the catalog. regenerates th" - }, - { - "label": "Guard against an empty catalog silently passing the other checks.", - "file_type": "rationale", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L87", - "id": "e2e_test_ux_documentation_rationale_87", - "community": 237, - "norm_label": "guard against an empty catalog silently passing the other checks." - }, - { - "label": "Return ``True`` when ``haystack`` references ``testid``. Tolerates testids", - "file_type": "rationale", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L98", - "id": "e2e_test_ux_documentation_rationale_98", - "community": 237, - "norm_label": "return ``true`` when ``haystack`` references ``testid``. tolerates testids" - }, - { - "label": "Every cataloged ``data-testid`` is present in the UI source.", - "file_type": "rationale", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L117", - "id": "e2e_test_ux_documentation_rationale_117", - "community": 237, - "norm_label": "every cataloged ``data-testid`` is present in the ui source." - }, - { - "label": "Every cataloged ``data-testid`` is driven by an e2e test. Scans the whole `", - "file_type": "rationale", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L128", - "id": "e2e_test_ux_documentation_rationale_128", - "community": 237, - "norm_label": "every cataloged ``data-testid`` is driven by an e2e test. scans the whole `" - }, - { - "label": "_prod_app.py", - "file_type": "code", - "source_file": "tests/e2e/_prod_app.py", - "source_location": "L1", - "id": "tests_e2e_prod_app_py", - "community": 110, - "norm_label": "_prod_app.py" - }, - { - "label": "create_prod_app_factory()", - "file_type": "code", - "source_file": "tests/e2e/_prod_app.py", - "source_location": "L23", - "id": "e2e_prod_app_create_prod_app_factory", - "community": 110, - "norm_label": "create_prod_app_factory()" - }, - { - "label": "uvicorn ``--factory`` entrypoint for the *production* wizard app. ``_test_app.p", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_app.py", - "source_location": "L1", - "id": "e2e_prod_app_rationale_1", - "community": 110, - "norm_label": "uvicorn ``--factory`` entrypoint for the *production* wizard app. ``_test_app.p" - }, - { - "label": "Build the production wizard app (NiceGUI mounted at ``/``).", - "file_type": "rationale", - "source_file": "tests/e2e/_prod_app.py", - "source_location": "L24", - "id": "e2e_prod_app_rationale_24", - "community": 110, - "norm_label": "build the production wizard app (nicegui mounted at ``/``)." - }, - { - "label": "test_flow_25_production_main_wiring.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_25_production_main_wiring_py", - "community": 96, - "norm_label": "test_flow_25_production_main_wiring.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L23", - "id": "e2e_test_flow_25_production_main_wiring_goto", - "community": 96, - "norm_label": "_goto()" - }, - { - "label": "test_flow_25_main_route_renders_redesigned_layout()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L42", - "id": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", - "community": 96, - "norm_label": "test_flow_25_main_route_renders_redesigned_layout()" - }, - { - "label": "test_flow_25_add_equipment_button_navigates_to_wizard()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L80", - "id": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard", - "community": 96, - "norm_label": "test_flow_25_add_equipment_button_navigates_to_wizard()" - }, - { - "label": "test_flow_25_select_node_threads_selected_into_url()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L87", - "id": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", - "community": 96, - "norm_label": "test_flow_25_select_node_threads_selected_into_url()" - }, - { - "label": "test_flow_25_selected_query_renders_centre_and_right_panes()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L100", - "id": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", - "community": 96, - "norm_label": "test_flow_25_selected_query_renders_centre_and_right_panes()" - }, - { - "label": "test_flow_25_breadcrumb_navigation_re_navigates_main()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L110", - "id": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", - "community": 96, - "norm_label": "test_flow_25_breadcrumb_navigation_re_navigates_main()" - }, - { - "label": "test_flow_25_toggle_right_pane_toggles_query_param()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L126", - "id": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", - "community": 96, - "norm_label": "test_flow_25_toggle_right_pane_toggles_query_param()" - }, - { - "label": "test_flow_25_tree_context_action_deep_links_into_settings()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L137", - "id": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", - "community": 96, - "norm_label": "test_flow_25_tree_context_action_deep_links_into_settings()" - }, - { - "label": "test_flow_25_received_equipment_disables_creation_buttons()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L152", - "id": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", - "community": 96, - "norm_label": "test_flow_25_received_equipment_disables_creation_buttons()" - }, - { - "label": "test_flow_25_footer_clear_verified_routes_to_callback()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L181", - "id": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", - "community": 96, - "norm_label": "test_flow_25_footer_clear_verified_routes_to_callback()" - }, - { - "label": "E2E flow 25: production /main is wired to the redesigned renderer. This suite e", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L1", - "id": "e2e_test_flow_25_production_main_wiring_rationale_1", - "community": 96, - "norm_label": "e2e flow 25: production /main is wired to the redesigned renderer. this suite e" - }, - { - "label": "Navigate to ``url`` with one retry on transient NiceGUI failures.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L24", - "id": "e2e_test_flow_25_production_main_wiring_rationale_24", - "community": 96, - "norm_label": "navigate to ``url`` with one retry on transient nicegui failures." - }, - { - "label": "The /main route mounts the redesigned renderer, not the legacy one. Asserts", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L43", - "id": "e2e_test_flow_25_production_main_wiring_rationale_43", - "community": 96, - "norm_label": "the /main route mounts the redesigned renderer, not the legacy one. asserts" - }, - { - "label": "The Add Equipment toolbar button navigates to /wizard/equipment.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L81", - "id": "e2e_test_flow_25_production_main_wiring_rationale_81", - "community": 96, - "norm_label": "the add equipment toolbar button navigates to /wizard/equipment." - }, - { - "label": "Clicking an equipment node updates the URL with ?selected=. Exercises o", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L88", - "id": "e2e_test_flow_25_production_main_wiring_rationale_88", - "community": 96, - "norm_label": "clicking an equipment node updates the url with ?selected=. exercises o" - }, - { - "label": "Loading /main?selected=TEST_EQ1 directly renders the centre + right panes.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L101", - "id": "e2e_test_flow_25_production_main_wiring_rationale_101", - "community": 96, - "norm_label": "loading /main?selected=test_eq1 directly renders the centre + right panes." - }, - { - "label": "Clicking a breadcrumb segment routes back through /main?selected=. The brea", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L111", - "id": "e2e_test_flow_25_production_main_wiring_rationale_111", - "community": 96, - "norm_label": "clicking a breadcrumb segment routes back through /main?selected=. the brea" - }, - { - "label": "Clicking the right-pane toggle flips ?right_pane=collapsed in the URL.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L127", - "id": "e2e_test_flow_25_production_main_wiring_rationale_127", - "community": 96, - "norm_label": "clicking the right-pane toggle flips ?right_pane=collapsed in the url." - }, - { - "label": "Owned-equipment Edit menu navigates to /settings with the equipment id. Rou", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L138", - "id": "e2e_test_flow_25_production_main_wiring_rationale_138", - "community": 96, - "norm_label": "owned-equipment edit menu navigates to /settings with the equipment id. rou" - }, - { - "label": "Selecting a TEST_RELAY_* node disables the New Project/Run/Test-Run buttons.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L153", - "id": "e2e_test_flow_25_production_main_wiring_rationale_153", - "community": 96, - "norm_label": "selecting a test_relay_* node disables the new project/run/test-run buttons." - }, - { - "label": "The footer Clear-verified button is wired to a callback. Asserts the button", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L182", - "id": "e2e_test_flow_25_production_main_wiring_rationale_182", - "community": 96, - "norm_label": "the footer clear-verified button is wired to a callback. asserts the button" - }, - { - "label": "test_flow_00_full_lifecycle.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_00_full_lifecycle_py", - "community": 185, - "norm_label": "test_flow_00_full_lifecycle.py" - }, - { - "label": "_fill()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L50", - "id": "e2e_test_flow_00_full_lifecycle_fill", - "community": 185, - "norm_label": "_fill()" - }, - { - "label": "_select()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L57", - "id": "e2e_test_flow_00_full_lifecycle_select", - "community": 185, - "norm_label": "_select()" - }, - { - "label": "_step_button()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L86", - "id": "e2e_test_flow_00_full_lifecycle_step_button", - "community": 185, - "norm_label": "_step_button()" - }, - { - "label": "_project_next()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L104", - "id": "e2e_test_flow_00_full_lifecycle_project_next", - "community": 185, - "norm_label": "_project_next()" - }, - { - "label": "_run_next()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L109", - "id": "e2e_test_flow_00_full_lifecycle_run_next", - "community": 185, - "norm_label": "_run_next()" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L114", - "id": "e2e_test_flow_00_full_lifecycle_goto", - "community": 185, - "norm_label": "_goto()" - }, - { - "label": "prod_server()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L139", - "id": "e2e_test_flow_00_full_lifecycle_prod_server", - "community": 270, - "norm_label": "prod_server()" - }, - { - "label": "test_full_create_lifecycle()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L168", - "id": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "community": 137, - "norm_label": "test_full_create_lifecycle()" - }, - { - "label": "E2E flow 00b: the full create-lifecycle against the PRODUCTION app. Boots the g", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L1", - "id": "e2e_test_flow_00_full_lifecycle_rationale_1", - "community": 185, - "norm_label": "e2e flow 00b: the full create-lifecycle against the production app. boots the g" - }, - { - "label": "Fill a (visible) Quasar input identified by ``data-testid``.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L51", - "id": "e2e_test_flow_00_full_lifecycle_rationale_51", - "community": 185, - "norm_label": "fill a (visible) quasar input identified by ``data-testid``." - }, - { - "label": "Pick ``value`` from a NiceGUI/Quasar ``ui.select`` by ``data-testid``. Nice", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L65", - "id": "e2e_test_flow_00_full_lifecycle_rationale_65", - "community": 185, - "norm_label": "pick ``value`` from a nicegui/quasar ``ui.select`` by ``data-testid``. nice" - }, - { - "label": "Click a stepper-navigation button scoped to its step container. The Next /", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L93", - "id": "e2e_test_flow_00_full_lifecycle_rationale_93", - "community": 185, - "norm_label": "click a stepper-navigation button scoped to its step container. the next /" - }, - { - "label": "Advance the project wizard from ``step_id`` via its Next button.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L105", - "id": "e2e_test_flow_00_full_lifecycle_rationale_105", - "community": 185, - "norm_label": "advance the project wizard from ``step_id`` via its next button." - }, - { - "label": "Advance the run wizard from ``step_id`` via its Next button.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L110", - "id": "e2e_test_flow_00_full_lifecycle_rationale_110", - "community": 185, - "norm_label": "advance the run wizard from ``step_id`` via its next button." - }, - { - "label": "Navigate to a NiceGUI page, tolerating a transient ERR_ABORTED. NiceGUI's c", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L115", - "id": "e2e_test_flow_00_full_lifecycle_rationale_115", - "community": 185, - "norm_label": "navigate to a nicegui page, tolerating a transient err_aborted. nicegui's c" - }, - { - "label": "Yield a started :class:`ProdServer` rooted at a fresh tmp HOME. The keyring", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L140", - "id": "e2e_test_flow_00_full_lifecycle_rationale_140", - "community": 270, - "norm_label": "yield a started :class:`prodserver` rooted at a fresh tmp home. the keyring" - }, - { - "label": "test_flow_13_keyboard.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_13_keyboard.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_13_keyboard_py", - "community": 484, - "norm_label": "test_flow_13_keyboard.py" - }, - { - "label": "test_flow_13_keyboard()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_13_keyboard.py", - "source_location": "L14", - "id": "e2e_test_flow_13_keyboard_test_flow_13_keyboard", - "community": 484, - "norm_label": "test_flow_13_keyboard()" - }, - { - "label": "E2E flow 13: Keyboard shortcuts + accessibility focus management. Frontend Spec", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_13_keyboard.py", - "source_location": "L1", - "id": "e2e_test_flow_13_keyboard_rationale_1", - "community": 484, - "norm_label": "e2e flow 13: keyboard shortcuts + accessibility focus management. frontend spec" - }, - { - "label": "ux_catalog.py", - "file_type": "code", - "source_file": "tests/e2e/ux_catalog.py", - "source_location": "L1", - "id": "tests_e2e_ux_catalog_py", - "community": 417, - "norm_label": "ux_catalog.py" - }, - { - "label": "UXInteraction", - "file_type": "code", - "source_file": "tests/e2e/ux_catalog.py", - "source_location": "L29", - "id": "e2e_ux_catalog_uxinteraction", - "community": 417, - "norm_label": "uxinteraction" - }, - { - "label": "Machine-readable catalog of the wizard's UX interactions. Each :class:`UXIntera", - "file_type": "rationale", - "source_file": "tests/e2e/ux_catalog.py", - "source_location": "L1", - "id": "e2e_ux_catalog_rationale_1", - "community": 417, - "norm_label": "machine-readable catalog of the wizard's ux interactions. each :class:`uxintera" - }, - { - "label": "One operator-facing affordance in the wizard UI.", - "file_type": "rationale", - "source_file": "tests/e2e/ux_catalog.py", - "source_location": "L30", - "id": "e2e_ux_catalog_rationale_30", - "community": 417, - "norm_label": "one operator-facing affordance in the wizard ui." - }, - { - "label": "test_flow_07_plugin_input_required.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_07_plugin_input_required.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_07_plugin_input_required_py", - "community": 485, - "norm_label": "test_flow_07_plugin_input_required.py" - }, - { - "label": "test_flow_07_plugin_input_required()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_07_plugin_input_required.py", - "source_location": "L14", - "id": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required", - "community": 485, - "norm_label": "test_flow_07_plugin_input_required()" - }, - { - "label": "E2E flow 07: Plugin input-required round trip. Frontend Spec \u00a76.4.5 (plugin ste", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_07_plugin_input_required.py", - "source_location": "L1", - "id": "e2e_test_flow_07_plugin_input_required_rationale_1", - "community": 485, - "norm_label": "e2e flow 07: plugin input-required round trip. frontend spec \u00a76.4.5 (plugin ste" - }, - { - "label": "test_flow_26_equipment_wizard_persist.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_26_equipment_wizard_persist_py", - "community": 355, - "norm_label": "test_flow_26_equipment_wizard_persist.py" - }, - { - "label": "prod_server()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L40", - "id": "e2e_test_flow_26_equipment_wizard_persist_prod_server", - "community": 355, - "norm_label": "prod_server()" - }, - { - "label": "test_equipment_wizard_confirm_persists_to_config()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L53", - "id": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", - "community": 355, - "norm_label": "test_equipment_wizard_confirm_persists_to_config()" - }, - { - "label": "E2E flow 26: Add-Equipment wizard confirm against the PRODUCTION app. ``test_fl", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L1", - "id": "e2e_test_flow_26_equipment_wizard_persist_rationale_1", - "community": 355, - "norm_label": "e2e flow 26: add-equipment wizard confirm against the production app. ``test_fl" - }, - { - "label": "Spawn the production wizard app under a fresh tmp HOME.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L41", - "id": "e2e_test_flow_26_equipment_wizard_persist_rationale_41", - "community": 355, - "norm_label": "spawn the production wizard app under a fresh tmp home." - }, - { - "label": "Drive the production wizard to Confirm and assert config.yaml gains the device.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L54", - "id": "e2e_test_flow_26_equipment_wizard_persist_rationale_54", - "community": 355, - "norm_label": "drive the production wizard to confirm and assert config.yaml gains the device." - }, - { - "label": "test_flow_09_orchestrator.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_09_orchestrator.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_09_orchestrator_py", - "community": 208, - "norm_label": "test_flow_09_orchestrator.py" - }, - { - "label": "test_flow_09_orchestrator()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_09_orchestrator.py", - "source_location": "L31", - "id": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", - "community": 208, - "norm_label": "test_flow_09_orchestrator()" - }, - { - "label": "E2E flow 09: Orchestrator staging panel + quiescence-sync trigger. Frontend Spe", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_09_orchestrator.py", - "source_location": "L1", - "id": "e2e_test_flow_09_orchestrator_rationale_1", - "community": 208, - "norm_label": "e2e flow 09: orchestrator staging panel + quiescence-sync trigger. frontend spe" - }, - { - "label": "test_flow_27_nas_credential_settings.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_27_nas_credential_settings_py", - "community": 291, - "norm_label": "test_flow_27_nas_credential_settings.py" - }, - { - "label": "_seed_config()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L50", - "id": "e2e_test_flow_27_nas_credential_settings_seed_config", - "community": 0, - "norm_label": "_seed_config()" - }, - { - "label": "_install_stub_rclone()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L92", - "id": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone", - "community": 291, - "norm_label": "_install_stub_rclone()" - }, - { - "label": "nas_prod_server()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L102", - "id": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", - "community": 291, - "norm_label": "nas_prod_server()" - }, - { - "label": "_setup_state()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L172", - "id": "e2e_test_flow_27_nas_credential_settings_setup_state", - "community": 291, - "norm_label": "_setup_state()" - }, - { - "label": "test_nas_remote_gate_configure_and_test()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L176", - "id": "e2e_test_flow_27_nas_credential_settings_test_nas_remote_gate_configure_and_test", - "community": 291, - "norm_label": "test_nas_remote_gate_configure_and_test()" - }, - { - "label": "E2E flow 27: NAS Remote setup gate + Settings section (rclone.conf migration).", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L1", - "id": "e2e_test_flow_27_nas_credential_settings_rationale_1", - "community": 291, - "norm_label": "e2e flow 27: nas remote setup gate + settings section (rclone.conf migration)." - }, - { - "label": "Write a config.yaml with one nas-mode equipment under the tmp HOME. LIMS is", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L51", - "id": "e2e_test_flow_27_nas_credential_settings_rationale_51", - "community": 0, - "norm_label": "write a config.yaml with one nas-mode equipment under the tmp home. lims is" - }, - { - "label": "Spawn the production wizard seeded with a credential-less nas equipment. Yi", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L103", - "id": "e2e_test_flow_27_nas_credential_settings_rationale_103", - "community": 291, - "norm_label": "spawn the production wizard seeded with a credential-less nas equipment. yi" - }, - { - "label": "test_flow_15_websocket_reconnect.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_15_websocket_reconnect.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_15_websocket_reconnect_py", - "community": 486, - "norm_label": "test_flow_15_websocket_reconnect.py" - }, - { - "label": "test_flow_15_websocket_reconnect()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_15_websocket_reconnect.py", - "source_location": "L16", - "id": "e2e_test_flow_15_websocket_reconnect_test_flow_15_websocket_reconnect", - "community": 486, - "norm_label": "test_flow_15_websocket_reconnect()" - }, - { - "label": "E2E flow 15: WebSocket reconnect + degraded-mode banner. Frontend Spec \u00a76.14 (d", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_15_websocket_reconnect.py", - "source_location": "L1", - "id": "e2e_test_flow_15_websocket_reconnect_rationale_1", - "community": 486, - "norm_label": "e2e flow 15: websocket reconnect + degraded-mode banner. frontend spec \u00a76.14 (d" - }, - { - "label": "test_flow_21_stage_ceiling.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_21_stage_ceiling.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_21_stage_ceiling_py", - "community": 418, - "norm_label": "test_flow_21_stage_ceiling.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_21_stage_ceiling.py", - "source_location": "L23", - "id": "e2e_test_flow_21_stage_ceiling_goto", - "community": 418, - "norm_label": "_goto()" - }, - { - "label": "test_flow_21_stage_equipment_metadata_renders_ceiling_note()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_21_stage_ceiling.py", - "source_location": "L36", - "id": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note", - "community": 418, - "norm_label": "test_flow_21_stage_equipment_metadata_renders_ceiling_note()" - }, - { - "label": "E2E flow 21: stage-mode ceiling note (Redesign \u00a73.2 / \u00a74.4). When a stage-mode", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_21_stage_ceiling.py", - "source_location": "L1", - "id": "e2e_test_flow_21_stage_ceiling_rationale_1", - "community": 418, - "norm_label": "e2e flow 21: stage-mode ceiling note (redesign \u00a73.2 / \u00a74.4). when a stage-mode" - }, - { - "label": "_test_app.py", - "file_type": "code", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L1", - "id": "tests_e2e_test_app_py", - "community": 39, - "norm_label": "_test_app.py" - }, - { - "label": "TestState", - "file_type": "code", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L67", - "id": "e2e_test_app_teststate", - "community": 3, - "norm_label": "teststate" - }, - { - "label": "_read_query()", - "file_type": "code", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L102", - "id": "e2e_test_app_read_query", - "community": 39, - "norm_label": "_read_query()" - }, - { - "label": "_classify_test_node()", - "file_type": "code", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L109", - "id": "e2e_test_app_classify_test_node", - "community": 39, - "norm_label": "_classify_test_node()" - }, - { - "label": "_seeded_metadata_payload()", - "file_type": "code", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L129", - "id": "e2e_test_app_seeded_metadata_payload", - "community": 39, - "norm_label": "_seeded_metadata_payload()" - }, - { - "label": "_feed_rows()", - "file_type": "code", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L189", - "id": "e2e_test_app_feed_rows", - "community": 39, - "norm_label": "_feed_rows()" - }, - { - "label": "_seeded_file_entries()", - "file_type": "code", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L209", - "id": "e2e_test_app_seeded_file_entries", - "community": 39, - "norm_label": "_seeded_file_entries()" - }, - { - "label": "build_test_app()", - "file_type": "code", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L236", - "id": "e2e_test_app_build_test_app", - "community": 39, - "norm_label": "build_test_app()" - }, - { - "label": "create_app_factory()", - "file_type": "code", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L948", - "id": "e2e_test_app_create_app_factory", - "community": 39, - "norm_label": "create_app_factory()" - }, - { - "label": "E2E test app wiring (Phase 16 follow-up). Builds a FastAPI app via :func:`exlab", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L1", - "id": "e2e_test_app_rationale_1", - "community": 39, - "norm_label": "e2e test app wiring (phase 16 follow-up). builds a fastapi app via :func:`exlab" - }, - { - "label": "Mutable cross-request state for the e2e harness.", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L68", - "id": "e2e_test_app_rationale_68", - "community": 3, - "norm_label": "mutable cross-request state for the e2e harness." - }, - { - "label": "Parse a request URL's query string into a multi-value mapping.", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L103", - "id": "e2e_test_app_rationale_103", - "community": 39, - "norm_label": "parse a request url's query string into a multi-value mapping." - }, - { - "label": "Same shape classifier the production mount uses, for seeded ids. Returns ``", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L110", - "id": "e2e_test_app_rationale_110", - "community": 39, - "norm_label": "same shape classifier the production mount uses, for seeded ids. returns ``" - }, - { - "label": "Per-node-kind hardcoded payloads the test app threads into the production re", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L130", - "id": "e2e_test_app_rationale_130", - "community": 39, - "norm_label": "per-node-kind hardcoded payloads the test app threads into the production re" - }, - { - "label": "Return a node's feed as normalized 5-tuples. ``(name, size, sync_status, ke", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L192", - "id": "e2e_test_app_rationale_192", - "community": 39, - "norm_label": "return a node's feed as normalized 5-tuples. ``(name, size, sync_status, ke" - }, - { - "label": "Build the centre-pane file rows the test flows assert on. Returns a default", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L210", - "id": "e2e_test_app_rationale_210", - "community": 39, - "norm_label": "build the centre-pane file rows the test flows assert on. returns a default" - }, - { - "label": "Construct the FastAPI app and mount the NiceGUI test surface.", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L237", - "id": "e2e_test_app_rationale_237", - "community": 39, - "norm_label": "construct the fastapi app and mount the nicegui test surface." - }, - { - "label": "uvicorn ``--factory`` entrypoint.", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L949", - "id": "e2e_test_app_rationale_949", - "community": 39, - "norm_label": "uvicorn ``--factory`` entrypoint." - }, - { - "label": "test_flow_01_onboarding.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_01_onboarding_py", - "community": 217, - "norm_label": "test_flow_01_onboarding.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L18", - "id": "e2e_test_flow_01_onboarding_goto", - "community": 217, - "norm_label": "_goto()" - }, - { - "label": "test_flow_01_onboarding()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L37", - "id": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", - "community": 217, - "norm_label": "test_flow_01_onboarding()" - }, - { - "label": "E2E flow 01: First-launch onboarding. Frontend Spec \u00a76.1 (welcome card + autost", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L1", - "id": "e2e_test_flow_01_onboarding_rationale_1", - "community": 217, - "norm_label": "e2e flow 01: first-launch onboarding. frontend spec \u00a76.1 (welcome card + autost" - }, - { - "label": "Navigate to a NiceGUI page, tolerating a transient ERR_ABORTED. NiceGUI's c", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L19", - "id": "e2e_test_flow_01_onboarding_rationale_19", - "community": 217, - "norm_label": "navigate to a nicegui page, tolerating a transient err_aborted. nicegui's c" - }, - { - "label": "test_flow_12_quit_coordinator.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_12_quit_coordinator.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_12_quit_coordinator_py", - "community": 487, - "norm_label": "test_flow_12_quit_coordinator.py" - }, - { - "label": "test_flow_12_quit_coordinator()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_12_quit_coordinator.py", - "source_location": "L27", - "id": "e2e_test_flow_12_quit_coordinator_test_flow_12_quit_coordinator", - "community": 487, - "norm_label": "test_flow_12_quit_coordinator()" - }, - { - "label": "E2E flow 12: Quit coordinator (drain in-flight sessions). Frontend Spec \u00a76.11 (", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_12_quit_coordinator.py", - "source_location": "L1", - "id": "e2e_test_flow_12_quit_coordinator_rationale_1", - "community": 487, - "norm_label": "e2e flow 12: quit coordinator (drain in-flight sessions). frontend spec \u00a76.11 (" - }, - { - "label": "test_flow_28_selection_search_density.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_28_selection_search_density_py", - "community": 226, - "norm_label": "test_flow_28_selection_search_density.py" - }, - { - "label": "_goto()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L26", - "id": "e2e_test_flow_28_selection_search_density_goto", - "community": 226, - "norm_label": "_goto()" - }, - { - "label": "test_flow_28_select_file_row_highlights_and_shows_subcard()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L39", - "id": "e2e_test_flow_28_selection_search_density_test_flow_28_select_file_row_highlights_and_shows_subcard", - "community": 226, - "norm_label": "test_flow_28_select_file_row_highlights_and_shows_subcard()" - }, - { - "label": "test_flow_28_search_filters_tree_and_shows_count()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L58", - "id": "e2e_test_flow_28_selection_search_density_test_flow_28_search_filters_tree_and_shows_count", - "community": 226, - "norm_label": "test_flow_28_search_filters_tree_and_shows_count()" - }, - { - "label": "test_flow_28_search_no_matches_state()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L67", - "id": "e2e_test_flow_28_selection_search_density_test_flow_28_search_no_matches_state", - "community": 226, - "norm_label": "test_flow_28_search_no_matches_state()" - }, - { - "label": "test_flow_28_density_toggle_threads_density_param()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L73", - "id": "e2e_test_flow_28_selection_search_density_test_flow_28_density_toggle_threads_density_param", - "community": 226, - "norm_label": "test_flow_28_density_toggle_threads_density_param()" - }, - { - "label": "test_flow_28_sync_legend_popover_lists_states()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L82", - "id": "e2e_test_flow_28_selection_search_density_test_flow_28_sync_legend_popover_lists_states", - "community": 226, - "norm_label": "test_flow_28_sync_legend_popover_lists_states()" - }, - { - "label": "test_flow_28_selected_tree_node_carries_selected_class()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L94", - "id": "e2e_test_flow_28_selection_search_density_test_flow_28_selected_tree_node_carries_selected_class", - "community": 226, - "norm_label": "test_flow_28_selected_tree_node_carries_selected_class()" - }, - { - "label": "E2E flow 28: Phase 4/5 polish \u2014 file selection, search, density, legend. Covers", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L1", - "id": "e2e_test_flow_28_selection_search_density_rationale_1", - "community": 226, - "norm_label": "e2e flow 28: phase 4/5 polish \u2014 file selection, search, density, legend. covers" - }, - { - "label": "Single-clicking a file row threads ?file=, marks the row selected, and surfa", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L40", - "id": "e2e_test_flow_28_selection_search_density_rationale_40", - "community": 226, - "norm_label": "single-clicking a file row threads ?file=, marks the row selected, and surfa" - }, - { - "label": "A search query renders the result-count pill and seeds the box (OQ-2).", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L59", - "id": "e2e_test_flow_28_selection_search_density_rationale_59", - "community": 226, - "norm_label": "a search query renders the result-count pill and seeds the box (oq-2)." - }, - { - "label": "A query that matches nothing renders the no-matches hint (OQ-2).", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L68", - "id": "e2e_test_flow_28_selection_search_density_rationale_68", - "community": 226, - "norm_label": "a query that matches nothing renders the no-matches hint (oq-2)." - }, - { - "label": "The Files-header density toggle re-navigates with ?density=compact (\u00a74.8).", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L74", - "id": "e2e_test_flow_28_selection_search_density_rationale_74", - "community": 226, - "norm_label": "the files-header density toggle re-navigates with ?density=compact (\u00a74.8)." - }, - { - "label": "The Files-header \"?\" opens the sync-status legend popover (Phase 5).", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L83", - "id": "e2e_test_flow_28_selection_search_density_rationale_83", - "community": 226, - "norm_label": "the files-header \"?\" opens the sync-status legend popover (phase 5)." - }, - { - "label": "The selected tree node renders Quasar's selected class -- the hook the unifi", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L95", - "id": "e2e_test_flow_28_selection_search_density_rationale_95", - "community": 226, - "norm_label": "the selected tree node renders quasar's selected class -- the hook the unifi" - }, - { - "label": "test_flow_19_travelling_badge.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_19_travelling_badge_py", - "community": 334, - "norm_label": "test_flow_19_travelling_badge.py" - }, - { - "label": "_free_port()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L40", - "id": "e2e_test_flow_19_travelling_badge_free_port", - "community": 334, - "norm_label": "_free_port()" - }, - { - "label": "_make_seeded_server()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L46", - "id": "e2e_test_flow_19_travelling_badge_make_seeded_server", - "community": 334, - "norm_label": "_make_seeded_server()" - }, - { - "label": "test_flow_19_travelling_badge_aggregates_red()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L87", - "id": "e2e_test_flow_19_travelling_badge_test_flow_19_travelling_badge_aggregates_red", - "community": 334, - "norm_label": "test_flow_19_travelling_badge_aggregates_red()" - }, - { - "label": "E2E flow 19: travelling problem badge (Redesign \u00a74.5). The badge sits on the sh", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L1", - "id": "e2e_test_flow_19_travelling_badge_rationale_1", - "community": 334, - "norm_label": "e2e flow 19: travelling problem badge (redesign \u00a74.5). the badge sits on the sh" - }, - { - "label": "Spawn a uvicorn server with seeded findings injected via env var.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L47", - "id": "e2e_test_flow_19_travelling_badge_rationale_47", - "community": 334, - "norm_label": "spawn a uvicorn server with seeded findings injected via env var." - }, - { - "label": "The badge for a seeded hard finding renders on the root node.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L88", - "id": "e2e_test_flow_19_travelling_badge_rationale_88", - "community": 334, - "norm_label": "the badge for a seeded hard finding renders on the root node." - }, - { - "label": "test_flow_04_test_run.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_04_test_run.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_04_test_run_py", - "community": 159, - "norm_label": "test_flow_04_test_run.py" - }, - { - "label": "test_flow_04_test_run()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_04_test_run.py", - "source_location": "L17", - "id": "e2e_test_flow_04_test_run_test_flow_04_test_run", - "community": 159, - "norm_label": "test_flow_04_test_run()" - }, - { - "label": "E2E flow 04: Test-run wizard end-to-end. Frontend Spec \u00a76.4 (run wizard, test m", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_04_test_run.py", - "source_location": "L1", - "id": "e2e_test_flow_04_test_run_rationale_1", - "community": 159, - "norm_label": "e2e flow 04: test-run wizard end-to-end. frontend spec \u00a76.4 (run wizard, test m" - }, - { - "label": "test_flow_06_problems.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_06_problems.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_06_problems_py", - "community": 142, - "norm_label": "test_flow_06_problems.py" - }, - { - "label": "test_flow_06_problems()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_06_problems.py", - "source_location": "L19", - "id": "e2e_test_flow_06_problems_test_flow_06_problems", - "community": 142, - "norm_label": "test_flow_06_problems()" - }, - { - "label": "E2E flow 06: Problems view + override / revoke round trip. Frontend Spec \u00a76.6 (", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_06_problems.py", - "source_location": "L1", - "id": "e2e_test_flow_06_problems_rationale_1", - "community": 142, - "norm_label": "e2e flow 06: problems view + override / revoke round trip. frontend spec \u00a76.6 (" - }, - { - "label": "test_flow_14_notifications.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_14_notifications.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_14_notifications_py", - "community": 488, - "norm_label": "test_flow_14_notifications.py" - }, - { - "label": "test_flow_14_notifications()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_14_notifications.py", - "source_location": "L26", - "id": "e2e_test_flow_14_notifications_test_flow_14_notifications", - "community": 488, - "norm_label": "test_flow_14_notifications()" - }, - { - "label": "E2E flow 14: Tray notifications + in-app toasts. Frontend Spec \u00a76.13 (notificat", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_14_notifications.py", - "source_location": "L1", - "id": "e2e_test_flow_14_notifications_rationale_1", - "community": 488, - "norm_label": "e2e flow 14: tray notifications + in-app toasts. frontend spec \u00a76.13 (notificat" - }, - { - "label": "test_flow_10_schema_mismatch.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_10_schema_mismatch.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_10_schema_mismatch_py", - "community": 142, - "norm_label": "test_flow_10_schema_mismatch.py" - }, - { - "label": "test_flow_10_schema_mismatch()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_10_schema_mismatch.py", - "source_location": "L17", - "id": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", - "community": 142, - "norm_label": "test_flow_10_schema_mismatch()" - }, - { - "label": "E2E flow 10: Schema-mismatch / migration prompt. Frontend Spec \u00a76.9 (schema-mis", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_10_schema_mismatch.py", - "source_location": "L1", - "id": "e2e_test_flow_10_schema_mismatch_rationale_1", - "community": 142, - "norm_label": "e2e flow 10: schema-mismatch / migration prompt. frontend spec \u00a76.9 (schema-mis" - }, - { - "label": "test_flow_02_project_wizard.py", - "file_type": "code", - "source_file": "tests/e2e/test_flow_02_project_wizard.py", - "source_location": "L1", - "id": "tests_e2e_test_flow_02_project_wizard_py", - "community": 193, - "norm_label": "test_flow_02_project_wizard.py" - }, - { - "label": "test_flow_02_project_wizard()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_02_project_wizard.py", - "source_location": "L14", - "id": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", - "community": 193, - "norm_label": "test_flow_02_project_wizard()" - }, - { - "label": "E2E flow 02: Project wizard 7-step happy path. Frontend Spec \u00a76.3 (project wiza", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_02_project_wizard.py", - "source_location": "L1", - "id": "e2e_test_flow_02_project_wizard_rationale_1", - "community": 193, - "norm_label": "e2e flow 02: project wizard 7-step happy path. frontend spec \u00a76.3 (project wiza" - }, - { - "label": "problems_page.py", - "file_type": "code", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L1", - "id": "tests_e2e_page_objects_problems_page_py", - "community": 142, - "norm_label": "problems_page.py" - }, - { - "label": "ProblemsPage", - "file_type": "code", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L11", - "id": "page_objects_problems_page_problemspage", - "community": 142, - "norm_label": "problemspage" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L14", - "id": "page_objects_problems_page_problemspage_init", - "community": 142, - "norm_label": ".__init__()" - }, - { - "label": "table()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L18", - "id": "page_objects_problems_page_table", - "community": 142, - "norm_label": "table()" - }, - { - "label": "empty_state()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L23", - "id": "page_objects_problems_page_empty_state", - "community": 142, - "norm_label": "empty_state()" - }, - { - "label": ".row()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L27", - "id": "page_objects_problems_page_problemspage_row", - "community": 142, - "norm_label": ".row()" - }, - { - "label": ".row_state()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L31", - "id": "page_objects_problems_page_problemspage_row_state", - "community": 142, - "norm_label": ".row_state()" - }, - { - "label": ".row_override()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L35", - "id": "page_objects_problems_page_problemspage_row_override", - "community": 142, - "norm_label": ".row_override()" - }, - { - "label": ".row_revoke()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L39", - "id": "page_objects_problems_page_problemspage_row_revoke", - "community": 142, - "norm_label": ".row_revoke()" - }, - { - "label": "Page object for the Problems tab. Frontend Spec \u00a76.6.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L1", - "id": "page_objects_problems_page_rationale_1", - "community": 142, - "norm_label": "page object for the problems tab. frontend spec \u00a76.6." - }, - { - "label": "Locators for the Problems table + override dialog.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L12", - "id": "page_objects_problems_page_rationale_12", - "community": 142, - "norm_label": "locators for the problems table + override dialog." - }, - { - "label": "The Problems table container.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L19", - "id": "page_objects_problems_page_rationale_19", - "community": 566, - "norm_label": "the problems table container." - }, - { - "label": "The empty-state label shown when no findings match.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L24", - "id": "page_objects_problems_page_rationale_24", - "community": 567, - "norm_label": "the empty-state label shown when no findings match." - }, - { - "label": "The Nth visible findings row.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L28", - "id": "page_objects_problems_page_rationale_28", - "community": 142, - "norm_label": "the nth visible findings row." - }, - { - "label": "The state label inside the Nth row (Active / Override active / ...).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L32", - "id": "page_objects_problems_page_rationale_32", - "community": 142, - "norm_label": "the state label inside the nth row (active / override active / ...)." - }, - { - "label": "The Override-and-allow-sync button on the Nth row.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L36", - "id": "page_objects_problems_page_rationale_36", - "community": 142, - "norm_label": "the override-and-allow-sync button on the nth row." - }, - { - "label": "The Revoke override button on the Nth row.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L40", - "id": "page_objects_problems_page_rationale_40", - "community": 142, - "norm_label": "the revoke override button on the nth row." - }, - { - "label": "settings_page.py", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L1", - "id": "tests_e2e_page_objects_settings_page_py", - "community": 74, - "norm_label": "settings_page.py" - }, - { - "label": "SettingsPage", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L11", - "id": "page_objects_settings_page_settingspage", - "community": 74, - "norm_label": "settingspage" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L14", - "id": "page_objects_settings_page_settingspage_init", - "community": 74, - "norm_label": ".__init__()" - }, - { - "label": "dialog()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L18", - "id": "page_objects_settings_page_dialog", - "community": 74, - "norm_label": "dialog()" - }, - { - "label": "incomplete_banner()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L23", - "id": "page_objects_settings_page_incomplete_banner", - "community": 74, - "norm_label": "incomplete_banner()" - }, - { - "label": ".nav()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L27", - "id": "page_objects_settings_page_settingspage_nav", - "community": 74, - "norm_label": ".nav()" - }, - { - "label": ".section()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L31", - "id": "page_objects_settings_page_settingspage_section", - "community": 74, - "norm_label": ".section()" - }, - { - "label": "paths_templates()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L36", - "id": "page_objects_settings_page_paths_templates", - "community": 74, - "norm_label": "paths_templates()" - }, - { - "label": "paths_plugin()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L41", - "id": "page_objects_settings_page_paths_plugin", - "community": 74, - "norm_label": "paths_plugin()" - }, - { - "label": "paths_local_root()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L46", - "id": "page_objects_settings_page_paths_local_root", - "community": 74, - "norm_label": "paths_local_root()" - }, - { - "label": "lims_password_primary()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L51", - "id": "page_objects_settings_page_lims_password_primary", - "community": 74, - "norm_label": "lims_password_primary()" - }, - { - "label": "lims_password_secondary()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L56", - "id": "page_objects_settings_page_lims_password_secondary", - "community": 74, - "norm_label": "lims_password_secondary()" - }, - { - "label": "lims_password_input()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L61", - "id": "page_objects_settings_page_lims_password_input", - "community": 74, - "norm_label": "lims_password_input()" - }, - { - "label": "lims_password_save()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L66", - "id": "page_objects_settings_page_lims_password_save", - "community": 74, - "norm_label": "lims_password_save()" - }, - { - "label": "lims_password_cancel()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L71", - "id": "page_objects_settings_page_lims_password_cancel", - "community": 74, - "norm_label": "lims_password_cancel()" - }, - { - "label": "lims_password_clear_confirm()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L76", - "id": "page_objects_settings_page_lims_password_clear_confirm", - "community": 74, - "norm_label": "lims_password_clear_confirm()" - }, - { - "label": "lims_password_status()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L81", - "id": "page_objects_settings_page_lims_password_status", - "community": 74, - "norm_label": "lims_password_status()" - }, - { - "label": "equipment_id()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L86", - "id": "page_objects_settings_page_equipment_id", - "community": 74, - "norm_label": "equipment_id()" - }, - { - "label": "equipment_add()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L91", - "id": "page_objects_settings_page_equipment_add", - "community": 74, - "norm_label": "equipment_add()" - }, - { - "label": "save()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L96", - "id": "page_objects_settings_page_save", - "community": 74, - "norm_label": "save()" - }, - { - "label": "discard()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L101", - "id": "page_objects_settings_page_discard", - "community": 74, - "norm_label": "discard()" - }, - { - "label": "saved_marker()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L106", - "id": "page_objects_settings_page_saved_marker", - "community": 74, - "norm_label": "saved_marker()" - }, - { - "label": "Page object for the Settings dialog. Frontend Spec \u00a76.7.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L1", - "id": "page_objects_settings_page_rationale_1", - "community": 74, - "norm_label": "page object for the settings dialog. frontend spec \u00a76.7." - }, - { - "label": "Locators for the settings dialog's nine-section layout.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L12", - "id": "page_objects_settings_page_rationale_12", - "community": 74, - "norm_label": "locators for the settings dialog's nine-section layout." - }, - { - "label": "The settings dialog card.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L19", - "id": "page_objects_settings_page_rationale_19", - "community": 568, - "norm_label": "the settings dialog card." - }, - { - "label": "The setup-incomplete banner shown inside the dialog.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L24", - "id": "page_objects_settings_page_rationale_24", - "community": 569, - "norm_label": "the setup-incomplete banner shown inside the dialog." - }, - { - "label": "The sidebar nav row for a section.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L28", - "id": "page_objects_settings_page_rationale_28", - "community": 74, - "norm_label": "the sidebar nav row for a section." - }, - { - "label": "The body container for a section.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L32", - "id": "page_objects_settings_page_rationale_32", - "community": 74, - "norm_label": "the body container for a section." - }, - { - "label": "Paths section: templates directory input.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L37", - "id": "page_objects_settings_page_rationale_37", - "community": 570, - "norm_label": "paths section: templates directory input." - }, - { - "label": "Paths section: plugin directory input.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L42", - "id": "page_objects_settings_page_rationale_42", - "community": 571, - "norm_label": "paths section: plugin directory input." - }, - { - "label": "Paths section: local data root input.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L47", - "id": "page_objects_settings_page_rationale_47", - "community": 572, - "norm_label": "paths section: local data root input." - }, - { - "label": "LIMS section: the credential row's primary button ([Set] / [Replace]).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L52", - "id": "page_objects_settings_page_rationale_52", - "community": 573, - "norm_label": "lims section: the credential row's primary button ([set] / [replace])." - }, - { - "label": "LIMS section: the credential row's secondary button ([Clear]).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L57", - "id": "page_objects_settings_page_rationale_57", - "community": 574, - "norm_label": "lims section: the credential row's secondary button ([clear])." - }, - { - "label": "LIMS section: the inline password input shown while editing.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L62", - "id": "page_objects_settings_page_rationale_62", - "community": 575, - "norm_label": "lims section: the inline password input shown while editing." - }, - { - "label": "LIMS section: the credential row's Save button (editing state).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L67", - "id": "page_objects_settings_page_rationale_67", - "community": 576, - "norm_label": "lims section: the credential row's save button (editing state)." - }, - { - "label": "LIMS section: the credential row's Cancel button (editing state).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L72", - "id": "page_objects_settings_page_rationale_72", - "community": 577, - "norm_label": "lims section: the credential row's cancel button (editing state)." - }, - { - "label": "LIMS section: the confirm button in the Clear-credential dialog.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L77", - "id": "page_objects_settings_page_rationale_77", - "community": 578, - "norm_label": "lims section: the confirm button in the clear-credential dialog." - }, - { - "label": "LIMS section: the credential row's status line (resting states).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L82", - "id": "page_objects_settings_page_rationale_82", - "community": 579, - "norm_label": "lims section: the credential row's status line (resting states)." - }, - { - "label": "Equipment section: equipment-id input.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L87", - "id": "page_objects_settings_page_rationale_87", - "community": 580, - "norm_label": "equipment section: equipment-id input." - }, - { - "label": "Equipment section: add-equipment button.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L92", - "id": "page_objects_settings_page_rationale_92", - "community": 581, - "norm_label": "equipment section: add-equipment button." - }, - { - "label": "The marker shown after a successful save.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L107", - "id": "page_objects_settings_page_rationale_107", - "community": 582, - "norm_label": "the marker shown after a successful save." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "tests/e2e/page_objects/__init__.py", - "source_location": "L1", - "id": "tests_e2e_page_objects_init_py", - "community": 535, - "norm_label": "__init__.py" - }, - { - "label": "Page object package for the Phase 16 e2e suite. Each module wraps the stable ``", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/__init__.py", - "source_location": "L1", - "id": "page_objects_init_rationale_1", - "community": 535, - "norm_label": "page object package for the phase 16 e2e suite. each module wraps the stable ``" - }, - { - "label": "wizard_equipment_page.py", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L1", - "id": "tests_e2e_page_objects_wizard_equipment_page_py", - "community": 150, - "norm_label": "wizard_equipment_page.py" - }, - { - "label": "WizardEquipmentPage", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L8", - "id": "page_objects_wizard_equipment_page_wizardequipmentpage", - "community": 186, - "norm_label": "wizardequipmentpage" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L9", - "id": "page_objects_wizard_equipment_page_wizardequipmentpage_init", - "community": 186, - "norm_label": ".__init__()" - }, - { - "label": "step_identity()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L14", - "id": "page_objects_wizard_equipment_page_step_identity", - "community": 150, - "norm_label": "step_identity()" - }, - { - "label": "equipment_id()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L18", - "id": "page_objects_wizard_equipment_page_equipment_id", - "community": 150, - "norm_label": "equipment_id()" - }, - { - "label": "label()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L22", - "id": "page_objects_wizard_equipment_page_label", - "community": 150, - "norm_label": "label()" - }, - { - "label": "step_paths()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L26", - "id": "page_objects_wizard_equipment_page_step_paths", - "community": 150, - "norm_label": "step_paths()" - }, - { - "label": "local_root()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L31", - "id": "page_objects_wizard_equipment_page_local_root", - "community": 150, - "norm_label": "local_root()" - }, - { - "label": "nas_root()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L35", - "id": "page_objects_wizard_equipment_page_nas_root", - "community": 150, - "norm_label": "nas_root()" - }, - { - "label": "sync_mode()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L42", - "id": "page_objects_wizard_equipment_page_sync_mode", - "community": 150, - "norm_label": "sync_mode()" - }, - { - "label": "nas_note()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L46", - "id": "page_objects_wizard_equipment_page_nas_note", - "community": 150, - "norm_label": "nas_note()" - }, - { - "label": "stage_note()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L50", - "id": "page_objects_wizard_equipment_page_stage_note", - "community": 150, - "norm_label": "stage_note()" - }, - { - "label": "confirm()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L55", - "id": "page_objects_wizard_equipment_page_confirm", - "community": 150, - "norm_label": "confirm()" - }, - { - "label": "cancel()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L59", - "id": "page_objects_wizard_equipment_page_cancel", - "community": 150, - "norm_label": "cancel()" - }, - { - "label": "next_button()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L63", - "id": "page_objects_wizard_equipment_page_next_button", - "community": 150, - "norm_label": "next_button()" - }, - { - "label": "back()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L67", - "id": "page_objects_wizard_equipment_page_back", - "community": 150, - "norm_label": "back()" - }, - { - "label": "success()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L71", - "id": "page_objects_wizard_equipment_page_success", - "community": 150, - "norm_label": "success()" - }, - { - "label": "Page object for the Add-Equipment wizard (Redesign \u00a76).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L1", - "id": "page_objects_wizard_equipment_page_rationale_1", - "community": 150, - "norm_label": "page object for the add-equipment wizard (redesign \u00a76)." - }, - { - "label": "staging_page.py", - "file_type": "code", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L1", - "id": "tests_e2e_page_objects_staging_page_py", - "community": 208, - "norm_label": "staging_page.py" - }, - { - "label": "StagingPage", - "file_type": "code", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L11", - "id": "page_objects_staging_page_stagingpage", - "community": 208, - "norm_label": "stagingpage" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L14", - "id": "page_objects_staging_page_stagingpage_init", - "community": 208, - "norm_label": ".__init__()" - }, - { - "label": "dock()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L18", - "id": "page_objects_staging_page_dock", - "community": 208, - "norm_label": "dock()" - }, - { - "label": ".row()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L22", - "id": "page_objects_staging_page_stagingpage_row", - "community": 208, - "norm_label": ".row()" - }, - { - "label": ".force_sync()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L26", - "id": "page_objects_staging_page_stagingpage_force_sync", - "community": 208, - "norm_label": ".force_sync()" - }, - { - "label": ".clear()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L30", - "id": "page_objects_staging_page_stagingpage_clear", - "community": 208, - "norm_label": ".clear()" - }, - { - "label": ".view_log()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L34", - "id": "page_objects_staging_page_stagingpage_view_log", - "community": 208, - "norm_label": ".view_log()" - }, - { - "label": "clear_verified()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L39", - "id": "page_objects_staging_page_clear_verified", - "community": 208, - "norm_label": "clear_verified()" - }, - { - "label": "Page object for the orchestrator staging dock. Frontend Spec \u00a73.9.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L1", - "id": "page_objects_staging_page_rationale_1", - "community": 208, - "norm_label": "page object for the orchestrator staging dock. frontend spec \u00a73.9." - }, - { - "label": "Locators for the staging dock + per-row actions.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L12", - "id": "page_objects_staging_page_rationale_12", - "community": 208, - "norm_label": "locators for the staging dock + per-row actions." - }, - { - "label": "The staging dock container.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L19", - "id": "page_objects_staging_page_rationale_19", - "community": 583, - "norm_label": "the staging dock container." - }, - { - "label": "The Force-sync button on the Nth row.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L27", - "id": "page_objects_staging_page_rationale_27", - "community": 208, - "norm_label": "the force-sync button on the nth row." - }, - { - "label": "The Clear button on the Nth row.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L31", - "id": "page_objects_staging_page_rationale_31", - "community": 208, - "norm_label": "the clear button on the nth row." - }, - { - "label": "The View-log button on the Nth row.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L35", - "id": "page_objects_staging_page_rationale_35", - "community": 208, - "norm_label": "the view-log button on the nth row." - }, - { - "label": "The toolbar Clear-verified-runs button.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L40", - "id": "page_objects_staging_page_rationale_40", - "community": 584, - "norm_label": "the toolbar clear-verified-runs button." - }, - { - "label": "wizard_run_page.py", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L1", - "id": "tests_e2e_page_objects_wizard_run_page_py", - "community": 159, - "norm_label": "wizard_run_page.py" - }, - { - "label": "WizardRunPage", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L11", - "id": "page_objects_wizard_run_page_wizardrunpage", - "community": 159, - "norm_label": "wizardrunpage" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L14", - "id": "page_objects_wizard_run_page_wizardrunpage_init", - "community": 159, - "norm_label": ".__init__()" - }, - { - "label": "stepper()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L18", - "id": "page_objects_wizard_run_page_stepper", - "community": 159, - "norm_label": "stepper()" - }, - { - "label": "title()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L23", - "id": "page_objects_wizard_run_page_title", - "community": 159, - "norm_label": "title()" - }, - { - "label": "mode_badge_experimental()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L28", - "id": "page_objects_wizard_run_page_mode_badge_experimental", - "community": 159, - "norm_label": "mode_badge_experimental()" - }, - { - "label": "mode_badge_test()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L33", - "id": "page_objects_wizard_run_page_mode_badge_test", - "community": 159, - "norm_label": "mode_badge_test()" - }, - { - "label": ".step()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L37", - "id": "page_objects_wizard_run_page_wizardrunpage_step", - "community": 159, - "norm_label": ".step()" - }, - { - "label": "back()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L42", - "id": "page_objects_wizard_run_page_back", - "community": 159, - "norm_label": "back()" - }, - { - "label": "cancel()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L50", - "id": "page_objects_wizard_run_page_cancel", - "community": 159, - "norm_label": "cancel()" - }, - { - "label": "next()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L55", - "id": "page_objects_wizard_run_page_next", - "community": 159, - "norm_label": "next()" - }, - { - "label": "submit()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L60", - "id": "page_objects_wizard_run_page_submit", - "community": 159, - "norm_label": "submit()" - }, - { - "label": "success_card()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L65", - "id": "page_objects_wizard_run_page_success_card", - "community": 159, - "norm_label": "success_card()" - }, - { - "label": "Page object for the New Run Wizard. Frontend Spec \u00a76.4.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L1", - "id": "page_objects_wizard_run_page_rationale_1", - "community": 159, - "norm_label": "page object for the new run wizard. frontend spec \u00a76.4." - }, - { - "label": "Locators for the run wizard (experimental + test mode).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L12", - "id": "page_objects_wizard_run_page_rationale_12", - "community": 159, - "norm_label": "locators for the run wizard (experimental + test mode)." - }, - { - "label": "The vertical stepper that holds the six steps.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L19", - "id": "page_objects_wizard_run_page_rationale_19", - "community": 585, - "norm_label": "the vertical stepper that holds the six steps." - }, - { - "label": "The wizard's title label (changes per run kind).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L24", - "id": "page_objects_wizard_run_page_rationale_24", - "community": 586, - "norm_label": "the wizard's title label (changes per run kind)." - }, - { - "label": "The mode badge for experimental runs.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L29", - "id": "page_objects_wizard_run_page_rationale_29", - "community": 587, - "norm_label": "the mode badge for experimental runs." - }, - { - "label": "The mode badge for test runs.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L34", - "id": "page_objects_wizard_run_page_rationale_34", - "community": 588, - "norm_label": "the mode badge for test runs." - }, - { - "label": "Locator for a specific step container.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L38", - "id": "page_objects_wizard_run_page_rationale_38", - "community": 159, - "norm_label": "locator for a specific step container." - }, - { - "label": "The back button on the active stepper navigation. Absent on the first s", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L43", - "id": "page_objects_wizard_run_page_rationale_43", - "community": 589, - "norm_label": "the back button on the active stepper navigation. absent on the first s" - }, - { - "label": "The cancel button; present on every step, returns to /main.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L51", - "id": "page_objects_wizard_run_page_rationale_51", - "community": 590, - "norm_label": "the cancel button; present on every step, returns to /main." - }, - { - "label": "The primary advance button on the active stepper navigation.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L56", - "id": "page_objects_wizard_run_page_rationale_56", - "community": 591, - "norm_label": "the primary advance button on the active stepper navigation." - }, - { - "label": "The Create button on the confirm step.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L61", - "id": "page_objects_wizard_run_page_rationale_61", - "community": 592, - "norm_label": "the create button on the confirm step." - }, - { - "label": "The success indicator rendered after submit.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L66", - "id": "page_objects_wizard_run_page_rationale_66", - "community": 593, - "norm_label": "the success indicator rendered after submit." - }, - { - "label": "wizard_project_page.py", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L1", - "id": "tests_e2e_page_objects_wizard_project_page_py", - "community": 193, - "norm_label": "wizard_project_page.py" - }, - { - "label": "WizardProjectPage", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L11", - "id": "page_objects_wizard_project_page_wizardprojectpage", - "community": 193, - "norm_label": "wizardprojectpage" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L14", - "id": "page_objects_wizard_project_page_wizardprojectpage_init", - "community": 193, - "norm_label": ".__init__()" - }, - { - "label": "card()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L18", - "id": "page_objects_wizard_project_page_card", - "community": 193, - "norm_label": "card()" - }, - { - "label": "stepper()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L23", - "id": "page_objects_wizard_project_page_stepper", - "community": 193, - "norm_label": "stepper()" - }, - { - "label": ".step()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L27", - "id": "page_objects_wizard_project_page_wizardprojectpage_step", - "community": 193, - "norm_label": ".step()" - }, - { - "label": "lims_gate()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L32", - "id": "page_objects_wizard_project_page_lims_gate", - "community": 193, - "norm_label": "lims_gate()" - }, - { - "label": "lims_id()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L41", - "id": "page_objects_wizard_project_page_lims_id", - "community": 193, - "norm_label": "lims_id()" - }, - { - "label": "back()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L46", - "id": "page_objects_wizard_project_page_back", - "community": 193, - "norm_label": "back()" - }, - { - "label": "cancel()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L54", - "id": "page_objects_wizard_project_page_cancel", - "community": 193, - "norm_label": "cancel()" - }, - { - "label": "next()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L59", - "id": "page_objects_wizard_project_page_next", - "community": 193, - "norm_label": "next()" - }, - { - "label": "submit()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L64", - "id": "page_objects_wizard_project_page_submit", - "community": 193, - "norm_label": "submit()" - }, - { - "label": "success_card()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L69", - "id": "page_objects_wizard_project_page_success_card", - "community": 193, - "norm_label": "success_card()" - }, - { - "label": "Page object for the New Project Wizard. Frontend Spec \u00a76.3.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L1", - "id": "page_objects_wizard_project_page_rationale_1", - "community": 193, - "norm_label": "page object for the new project wizard. frontend spec \u00a76.3." - }, - { - "label": "Locators for the new-project wizard's seven-step stepper.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L12", - "id": "page_objects_wizard_project_page_rationale_12", - "community": 193, - "norm_label": "locators for the new-project wizard's seven-step stepper." - }, - { - "label": "The wizard's outermost card element.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L19", - "id": "page_objects_wizard_project_page_rationale_19", - "community": 594, - "norm_label": "the wizard's outermost card element." - }, - { - "label": "The vertical stepper that holds the seven steps.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L24", - "id": "page_objects_wizard_project_page_rationale_24", - "community": 595, - "norm_label": "the vertical stepper that holds the seven steps." - }, - { - "label": "Locator for a specific step container.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L28", - "id": "page_objects_wizard_project_page_rationale_28", - "community": 193, - "norm_label": "locator for a specific step container." - }, - { - "label": "The manual-entry gate button on the LIMS Project step. Rendered only wh", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L33", - "id": "page_objects_wizard_project_page_rationale_33", - "community": 596, - "norm_label": "the manual-entry gate button on the lims project step. rendered only wh" - }, - { - "label": "The manual LIMS short-ID input (revealed by ``lims_gate``).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L42", - "id": "page_objects_wizard_project_page_rationale_42", - "community": 597, - "norm_label": "the manual lims short-id input (revealed by ``lims_gate``)." - }, - { - "label": "The back button on the active stepper navigation. Absent on the first s", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L47", - "id": "page_objects_wizard_project_page_rationale_47", - "community": 598, - "norm_label": "the back button on the active stepper navigation. absent on the first s" - }, - { - "label": "The cancel button; present on every step, returns to /main.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L55", - "id": "page_objects_wizard_project_page_rationale_55", - "community": 599, - "norm_label": "the cancel button; present on every step, returns to /main." - }, - { - "label": "The primary advance button on the active stepper navigation.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L60", - "id": "page_objects_wizard_project_page_rationale_60", - "community": 600, - "norm_label": "the primary advance button on the active stepper navigation." - }, - { - "label": "The Create button on the confirm step.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L65", - "id": "page_objects_wizard_project_page_rationale_65", - "community": 601, - "norm_label": "the create button on the confirm step." - }, - { - "label": "The success indicator rendered after submit.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L70", - "id": "page_objects_wizard_project_page_rationale_70", - "community": 602, - "norm_label": "the success indicator rendered after submit." - }, - { - "label": "main_page.py", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L1", - "id": "tests_e2e_page_objects_main_page_py", - "community": 216, - "norm_label": "main_page.py" - }, - { - "label": "MainPage", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L15", - "id": "page_objects_main_page_mainpage", - "community": 217, - "norm_label": "mainpage" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L18", - "id": "page_objects_main_page_mainpage_init", - "community": 217, - "norm_label": ".__init__()" - }, - { - "label": "tree()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L22", - "id": "page_objects_main_page_tree", - "community": 216, - "norm_label": "tree()" - }, - { - "label": "setup_incomplete_banner()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L27", - "id": "page_objects_main_page_setup_incomplete_banner", - "community": 216, - "norm_label": "setup_incomplete_banner()" - }, - { - "label": "toolbar_new_project()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L32", - "id": "page_objects_main_page_toolbar_new_project", - "community": 216, - "norm_label": "toolbar_new_project()" - }, - { - "label": "toolbar_new_run()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L37", - "id": "page_objects_main_page_toolbar_new_run", - "community": 216, - "norm_label": "toolbar_new_run()" - }, - { - "label": "toolbar_new_test_run()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L42", - "id": "page_objects_main_page_toolbar_new_test_run", - "community": 216, - "norm_label": "toolbar_new_test_run()" - }, - { - "label": "toolbar_settings()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L47", - "id": "page_objects_main_page_toolbar_settings", - "community": 216, - "norm_label": "toolbar_settings()" - }, - { - "label": "toolbar_refresh()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L52", - "id": "page_objects_main_page_toolbar_refresh", - "community": 216, - "norm_label": "toolbar_refresh()" - }, - { - "label": "toolbar_add_equipment()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L57", - "id": "page_objects_main_page_toolbar_add_equipment", - "community": 216, - "norm_label": "toolbar_add_equipment()" - }, - { - "label": "search_box()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L62", - "id": "page_objects_main_page_search_box", - "community": 216, - "norm_label": "search_box()" - }, - { - "label": "tab_metadata()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L67", - "id": "page_objects_main_page_tab_metadata", - "community": 216, - "norm_label": "tab_metadata()" - }, - { - "label": "tab_problems()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L72", - "id": "page_objects_main_page_tab_problems", - "community": 216, - "norm_label": "tab_problems()" - }, - { - "label": "toggle_right_pane()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L77", - "id": "page_objects_main_page_toggle_right_pane", - "community": 216, - "norm_label": "toggle_right_pane()" - }, - { - "label": "footer_clear_verified()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L82", - "id": "page_objects_main_page_footer_clear_verified", - "community": 216, - "norm_label": "footer_clear_verified()" - }, - { - "label": "footer_staging_segment()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L87", - "id": "page_objects_main_page_footer_staging_segment", - "community": 216, - "norm_label": "footer_staging_segment()" - }, - { - "label": "Page object for the main window. Frontend Spec \u00a76. Selectors target ``data-test", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L1", - "id": "page_objects_main_page_rationale_1", - "community": 216, - "norm_label": "page object for the main window. frontend spec \u00a76. selectors target ``data-test" - }, - { - "label": "Page object for the main window. Frontend Spec \u00a76.1, \u00a76.2.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L16", - "id": "page_objects_main_page_rationale_16", - "community": 217, - "norm_label": "page object for the main window. frontend spec \u00a76.1, \u00a76.2." - }, - { - "label": "The left-pane project / session tree (\u00a76.2.1).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L23", - "id": "page_objects_main_page_rationale_23", - "community": 603, - "norm_label": "the left-pane project / session tree (\u00a76.2.1)." - }, - { - "label": "Banner shown while the setup gate is open (\u00a76.2.4).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L28", - "id": "page_objects_main_page_rationale_28", - "community": 604, - "norm_label": "banner shown while the setup gate is open (\u00a76.2.4)." - }, - { - "label": "Toolbar button that opens the new-project wizard (\u00a76.2.2).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L33", - "id": "page_objects_main_page_rationale_33", - "community": 605, - "norm_label": "toolbar button that opens the new-project wizard (\u00a76.2.2)." - }, - { - "label": "Toolbar button that opens the new-run wizard (\u00a76.2.2).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L38", - "id": "page_objects_main_page_rationale_38", - "community": 606, - "norm_label": "toolbar button that opens the new-run wizard (\u00a76.2.2)." - }, - { - "label": "Toolbar button that opens the new-test-run wizard (\u00a76.2.2).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L43", - "id": "page_objects_main_page_rationale_43", - "community": 607, - "norm_label": "toolbar button that opens the new-test-run wizard (\u00a76.2.2)." - }, - { - "label": "Toolbar button that opens the settings dialog (\u00a76.2.2).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L48", - "id": "page_objects_main_page_rationale_48", - "community": 608, - "norm_label": "toolbar button that opens the settings dialog (\u00a76.2.2)." - }, - { - "label": "Toolbar refresh button (\u00a76.2.2).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L53", - "id": "page_objects_main_page_rationale_53", - "community": 609, - "norm_label": "toolbar refresh button (\u00a76.2.2)." - }, - { - "label": "Toolbar Add-Equipment button (Redesign \u00a74 / \u00a76).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L58", - "id": "page_objects_main_page_rationale_58", - "community": 610, - "norm_label": "toolbar add-equipment button (redesign \u00a74 / \u00a76)." - }, - { - "label": "The tree search input (\u00a76.2.1).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L63", - "id": "page_objects_main_page_rationale_63", - "community": 611, - "norm_label": "the tree search input (\u00a76.2.1)." - }, - { - "label": "Metadata tab (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L68", - "id": "page_objects_main_page_rationale_68", - "community": 612, - "norm_label": "metadata tab (redesign \u00a74.4)." - }, - { - "label": "Problems tab (\u00a76.2.3 / Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L73", - "id": "page_objects_main_page_rationale_73", - "community": 613, - "norm_label": "problems tab (\u00a76.2.3 / redesign \u00a74.4)." - }, - { - "label": "Right-pane collapse toggle (Redesign \u00a74).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L78", - "id": "page_objects_main_page_rationale_78", - "community": 614, - "norm_label": "right-pane collapse toggle (redesign \u00a74)." - }, - { - "label": "Footer bulk Clear-verified button (Redesign \u00a74.6).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L83", - "id": "page_objects_main_page_rationale_83", - "community": 615, - "norm_label": "footer bulk clear-verified button (redesign \u00a74.6)." - }, - { - "label": "Footer Staging status segment (Redesign \u00a74.6).", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L88", - "id": "page_objects_main_page_rationale_88", - "community": 616, - "norm_label": "footer staging status segment (redesign \u00a74.6)." - }, - { - "label": "welcome_page.py", - "file_type": "code", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L1", - "id": "tests_e2e_page_objects_welcome_page_py", - "community": 215, - "norm_label": "welcome_page.py" - }, - { - "label": "WelcomePage", - "file_type": "code", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L11", - "id": "page_objects_welcome_page_welcomepage", - "community": 215, - "norm_label": "welcomepage" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L14", - "id": "page_objects_welcome_page_welcomepage_init", - "community": 215, - "norm_label": ".__init__()" - }, - { - "label": "card()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L18", - "id": "page_objects_welcome_page_card", - "community": 215, - "norm_label": "card()" - }, - { - "label": "headline()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L23", - "id": "page_objects_welcome_page_headline", - "community": 215, - "norm_label": "headline()" - }, - { - "label": "autostart_toggle()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L28", - "id": "page_objects_welcome_page_autostart_toggle", - "community": 215, - "norm_label": "autostart_toggle()" - }, - { - "label": "get_started()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L33", - "id": "page_objects_welcome_page_get_started", - "community": 215, - "norm_label": "get_started()" - }, - { - "label": "skip_for_now()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L38", - "id": "page_objects_welcome_page_skip_for_now", - "community": 215, - "norm_label": "skip_for_now()" - }, - { - "label": "status_marker()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L43", - "id": "page_objects_welcome_page_status_marker", - "community": 215, - "norm_label": "status_marker()" - }, - { - "label": "Page object for the first-launch welcome card. Frontend Spec \u00a76.1.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L1", - "id": "page_objects_welcome_page_rationale_1", - "community": 215, - "norm_label": "page object for the first-launch welcome card. frontend spec \u00a76.1." - }, - { - "label": "Page object for the welcome card shown on first launch. Frontend Spec \u00a76.1.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L12", - "id": "page_objects_welcome_page_rationale_12", - "community": 215, - "norm_label": "page object for the welcome card shown on first launch. frontend spec \u00a76.1." - }, - { - "label": "The welcome card container.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L19", - "id": "page_objects_welcome_page_rationale_19", - "community": 617, - "norm_label": "the welcome card container." - }, - { - "label": "The welcome card headline / title element.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L24", - "id": "page_objects_welcome_page_rationale_24", - "community": 618, - "norm_label": "the welcome card headline / title element." - }, - { - "label": "The autostart-on-login toggle on the welcome card.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L29", - "id": "page_objects_welcome_page_rationale_29", - "community": 619, - "norm_label": "the autostart-on-login toggle on the welcome card." - }, - { - "label": "The primary \"Get started\" CTA on the welcome card.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L34", - "id": "page_objects_welcome_page_rationale_34", - "community": 620, - "norm_label": "the primary \"get started\" cta on the welcome card." - }, - { - "label": "The secondary \"Skip for now\" CTA on the welcome card.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L39", - "id": "page_objects_welcome_page_rationale_39", - "community": 621, - "norm_label": "the secondary \"skip for now\" cta on the welcome card." - }, - { - "label": "Hidden marker emitted by the test app to surface state.", - "file_type": "rationale", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L44", - "id": "page_objects_welcome_page_rationale_44", - "community": 622, - "norm_label": "hidden marker emitted by the test app to surface state." - }, - { - "label": "conf.py", - "file_type": "code", - "source_file": "docs/source/conf.py", - "source_location": "L1", - "id": "docs_source_conf_py", - "community": 308, - "norm_label": "conf.py" - }, - { - "label": "_NoiseFilter", - "file_type": "code", - "source_file": "docs/source/conf.py", - "source_location": "L200", - "id": "source_conf_noisefilter", - "community": 308, - "norm_label": "_noisefilter" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "docs/source/conf.py", - "source_location": "L208", - "id": "source_conf_noisefilter_init", - "community": 308, - "norm_label": ".__init__()" - }, - { - "label": ".filter()", - "file_type": "code", - "source_file": "docs/source/conf.py", - "source_location": "L212", - "id": "source_conf_noisefilter_filter", - "community": 308, - "norm_label": ".filter()" - }, - { - "label": "setup()", - "file_type": "code", - "source_file": "docs/source/conf.py", - "source_location": "L271", - "id": "source_conf_setup", - "community": 308, - "norm_label": "setup()" - }, - { - "label": "Sphinx configuration for ExLab-Wizard documentation. The configuration wires th", - "file_type": "rationale", - "source_file": "docs/source/conf.py", - "source_location": "L1", - "id": "source_conf_rationale_1", - "community": 308, - "norm_label": "sphinx configuration for exlab-wizard documentation. the configuration wires th" - }, - { - "label": "Drop uncategorised warnings whose message text matches a known needle. Inse", - "file_type": "rationale", - "source_file": "docs/source/conf.py", - "source_location": "L201", - "id": "source_conf_rationale_201", - "community": 308, - "norm_label": "drop uncategorised warnings whose message text matches a known needle. inse" - }, - { - "label": "Install the noise filter at the head of the warning handler chain. Sphinx w", - "file_type": "rationale", - "source_file": "docs/source/conf.py", - "source_location": "L272", - "id": "source_conf_rationale_272", - "community": 308, - "norm_label": "install the noise filter at the head of the warning handler chain. sphinx w" - }, - { - "label": "generate_screenshots.py", - "file_type": "code", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L1", - "id": "scripts_generate_screenshots_py", - "community": 116, - "norm_label": "generate_screenshots.py" - }, - { - "label": "_free_port()", - "file_type": "code", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L69", - "id": "scripts_generate_screenshots_free_port", - "community": 116, - "norm_label": "_free_port()" - }, - { - "label": "_start_server()", - "file_type": "code", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L76", - "id": "scripts_generate_screenshots_start_server", - "community": 116, - "norm_label": "_start_server()" - }, - { - "label": "_stop_server()", - "file_type": "code", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L138", - "id": "scripts_generate_screenshots_stop_server", - "community": 116, - "norm_label": "_stop_server()" - }, - { - "label": "_capture()", - "file_type": "code", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L148", - "id": "scripts_generate_screenshots_capture", - "community": 116, - "norm_label": "_capture()" - }, - { - "label": "_capture_capability()", - "file_type": "code", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L178", - "id": "scripts_generate_screenshots_capture_capability", - "community": 116, - "norm_label": "_capture_capability()" - }, - { - "label": "_capability_plan()", - "file_type": "code", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L209", - "id": "scripts_generate_screenshots_capability_plan", - "community": 116, - "norm_label": "_capability_plan()" - }, - { - "label": "main()", - "file_type": "code", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L337", - "id": "scripts_generate_screenshots_main", - "community": 116, - "norm_label": "main()" - }, - { - "label": "Generate Playwright screenshots for the Sphinx user guide. CLI: python scr", - "file_type": "rationale", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L1", - "id": "scripts_generate_screenshots_rationale_1", - "community": 116, - "norm_label": "generate playwright screenshots for the sphinx user guide. cli: python scr" - }, - { - "label": "Return a free TCP port on 127.0.0.1.", - "file_type": "rationale", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L70", - "id": "scripts_generate_screenshots_rationale_70", - "community": 116, - "norm_label": "return a free tcp port on 127.0.0.1." - }, - { - "label": "Spawn the uvicorn-hosted e2e test app; return (proc, base_url). Mirrors the", - "file_type": "rationale", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L77", - "id": "scripts_generate_screenshots_rationale_77", - "community": 116, - "norm_label": "spawn the uvicorn-hosted e2e test app; return (proc, base_url). mirrors the" - }, - { - "label": "Best-effort termination of the uvicorn subprocess.", - "file_type": "rationale", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L139", - "id": "scripts_generate_screenshots_rationale_139", - "community": 116, - "norm_label": "best-effort termination of the uvicorn subprocess." - }, - { - "label": "Navigate to ``route``, optionally wait for a selector, screenshot. Returns", - "file_type": "rationale", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L158", - "id": "scripts_generate_screenshots_rationale_158", - "community": 116, - "norm_label": "navigate to ``route``, optionally wait for a selector, screenshot. returns" - }, - { - "label": "Capture every step in the capability; return (succeeded, total).", - "file_type": "rationale", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L185", - "id": "scripts_generate_screenshots_rationale_185", - "community": 116, - "norm_label": "capture every step in the capability; return (succeeded, total)." - }, - { - "label": "Return the (capability_id, steps) list driving the screenshot run. Routes a", - "file_type": "rationale", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L210", - "id": "scripts_generate_screenshots_rationale_210", - "community": 116, - "norm_label": "return the (capability_id, steps) list driving the screenshot run. routes a" - }, - { - "label": "Entry point; returns a process exit code (0 on full success).", - "file_type": "rationale", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L338", - "id": "scripts_generate_screenshots_rationale_338", - "community": 116, - "norm_label": "entry point; returns a process exit code (0 on full success)." - }, - { - "label": "build_local.ps1", - "file_type": "code", - "source_file": "scripts/build_local.ps1", - "source_location": "L1", - "id": "scripts_build_local_ps1", - "community": 623, - "norm_label": "build_local.ps1" - }, - { - "label": "paths.py", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L1", - "id": "src_exlab_wizard_paths_py", - "community": 187, - "norm_label": "paths.py" - }, - { - "label": "_app_name()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L95", - "id": "exlab_wizard_paths_app_name", - "community": 76, - "norm_label": "_app_name()" - }, - { - "label": "_platform()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L107", - "id": "exlab_wizard_paths_platform", - "community": 76, - "norm_label": "_platform()" - }, - { - "label": "_home()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L118", - "id": "exlab_wizard_paths_home", - "community": 76, - "norm_label": "_home()" - }, - { - "label": "_env_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L127", - "id": "exlab_wizard_paths_env_path", - "community": 76, - "norm_label": "_env_path()" - }, - { - "label": "os_config_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L133", - "id": "exlab_wizard_paths_os_config_path", - "community": 76, - "norm_label": "os_config_path()" - }, - { - "label": "os_state_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L145", - "id": "exlab_wizard_paths_os_state_path", - "community": 239, - "norm_label": "os_state_path()" - }, - { - "label": "os_cache_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L157", - "id": "exlab_wizard_paths_os_cache_path", - "community": 76, - "norm_label": "os_cache_path()" - }, - { - "label": "os_central_log_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L169", - "id": "exlab_wizard_paths_os_central_log_path", - "community": 238, - "norm_label": "os_central_log_path()" - }, - { - "label": "suggested_staging_root()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L188", - "id": "exlab_wizard_paths_suggested_staging_root", - "community": 76, - "norm_label": "suggested_staging_root()" - }, - { - "label": "ensure_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L220", - "id": "exlab_wizard_paths_ensure_dir", - "community": 238, - "norm_label": "ensure_dir()" - }, - { - "label": "ensure_state_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L226", - "id": "exlab_wizard_paths_ensure_state_dir", - "community": 239, - "norm_label": "ensure_state_dir()" - }, - { - "label": "ensure_central_log_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L231", - "id": "exlab_wizard_paths_ensure_central_log_dir", - "community": 238, - "norm_label": "ensure_central_log_dir()" - }, - { - "label": "canonicalize_equipment_id()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L241", - "id": "exlab_wizard_paths_canonicalize_equipment_id", - "community": 75, - "norm_label": "canonicalize_equipment_id()" - }, - { - "label": "validate_project_short_id()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L272", - "id": "exlab_wizard_paths_validate_project_short_id", - "community": 78, - "norm_label": "validate_project_short_id()" - }, - { - "label": "project_name_violations()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L290", - "id": "exlab_wizard_paths_project_name_violations", - "community": 256, - "norm_label": "project_name_violations()" - }, - { - "label": "validate_project_name()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L348", - "id": "exlab_wizard_paths_validate_project_name", - "community": 256, - "norm_label": "validate_project_name()" - }, - { - "label": "compose_run_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L360", - "id": "exlab_wizard_paths_compose_run_path", - "community": 176, - "norm_label": "compose_run_path()" - }, - { - "label": "compose_project_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L396", - "id": "exlab_wizard_paths_compose_project_path", - "community": 75, - "norm_label": "compose_project_path()" - }, - { - "label": "_lims_slot_satisfied()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L420", - "id": "exlab_wizard_paths_lims_slot_satisfied", - "community": 187, - "norm_label": "_lims_slot_satisfied()" - }, - { - "label": "_paths_complete()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L437", - "id": "exlab_wizard_paths_paths_complete", - "community": 187, - "norm_label": "_paths_complete()" - }, - { - "label": "_nas_in_use()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L447", - "id": "exlab_wizard_paths_nas_in_use", - "community": 187, - "norm_label": "_nas_in_use()" - }, - { - "label": "_nas_remote_satisfied()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L454", - "id": "exlab_wizard_paths_nas_remote_satisfied", - "community": 187, - "norm_label": "_nas_remote_satisfied()" - }, - { - "label": "evaluate_setup_state()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L466", - "id": "exlab_wizard_paths_evaluate_setup_state", - "community": 59, - "norm_label": "evaluate_setup_state()" - }, - { - "label": "_orchestrator_identity_complete()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L514", - "id": "exlab_wizard_paths_orchestrator_identity_complete", - "community": 187, - "norm_label": "_orchestrator_identity_complete()" - }, - { - "label": "setup_state_missing()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L525", - "id": "exlab_wizard_paths_setup_state_missing", - "community": 177, - "norm_label": "setup_state_missing()" - }, - { - "label": "_missing_nas_fields()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L560", - "id": "exlab_wizard_paths_missing_nas_fields", - "community": 187, - "norm_label": "_missing_nas_fields()" - }, - { - "label": "_missing_orchestrator_fields()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L571", - "id": "exlab_wizard_paths_missing_orchestrator_fields", - "community": 177, - "norm_label": "_missing_orchestrator_fields()" - }, - { - "label": "_missing_paths_fields()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L581", - "id": "exlab_wizard_paths_missing_paths_fields", - "community": 177, - "norm_label": "_missing_paths_fields()" - }, - { - "label": "_missing_lims_fields()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L594", - "id": "exlab_wizard_paths_missing_lims_fields", - "community": 177, - "norm_label": "_missing_lims_fields()" - }, - { - "label": "setup_state_next_action()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L613", - "id": "exlab_wizard_paths_setup_state_next_action", - "community": 75, - "norm_label": "setup_state_next_action()" - }, - { - "label": "cache_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L643", - "id": "exlab_wizard_paths_cache_dir", - "community": 3, - "norm_label": "cache_dir()" - }, - { - "label": "creation_json_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L648", - "id": "exlab_wizard_paths_creation_json_path", - "community": 16, - "norm_label": "creation_json_path()" - }, - { - "label": "equipment_json_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L653", - "id": "exlab_wizard_paths_equipment_json_path", - "community": 56, - "norm_label": "equipment_json_path()" - }, - { - "label": "readme_fields_json_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L658", - "id": "exlab_wizard_paths_readme_fields_json_path", - "community": 491, - "norm_label": "readme_fields_json_path()" - }, - { - "label": "is_run_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L668", - "id": "exlab_wizard_paths_is_run_dir", - "community": 71, - "norm_label": "is_run_dir()" - }, - { - "label": "is_test_run_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L678", - "id": "exlab_wizard_paths_is_test_run_dir", - "community": 11, - "norm_label": "is_test_run_dir()" - }, - { - "label": "run_dir_stem()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L683", - "id": "exlab_wizard_paths_run_dir_stem", - "community": 56, - "norm_label": "run_dir_stem()" - }, - { - "label": "Path composition + OS-appropriate directories + equipment-id canonicalization.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L1", - "id": "exlab_wizard_paths_rationale_1", - "community": 187, - "norm_label": "path composition + os-appropriate directories + equipment-id canonicalization." - }, - { - "label": "``APP_NAME`` (suffixed ``-test`` when ``EXLAB_WIZARD_TEST_MODE=1``).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L96", - "id": "exlab_wizard_paths_rationale_96", - "community": 76, - "norm_label": "``app_name`` (suffixed ``-test`` when ``exlab_wizard_test_mode=1``)." - }, - { - "label": "Return a normalized platform tag for OS-conditional path dispatch.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L108", - "id": "exlab_wizard_paths_rationale_108", - "community": 76, - "norm_label": "return a normalized platform tag for os-conditional path dispatch." - }, - { - "label": "Return the operator's home directory. Centralized so test fixtures can monk", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L119", - "id": "exlab_wizard_paths_rationale_119", - "community": 76, - "norm_label": "return the operator's home directory. centralized so test fixtures can monk" - }, - { - "label": "Return ``Path(os.environ[var])`` if the var is set and non-empty, else ``fallbac", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L128", - "id": "exlab_wizard_paths_rationale_128", - "community": 76, - "norm_label": "return ``path(os.environ[var])`` if the var is set and non-empty, else ``fallbac" - }, - { - "label": "Return the OS-appropriate path of ``config.yaml``. Backend Spec \u00a79.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L134", - "id": "exlab_wizard_paths_rationale_134", - "community": 76, - "norm_label": "return the os-appropriate path of ``config.yaml``. backend spec \u00a79." - }, - { - "label": "Return the OS-appropriate state directory. Backend Spec \u00a715.7.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L146", - "id": "exlab_wizard_paths_rationale_146", - "community": 239, - "norm_label": "return the os-appropriate state directory. backend spec \u00a715.7." - }, - { - "label": "Return the OS-appropriate cache directory. Backend Spec \u00a77.2.4.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L158", - "id": "exlab_wizard_paths_rationale_158", - "community": 76, - "norm_label": "return the os-appropriate cache directory. backend spec \u00a77.2.4." - }, - { - "label": "Return the OS-appropriate central log file. Backend Spec \u00a716.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L170", - "id": "exlab_wizard_paths_rationale_170", - "community": 238, - "norm_label": "return the os-appropriate central log file. backend spec \u00a716.3." - }, - { - "label": "Suggested (not default) ``orchestrator.staging_root``. Backend Spec \u00a79, \u00a713.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L189", - "id": "exlab_wizard_paths_rationale_189", - "community": 76, - "norm_label": "suggested (not default) ``orchestrator.staging_root``. backend spec \u00a79, \u00a713." - }, - { - "label": "``mkdir -p`` the given path; return it. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L221", - "id": "exlab_wizard_paths_rationale_221", - "community": 238, - "norm_label": "``mkdir -p`` the given path; return it. idempotent." - }, - { - "label": "``ensure_dir(os_state_path())``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L227", - "id": "exlab_wizard_paths_rationale_227", - "community": 239, - "norm_label": "``ensure_dir(os_state_path())``." - }, - { - "label": "``ensure_dir(os_central_log_path().parent)``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L232", - "id": "exlab_wizard_paths_rationale_232", - "community": 238, - "norm_label": "``ensure_dir(os_central_log_path().parent)``." - }, - { - "label": "Validate ``value`` against the \u00a73.1 equipment-ID regex. Returns ``value`` u", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L242", - "id": "exlab_wizard_paths_rationale_242", - "community": 75, - "norm_label": "validate ``value`` against the \u00a73.1 equipment-id regex. returns ``value`` u" - }, - { - "label": "Validate ``value`` against ``PROJECT_SHORT_ID_PATTERN``. Returns the input", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L273", - "id": "exlab_wizard_paths_rationale_273", - "community": 78, - "norm_label": "validate ``value`` against ``project_short_id_pattern``. returns the input" - }, - { - "label": "Return every way ``value`` fails the \u00a73.2 project-name rule. The project fo", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L291", - "id": "exlab_wizard_paths_rationale_291", - "community": 256, - "norm_label": "return every way ``value`` fails the \u00a73.2 project-name rule. the project fo" - }, - { - "label": "Validate ``value`` as a \u00a73.2 project-folder name. Returns the input unchang", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L349", - "id": "exlab_wizard_paths_rationale_349", - "community": 256, - "norm_label": "validate ``value`` as a \u00a73.2 project-folder name. returns the input unchang" - }, - { - "label": "Compose the absolute on-disk path for a new run. Paths follow Backend Spec", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L368", - "id": "exlab_wizard_paths_rationale_368", - "community": 176, - "norm_label": "compose the absolute on-disk path for a new run. paths follow backend spec" - }, - { - "label": "Compose the project-level directory. ``////`` or ``TestRun_``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L684", - "id": "exlab_wizard_paths_rationale_684", - "community": 56, - "norm_label": "return ``run_`` or ``testrun_``." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_init_py", - "community": 536, - "norm_label": "__init__.py" - }, - { - "label": "ExLab-Wizard package root. Backend Spec \u00a74.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/__init__.py", - "source_location": "L1", - "id": "exlab_wizard_init_rationale_1", - "community": 536, - "norm_label": "exlab-wizard package root. backend spec \u00a74." - }, - { - "label": "errors.py", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L1", - "id": "src_exlab_wizard_errors_py", - "community": 15, - "norm_label": "errors.py" - }, - { - "label": "ExLabError", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L19", - "id": "exlab_wizard_errors_exlaberror", - "community": 15, - "norm_label": "exlaberror" - }, - { - "label": "Exception", - "file_type": "code", - "source_file": "", - "source_location": "", - "id": "exception", - "community": 104, - "norm_label": "exception" - }, - { - "label": "ConfigError", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L23", - "id": "exlab_wizard_errors_configerror", - "community": 10, - "norm_label": "configerror" - }, - { - "label": "ValidationError", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L27", - "id": "exlab_wizard_errors_validationerror", - "community": 10, - "norm_label": "validationerror" - }, - { - "label": "TemplateLoadError", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L31", - "id": "exlab_wizard_errors_templateloaderror", - "community": 15, - "norm_label": "templateloaderror" - }, - { - "label": "TemplateCoreFieldRedeclaredError", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L35", - "id": "exlab_wizard_errors_templatecorefieldredeclarederror", - "community": 15, - "norm_label": "templatecorefieldredeclarederror" - }, - { - "label": "PluginError", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L39", - "id": "exlab_wizard_errors_pluginerror", - "community": 15, - "norm_label": "pluginerror" - }, - { - "label": "PluginInputRequired", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L43", - "id": "exlab_wizard_errors_plugininputrequired", - "community": 15, - "norm_label": "plugininputrequired" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L46", - "id": "exlab_wizard_errors_plugininputrequired_init", - "community": 15, - "norm_label": ".__init__()" - }, - { - "label": "reason()", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L51", - "id": "exlab_wizard_errors_reason", - "community": 15, - "norm_label": "reason()" - }, - { - "label": "SchemaMajorMismatchError", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L55", - "id": "exlab_wizard_errors_schemamajormismatcherror", - "community": 15, - "norm_label": "schemamajormismatcherror" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L58", - "id": "exlab_wizard_errors_schemamajormismatcherror_init", - "community": 15, - "norm_label": ".__init__()" - }, - { - "label": "KeyringUnavailableError", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L64", - "id": "exlab_wizard_errors_keyringunavailableerror", - "community": 179, - "norm_label": "keyringunavailableerror" - }, - { - "label": "SetupIncompleteError", - "file_type": "code", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L68", - "id": "exlab_wizard_errors_setupincompleteerror", - "community": 15, - "norm_label": "setupincompleteerror" - }, - { - "label": "Top-level exception hierarchy. Backend Spec \u00a74.3 errors.py.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L1", - "id": "exlab_wizard_errors_rationale_1", - "community": 15, - "norm_label": "top-level exception hierarchy. backend spec \u00a74.3 errors.py." - }, - { - "label": "Base class for all ExLab-Wizard exceptions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L20", - "id": "exlab_wizard_errors_rationale_20", - "community": 15, - "norm_label": "base class for all exlab-wizard exceptions." - }, - { - "label": "Raised on config.yaml validation failures. Backend Spec \u00a79.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L24", - "id": "exlab_wizard_errors_rationale_24", - "community": 10, - "norm_label": "raised on config.yaml validation failures. backend spec \u00a79." - }, - { - "label": "Raised by the validator engine on creation-time gates. Backend Spec \u00a78.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L28", - "id": "exlab_wizard_errors_rationale_28", - "community": 10, - "norm_label": "raised by the validator engine on creation-time gates. backend spec \u00a78.1." - }, - { - "label": "Raised when a Copier template fails to load. Backend Spec \u00a75.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L32", - "id": "exlab_wizard_errors_rationale_32", - "community": 15, - "norm_label": "raised when a copier template fails to load. backend spec \u00a75." - }, - { - "label": "Raised when a template redeclares label / operator / objective. Backend Spec \u00a710", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L36", - "id": "exlab_wizard_errors_rationale_36", - "community": 15, - "norm_label": "raised when a template redeclares label / operator / objective. backend spec \u00a710" - }, - { - "label": "Raised by plugin workers to signal expected failure. Backend Spec \u00a76.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L40", - "id": "exlab_wizard_errors_rationale_40", - "community": 15, - "norm_label": "raised by plugin workers to signal expected failure. backend spec \u00a76." - }, - { - "label": "Raised by plugin workers to escalate for additional input. Backend Spec \u00a76.4.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L44", - "id": "exlab_wizard_errors_rationale_44", - "community": 15, - "norm_label": "raised by plugin workers to escalate for additional input. backend spec \u00a76.4." - }, - { - "label": "Raised when a cache file's schema major version exceeds reader support. Backend", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L56", - "id": "exlab_wizard_errors_rationale_56", - "community": 15, - "norm_label": "raised when a cache file's schema major version exceeds reader support. backend" - }, - { - "label": "Raised when no OS keyring backend is reachable and fallback is exhausted. Backen", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L65", - "id": "exlab_wizard_errors_rationale_65", - "community": 179, - "norm_label": "raised when no os keyring backend is reachable and fallback is exhausted. backen" - }, - { - "label": "Raised when a creation gate runs while setup state is INCOMPLETE_*. Backend Spec", - "file_type": "rationale", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L69", - "id": "exlab_wizard_errors_rationale_69", - "community": 15, - "norm_label": "raised when a creation gate runs while setup state is incomplete_*. backend spec" - }, - { - "label": "__main__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/__main__.py", - "source_location": "L1", - "id": "src_exlab_wizard_main_py", - "community": 490, - "norm_label": "__main__.py" - }, - { - "label": "main()", - "file_type": "code", - "source_file": "src/exlab_wizard/__main__.py", - "source_location": "L6", - "id": "exlab_wizard_main_main", - "community": 490, - "norm_label": "main()" - }, - { - "label": "CLI alias entry point. Backend Spec \u00a74.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/__main__.py", - "source_location": "L1", - "id": "exlab_wizard_main_rationale_1", - "community": 490, - "norm_label": "cli alias entry point. backend spec \u00a74.3." - }, - { - "label": "theme.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_theme_py", - "community": 39, - "norm_label": "theme.py" - }, - { - "label": "build_root_css()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L25", - "id": "ui_theme_build_root_css", - "community": 39, - "norm_label": "build_root_css()" - }, - { - "label": "register_theme()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L128", - "id": "ui_theme_register_theme", - "community": 39, - "norm_label": "register_theme()" - }, - { - "label": "resolve_assets_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L157", - "id": "ui_theme_resolve_assets_dir", - "community": 39, - "norm_label": "resolve_assets_dir()" - }, - { - "label": "register_static_assets()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L172", - "id": "ui_theme_register_static_assets", - "community": 39, - "norm_label": "register_static_assets()" - }, - { - "label": "Theme registration for NiceGUI / Quasar. Per Frontend Spec \u00a72.1.1, this module", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L1", - "id": "ui_theme_rationale_1", - "community": 39, - "norm_label": "theme registration for nicegui / quasar. per frontend spec \u00a72.1.1, this module" - }, - { - "label": "Render the canonical ``:root { ... }`` CSS block from design tokens. The st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L26", - "id": "ui_theme_rationale_26", - "community": 39, - "norm_label": "render the canonical ``:root { ... }`` css block from design tokens. the st" - }, - { - "label": "Register the design tokens with NiceGUI / Quasar at app start. Imports Nice", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L129", - "id": "ui_theme_rationale_129", - "community": 39, - "norm_label": "register the design tokens with nicegui / quasar at app start. imports nice" - }, - { - "label": "Return the absolute path to the bundled ``assets/`` directory. Resolves bot", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L158", - "id": "ui_theme_rationale_158", - "community": 39, - "norm_label": "return the absolute path to the bundled ``assets/`` directory. resolves bot" - }, - { - "label": "Mount the project's ``assets/`` directory at ``/assets``. Idempotent: a mod", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L173", - "id": "ui_theme_rationale_173", - "community": 39, - "norm_label": "mount the project's ``assets/`` directory at ``/assets``. idempotent: a mod" - }, - { - "label": "equipment_form.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_equipment_form_py", - "community": 194, - "norm_label": "equipment_form.py" - }, - { - "label": "build_equipment_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L21", - "id": "ui_equipment_form_build_equipment_config", - "community": 194, - "norm_label": "build_equipment_config()" - }, - { - "label": "Shared assembler for an :class:`EquipmentConfig` from raw form fields. GUI/Orch", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L1", - "id": "ui_equipment_form_rationale_1", - "community": 194, - "norm_label": "shared assembler for an :class:`equipmentconfig` from raw form fields. gui/orch" - }, - { - "label": "Assemble a validated :class:`EquipmentConfig` from raw form fields. Redesig", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L29", - "id": "ui_equipment_form_rationale_29", - "community": 194, - "norm_label": "assemble a validated :class:`equipmentconfig` from raw form fields. redesig" - }, - { - "label": "design.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/design.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_design_py", - "community": 537, - "norm_label": "design.py" - }, - { - "label": "Design tokens. Mirrors DESIGN.md verbatim with the Frontend Spec \u00a72.1 typography", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/design.py", - "source_location": "L1", - "id": "ui_design_rationale_1", - "community": 537, - "norm_label": "design tokens. mirrors design.md verbatim with the frontend spec \u00a72.1 typography" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_init_py", - "community": 456, - "norm_label": "__init__.py" - }, - { - "label": "notifications.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_notifications_py", - "community": 90, - "norm_label": "notifications.py" - }, - { - "label": "Severity", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L35", - "id": "ui_notifications_severity", - "community": 90, - "norm_label": "severity" - }, - { - "label": "BannerId", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L44", - "id": "ui_notifications_bannerid", - "community": 90, - "norm_label": "bannerid" - }, - { - "label": "ContainerId", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L58", - "id": "ui_notifications_containerid", - "community": 90, - "norm_label": "containerid" - }, - { - "label": "ActionSpec", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L67", - "id": "ui_notifications_actionspec", - "community": 352, - "norm_label": "actionspec" - }, - { - "label": "_emit_toast()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L106", - "id": "ui_notifications_emit_toast", - "community": 90, - "norm_label": "_emit_toast()" - }, - { - "label": "notify_success()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L165", - "id": "ui_notifications_notify_success", - "community": 90, - "norm_label": "notify_success()" - }, - { - "label": "notify_info()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L179", - "id": "ui_notifications_notify_info", - "community": 90, - "norm_label": "notify_info()" - }, - { - "label": "notify_warning()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L190", - "id": "ui_notifications_notify_warning", - "community": 90, - "norm_label": "notify_warning()" - }, - { - "label": "notify_error()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L204", - "id": "ui_notifications_notify_error", - "community": 90, - "norm_label": "notify_error()" - }, - { - "label": "notify_field_error()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L223", - "id": "ui_notifications_notify_field_error", - "community": 90, - "norm_label": "notify_field_error()" - }, - { - "label": "notify_form_error()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L233", - "id": "ui_notifications_notify_form_error", - "community": 90, - "norm_label": "notify_form_error()" - }, - { - "label": "clear_field_error()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L243", - "id": "ui_notifications_clear_field_error", - "community": 90, - "norm_label": "clear_field_error()" - }, - { - "label": "clear_form_errors()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L249", - "id": "ui_notifications_clear_form_errors", - "community": 90, - "norm_label": "clear_form_errors()" - }, - { - "label": "get_field_error()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L255", - "id": "ui_notifications_get_field_error", - "community": 90, - "norm_label": "get_field_error()" - }, - { - "label": "get_form_error()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L261", - "id": "ui_notifications_get_form_error", - "community": 90, - "norm_label": "get_form_error()" - }, - { - "label": "show_banner()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L272", - "id": "ui_notifications_show_banner", - "community": 353, - "norm_label": "show_banner()" - }, - { - "label": "clear_banner()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L312", - "id": "ui_notifications_clear_banner", - "community": 90, - "norm_label": "clear_banner()" - }, - { - "label": "list_active_banners()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L318", - "id": "ui_notifications_list_active_banners", - "community": 398, - "norm_label": "list_active_banners()" - }, - { - "label": "banner_overflow_count()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L334", - "id": "ui_notifications_banner_overflow_count", - "community": 398, - "norm_label": "banner_overflow_count()" - }, - { - "label": "reset_for_tests()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L341", - "id": "ui_notifications_reset_for_tests", - "community": 353, - "norm_label": "reset_for_tests()" - }, - { - "label": "Canonical notification helpers (Frontend Spec \u00a72.2). This module is the **only*", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L1", - "id": "ui_notifications_rationale_1", - "community": 90, - "norm_label": "canonical notification helpers (frontend spec \u00a72.2). this module is the **only*" - }, - { - "label": "Banner severity (Frontend \u00a72.2.3).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L36", - "id": "ui_notifications_rationale_36", - "community": 90, - "norm_label": "banner severity (frontend \u00a72.2.3)." - }, - { - "label": "Closed-set banner triggers (Frontend \u00a72.2.3). Adding a new banner is a deli", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L45", - "id": "ui_notifications_rationale_45", - "community": 90, - "norm_label": "closed-set banner triggers (frontend \u00a72.2.3). adding a new banner is a deli" - }, - { - "label": "Banner placement scopes (Frontend \u00a72.2.3).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L59", - "id": "ui_notifications_rationale_59", - "community": 90, - "norm_label": "banner placement scopes (frontend \u00a72.2.3)." - }, - { - "label": "A single action affordance attached to a notification. At most one action p", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L68", - "id": "ui_notifications_rationale_68", - "community": 352, - "norm_label": "a single action affordance attached to a notification. at most one action p" - }, - { - "label": "Lower-level wrapper around ``ui.notify``. Calls into NiceGUI lazily to avoi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L113", - "id": "ui_notifications_rationale_113", - "community": 90, - "norm_label": "lower-level wrapper around ``ui.notify``. calls into nicegui lazily to avoi" - }, - { - "label": "Show a success toast (Frontend \u00a72.2.2). 4 s default duration; 12 s when an", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L166", - "id": "ui_notifications_rationale_166", - "community": 90, - "norm_label": "show a success toast (frontend \u00a72.2.2). 4 s default duration; 12 s when an" - }, - { - "label": "Show an info toast (Frontend \u00a72.2.2).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L180", - "id": "ui_notifications_rationale_180", - "community": 90, - "norm_label": "show an info toast (frontend \u00a72.2.2)." - }, - { - "label": "Show a warning toast (Frontend \u00a72.2.2). 8 s default duration; 12 s when an", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L191", - "id": "ui_notifications_rationale_191", - "community": 90, - "norm_label": "show a warning toast (frontend \u00a72.2.2). 8 s default duration; 12 s when an" - }, - { - "label": "Show an error toast (Frontend \u00a72.2.2). 8 s default duration; 12 s when an a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L205", - "id": "ui_notifications_rationale_205", - "community": 90, - "norm_label": "show an error toast (frontend \u00a72.2.2). 8 s default duration; 12 s when an a" - }, - { - "label": "Register a field-level inline error (Frontend \u00a72.2.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L224", - "id": "ui_notifications_rationale_224", - "community": 90, - "norm_label": "register a field-level inline error (frontend \u00a72.2.4)." - }, - { - "label": "Register a form-level inline error (Frontend \u00a72.2.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L234", - "id": "ui_notifications_rationale_234", - "community": 90, - "norm_label": "register a form-level inline error (frontend \u00a72.2.4)." - }, - { - "label": "Clear a previously registered field-level error.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L244", - "id": "ui_notifications_rationale_244", - "community": 90, - "norm_label": "clear a previously registered field-level error." - }, - { - "label": "Clear all form-level errors registered against ``form_id``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L250", - "id": "ui_notifications_rationale_250", - "community": 90, - "norm_label": "clear all form-level errors registered against ``form_id``." - }, - { - "label": "Return the registered field-level error for ``field_id`` or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L256", - "id": "ui_notifications_rationale_256", - "community": 90, - "norm_label": "return the registered field-level error for ``field_id`` or ``none``." - }, - { - "label": "Return the registered form-level error for ``form_id`` or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L262", - "id": "ui_notifications_rationale_262", - "community": 90, - "norm_label": "return the registered form-level error for ``form_id`` or ``none``." - }, - { - "label": "Activate a banner from the closed \u00a72.2.3 set. Raises: ValueError: w", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L281", - "id": "ui_notifications_rationale_281", - "community": 353, - "norm_label": "activate a banner from the closed \u00a72.2.3 set. raises: valueerror: w" - }, - { - "label": "Deactivate a banner if it was active.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L313", - "id": "ui_notifications_rationale_313", - "community": 90, - "norm_label": "deactivate a banner if it was active." - }, - { - "label": "Return active banners, optionally filtered by container. Banners are return", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L321", - "id": "ui_notifications_rationale_321", - "community": 398, - "norm_label": "return active banners, optionally filtered by container. banners are return" - }, - { - "label": "How many banners exceed the stacking cap of 2 (Frontend \u00a72.2.3).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L335", - "id": "ui_notifications_rationale_335", - "community": 398, - "norm_label": "how many banners exceed the stacking cap of 2 (frontend \u00a72.2.3)." - }, - { - "label": "Clear all module-level state. Test fixtures only.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L342", - "id": "ui_notifications_rationale_342", - "community": 353, - "norm_label": "clear all module-level state. test fixtures only." - }, - { - "label": "mount.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_mount_py", - "community": 77, - "norm_label": "mount.py" - }, - { - "label": "_spawn_background()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L61", - "id": "ui_mount_spawn_background", - "community": 55, - "norm_label": "_spawn_background()" - }, - { - "label": "mount_ui()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L69", - "id": "ui_mount_mount_ui", - "community": 39, - "norm_label": "mount_ui()" - }, - { - "label": "_register_pages()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L97", - "id": "ui_mount_register_pages", - "community": 39, - "norm_label": "_register_pages()" - }, - { - "label": "_lims_credential_handlers()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L469", - "id": "ui_mount_lims_credential_handlers", - "community": 77, - "norm_label": "_lims_credential_handlers()" - }, - { - "label": "_nas_test_connection()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L525", - "id": "ui_mount_nas_test_connection", - "community": 228, - "norm_label": "_nas_test_connection()" - }, - { - "label": "_persist_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L581", - "id": "ui_mount_persist_config", - "community": 77, - "norm_label": "_persist_config()" - }, - { - "label": "_ensure_staging_root()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L613", - "id": "ui_mount_ensure_staging_root", - "community": 77, - "norm_label": "_ensure_staging_root()" - }, - { - "label": "_apply_live_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L639", - "id": "ui_mount_apply_live_config", - "community": 77, - "norm_label": "_apply_live_config()" - }, - { - "label": "_nas_remote_missing()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L656", - "id": "ui_mount_nas_remote_missing", - "community": 82, - "norm_label": "_nas_remote_missing()" - }, - { - "label": "_is_setup_ready()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L680", - "id": "ui_mount_is_setup_ready", - "community": 52, - "norm_label": "_is_setup_ready()" - }, - { - "label": "_apply_autostart()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L712", - "id": "ui_mount_apply_autostart", - "community": 153, - "norm_label": "_apply_autostart()" - }, - { - "label": "_build_main_state()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L731", - "id": "ui_mount_build_main_state", - "community": 52, - "norm_label": "_build_main_state()" - }, - { - "label": "_panel_sessions()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L786", - "id": "ui_mount_panel_sessions", - "community": 204, - "norm_label": "_panel_sessions()" - }, - { - "label": "_operation_counts()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L803", - "id": "ui_mount_operation_counts", - "community": 204, - "norm_label": "_operation_counts()" - }, - { - "label": "_setup_next_action()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L820", - "id": "ui_mount_setup_next_action", - "community": 52, - "norm_label": "_setup_next_action()" - }, - { - "label": "_build_main_query()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L843", - "id": "ui_mount_build_main_query", - "community": 209, - "norm_label": "_build_main_query()" - }, - { - "label": "_classify_node()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L883", - "id": "ui_mount_classify_node", - "community": 209, - "norm_label": "_classify_node()" - }, - { - "label": "_build_metadata_payload()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L923", - "id": "ui_mount_build_metadata_payload", - "community": 151, - "norm_label": "_build_metadata_payload()" - }, - { - "label": "_metadata_for_owned_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L954", - "id": "ui_mount_metadata_for_owned_equipment", - "community": 151, - "norm_label": "_metadata_for_owned_equipment()" - }, - { - "label": "_metadata_for_relay_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L969", - "id": "ui_mount_metadata_for_relay_equipment", - "community": 151, - "norm_label": "_metadata_for_relay_equipment()" - }, - { - "label": "_metadata_for_project()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L983", - "id": "ui_mount_metadata_for_project", - "community": 210, - "norm_label": "_metadata_for_project()" - }, - { - "label": "_count_dir_children()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1017", - "id": "ui_mount_count_dir_children", - "community": 210, - "norm_label": "_count_dir_children()" - }, - { - "label": "_metadata_for_run()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1032", - "id": "ui_mount_metadata_for_run", - "community": 163, - "norm_label": "_metadata_for_run()" - }, - { - "label": "_build_selected_file()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1071", - "id": "ui_mount_build_selected_file", - "community": 163, - "norm_label": "_build_selected_file()" - }, - { - "label": "_build_selected_folder()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1120", - "id": "ui_mount_build_selected_folder", - "community": 163, - "norm_label": "_build_selected_folder()" - }, - { - "label": "_drive_folder_feed()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1165", - "id": "ui_mount_drive_folder_feed", - "community": 188, - "norm_label": "_drive_folder_feed()" - }, - { - "label": "_fetch_folder_async()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1226", - "id": "ui_mount_fetch_folder_async", - "community": 188, - "norm_label": "_fetch_folder_async()" - }, - { - "label": "_refresh_selected_folder()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1250", - "id": "ui_mount_refresh_selected_folder", - "community": 55, - "norm_label": "_refresh_selected_folder()" - }, - { - "label": "_run_staging_action()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1290", - "id": "ui_mount_run_staging_action", - "community": 55, - "norm_label": "_run_staging_action()" - }, - { - "label": "_file_context_action()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1348", - "id": "ui_mount_file_context_action", - "community": 161, - "norm_label": "_file_context_action()" - }, - { - "label": "_toggle_keep_local()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1388", - "id": "ui_mount_toggle_keep_local", - "community": 55, - "norm_label": "_toggle_keep_local()" - }, - { - "label": "_open_in_os()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1437", - "id": "ui_mount_open_in_os", - "community": 164, - "norm_label": "_open_in_os()" - }, - { - "label": "_build_operation_rows()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1465", - "id": "ui_mount_build_operation_rows", - "community": 28, - "norm_label": "_build_operation_rows()" - }, - { - "label": "_open_operations_modal()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1477", - "id": "ui_mount_open_operations_modal", - "community": 28, - "norm_label": "_open_operations_modal()" - }, - { - "label": "_open_operation_details()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1501", - "id": "ui_mount_open_operation_details", - "community": 164, - "norm_label": "_open_operation_details()" - }, - { - "label": "_resume_operation()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1535", - "id": "ui_mount_resume_operation", - "community": 28, - "norm_label": "_resume_operation()" - }, - { - "label": "_open_input_required_dialog()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1559", - "id": "ui_mount_open_input_required_dialog", - "community": 40, - "norm_label": "_open_input_required_dialog()" - }, - { - "label": "_cancel_operation()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1605", - "id": "ui_mount_cancel_operation", - "community": 28, - "norm_label": "_cancel_operation()" - }, - { - "label": "_cancel_session()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1614", - "id": "ui_mount_cancel_session", - "community": 28, - "norm_label": "_cancel_session()" - }, - { - "label": "_open_log_dialog()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1655", - "id": "ui_mount_open_log_dialog", - "community": 55, - "norm_label": "_open_log_dialog()" - }, - { - "label": "_missing_setup_sections()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1703", - "id": "ui_mount_missing_setup_sections", - "community": 82, - "norm_label": "_missing_setup_sections()" - }, - { - "label": "_templates_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1736", - "id": "ui_mount_templates_dir", - "community": 40, - "norm_label": "_templates_dir()" - }, - { - "label": "_template_names()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1744", - "id": "ui_mount_template_names", - "community": 40, - "norm_label": "_template_names()" - }, - { - "label": "_template_questions_map()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1761", - "id": "ui_mount_template_questions_map", - "community": 63, - "norm_label": "_template_questions_map()" - }, - { - "label": "_lims_catalogue_projects()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1794", - "id": "ui_mount_lims_catalogue_projects", - "community": 162, - "norm_label": "_lims_catalogue_projects()" - }, - { - "label": "_lims_projects()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1828", - "id": "ui_mount_lims_projects", - "community": 162, - "norm_label": "_lims_projects()" - }, - { - "label": "_equipment_ids()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1858", - "id": "ui_mount_equipment_ids", - "community": 63, - "norm_label": "_equipment_ids()" - }, - { - "label": "_await_session()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1866", - "id": "ui_mount_await_session", - "community": 63, - "norm_label": "_await_session()" - }, - { - "label": "_consume_session_progress()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1883", - "id": "ui_mount_consume_session_progress", - "community": 40, - "norm_label": "_consume_session_progress()" - }, - { - "label": "_close_dialog()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1928", - "id": "ui_mount_close_dialog", - "community": 40, - "norm_label": "_close_dialog()" - }, - { - "label": "_submit_project()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1936", - "id": "ui_mount_submit_project", - "community": 63, - "norm_label": "_submit_project()" - }, - { - "label": "_submit_run()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1969", - "id": "ui_mount_submit_run", - "community": 99, - "norm_label": "_submit_run()" - }, - { - "label": "_run_creation()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2002", - "id": "ui_mount_run_creation", - "community": 99, - "norm_label": "_run_creation()" - }, - { - "label": "_render_run_wizard()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2039", - "id": "ui_mount_render_run_wizard", - "community": 63, - "norm_label": "_render_run_wizard()" - }, - { - "label": "_safe_audit()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2053", - "id": "ui_mount_safe_audit", - "community": 99, - "norm_label": "_safe_audit()" - }, - { - "label": "_show_toast()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2065", - "id": "ui_mount_show_toast", - "community": 77, - "norm_label": "_show_toast()" - }, - { - "label": "NiceGUI mount helper. Backend Spec \u00a74.3, \u00a715.3.2. ``mount_ui`` is the single en", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1", - "id": "ui_mount_rationale_1", - "community": 77, - "norm_label": "nicegui mount helper. backend spec \u00a74.3, \u00a715.3.2. ``mount_ui`` is the single en" - }, - { - "label": "Schedule ``coro`` and keep a strong reference until it finishes.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L62", - "id": "ui_mount_rationale_62", - "community": 55, - "norm_label": "schedule ``coro`` and keep a strong reference until it finishes." - }, - { - "label": "Register every wizard page on ``app`` and mount NiceGUI at ``/``. ``storage", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L70", - "id": "ui_mount_rationale_70", - "community": 39, - "norm_label": "register every wizard page on ``app`` and mount nicegui at ``/``. ``storage" - }, - { - "label": "Define every ``@ui.page(...)`` handler. Called from :func:`mount_ui`.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L98", - "id": "ui_mount_rationale_98", - "community": 39, - "norm_label": "define every ``@ui.page(...)`` handler. called from :func:`mount_ui`." - }, - { - "label": "Build the LIMS-password Save / Clear handlers for the settings dialog. Cred", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L472", - "id": "ui_mount_rationale_472", - "community": 77, - "norm_label": "build the lims-password save / clear handlers for the settings dialog. cred" - }, - { - "label": "Run the rclone NAS-remote probe and adapt it for the inline panel. rclone.c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L526", - "id": "ui_mount_rationale_526", - "community": 228, - "norm_label": "run the rclone nas-remote probe and adapt it for the inline panel. rclone.c" - }, - { - "label": "Write ``updated`` via ``deps.save_config`` and hot-reload components. Retur", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L582", - "id": "ui_mount_rationale_582", - "community": 77, - "norm_label": "write ``updated`` via ``deps.save_config`` and hot-reload components. retur" - }, - { - "label": "Create the staging directory when the operator saved a non-empty path. ``st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L614", - "id": "ui_mount_rationale_614", - "community": 77, - "norm_label": "create the staging directory when the operator saved a non-empty path. ``st" - }, - { - "label": "Push ``updated`` into the running components (no tray relaunch). Wraps :fun", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L640", - "id": "ui_mount_rationale_640", - "community": 77, - "norm_label": "push ``updated`` into the running components (no tray relaunch). wraps :fun" - }, - { - "label": "True when nas-mode equipment exist but the ``nas:`` remote is unusable. rcl", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L657", - "id": "ui_mount_rationale_657", - "community": 82, - "norm_label": "true when nas-mode equipment exist but the ``nas:`` remote is unusable. rcl" - }, - { - "label": "Return True when the \u00a74.9 setup state is ``READY``. Delegates to :func:`api", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L681", - "id": "ui_mount_rationale_681", - "community": 52, - "norm_label": "return true when the \u00a74.9 setup state is ``ready``. delegates to :func:`api" - }, - { - "label": "Register / unregister platform autostart; return the real post-op state. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L713", - "id": "ui_mount_rationale_713", - "community": 153, - "norm_label": "register / unregister platform autostart; return the real post-op state. re" - }, - { - "label": "Return the (session_id, session) pairs the Operations panel shows. The \u00a79.5", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L787", - "id": "ui_mount_rationale_787", - "community": 204, - "norm_label": "return the (session_id, session) pairs the operations panel shows. the \u00a79.5" - }, - { - "label": "Return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L804", - "id": "ui_mount_rationale_804", - "community": 204, - "norm_label": "return ``(panel_count, input_required, active)`` operation counts. ``panel_" - }, - { - "label": "Return the \u00a74.9.3 next-action string for the banner subline. Unlike :func:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L821", - "id": "ui_mount_rationale_821", - "community": 52, - "norm_label": "return the \u00a74.9.3 next-action string for the banner subline. unlike :func:`" - }, - { - "label": "Compose the ``?selected=...&right_pane=...`` query string for /main. Omits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L851", - "id": "ui_mount_rationale_851", - "community": 209, - "norm_label": "compose the ``?selected=...&right_pane=...`` query string for /main. omits" - }, - { - "label": "Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L884", - "id": "ui_mount_rationale_884", - "community": 209, - "norm_label": "map a selected node id to ``(kind, is_received)``. mirrors the shape classi" - }, - { - "label": "Build the metadata-pane payload for the selected node, by kind. Returns ``{", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L928", - "id": "ui_mount_rationale_928", - "community": 151, - "norm_label": "build the metadata-pane payload for the selected node, by kind. returns ``{" - }, - { - "label": "Project equipment-config fields into the owned-equipment payload.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L955", - "id": "ui_mount_rationale_955", - "community": 151, - "norm_label": "project equipment-config fields into the owned-equipment payload." - }, - { - "label": "Return the relay-equipment payload (label, source_host).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L970", - "id": "ui_mount_rationale_970", - "community": 151, - "norm_label": "return the relay-equipment payload (label, source_host)." - }, - { - "label": "Derive a project payload from the on-disk project directory. ``node_id`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L984", - "id": "ui_mount_rationale_984", - "community": 210, - "norm_label": "derive a project payload from the on-disk project directory. ``node_id`` is" - }, - { - "label": "Count immediate child directories of ``parent`` whose names start with ``pre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1018", - "id": "ui_mount_rationale_1018", - "community": 210, - "norm_label": "count immediate child directories of ``parent`` whose names start with ``pre" - }, - { - "label": "Decode the run's creation.json into the metadata-pane payload. Returns ``{}", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1033", - "id": "ui_mount_rationale_1033", - "community": 163, - "norm_label": "decode the run's creation.json into the metadata-pane payload. returns ``{}" - }, - { - "label": "Resolve a centre-list selection (file or folder) to a render payload. Phase", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1076", - "id": "ui_mount_rationale_1076", - "community": 163, - "norm_label": "resolve a centre-list selection (file or folder) to a render payload. phase" - }, - { - "label": "Aggregate a one-level folder scan into a folder-card payload (OQ-4/B). Phas", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1125", - "id": "ui_mount_rationale_1125", - "community": 163, - "norm_label": "aggregate a one-level folder scan into a folder-card payload (oq-4/b). phas" - }, - { - "label": "Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1166", - "id": "ui_mount_rationale_1166", - "community": 188, - "norm_label": "mount / rebind the per-tab folderfeed and return current entries. uses ``ap" - }, - { - "label": "FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1227", - "id": "ui_mount_rationale_1227", - "community": 188, - "norm_label": "folderfeed fetch hook. skips when the tree just walked. runs the synchronou" - }, - { - "label": "Force a fresh single-folder scan and prime the feed payload (OQ-1/A). The F", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1251", - "id": "ui_mount_rationale_1251", - "community": 55, - "norm_label": "force a fresh single-folder scan and prime the feed payload (oq-1/a). the f" - }, - { - "label": "Dispatch a per-run context action to its backend surface. Mirrors :func:`ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1291", - "id": "ui_mount_rationale_1291", - "community": 55, - "norm_label": "dispatch a per-run context action to its backend surface. mirrors :func:`ap" - }, - { - "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1356", - "id": "ui_mount_rationale_1356", - "community": 161, - "norm_label": "handle ``open in os`` / ``copy path`` / ``keep local`` file actions." - }, - { - "label": "Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1395", - "id": "ui_mount_rationale_1395", - "community": 55, - "norm_label": "flip a file's ``keep_local`` flag via the orchestrator's writer. operator-f" - }, - { - "label": "Launch the host OS's default opener for ``path``. Returns False on platform", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1438", - "id": "ui_mount_rationale_1438", - "community": 164, - "norm_label": "launch the host os's default opener for ``path``. returns false on platform" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1466", - "id": "ui_mount_rationale_1466", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the" - }, - { - "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1478", - "id": "ui_mount_rationale_1478", - "community": 28, - "norm_label": "open the in-flight operations panel (frontend \u00a79.5). builds a fresh snapsho" - }, - { - "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1502", - "id": "ui_mount_rationale_1502", - "community": 164, - "norm_label": "show a lightweight details/\"log\" dialog for one in-flight operation. the \u00a79" - }, - { - "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1536", - "id": "ui_mount_rationale_1536", - "community": 28, - "norm_label": "resume a suspended session by re-opening its \u00a79.1 input dialog (t5). reads" - }, - { - "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1568", - "id": "ui_mount_rationale_1568", - "community": 40, - "norm_label": "open the \u00a79.1 escalation dialog; submit resumes, cancel confirms (t5). subm" - }, - { - "label": "Resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1606", - "id": "ui_mount_rationale_1606", - "community": 28, - "norm_label": "resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog." - }, - { - "label": "Cancel an in-flight session via the \u00a79.4 Discard / Keep dialog (T4). The op", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1615", - "id": "ui_mount_rationale_1615", - "community": 28, - "norm_label": "cancel an in-flight session via the \u00a79.4 discard / keep dialog (t4). the op" - }, - { - "label": "Open a NiceGUI dialog showing the run's sync-queue job state. The operator-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1656", - "id": "ui_mount_rationale_1656", - "community": 55, - "norm_label": "open a nicegui dialog showing the run's sync-queue job state. the operator-" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1704", - "id": "ui_mount_rationale_1704", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a" - }, - { - "label": "Return the configured templates directory, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1737", - "id": "ui_mount_rationale_1737", - "community": 40, - "norm_label": "return the configured templates directory, or ``none``." - }, - { - "label": "List template directory names of ``template_type`` under templates_dir.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1745", - "id": "ui_mount_rationale_1745", - "community": 40, - "norm_label": "list template directory names of ``template_type`` under templates_dir." - }, - { - "label": "Map each ``template_type`` template name to its parsed copier questions. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1762", - "id": "ui_mount_rationale_1762", - "community": 63, - "norm_label": "map each ``template_type`` template name to its parsed copier questions. re" - }, - { - "label": "Read the offline-catalogue projects (disconnected-workstation source). Read", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1795", - "id": "ui_mount_rationale_1795", - "community": 162, - "norm_label": "read the offline-catalogue projects (disconnected-workstation source). read" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1829", - "id": "ui_mount_rationale_1829", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv" - }, - { - "label": "Return the configured equipment IDs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1859", - "id": "ui_mount_rationale_1859", - "community": 40, - "norm_label": "return the configured equipment ids." - }, - { - "label": "Await a controller session's pipeline task and return the final handle. ``c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1867", - "id": "ui_mount_rationale_1867", - "community": 63, - "norm_label": "await a controller session's pipeline task and return the final handle. ``c" - }, - { - "label": "Fold the controller's WS frames into the wizard's live phase bar (T2) and su", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1886", - "id": "ui_mount_rationale_1886", - "community": 40, - "norm_label": "fold the controller's ws frames into the wizard's live phase bar (t2) and su" - }, - { - "label": "Best-effort close of a NiceGUI dialog (no-op when ``None`` / test mode).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1929", - "id": "ui_mount_rationale_1929", - "community": 40, - "norm_label": "best-effort close of a nicegui dialog (no-op when ``none`` / test mode)." - }, - { - "label": "Build a ProjectCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1937", - "id": "ui_mount_rationale_1937", - "community": 63, - "norm_label": "build a projectcreaterequest from the wizard state and run it." - }, - { - "label": "Build a RunCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1970", - "id": "ui_mount_rationale_1970", - "community": 99, - "norm_label": "build a runcreaterequest from the wizard state and run it." - }, - { - "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2011", - "id": "ui_mount_rationale_2011", - "community": 99, - "norm_label": "drive a create_* call to completion and toast the outcome. when ``wizard_st" - }, - { - "label": "Run the validator audit, swallowing failures to a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2054", - "id": "ui_mount_rationale_2054", - "community": 99, - "norm_label": "run the validator audit, swallowing failures to a warn log." - }, - { - "label": "keyboard.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_keyboard_py", - "community": 240, - "norm_label": "keyboard.py" - }, - { - "label": "Shortcut", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L24", - "id": "ui_keyboard_shortcut", - "community": 240, - "norm_label": "shortcut" - }, - { - "label": "KeyCombo", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L39", - "id": "ui_keyboard_keycombo", - "community": 165, - "norm_label": "keycombo" - }, - { - "label": ".matches()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L48", - "id": "ui_keyboard_keycombo_matches", - "community": 240, - "norm_label": ".matches()" - }, - { - "label": "ShortcutBinding", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L61", - "id": "ui_keyboard_shortcutbinding", - "community": 240, - "norm_label": "shortcutbinding" - }, - { - "label": "ShortcutRegistry", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L130", - "id": "ui_keyboard_shortcutregistry", - "community": 257, - "norm_label": "shortcutregistry" - }, - { - "label": ".register()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L140", - "id": "ui_keyboard_shortcutregistry_register", - "community": 257, - "norm_label": ".register()" - }, - { - "label": ".dispatch()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L154", - "id": "ui_keyboard_shortcutregistry_dispatch", - "community": 257, - "norm_label": ".dispatch()" - }, - { - "label": "list_bindings()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L175", - "id": "ui_keyboard_list_bindings", - "community": 356, - "norm_label": "list_bindings()" - }, - { - "label": "get_binding()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L181", - "id": "ui_keyboard_get_binding", - "community": 165, - "norm_label": "get_binding()" - }, - { - "label": "is_macos()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L194", - "id": "ui_keyboard_is_macos", - "community": 240, - "norm_label": "is_macos()" - }, - { - "label": "combo_for_current_os()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L200", - "id": "ui_keyboard_combo_for_current_os", - "community": 357, - "norm_label": "combo_for_current_os()" - }, - { - "label": "resolve()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L207", - "id": "ui_keyboard_resolve", - "community": 240, - "norm_label": "resolve()" - }, - { - "label": "bind_global_shortcuts()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L224", - "id": "ui_keyboard_bind_global_shortcuts", - "community": 240, - "norm_label": "bind_global_shortcuts()" - }, - { - "label": "Keyboard-shortcut registry (Frontend Spec \u00a73.7). The bindings are intentionally", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L1", - "id": "ui_keyboard_rationale_1", - "community": 240, - "norm_label": "keyboard-shortcut registry (frontend spec \u00a73.7). the bindings are intentionally" - }, - { - "label": "Identifiers for the app-level shortcut set (Frontend \u00a73.7).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L25", - "id": "ui_keyboard_rationale_25", - "community": 240, - "norm_label": "identifiers for the app-level shortcut set (frontend \u00a73.7)." - }, - { - "label": "A modifier-and-key combination.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L40", - "id": "ui_keyboard_rationale_40", - "community": 165, - "norm_label": "a modifier-and-key combination." - }, - { - "label": "Return True if a NiceGUI ``KeyEventArguments`` matches this combo.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L49", - "id": "ui_keyboard_rationale_49", - "community": 240, - "norm_label": "return true if a nicegui ``keyeventarguments`` matches this combo." - }, - { - "label": "One row in the \u00a73.7 shortcut table.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L62", - "id": "ui_keyboard_rationale_62", - "community": 240, - "norm_label": "one row in the \u00a73.7 shortcut table." - }, - { - "label": "A populated registry of shortcut handlers. Pages instantiate one registry,", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L131", - "id": "ui_keyboard_rationale_131", - "community": 257, - "norm_label": "a populated registry of shortcut handlers. pages instantiate one registry," - }, - { - "label": "Attach a handler. Only one handler per shortcut. Raises: Va", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L141", - "id": "ui_keyboard_rationale_141", - "community": 257, - "norm_label": "attach a handler. only one handler per shortcut. raises: va" - }, - { - "label": "Invoke the handler for ``shortcut`` if registered. Returns ``True`` if", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L155", - "id": "ui_keyboard_rationale_155", - "community": 257, - "norm_label": "invoke the handler for ``shortcut`` if registered. returns ``true`` if" - }, - { - "label": "Return the canonical bindings table (Frontend \u00a73.7).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L176", - "id": "ui_keyboard_rationale_176", - "community": 356, - "norm_label": "return the canonical bindings table (frontend \u00a73.7)." - }, - { - "label": "Return the :class:`ShortcutBinding` for the given shortcut id. Raises:", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L182", - "id": "ui_keyboard_rationale_182", - "community": 165, - "norm_label": "return the :class:`shortcutbinding` for the given shortcut id. raises:" - }, - { - "label": "Return ``True`` when running on macOS (used for combo selection).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L195", - "id": "ui_keyboard_rationale_195", - "community": 240, - "norm_label": "return ``true`` when running on macos (used for combo selection)." - }, - { - "label": "Resolve the :class:`KeyCombo` for the current OS.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L201", - "id": "ui_keyboard_rationale_201", - "community": 357, - "norm_label": "resolve the :class:`keycombo` for the current os." - }, - { - "label": "Find the shortcut id matching the given key event, if any.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L215", - "id": "ui_keyboard_rationale_215", - "community": 240, - "norm_label": "find the shortcut id matching the given key event, if any." - }, - { - "label": "Install a NiceGUI keyboard listener for the registry. NiceGUI is imported l", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L225", - "id": "ui_keyboard_rationale_225", - "community": 240, - "norm_label": "install a nicegui keyboard listener for the registry. nicegui is imported l" - }, - { - "label": "file_list.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_components_file_list_py", - "community": 202, - "norm_label": "file_list.py" - }, - { - "label": "FileListEntry", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L39", - "id": "components_file_list_filelistentry", - "community": 0, - "norm_label": "filelistentry" - }, - { - "label": "FileListState", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L59", - "id": "components_file_list_fileliststate", - "community": 147, - "norm_label": "fileliststate" - }, - { - "label": "FileListDiff", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L72", - "id": "components_file_list_filelistdiff", - "community": 201, - "norm_label": "filelistdiff" - }, - { - "label": "diff_file_lists()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L80", - "id": "components_file_list_diff_file_lists", - "community": 201, - "norm_label": "diff_file_lists()" - }, - { - "label": "row_background()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L116", - "id": "components_file_list_row_background", - "community": 139, - "norm_label": "row_background()" - }, - { - "label": "render_file_list()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L173", - "id": "components_file_list_render_file_list", - "community": 202, - "norm_label": "render_file_list()" - }, - { - "label": "_render_header()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L223", - "id": "components_file_list_render_header", - "community": 202, - "norm_label": "_render_header()" - }, - { - "label": "_render_row()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L248", - "id": "components_file_list_render_row", - "community": 202, - "norm_label": "_render_row()" - }, - { - "label": "Live file-list component for the rebuilt main window. GUI/Orchestrator Redesign", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L1", - "id": "components_file_list_rationale_1", - "community": 202, - "norm_label": "live file-list component for the rebuilt main window. gui/orchestrator redesign" - }, - { - "label": "One row in the centre-pane file list. ``keep_local`` mirrors the file's ``s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L40", - "id": "components_file_list_rationale_40", - "community": 0, - "norm_label": "one row in the centre-pane file list. ``keep_local`` mirrors the file's ``s" - }, - { - "label": "Mutable state for the file list, consumed by the renderer.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L60", - "id": "components_file_list_rationale_60", - "community": 147, - "norm_label": "mutable state for the file list, consumed by the renderer." - }, - { - "label": "Result of comparing two successive folder-list snapshots.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L73", - "id": "components_file_list_rationale_73", - "community": 201, - "norm_label": "result of comparing two successive folder-list snapshots." - }, - { - "label": "Return additions / removals / modifications between two snapshots. Pure fun", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L84", - "id": "components_file_list_rationale_84", - "community": 201, - "norm_label": "return additions / removals / modifications between two snapshots. pure fun" - }, - { - "label": "Return the CSS background + decoration fragment for one file-list row. Pure", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L123", - "id": "components_file_list_rationale_123", - "community": 139, - "norm_label": "return the css background + decoration fragment for one file-list row. pure" - }, - { - "label": "Render the centre-pane file list. Pure render function. Double-clicking a f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L180", - "id": "components_file_list_rationale_180", - "community": 202, - "norm_label": "render the centre-pane file list. pure render function. double-clicking a f" - }, - { - "label": "Render the file-list column header row (Name / Size / Modified / Status).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L224", - "id": "components_file_list_rationale_224", - "community": 202, - "norm_label": "render the file-list column header row (name / size / modified / status)." - }, - { - "label": "test_connection_panel.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_components_test_connection_panel_py", - "community": 228, - "norm_label": "test_connection_panel.py" - }, - { - "label": "TestConnectionResult", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L29", - "id": "components_test_connection_panel_testconnectionresult", - "community": 228, - "norm_label": "testconnectionresult" - }, - { - "label": "panel_props()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L38", - "id": "components_test_connection_panel_panel_props", - "community": 228, - "norm_label": "panel_props()" - }, - { - "label": "test_connection_panel()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L69", - "id": "components_test_connection_panel_test_connection_panel", - "community": 228, - "norm_label": "test_connection_panel()" - }, - { - "label": "Test-connection result panel (Frontend Spec \u00a77.4.2). A persistent inline panel", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L1", - "id": "components_test_connection_panel_rationale_1", - "community": 228, - "norm_label": "test-connection result panel (frontend spec \u00a77.4.2). a persistent inline panel" - }, - { - "label": "One result rendered in the panel.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L30", - "id": "components_test_connection_panel_rationale_30", - "community": 228, - "norm_label": "one result rendered in the panel." - }, - { - "label": "Compute the rendered props for the panel. Returns a dict suitable for asser", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L39", - "id": "components_test_connection_panel_rationale_39", - "community": 228, - "norm_label": "compute the rendered props for the panel. returns a dict suitable for asser" - }, - { - "label": "Build the inline result panel. Returns a NiceGUI element, or the props dict", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L74", - "id": "components_test_connection_panel_rationale_74", - "community": 228, - "norm_label": "build the inline result panel. returns a nicegui element, or the props dict" - }, - { - "label": "override_badge.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_components_override_badge_py", - "community": 358, - "norm_label": "override_badge.py" - }, - { - "label": "override_badge_props()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L20", - "id": "components_override_badge_override_badge_props", - "community": 358, - "norm_label": "override_badge_props()" - }, - { - "label": "override_badge()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L38", - "id": "components_override_badge_override_badge", - "community": 358, - "norm_label": "override_badge()" - }, - { - "label": "Override pill (Frontend Spec \u00a73.6.1, \u00a711). A pill that appears next to a run's", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L1", - "id": "components_override_badge_rationale_1", - "community": 358, - "norm_label": "override pill (frontend spec \u00a73.6.1, \u00a711). a pill that appears next to a run's" - }, - { - "label": "Compute styling props for the override pill.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L21", - "id": "components_override_badge_rationale_21", - "community": 358, - "norm_label": "compute styling props for the override pill." - }, - { - "label": "Build a clickable badge for the override state. Clicking opens the \u00a711.5 ov", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L39", - "id": "components_override_badge_rationale_39", - "community": 358, - "norm_label": "build a clickable badge for the override state. clicking opens the \u00a711.5 ov" - }, - { - "label": "tree.py", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L1", - "id": "src_exlab_wizard_ui_components_tree_py", - "community": 79, - "norm_label": "tree.py" - }, - { - "label": "TreeFilters", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L71", - "id": "components_tree_treefilters", - "community": 79, - "norm_label": "treefilters" - }, - { - "label": "EquipmentNode", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L81", - "id": "components_tree_equipmentnode", - "community": 79, - "norm_label": "equipmentnode" - }, - { - "label": "ProjectNode", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L90", - "id": "components_tree_projectnode", - "community": 79, - "norm_label": "projectnode" - }, - { - "label": "RunNode", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L97", - "id": "components_tree_runnode", - "community": 79, - "norm_label": "runnode" - }, - { - "label": "TreeNode", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L105", - "id": "components_tree_treenode", - "community": 79, - "norm_label": "treenode" - }, - { - "label": "_matches_search()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L117", - "id": "components_tree_matches_search", - "community": 79, - "norm_label": "_matches_search()" - }, - { - "label": "filter_project()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L125", - "id": "components_tree_filter_project", - "community": 79, - "norm_label": "filter_project()" - }, - { - "label": "filter_run()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L139", - "id": "components_tree_filter_run", - "community": 79, - "norm_label": "filter_run()" - }, - { - "label": "build_nodes()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L148", - "id": "components_tree_build_nodes", - "community": 79, - "norm_label": "build_nodes()" - }, - { - "label": "_sync_icon_url()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L235", - "id": "components_tree_sync_icon_url", - "community": 79, - "norm_label": "_sync_icon_url()" - }, - { - "label": "to_nicegui_nodes()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L251", - "id": "components_tree_to_nicegui_nodes", - "community": 79, - "norm_label": "to_nicegui_nodes()" - }, - { - "label": "_ctx_emit()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L305", - "id": "components_tree_ctx_emit", - "community": 79, - "norm_label": "_ctx_emit()" - }, - { - "label": "_tree_header_slot()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L320", - "id": "components_tree_tree_header_slot", - "community": 79, - "norm_label": "_tree_header_slot()" - }, - { - "label": "build_tree()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L372", - "id": "components_tree_build_tree", - "community": 79, - "norm_label": "build_tree()" - }, - { - "label": "Project / equipment tree (Frontend Spec \u00a73.5). Renders the ``//``; returns None on 404. ``uid_or_short_id``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L126", - "id": "lims_client_rationale_126", - "community": 98, - "norm_label": "``get /api/v1/projects/``; returns none on 404. ``uid_or_short_id``" - }, - { - "label": "``GET /api/v1/me``; returns the current operator's row.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L140", - "id": "lims_client_rationale_140", - "community": 98, - "norm_label": "``get /api/v1/me``; returns the current operator's row." - }, - { - "label": "Return a ``HealthStatus`` snapshot. Backend Spec \u00a77.2.3. Calls ``GET /a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L145", - "id": "lims_client_rationale_145", - "community": 98, - "norm_label": "return a ``healthstatus`` snapshot. backend spec \u00a77.2.3. calls ``get /a" - }, - { - "label": "Close the underlying ``httpx.AsyncClient``. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L168", - "id": "lims_client_rationale_168", - "community": 98, - "norm_label": "close the underlying ``httpx.asyncclient``. idempotent." - }, - { - "label": "Issue one request; on 401 retry once after a fresh ``login``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L181", - "id": "lims_client_rationale_181", - "community": 98, - "norm_label": "issue one request; on 401 retry once after a fresh ``login``." - }, - { - "label": "Decode one ``/projects`` row into LIMSProject. Adds a fresh UTC ``fetch", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L191", - "id": "lims_client_rationale_191", - "community": 627, - "norm_label": "decode one ``/projects`` row into limsproject. adds a fresh utc ``fetch" - }, - { - "label": "cache.py", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L1", - "id": "src_exlab_wizard_lims_cache_py", - "community": 254, - "norm_label": "cache.py" - }, - { - "label": "LIMSCache", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L102", - "id": "lims_cache_limscache", - "community": 128, - "norm_label": "limscache" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L110", - "id": "lims_cache_limscache_init", - "community": 128, - "norm_label": ".__init__()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L123", - "id": "lims_cache_limscache_close", - "community": 128, - "norm_label": ".close()" - }, - { - "label": ".upsert_many()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L129", - "id": "lims_cache_limscache_upsert_many", - "community": 254, - "norm_label": ".upsert_many()" - }, - { - "label": ".list_projects()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L156", - "id": "lims_cache_limscache_list_projects", - "community": 254, - "norm_label": ".list_projects()" - }, - { - "label": ".get_project()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L171", - "id": "lims_cache_limscache_get_project", - "community": 254, - "norm_label": ".get_project()" - }, - { - "label": ".is_fresh()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L180", - "id": "lims_cache_limscache_is_fresh", - "community": 254, - "norm_label": ".is_fresh()" - }, - { - "label": "._require_conn()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L202", - "id": "lims_cache_limscache_require_conn", - "community": 254, - "norm_label": "._require_conn()" - }, - { - "label": "_row_to_project()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L209", - "id": "lims_cache_row_to_project", - "community": 254, - "norm_label": "_row_to_project()" - }, - { - "label": "aiosqlite-backed cache for LIMS project rows. Backend Spec \u00a77.2.4. The cache li", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L1", - "id": "lims_cache_rationale_1", - "community": 254, - "norm_label": "aiosqlite-backed cache for lims project rows. backend spec \u00a77.2.4. the cache li" - }, - { - "label": "SQLite TTL cache for LIMS project rows. Backend Spec \u00a77.2.4. The cache is a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L103", - "id": "lims_cache_rationale_103", - "community": 128, - "norm_label": "sqlite ttl cache for lims project rows. backend spec \u00a77.2.4. the cache is a" - }, - { - "label": "Create the table and index if absent. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L116", - "id": "lims_cache_rationale_116", - "community": 128, - "norm_label": "create the table and index if absent. idempotent." - }, - { - "label": "Close the underlying aiosqlite connection.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L124", - "id": "lims_cache_rationale_124", - "community": 128, - "norm_label": "close the underlying aiosqlite connection." - }, - { - "label": "Insert or update every row. ``last_refreshed`` is taken from each ``LIMS", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L130", - "id": "lims_cache_rationale_130", - "community": 254, - "norm_label": "insert or update every row. ``last_refreshed`` is taken from each ``lims" - }, - { - "label": "Return every cached project for ``endpoint``, optionally filtered by ``s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L159", - "id": "lims_cache_rationale_159", - "community": 254, - "norm_label": "return every cached project for ``endpoint``, optionally filtered by ``s" - }, - { - "label": "Return one project by uid or short_id, or None if absent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L172", - "id": "lims_cache_rationale_172", - "community": 254, - "norm_label": "return one project by uid or short_id, or none if absent." - }, - { - "label": "True iff the most recent ``last_refreshed`` is within ``ttl_hours`` of t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L181", - "id": "lims_cache_rationale_181", - "community": 254, - "norm_label": "true iff the most recent ``last_refreshed`` is within ``ttl_hours`` of t" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_lims_init_py", - "community": 471, - "norm_label": "__init__.py" - }, - { - "label": "schemas.py", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L1", - "id": "src_exlab_wizard_lims_schemas_py", - "community": 98, - "norm_label": "schemas.py" - }, - { - "label": "LIMSProject", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L36", - "id": "lims_schemas_limsproject", - "community": 137, - "norm_label": "limsproject" - }, - { - "label": "Struct", - "file_type": "code", - "source_file": "", - "source_location": "", - "id": "struct", - "community": 0, - "norm_label": "struct" - }, - { - "label": "LIMSUser", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L60", - "id": "lims_schemas_limsuser", - "community": 98, - "norm_label": "limsuser" - }, - { - "label": "HealthStatus", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L79", - "id": "lims_schemas_healthstatus", - "community": 98, - "norm_label": "healthstatus" - }, - { - "label": "msgspec.Struct types for the LIMS read-only client. Backend Spec \u00a77.2. These ty", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L1", - "id": "lims_schemas_rationale_1", - "community": 98, - "norm_label": "msgspec.struct types for the lims read-only client. backend spec \u00a77.2. these ty" - }, - { - "label": "One LIMS project row. Backend Spec \u00a77.2.3. The ``metadata`` field is a JSON", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L41", - "id": "lims_schemas_rationale_41", - "community": 137, - "norm_label": "one lims project row. backend spec \u00a77.2.3. the ``metadata`` field is a json" - }, - { - "label": "One LIMS user row. Backend Spec \u00a77.2.3. Mirrors the upstream ``safe_user``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L66", - "id": "lims_schemas_rationale_66", - "community": 98, - "norm_label": "one lims user row. backend spec \u00a77.2.3. mirrors the upstream ``safe_user``" - }, - { - "label": "Result of ``LIMSClient.health_check()``. Backend Spec \u00a77.2.3. ``ok`` is Tru", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L80", - "id": "lims_schemas_rationale_80", - "community": 98, - "norm_label": "result of ``limsclient.health_check()``. backend spec \u00a77.2.3. ``ok`` is tru" - }, - { - "label": "catalogue.py", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L1", - "id": "src_exlab_wizard_lims_catalogue_py", - "community": 137, - "norm_label": "catalogue.py" - }, - { - "label": "OfflineCatalogue", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L51", - "id": "lims_catalogue_offlinecatalogue", - "community": 137, - "norm_label": "offlinecatalogue" - }, - { - "label": "read_catalogue()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L72", - "id": "lims_catalogue_read_catalogue", - "community": 137, - "norm_label": "read_catalogue()" - }, - { - "label": "write_catalogue()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L135", - "id": "lims_catalogue_write_catalogue", - "community": 137, - "norm_label": "write_catalogue()" - }, - { - "label": "_project_to_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L155", - "id": "lims_catalogue_project_to_dict", - "community": 137, - "norm_label": "_project_to_dict()" - }, - { - "label": "Offline LIMS project catalogue read/write. Backend Spec \u00a77.2.9. A catalogue is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L1", - "id": "lims_catalogue_rationale_1", - "community": 137, - "norm_label": "offline lims project catalogue read/write. backend spec \u00a77.2.9. a catalogue is" - }, - { - "label": "Decoded offline catalogue. Backend Spec \u00a77.2.9.1. ``schema_version`` is pin", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L52", - "id": "lims_catalogue_rationale_52", - "community": 137, - "norm_label": "decoded offline catalogue. backend spec \u00a77.2.9.1. ``schema_version`` is pin" - }, - { - "label": "Read and validate the catalogue file. Returns ``None`` (and logs a WARN) wh", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L73", - "id": "lims_catalogue_rationale_73", - "community": 137, - "norm_label": "read and validate the catalogue file. returns ``none`` (and logs a warn) wh" - }, - { - "label": "Atomically write ``catalogue`` to ``path``. Backend Spec \u00a77.2.9.2. Protocol", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L136", - "id": "lims_catalogue_rationale_136", - "community": 137, - "norm_label": "atomically write ``catalogue`` to ``path``. backend spec \u00a77.2.9.2. protocol" - }, - { - "label": "Re-emit a LIMSProject as a serializable dict.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L156", - "id": "lims_catalogue_rationale_156", - "community": 137, - "norm_label": "re-emit a limsproject as a serializable dict." - }, - { - "label": "findings.py", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L1", - "id": "src_exlab_wizard_validator_findings_py", - "community": 10, - "norm_label": "findings.py" - }, - { - "label": "Finding", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L41", - "id": "validator_findings_finding", - "community": 10, - "norm_label": "finding" - }, - { - "label": ".to_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L90", - "id": "validator_findings_finding_to_dict", - "community": 10, - "norm_label": ".to_dict()" - }, - { - "label": "from_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L101", - "id": "validator_findings_from_dict", - "community": 10, - "norm_label": "from_dict()" - }, - { - "label": "Validator finding dataclass and serialization helpers. Backend Spec \u00a711.8 (find", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L1", - "id": "validator_findings_rationale_1", - "community": 10, - "norm_label": "validator finding dataclass and serialization helpers. backend spec \u00a711.8 (find" - }, - { - "label": "One validator finding. Backend Spec \u00a78.1, \u00a711.8. Frozen so findings can be", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L42", - "id": "validator_findings_rationale_42", - "community": 10, - "norm_label": "one validator finding. backend spec \u00a78.1, \u00a711.8. frozen so findings can be" - }, - { - "label": "Return the \u00a711.8 JSON shape for this finding. The dictionary is suitabl", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L91", - "id": "validator_findings_rationale_91", - "community": 10, - "norm_label": "return the \u00a711.8 json shape for this finding. the dictionary is suitabl" - }, - { - "label": "Reconstruct a :class:`Finding` from its \u00a711.8 JSON shape. The inverse o", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L102", - "id": "validator_findings_rationale_102", - "community": 628, - "norm_label": "reconstruct a :class:`finding` from its \u00a711.8 json shape. the inverse o" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_validator_init_py", - "community": 472, - "norm_label": "__init__.py" - }, - { - "label": "rules.py", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L1", - "id": "src_exlab_wizard_validator_rules_py", - "community": 236, - "norm_label": "rules.py" - }, - { - "label": "check_unresolved_placeholder()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L83", - "id": "validator_rules_check_unresolved_placeholder", - "community": 148, - "norm_label": "check_unresolved_placeholder()" - }, - { - "label": "_scan_for_placeholders()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L122", - "id": "validator_rules_scan_for_placeholders", - "community": 236, - "norm_label": "_scan_for_placeholders()" - }, - { - "label": "check_illegal_filesystem_character()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L185", - "id": "validator_rules_check_illegal_filesystem_character", - "community": 148, - "norm_label": "check_illegal_filesystem_character()" - }, - { - "label": "_scan_for_illegal_chars()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L210", - "id": "validator_rules_scan_for_illegal_chars", - "community": 236, - "norm_label": "_scan_for_illegal_chars()" - }, - { - "label": "check_reserved_filesystem_name()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L269", - "id": "validator_rules_check_reserved_filesystem_name", - "community": 236, - "norm_label": "check_reserved_filesystem_name()" - }, - { - "label": "check_unsafe_project_name()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L305", - "id": "validator_rules_check_unsafe_project_name", - "community": 236, - "norm_label": "check_unsafe_project_name()" - }, - { - "label": "check_mode_prefix_mismatch()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L339", - "id": "validator_rules_check_mode_prefix_mismatch", - "community": 252, - "norm_label": "check_mode_prefix_mismatch()" - }, - { - "label": "check_orphan()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L429", - "id": "validator_rules_check_orphan", - "community": 329, - "norm_label": "check_orphan()" - }, - { - "label": "check_missing_required_field()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L465", - "id": "validator_rules_check_missing_required_field", - "community": 276, - "norm_label": "check_missing_required_field()" - }, - { - "label": "_lookup_field_value()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L503", - "id": "validator_rules_lookup_field_value", - "community": 276, - "norm_label": "_lookup_field_value()" - }, - { - "label": "check_malformed_yaml_front_matter()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L520", - "id": "validator_rules_check_malformed_yaml_front_matter", - "community": 302, - "norm_label": "check_malformed_yaml_front_matter()" - }, - { - "label": "Validator rule functions. Backend Spec \u00a78.1. This module is a pure-function lib", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L1", - "id": "validator_rules_rationale_1", - "community": 236, - "norm_label": "validator rule functions. backend spec \u00a78.1. this module is a pure-function lib" - }, - { - "label": "\u00a78.1.1: detect angle-bracket and Jinja placeholder tokens. Hard-tier. Uses", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L89", - "id": "validator_rules_rationale_89", - "community": 148, - "norm_label": "\u00a78.1.1: detect angle-bracket and jinja placeholder tokens. hard-tier. uses" - }, - { - "label": "Return one finding per placeholder match in ``text``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L127", - "id": "validator_rules_rationale_127", - "community": 236, - "norm_label": "return one finding per placeholder match in ``text``." - }, - { - "label": "\u00a78.1.2: detect Windows-illegal characters in any segment / file name. Illeg", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L190", - "id": "validator_rules_rationale_190", - "community": 148, - "norm_label": "\u00a78.1.2: detect windows-illegal characters in any segment / file name. illeg" - }, - { - "label": "Return one finding per illegal character / trailing-rule violation in ``name``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L211", - "id": "validator_rules_rationale_211", - "community": 236, - "norm_label": "return one finding per illegal character / trailing-rule violation in ``name``." - }, - { - "label": "\u00a78.1.2: detect Windows reserved names (``CON``, ``PRN``, ``AUX``, ``NUL``, `", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L270", - "id": "validator_rules_rationale_270", - "community": 236, - "norm_label": "\u00a78.1.2: detect windows reserved names (``con``, ``prn``, ``aux``, ``nul``, `" - }, - { - "label": "\u00a73.2: flag a project directory whose name is not a safe path segment. The p", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L306", - "id": "validator_rules_rationale_306", - "community": 236, - "norm_label": "\u00a73.2: flag a project directory whose name is not a safe path segment. the p" - }, - { - "label": "\u00a78.1.3: detect three-way disagreement between ``run_kind``, leaf prefix, and", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L345", - "id": "validator_rules_rationale_345", - "community": 252, - "norm_label": "\u00a78.1.3: detect three-way disagreement between ``run_kind``, leaf prefix, and" - }, - { - "label": "\u00a78.1.4: detect missing ``creation.json`` at project / run level (NOT equipme", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L430", - "id": "validator_rules_rationale_430", - "community": 329, - "norm_label": "\u00a78.1.4: detect missing ``creation.json`` at project / run level (not equipme" - }, - { - "label": "\u00a78.1.5: detect required README fields that are absent or empty. Soft-tier.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L470", - "id": "validator_rules_rationale_470", - "community": 276, - "norm_label": "\u00a78.1.5: detect required readme fields that are absent or empty. soft-tier." - }, - { - "label": "Return the first non-missing value for ``field_id`` across layers. A missin", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L504", - "id": "validator_rules_rationale_504", - "community": 276, - "norm_label": "return the first non-missing value for ``field_id`` across layers. a missin" - }, - { - "label": "\u00a78.1: detect malformed YAML front matter at the head of a Markdown file.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L521", - "id": "validator_rules_rationale_521", - "community": 302, - "norm_label": "\u00a78.1: detect malformed yaml front matter at the head of a markdown file." - }, - { - "label": "engine.py", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1", - "id": "src_exlab_wizard_validator_engine_py", - "community": 195, - "norm_label": "engine.py" - }, - { - "label": "CreationValidationInput", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L114", - "id": "validator_engine_creationvalidationinput", - "community": 10, - "norm_label": "creationvalidationinput" - }, - { - "label": "_split_path_segments()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L162", - "id": "validator_engine_split_path_segments", - "community": 36, - "norm_label": "_split_path_segments()" - }, - { - "label": "AuditScopeEquipment", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L193", - "id": "validator_engine_auditscopeequipment", - "community": 195, - "norm_label": "auditscopeequipment" - }, - { - "label": "TypedDict", - "file_type": "code", - "source_file": "", - "source_location": "", - "id": "typeddict", - "community": 195, - "norm_label": "typeddict" - }, - { - "label": "AuditScopeProject", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L206", - "id": "validator_engine_auditscopeproject", - "community": 195, - "norm_label": "auditscopeproject" - }, - { - "label": "AuditScopeAll", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L217", - "id": "validator_engine_auditscopeall", - "community": 195, - "norm_label": "auditscopeall" - }, - { - "label": "Validator", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L236", - "id": "validator_engine_validator", - "community": 71, - "norm_label": "validator" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L251", - "id": "validator_engine_validator_init", - "community": 211, - "norm_label": ".__init__()" - }, - { - "label": "config()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L267", - "id": "validator_engine_config", - "community": 195, - "norm_label": "config()" - }, - { - "label": ".reconfigure()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L275", - "id": "validator_engine_validator_reconfigure", - "community": 211, - "norm_label": ".reconfigure()" - }, - { - "label": ".validate_creation()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L303", - "id": "validator_engine_validator_validate_creation", - "community": 195, - "norm_label": ".validate_creation()" - }, - { - "label": "_materialise()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L398", - "id": "validator_engine_materialise", - "community": 195, - "norm_label": "_materialise()" - }, - { - "label": "from_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L428", - "id": "validator_engine_from_config", - "community": 195, - "norm_label": "from_config()" - }, - { - "label": ".audit()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L451", - "id": "validator_engine_validator_audit", - "community": 71, - "norm_label": ".audit()" - }, - { - "label": ".query_problems()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L482", - "id": "validator_engine_validator_query_problems", - "community": 71, - "norm_label": ".query_problems()" - }, - { - "label": "._resolve_scope_roots()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L494", - "id": "validator_engine_validator_resolve_scope_roots", - "community": 71, - "norm_label": "._resolve_scope_roots()" - }, - { - "label": "._walk_root()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L513", - "id": "validator_engine_validator_walk_root", - "community": 71, - "norm_label": "._walk_root()" - }, - { - "label": "._walk_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L532", - "id": "validator_engine_validator_walk_dir", - "community": 71, - "norm_label": "._walk_dir()" - }, - { - "label": "._classify_level()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L602", - "id": "validator_engine_validator_classify_level", - "community": 71, - "norm_label": "._classify_level()" - }, - { - "label": "._compute_run_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L655", - "id": "validator_engine_validator_compute_run_path", - "community": 71, - "norm_label": "._compute_run_path()" - }, - { - "label": "._apply_directory_rules()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L697", - "id": "validator_engine_validator_apply_directory_rules", - "community": 71, - "norm_label": "._apply_directory_rules()" - }, - { - "label": "._extend_findings()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L787", - "id": "validator_engine_validator_extend_findings", - "community": 71, - "norm_label": "._extend_findings()" - }, - { - "label": "._apply_missing_required_field_rule()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L814", - "id": "validator_engine_validator_apply_missing_required_field_rule", - "community": 71, - "norm_label": "._apply_missing_required_field_rule()" - }, - { - "label": "._apply_directory_name_rules()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L862", - "id": "validator_engine_validator_apply_directory_name_rules", - "community": 71, - "norm_label": "._apply_directory_name_rules()" - }, - { - "label": "._apply_file_rules()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L905", - "id": "validator_engine_validator_apply_file_rules", - "community": 71, - "norm_label": "._apply_file_rules()" - }, - { - "label": "._content_scan_eligible()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L978", - "id": "validator_engine_validator_content_scan_eligible", - "community": 71, - "norm_label": "._content_scan_eligible()" - }, - { - "label": "._read_text_for_scan()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L996", - "id": "validator_engine_validator_read_text_for_scan", - "community": 71, - "norm_label": "._read_text_for_scan()" - }, - { - "label": "._read_creation_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1014", - "id": "validator_engine_validator_read_creation_for", - "community": 71, - "norm_label": "._read_creation_for()" - }, - { - "label": "_extract_overrides_and_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1041", - "id": "validator_engine_extract_overrides_and_sync", - "community": 71, - "norm_label": "_extract_overrides_and_sync()" - }, - { - "label": "_materialise_audit()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1061", - "id": "validator_engine_materialise_audit", - "community": 195, - "norm_label": "_materialise_audit()" - }, - { - "label": "_tier_rank()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1112", - "id": "validator_engine_tier_rank", - "community": 195, - "norm_label": "_tier_rank()" - }, - { - "label": "_finding_sort_key()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1126", - "id": "validator_engine_finding_sort_key", - "community": 195, - "norm_label": "_finding_sort_key()" - }, - { - "label": "_level_for_orphan()", - "file_type": "code", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1143", - "id": "validator_engine_level_for_orphan", - "community": 422, - "norm_label": "_level_for_orphan()" - }, - { - "label": "Validator engine. Backend Spec \u00a74.4.4, \u00a78.1, \u00a711.7, \u00a711.8. The engine is the si", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1", - "id": "validator_engine_rationale_1", - "community": 195, - "norm_label": "validator engine. backend spec \u00a74.4.4, \u00a78.1, \u00a711.7, \u00a711.8. the engine is the si" - }, - { - "label": "Input bundle for creation-time validation. Backend Spec \u00a78.1, \u00a711.8. All fi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L115", - "id": "validator_engine_rationale_115", - "community": 10, - "norm_label": "input bundle for creation-time validation. backend spec \u00a78.1, \u00a711.8. all fi" - }, - { - "label": "Split ``proposed_path`` into per-segment names. Accepts both POSIX and Wind", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L163", - "id": "validator_engine_rationale_163", - "community": 36, - "norm_label": "split ``proposed_path`` into per-segment names. accepts both posix and wind" - }, - { - "label": "Audit one equipment subtree. Spec \u00a711.8. The ``value`` is the equipment ID", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L194", - "id": "validator_engine_rationale_194", - "community": 195, - "norm_label": "audit one equipment subtree. spec \u00a711.8. the ``value`` is the equipment id" - }, - { - "label": "Audit one ``/`` subtree. Spec \u00a711.8. The ``value`` is a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L207", - "id": "validator_engine_rationale_207", - "community": 195, - "norm_label": "audit one ``/`` subtree. spec \u00a711.8. the ``value`` is a" - }, - { - "label": "Audit every configured equipment + staging when orchestrator on. Spec \u00a711.8", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L218", - "id": "validator_engine_rationale_218", - "community": 195, - "norm_label": "audit every configured equipment + staging when orchestrator on. spec \u00a711.8" - }, - { - "label": "Run \u00a78.1 rules in creation-time and audit modes. Backend Spec \u00a711.8. The co", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L237", - "id": "validator_engine_rationale_237", - "community": 71, - "norm_label": "run \u00a78.1 rules in creation-time and audit modes. backend spec \u00a711.8. the co" - }, - { - "label": "The :class:`ValidatorConfig` this engine instance was built with. Expos", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L268", - "id": "validator_engine_rationale_268", - "community": 629, - "norm_label": "the :class:`validatorconfig` this engine instance was built with. expos" - }, - { - "label": "Re-seed the config + audit-mode roots in place (no tray relaunch). Mirr", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L282", - "id": "validator_engine_rationale_282", - "community": 211, - "norm_label": "re-seed the config + audit-mode roots in place (no tray relaunch). mirr" - }, - { - "label": "Run every \u00a78.1 creation-time rule against ``params``. Returns a flat li", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L304", - "id": "validator_engine_rationale_304", - "community": 195, - "norm_label": "run every \u00a78.1 creation-time rule against ``params``. returns a flat li" - }, - { - "label": "Wrap a rule-helper dict in a :class:`Finding`. The \u00a78.1 rule helpers re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L399", - "id": "validator_engine_rationale_399", - "community": 630, - "norm_label": "wrap a rule-helper dict in a :class:`finding`. the \u00a78.1 rule helpers re" - }, - { - "label": "Build a :class:`Validator` from the full ``config.yaml`` model. Project", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L429", - "id": "validator_engine_rationale_429", - "community": 631, - "norm_label": "build a :class:`validator` from the full ``config.yaml`` model. project" - }, - { - "label": "Walk a directory subtree and return all findings. Backend Spec \u00a711.8. U", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L452", - "id": "validator_engine_rationale_452", - "community": 71, - "norm_label": "walk a directory subtree and return all findings. backend spec \u00a711.8. u" - }, - { - "label": "Public read-only alias for :meth:`audit`. Backend Spec \u00a711.8. Read-only", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L483", - "id": "validator_engine_rationale_483", - "community": 71, - "norm_label": "public read-only alias for :meth:`audit`. backend spec \u00a711.8. read-only" - }, - { - "label": "Map an :class:`AuditScope` onto the directory roots to walk.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L495", - "id": "validator_engine_rationale_495", - "community": 71, - "norm_label": "map an :class:`auditscope` onto the directory roots to walk." - }, - { - "label": "Walk a single subtree rooted at ``root`` (depth-first). Returns a flat", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L514", - "id": "validator_engine_rationale_514", - "community": 71, - "norm_label": "walk a single subtree rooted at ``root`` (depth-first). returns a flat" - }, - { - "label": "Recursive ``os.scandir`` walk; apply rules at every level. Per-director", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L539", - "id": "validator_engine_rationale_539", - "community": 71, - "norm_label": "recursive ``os.scandir`` walk; apply rules at every level. per-director" - }, - { - "label": "Classify a directory's role in an equipment subtree. Equipment root is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L607", - "id": "validator_engine_rationale_607", - "community": 71, - "norm_label": "classify a directory's role in an equipment subtree. equipment root is" - }, - { - "label": "Return the \u00a711.8 ``run_path`` for findings at ``directory``. Per spec,", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L661", - "id": "validator_engine_rationale_661", - "community": 71, - "norm_label": "return the \u00a711.8 ``run_path`` for findings at ``directory``. per spec," - }, - { - "label": "Apply rules whose scope is the run-level directory itself. Three rule f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L707", - "id": "validator_engine_rationale_707", - "community": 71, - "norm_label": "apply rules whose scope is the run-level directory itself. three rule f" - }, - { - "label": "Materialise raw rule output into :class:`Finding` instances. Reduces au", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L797", - "id": "validator_engine_rationale_797", - "community": 71, - "norm_label": "materialise raw rule output into :class:`finding` instances. reduces au" - }, - { - "label": "Read ``readme_fields.json`` and call ``check_missing_required_field``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L824", - "id": "validator_engine_rationale_824", - "community": 71, - "norm_label": "read ``readme_fields.json`` and call ``check_missing_required_field``." - }, - { - "label": "Apply name-level rules (placeholder + illegal char) to a directory. Res", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L871", - "id": "validator_engine_rationale_871", - "community": 71, - "norm_label": "apply name-level rules (placeholder + illegal char) to a directory. res" - }, - { - "label": "Apply file-name + file-content rules to a single file. Filename rules (", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L914", - "id": "validator_engine_rationale_914", - "community": 71, - "norm_label": "apply file-name + file-content rules to a single file. filename rules (" - }, - { - "label": "Return True iff the file passes the size + extension gates. Spec \u00a78.1.1", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L979", - "id": "validator_engine_rationale_979", - "community": 71, - "norm_label": "return true iff the file passes the size + extension gates. spec \u00a78.1.1" - }, - { - "label": "Read text bytes for placeholder scan, applying the binary sniff. Return", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L997", - "id": "validator_engine_rationale_997", - "community": 71, - "norm_label": "read text bytes for placeholder scan, applying the binary sniff. return" - }, - { - "label": "Read ``/.exlab-wizard/creation.json`` if present. Returns ``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1017", - "id": "validator_engine_rationale_1017", - "community": 71, - "norm_label": "read ``/.exlab-wizard/creation.json`` if present. returns ``" - }, - { - "label": "Return ``(active_problem_classes, sync_status)`` for a payload. ``activ", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1044", - "id": "validator_engine_rationale_1044", - "community": 632, - "norm_label": "return ``(active_problem_classes, sync_status)`` for a payload. ``activ" - }, - { - "label": "Audit-mode counterpart of :meth:`_materialise`. Computes ``override_act", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1069", - "id": "validator_engine_rationale_1069", - "community": 633, - "norm_label": "audit-mode counterpart of :meth:`_materialise`. computes ``override_act" - }, - { - "label": "Hard tier sorts before soft tier (\u00a711.8). Returns 0 for ``\"hard\"`` and 1 fo", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1113", - "id": "validator_engine_rationale_1113", - "community": 195, - "norm_label": "hard tier sorts before soft tier (\u00a711.8). returns 0 for ``\"hard\"`` and 1 fo" - }, - { - "label": "Sort key for the \u00a711.8 finding list ordering. Tuple: ``(tier_rank, rule, of", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1127", - "id": "validator_engine_rationale_1127", - "community": 195, - "norm_label": "sort key for the \u00a711.8 finding list ordering. tuple: ``(tier_rank, rule, of" - }, - { - "label": "Translate the engine-level enum into the rules.check_orphan input. The orph", - "file_type": "rationale", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1144", - "id": "validator_engine_rationale_1144", - "community": 422, - "norm_label": "translate the engine-level enum into the rules.check_orphan input. the orph" - }, - { - "label": "equipment.py", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L1", - "id": "src_exlab_wizard_cache_equipment_py", - "community": 231, - "norm_label": "equipment.py" - }, - { - "label": "EquipmentCacheWriter", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L63", - "id": "cache_equipment_equipmentcachewriter", - "community": 57, - "norm_label": "equipmentcachewriter" - }, - { - "label": ".write_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L73", - "id": "cache_equipment_equipmentcachewriter_write_equipment", - "community": 57, - "norm_label": ".write_equipment()" - }, - { - "label": ".read_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L91", - "id": "cache_equipment_equipmentcachewriter_read_equipment", - "community": 57, - "norm_label": ".read_equipment()" - }, - { - "label": ".write_test_runs_marker()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L106", - "id": "cache_equipment_equipmentcachewriter_write_test_runs_marker", - "community": 57, - "norm_label": ".write_test_runs_marker()" - }, - { - "label": "_write_equipment_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L127", - "id": "cache_equipment_write_equipment_sync", - "community": 231, - "norm_label": "_write_equipment_sync()" - }, - { - "label": "_read_equipment_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L151", - "id": "cache_equipment_read_equipment_sync", - "community": 231, - "norm_label": "_read_equipment_sync()" - }, - { - "label": ".read_test_runs_marker()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L154", - "id": "cache_equipment_equipmentcachewriter_read_test_runs_marker", - "community": 57, - "norm_label": ".read_test_runs_marker()" - }, - { - "label": "_read_test_runs_marker_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L163", - "id": "cache_equipment_read_test_runs_marker_sync", - "community": 231, - "norm_label": "_read_test_runs_marker_sync()" - }, - { - "label": "_write_test_runs_marker_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L167", - "id": "cache_equipment_write_test_runs_marker_sync", - "community": 231, - "norm_label": "_write_test_runs_marker_sync()" - }, - { - "label": "_read_existing_first_seen_at()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L183", - "id": "cache_equipment_read_existing_first_seen_at", - "community": 231, - "norm_label": "_read_existing_first_seen_at()" - }, - { - "label": "Writer for ``equipment.json`` (registry) and ``test_runs.json`` (marker). Backe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L1", - "id": "cache_equipment_rationale_1", - "community": 231, - "norm_label": "writer for ``equipment.json`` (registry) and ``test_runs.json`` (marker). backe" - }, - { - "label": "Writer for ``equipment.json`` and ``test_runs.json``. Instances are statele", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L64", - "id": "cache_equipment_rationale_64", - "community": 57, - "norm_label": "writer for ``equipment.json`` and ``test_runs.json``. instances are statele" - }, - { - "label": "Write or rewrite the per-equipment ``equipment.json`` file. Stamping ru", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L74", - "id": "cache_equipment_rationale_74", - "community": 57, - "norm_label": "write or rewrite the per-equipment ``equipment.json`` file. stamping ru" - }, - { - "label": "Read and decode an existing ``equipment.json`` file. Uses ``msgspec.jso", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L92", - "id": "cache_equipment_rationale_92", - "community": 57, - "norm_label": "read and decode an existing ``equipment.json`` file. uses ``msgspec.jso" - }, - { - "label": "Write the ``test_runs.json`` marker file. Idempotent per \u00a711.4.2: if th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L107", - "id": "cache_equipment_rationale_107", - "community": 57, - "norm_label": "write the ``test_runs.json`` marker file. idempotent per \u00a711.4.2: if th" - }, - { - "label": "Read and decode a ``test_runs.json`` marker file. Raises ``SchemaMajorM", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L155", - "id": "cache_equipment_rationale_155", - "community": 57, - "norm_label": "read and decode a ``test_runs.json`` marker file. raises ``schemamajorm" - }, - { - "label": "Return the on-disk ``first_seen_at`` if the file exists. Returns ``None`` w", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L184", - "id": "cache_equipment_rationale_184", - "community": 231, - "norm_label": "return the on-disk ``first_seen_at`` if the file exists. returns ``none`` w" - }, - { - "label": "sync_state_schema.py", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L1", - "id": "src_exlab_wizard_cache_sync_state_schema_py", - "community": 6, - "norm_label": "sync_state_schema.py" - }, - { - "label": "FileSyncRecord", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L19", - "id": "cache_sync_state_schema_filesyncrecord", - "community": 6, - "norm_label": "filesyncrecord" - }, - { - "label": "SyncStateJson", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L55", - "id": "cache_sync_state_schema_syncstatejson", - "community": 6, - "norm_label": "syncstatejson" - }, - { - "label": "``msgspec.Struct`` types for the per-run ``sync_state.json`` cache. Operator-fr", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L1", - "id": "cache_sync_state_schema_rationale_1", - "community": 6, - "norm_label": "``msgspec.struct`` types for the per-run ``sync_state.json`` cache. operator-fr" - }, - { - "label": "Per-file sync record stored under ``sync_state.json``'s ``files`` map. One", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L24", - "id": "cache_sync_state_schema_rationale_24", - "community": 6, - "norm_label": "per-file sync record stored under ``sync_state.json``'s ``files`` map. one" - }, - { - "label": "``sync_state.json`` per-run sync-state record at schema version 1.0. Writte", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L60", - "id": "cache_sync_state_schema_rationale_60", - "community": 6, - "norm_label": "``sync_state.json`` per-run sync-state record at schema version 1.0. writte" - }, - { - "label": "sync_state_writer.py", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L1", - "id": "src_exlab_wizard_cache_sync_state_writer_py", - "community": 6, - "norm_label": "sync_state_writer.py" - }, - { - "label": "_sync_state_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L52", - "id": "cache_sync_state_writer_sync_state_path", - "community": 6, - "norm_label": "_sync_state_path()" - }, - { - "label": "_ensure_cache_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L57", - "id": "cache_sync_state_writer_ensure_cache_dir", - "community": 6, - "norm_label": "_ensure_cache_dir()" - }, - { - "label": "_empty_state()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L69", - "id": "cache_sync_state_writer_empty_state", - "community": 6, - "norm_label": "_empty_state()" - }, - { - "label": "SyncStateWriter", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L74", - "id": "cache_sync_state_writer_syncstatewriter", - "community": 6, - "norm_label": "syncstatewriter" - }, - { - "label": ".read()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L82", - "id": "cache_sync_state_writer_syncstatewriter_read", - "community": 255, - "norm_label": ".read()" - }, - { - "label": ".read_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L92", - "id": "cache_sync_state_writer_syncstatewriter_read_sync", - "community": 6, - "norm_label": ".read_sync()" - }, - { - "label": ".upsert_file()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L108", - "id": "cache_sync_state_writer_syncstatewriter_upsert_file", - "community": 6, - "norm_label": ".upsert_file()" - }, - { - "label": ".set_keep_local()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L147", - "id": "cache_sync_state_writer_syncstatewriter_set_keep_local", - "community": 6, - "norm_label": ".set_keep_local()" - }, - { - "label": ".mark_cleared()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L161", - "id": "cache_sync_state_writer_syncstatewriter_mark_cleared", - "community": 6, - "norm_label": ".mark_cleared()" - }, - { - "label": ".mark_cleared_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L169", - "id": "cache_sync_state_writer_syncstatewriter_mark_cleared_sync", - "community": 6, - "norm_label": ".mark_cleared_sync()" - }, - { - "label": "rollup_state()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L180", - "id": "cache_sync_state_writer_rollup_state", - "community": 6, - "norm_label": "rollup_state()" - }, - { - "label": "._read_blocking()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L202", - "id": "cache_sync_state_writer_syncstatewriter_read_blocking", - "community": 6, - "norm_label": "._read_blocking()" - }, - { - "label": "_decode_locked()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L208", - "id": "cache_sync_state_writer_decode_locked", - "community": 6, - "norm_label": "_decode_locked()" - }, - { - "label": "._upsert_file_blocking()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L217", - "id": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", - "community": 6, - "norm_label": "._upsert_file_blocking()" - }, - { - "label": "._set_keep_local_blocking()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L256", - "id": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", - "community": 6, - "norm_label": "._set_keep_local_blocking()" - }, - { - "label": "._mark_cleared_blocking()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L278", - "id": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", - "community": 6, - "norm_label": "._mark_cleared_blocking()" - }, - { - "label": "_with_file()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L289", - "id": "cache_sync_state_writer_with_file", - "community": 6, - "norm_label": "_with_file()" - }, - { - "label": "Orchestrator-only writer for ``sync_state.json``. Operator-free per-file NAS sy", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L1", - "id": "cache_sync_state_writer_rationale_1", - "community": 6, - "norm_label": "orchestrator-only writer for ``sync_state.json``. operator-free per-file nas sy" - }, - { - "label": "Return the ``sync_state.json`` path under a run directory.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L53", - "id": "cache_sync_state_writer_rationale_53", - "community": 6, - "norm_label": "return the ``sync_state.json`` path under a run directory." - }, - { - "label": "Create ``path``'s parent (the run's ``.exlab-wizard/`` cache) dir. Neither", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L58", - "id": "cache_sync_state_writer_rationale_58", - "community": 6, - "norm_label": "create ``path``'s parent (the run's ``.exlab-wizard/`` cache) dir. neither" - }, - { - "label": "Return a fresh, file-less :class:`SyncStateJson` at the current version.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L70", - "id": "cache_sync_state_writer_rationale_70", - "community": 6, - "norm_label": "return a fresh, file-less :class:`syncstatejson` at the current version." - }, - { - "label": "Writer for ``sync_state.json``. Orchestrator-mode only. All public methods", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L75", - "id": "cache_sync_state_writer_rationale_75", - "community": 6, - "norm_label": "writer for ``sync_state.json``. orchestrator-mode only. all public methods" - }, - { - "label": "Read and decode the run's ``sync_state.json``. Returns a fresh empty :c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L83", - "id": "cache_sync_state_writer_rationale_83", - "community": 255, - "norm_label": "read and decode the run's ``sync_state.json``. returns a fresh empty :c" - }, - { - "label": "Blocking variant of :meth:`read` for synchronous callers. :meth:`read`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L93", - "id": "cache_sync_state_writer_rationale_93", - "community": 6, - "norm_label": "blocking variant of :meth:`read` for synchronous callers. :meth:`read`" - }, - { - "label": "Create or update one file record under an exclusive lock. The record fo", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L117", - "id": "cache_sync_state_writer_rationale_117", - "community": 6, - "norm_label": "create or update one file record under an exclusive lock. the record fo" - }, - { - "label": "Toggle a file's ``keep_local`` flag, creating the record if absent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L153", - "id": "cache_sync_state_writer_rationale_153", - "community": 6, - "norm_label": "toggle a file's ``keep_local`` flag, creating the record if absent." - }, - { - "label": "Stamp ``cleared_at`` with the current UTC time. Called once the run's s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L162", - "id": "cache_sync_state_writer_rationale_162", - "community": 6, - "norm_label": "stamp ``cleared_at`` with the current utc time. called once the run's s" - }, - { - "label": "Blocking variant of :meth:`mark_cleared` for synchronous callers. Used", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L170", - "id": "cache_sync_state_writer_rationale_170", - "community": 6, - "norm_label": "blocking variant of :meth:`mark_cleared` for synchronous callers. used" - }, - { - "label": "Derive the run-level :class:`RunSyncState` rollup from ``state``. Pure", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L181", - "id": "cache_sync_state_writer_rationale_181", - "community": 634, - "norm_label": "derive the run-level :class:`runsyncstate` rollup from ``state``. pure" - }, - { - "label": "Decode ``sync_state.json``, returning an empty state if absent. Caller", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L209", - "id": "cache_sync_state_writer_rationale_209", - "community": 635, - "norm_label": "decode ``sync_state.json``, returning an empty state if absent. caller" - }, - { - "label": "Return a copy of ``payload`` with ``files[rel_path]`` set to ``record``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L294", - "id": "cache_sync_state_writer_rationale_294", - "community": 636, - "norm_label": "return a copy of ``payload`` with ``files[rel_path]`` set to ``record``." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_cache_init_py", - "community": 6, - "norm_label": "__init__.py" - }, - { - "label": "lock_path_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/__init__.py", - "source_location": "L14", - "id": "cache_init_lock_path_for", - "community": 6, - "norm_label": "lock_path_for()" - }, - { - "label": "Return the advisory file-lock path string for ``path``. Centralizes the ``s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/__init__.py", - "source_location": "L15", - "id": "cache_init_rationale_15", - "community": 6, - "norm_label": "return the advisory file-lock path string for ``path``. centralizes the ``s" - }, - { - "label": "log_writer.py", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L1", - "id": "src_exlab_wizard_cache_log_writer_py", - "community": 34, - "norm_label": "log_writer.py" - }, - { - "label": "format_log_line()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L72", - "id": "cache_log_writer_format_log_line", - "community": 34, - "norm_label": "format_log_line()" - }, - { - "label": "_render_tags()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L115", - "id": "cache_log_writer_render_tags", - "community": 34, - "norm_label": "_render_tags()" - }, - { - "label": "_truncate_if_needed()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L143", - "id": "cache_log_writer_truncate_if_needed", - "community": 34, - "norm_label": "_truncate_if_needed()" - }, - { - "label": "append_log_line()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L182", - "id": "cache_log_writer_append_log_line", - "community": 34, - "norm_label": "append_log_line()" - }, - { - "label": "Append-only writer for ``wizard..log`` files. Backend Spec \u00a711.5, \u00a716.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L1", - "id": "cache_log_writer_rationale_1", - "community": 34, - "norm_label": "append-only writer for ``wizard..log`` files. backend spec \u00a711.5, \u00a716." - }, - { - "label": "Render a structured log line per Backend Spec \u00a711.5 / \u00a716.4. Tags are omitt", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L83", - "id": "cache_log_writer_rationale_83", - "community": 34, - "norm_label": "render a structured log line per backend spec \u00a711.5 / \u00a716.4. tags are omitt" - }, - { - "label": "Render the supplied context as ``[host:..] [equip:..] ...``. Returns the em", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L123", - "id": "cache_log_writer_rationale_123", - "community": 34, - "norm_label": "render the supplied context as ``[host:..] [equip:..] ...``. returns the em" - }, - { - "label": "Trim ``line`` so its UTF-8 byte length is at most ``LOG_LINE_MAX_BYTES``. T", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L144", - "id": "cache_log_writer_rationale_144", - "community": 34, - "norm_label": "trim ``line`` so its utf-8 byte length is at most ``log_line_max_bytes``. t" - }, - { - "label": "Append a single ``line`` to a ``wizard..log`` file. Creates the p", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L183", - "id": "cache_log_writer_rationale_183", - "community": 34, - "norm_label": "append a single ``line`` to a ``wizard..log`` file. creates the p" - }, - { - "label": "creation_writer.py", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L1", - "id": "src_exlab_wizard_cache_creation_writer_py", - "community": 233, - "norm_label": "creation_writer.py" - }, - { - "label": "select_active_overrides()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L69", - "id": "cache_creation_writer_select_active_overrides", - "community": 152, - "norm_label": "select_active_overrides()" - }, - { - "label": "_is_future()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L123", - "id": "cache_creation_writer_is_future", - "community": 134, - "norm_label": "_is_future()" - }, - { - "label": "_apply_migration_defaults()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L143", - "id": "cache_creation_writer_apply_migration_defaults", - "community": 233, - "norm_label": "_apply_migration_defaults()" - }, - { - "label": "CreationWriter", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L188", - "id": "cache_creation_writer_creationwriter", - "community": 1, - "norm_label": "creationwriter" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L191", - "id": "cache_creation_writer_creationwriter_init", - "community": 1, - "norm_label": ".__init__()" - }, - { - "label": ".write_creation()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L204", - "id": "cache_creation_writer_creationwriter_write_creation", - "community": 1, - "norm_label": ".write_creation()" - }, - { - "label": ".update_creation_atomic()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L214", - "id": "cache_creation_writer_creationwriter_update_creation_atomic", - "community": 1, - "norm_label": ".update_creation_atomic()" - }, - { - "label": ".read_creation_snapshot()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L232", - "id": "cache_creation_writer_creationwriter_read_creation_snapshot", - "community": 1, - "norm_label": ".read_creation_snapshot()" - }, - { - "label": "._write_creation_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L243", - "id": "cache_creation_writer_creationwriter_write_creation_sync", - "community": 233, - "norm_label": "._write_creation_sync()" - }, - { - "label": "._update_creation_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L248", - "id": "cache_creation_writer_creationwriter_update_creation_sync", - "community": 233, - "norm_label": "._update_creation_sync()" - }, - { - "label": "._read_creation_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L267", - "id": "cache_creation_writer_creationwriter_read_creation_sync", - "community": 233, - "norm_label": "._read_creation_sync()" - }, - { - "label": "._decode_raw()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L276", - "id": "cache_creation_writer_creationwriter_decode_raw", - "community": 233, - "norm_label": "._decode_raw()" - }, - { - "label": "._encode_and_replace()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L300", - "id": "cache_creation_writer_creationwriter_encode_and_replace", - "community": 233, - "norm_label": "._encode_and_replace()" - }, - { - "label": "_payload_to_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L316", - "id": "cache_creation_writer_payload_to_dict", - "community": 233, - "norm_label": "_payload_to_dict()" - }, - { - "label": "_merge_unknown_fields()", - "file_type": "code", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L327", - "id": "cache_creation_writer_merge_unknown_fields", - "community": 233, - "norm_label": "_merge_unknown_fields()" - }, - { - "label": "Atomic reader/writer for ``creation.json``. Backend Spec \u00a74.4.5. All ``creation", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L1", - "id": "cache_creation_writer_rationale_1", - "community": 233, - "norm_label": "atomic reader/writer for ``creation.json``. backend spec \u00a74.4.5. all ``creation" - }, - { - "label": "Return the subset of override entries that are currently active. Implements", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L74", - "id": "cache_creation_writer_rationale_74", - "community": 152, - "norm_label": "return the subset of override entries that are currently active. implements" - }, - { - "label": "Return True if ``expires_at`` (UTC ISO-8601) is strictly after ``now``. The", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L124", - "id": "cache_creation_writer_rationale_124", - "community": 134, - "norm_label": "return true if ``expires_at`` (utc iso-8601) is strictly after ``now``. the" - }, - { - "label": "Apply \u00a711.3 history-table defaults for fields missing on old minors. Return", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L144", - "id": "cache_creation_writer_rationale_144", - "community": 233, - "norm_label": "apply \u00a711.3 history-table defaults for fields missing on old minors. return" - }, - { - "label": "Atomic reader/writer for ``creation.json``. Backend Spec \u00a74.4.5.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L189", - "id": "cache_creation_writer_rationale_189", - "community": 1, - "norm_label": "atomic reader/writer for ``creation.json``. backend spec \u00a74.4.5." - }, - { - "label": "Construct the writer. ``lock_timeout_seconds`` is the wall-clock cap fo", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L192", - "id": "cache_creation_writer_rationale_192", - "community": 1, - "norm_label": "construct the writer. ``lock_timeout_seconds`` is the wall-clock cap fo" - }, - { - "label": "Write a fresh ``creation.json``. Reserved for initial creation. Acquire", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L205", - "id": "cache_creation_writer_rationale_205", - "community": 1, - "norm_label": "write a fresh ``creation.json``. reserved for initial creation. acquire" - }, - { - "label": "Read, mutate, and write ``creation.json`` under one ``LOCK_EX``. The fu", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L219", - "id": "cache_creation_writer_rationale_219", - "community": 1, - "norm_label": "read, mutate, and write ``creation.json`` under one ``lock_ex``. the fu" - }, - { - "label": "Read a snapshot under ``LOCK_SH`` (shared/read lock). Concurrent reader", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L233", - "id": "cache_creation_writer_rationale_233", - "community": 1, - "norm_label": "read a snapshot under ``lock_sh`` (shared/read lock). concurrent reader" - }, - { - "label": "Load the file as a raw ``dict`` (no Struct conversion yet). We need the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L277", - "id": "cache_creation_writer_rationale_277", - "community": 233, - "norm_label": "load the file as a raw ``dict`` (no struct conversion yet). we need the" - }, - { - "label": "Encode ``payload`` to bytes, write atomically via atomic_write_bytes. T", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L301", - "id": "cache_creation_writer_rationale_301", - "community": 233, - "norm_label": "encode ``payload`` to bytes, write atomically via atomic_write_bytes. t" - }, - { - "label": "Recursively convert a ``CreationJson`` into a plain ``dict``. Uses :func:`m", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L317", - "id": "cache_creation_writer_rationale_317", - "community": 233, - "norm_label": "recursively convert a ``creationjson`` into a plain ``dict``. uses :func:`m" - }, - { - "label": "Copy keys from ``raw`` that are NOT in ``new_dict`` back into it. This is h", - "file_type": "rationale", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L328", - "id": "cache_creation_writer_rationale_328", - "community": 233, - "norm_label": "copy keys from ``raw`` that are not in ``new_dict`` back into it. this is h" - }, - { - "label": "models.py", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L1", - "id": "src_exlab_wizard_config_models_py", - "community": 38, - "norm_label": "models.py" - }, - { - "label": "_parse_hhmm()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L69", - "id": "config_models_parse_hhmm", - "community": 38, - "norm_label": "_parse_hhmm()" - }, - { - "label": "PathsConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L93", - "id": "config_models_pathsconfig", - "community": 0, - "norm_label": "pathsconfig" - }, - { - "label": "LIMSConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L108", - "id": "config_models_limsconfig", - "community": 0, - "norm_label": "limsconfig" - }, - { - "label": "READMEDefaultField", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L124", - "id": "config_models_readmedefaultfield", - "community": 4, - "norm_label": "readmedefaultfield" - }, - { - "label": "_id_matches_question_id_grammar()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L139", - "id": "config_models_id_matches_question_id_grammar", - "community": 38, - "norm_label": "_id_matches_question_id_grammar()" - }, - { - "label": "_serialize_type()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L149", - "id": "config_models_serialize_type", - "community": 38, - "norm_label": "_serialize_type()" - }, - { - "label": "_choice_requires_non_empty_options()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L154", - "id": "config_models_choice_requires_non_empty_options", - "community": 38, - "norm_label": "_choice_requires_non_empty_options()" - }, - { - "label": "READMEConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L165", - "id": "config_models_readmeconfig", - "community": 38, - "norm_label": "readmeconfig" - }, - { - "label": "BandwidthWindow", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L178", - "id": "config_models_bandwidthwindow", - "community": 89, - "norm_label": "bandwidthwindow" - }, - { - "label": "_serialize_days()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L188", - "id": "config_models_serialize_days", - "community": 38, - "norm_label": "_serialize_days()" - }, - { - "label": "_from_must_precede_to()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L192", - "id": "config_models_from_must_precede_to", - "community": 38, - "norm_label": "_from_must_precede_to()" - }, - { - "label": "BandwidthConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L201", - "id": "config_models_bandwidthconfig", - "community": 1, - "norm_label": "bandwidthconfig" - }, - { - "label": "_upload_mbps_positive_or_none()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L211", - "id": "config_models_upload_mbps_positive_or_none", - "community": 38, - "norm_label": "_upload_mbps_positive_or_none()" - }, - { - "label": "RclonePerf", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L223", - "id": "config_models_rcloneperf", - "community": 8, - "norm_label": "rcloneperf" - }, - { - "label": "NasConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L237", - "id": "config_models_nasconfig", - "community": 0, - "norm_label": "nasconfig" - }, - { - "label": "EquipmentConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L265", - "id": "config_models_equipmentconfig", - "community": 0, - "norm_label": "equipmentconfig" - }, - { - "label": "_serialize_sync_mode()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L290", - "id": "config_models_serialize_sync_mode", - "community": 38, - "norm_label": "_serialize_sync_mode()" - }, - { - "label": "_validate_equipment_id()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L295", - "id": "config_models_validate_equipment_id", - "community": 38, - "norm_label": "_validate_equipment_id()" - }, - { - "label": "NASCleanupConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L311", - "id": "config_models_nascleanupconfig", - "community": 37, - "norm_label": "nascleanupconfig" - }, - { - "label": "LoggingConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L327", - "id": "config_models_loggingconfig", - "community": 19, - "norm_label": "loggingconfig" - }, - { - "label": "_normalize_and_validate_level()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L338", - "id": "config_models_normalize_and_validate_level", - "community": 38, - "norm_label": "_normalize_and_validate_level()" - }, - { - "label": "OperatorsConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L358", - "id": "config_models_operatorsconfig", - "community": 38, - "norm_label": "operatorsconfig" - }, - { - "label": "_default_content_scan_extensions()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L371", - "id": "config_models_default_content_scan_extensions", - "community": 38, - "norm_label": "_default_content_scan_extensions()" - }, - { - "label": "ValidatorConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L390", - "id": "config_models_validatorconfig", - "community": 211, - "norm_label": "validatorconfig" - }, - { - "label": "_extensions_must_start_with_dot()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L402", - "id": "config_models_extensions_must_start_with_dot", - "community": 38, - "norm_label": "_extensions_must_start_with_dot()" - }, - { - "label": "PluginsConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L415", - "id": "config_models_pluginsconfig", - "community": 423, - "norm_label": "pluginsconfig" - }, - { - "label": "_default_ignore_globs()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L428", - "id": "config_models_default_ignore_globs", - "community": 38, - "norm_label": "_default_ignore_globs()" - }, - { - "label": "SyncConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L432", - "id": "config_models_syncconfig", - "community": 292, - "norm_label": "syncconfig" - }, - { - "label": "OrchestratorStagingCleanup", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L449", - "id": "config_models_orchestratorstagingcleanup", - "community": 13, - "norm_label": "orchestratorstagingcleanup" - }, - { - "label": "_serialize_mode()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L460", - "id": "config_models_serialize_mode", - "community": 38, - "norm_label": "_serialize_mode()" - }, - { - "label": "OrchestratorConfig", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L465", - "id": "config_models_orchestratorconfig", - "community": 0, - "norm_label": "orchestratorconfig" - }, - { - "label": "Config", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L501", - "id": "config_models_config", - "community": 0, - "norm_label": "config" - }, - { - "label": "_cross_field_invariants()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L520", - "id": "config_models_cross_field_invariants", - "community": 38, - "norm_label": "_cross_field_invariants()" - }, - { - "label": "config_with_equipment_appended()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L540", - "id": "config_models_config_with_equipment_appended", - "community": 261, - "norm_label": "config_with_equipment_appended()" - }, - { - "label": "Pydantic models that mirror ``config.yaml``. Backend Spec \u00a79. These models are", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L1", - "id": "config_models_rationale_1", - "community": 38, - "norm_label": "pydantic models that mirror ``config.yaml``. backend spec \u00a79. these models are" - }, - { - "label": "Return ``datetime.time`` for a strict zero-padded ``HH:MM`` string. The wiz", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L70", - "id": "config_models_rationale_70", - "community": 38, - "norm_label": "return ``datetime.time`` for a strict zero-padded ``hh:mm`` string. the wiz" - }, - { - "label": "``paths:`` block. Templates / plugins / equipment-first local root.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L94", - "id": "config_models_rationale_94", - "community": 0, - "norm_label": "``paths:`` block. templates / plugins / equipment-first local root." - }, - { - "label": "``lims:`` block. Read-only LIMS endpoint plus offline catalogue path.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L109", - "id": "config_models_rationale_109", - "community": 0, - "norm_label": "``lims:`` block. read-only lims endpoint plus offline catalogue path." - }, - { - "label": "One operator-defined extra README field. Backend Spec \u00a79, \u00a710.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L125", - "id": "config_models_rationale_125", - "community": 4, - "norm_label": "one operator-defined extra readme field. backend spec \u00a79, \u00a710." - }, - { - "label": "``readme:`` block. Lab-policy fields layered on top of the core set.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L166", - "id": "config_models_rationale_166", - "community": 38, - "norm_label": "``readme:`` block. lab-policy fields layered on top of the core set." - }, - { - "label": "One ``{days, from, to}`` window. Backend Spec \u00a79.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L179", - "id": "config_models_rationale_179", - "community": 89, - "norm_label": "one ``{days, from, to}`` window. backend spec \u00a79." - }, - { - "label": "``bandwidth:`` sub-block on a transport.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L202", - "id": "config_models_rationale_202", - "community": 1, - "norm_label": "``bandwidth:`` sub-block on a transport." - }, - { - "label": "Parallelism knobs forwarded to rclone (``--transfers`` / ``--checkers``). T", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L224", - "id": "config_models_rationale_224", - "community": 8, - "norm_label": "parallelism knobs forwarded to rclone (``--transfers`` / ``--checkers``). t" - }, - { - "label": "``nas:`` block \u2014 the single rclone remote + base root for NAS sync. ``remot", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L238", - "id": "config_models_rationale_238", - "community": 0, - "norm_label": "``nas:`` block \u2014 the single rclone remote + base root for nas sync. ``remot" - }, - { - "label": "One ``equipment:`` list entry. Backend Spec \u00a79. ``sync_mode`` (Redesign Spe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L266", - "id": "config_models_rationale_266", - "community": 0, - "norm_label": "one ``equipment:`` list entry. backend spec \u00a79. ``sync_mode`` (redesign spe" - }, - { - "label": "``nas_cleanup:`` block. Local-copy retention after NAS verify.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L312", - "id": "config_models_rationale_312", - "community": 37, - "norm_label": "``nas_cleanup:`` block. local-copy retention after nas verify." - }, - { - "label": "``logging:`` block. Central app-log rotation + level.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L328", - "id": "config_models_rationale_328", - "community": 19, - "norm_label": "``logging:`` block. central app-log rotation + level." - }, - { - "label": "``operators:`` block. Optional case-sensitive allowlist.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L359", - "id": "config_models_rationale_359", - "community": 38, - "norm_label": "``operators:`` block. optional case-sensitive allowlist." - }, - { - "label": "``validator:`` block. Content-scan tuning. Backend Spec \u00a78.1.1, \u00a711.8.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L391", - "id": "config_models_rationale_391", - "community": 211, - "norm_label": "``validator:`` block. content-scan tuning. backend spec \u00a78.1.1, \u00a711.8." - }, - { - "label": "``plugins:`` block. Master opt-in for network-declaring plugins.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L416", - "id": "config_models_rationale_416", - "community": 423, - "norm_label": "``plugins:`` block. master opt-in for network-declaring plugins." - }, - { - "label": "``sync:`` block. NAS sync engine kill-switch + retry / quiescence policy.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L433", - "id": "config_models_rationale_433", - "community": 292, - "norm_label": "``sync:`` block. nas sync engine kill-switch + retry / quiescence policy." - }, - { - "label": "``orchestrator.staging_cleanup:`` sub-block. Backend Spec \u00a713.7.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L450", - "id": "config_models_rationale_450", - "community": 13, - "norm_label": "``orchestrator.staging_cleanup:`` sub-block. backend spec \u00a713.7." - }, - { - "label": "``orchestrator:`` block. Backend Spec \u00a79, \u00a713. GUI/Orchestrator Redesign \u00a73", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L466", - "id": "config_models_rationale_466", - "community": 0, - "norm_label": "``orchestrator:`` block. backend spec \u00a79, \u00a713. gui/orchestrator redesign \u00a73" - }, - { - "label": "Top-level ``config.yaml`` model. Mirrors \u00a79 verbatim.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L502", - "id": "config_models_rationale_502", - "community": 0, - "norm_label": "top-level ``config.yaml`` model. mirrors \u00a79 verbatim." - }, - { - "label": "Return a copy of ``config`` with ``equipment`` appended. The single place t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L541", - "id": "config_models_rationale_541", - "community": 261, - "norm_label": "return a copy of ``config`` with ``equipment`` appended. the single place t" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/config/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_config_init_py", - "community": 474, - "norm_label": "__init__.py" - }, - { - "label": "loader.py", - "file_type": "code", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L1", - "id": "src_exlab_wizard_config_loader_py", - "community": 268, - "norm_label": "loader.py" - }, - { - "label": "_test_mode_enabled()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L33", - "id": "config_loader_test_mode_enabled", - "community": 268, - "norm_label": "_test_mode_enabled()" - }, - { - "label": "apply_test_mode_prefix()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L43", - "id": "config_loader_apply_test_mode_prefix", - "community": 108, - "norm_label": "apply_test_mode_prefix()" - }, - { - "label": "_yaml()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L79", - "id": "config_loader_yaml", - "community": 268, - "norm_label": "_yaml()" - }, - { - "label": "load_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L92", - "id": "config_loader_load_config", - "community": 174, - "norm_label": "load_config()" - }, - { - "label": "load_config_from_text()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L108", - "id": "config_loader_load_config_from_text", - "community": 108, - "norm_label": "load_config_from_text()" - }, - { - "label": "save_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L128", - "id": "config_loader_save_config", - "community": 174, - "norm_label": "save_config()" - }, - { - "label": "_deep_merge()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L157", - "id": "config_loader_deep_merge", - "community": 268, - "norm_label": "_deep_merge()" - }, - { - "label": "dump_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L171", - "id": "config_loader_dump_config", - "community": 268, - "norm_label": "dump_config()" - }, - { - "label": "config.yaml round-trip loader. Backend Spec \u00a79. Uses ruamel.yaml in round-trip", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L1", - "id": "config_loader_rationale_1", - "community": 268, - "norm_label": "config.yaml round-trip loader. backend spec \u00a79. uses ruamel.yaml in round-trip" - }, - { - "label": "Return True when the env var :data:`TEST_MODE_ENV` is truthy. Centralized h", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L34", - "id": "config_loader_rationale_34", - "community": 268, - "norm_label": "return true when the env var :data:`test_mode_env` is truthy. centralized h" - }, - { - "label": "Return ``config`` with each equipment id prefixed by :data:`TEST_MODE_PREFIX`.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L44", - "id": "config_loader_rationale_44", - "community": 108, - "norm_label": "return ``config`` with each equipment id prefixed by :data:`test_mode_prefix`." - }, - { - "label": "Build a configured ruamel.yaml instance. typ='rt' is round-trip mode (prese", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L80", - "id": "config_loader_rationale_80", - "community": 268, - "norm_label": "build a configured ruamel.yaml instance. typ='rt' is round-trip mode (prese" - }, - { - "label": "Load a config.yaml from disk and validate against the Pydantic model. Raise", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L93", - "id": "config_loader_rationale_93", - "community": 174, - "norm_label": "load a config.yaml from disk and validate against the pydantic model. raise" - }, - { - "label": "Load a config from YAML text. Same semantics as load_config but for in-memory in", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L109", - "id": "config_loader_rationale_109", - "community": 108, - "norm_label": "load a config from yaml text. same semantics as load_config but for in-memory in" - }, - { - "label": "Atomically write `config` back to `path`. If `original_text` is supplied, r", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L129", - "id": "config_loader_rationale_129", - "community": 174, - "norm_label": "atomically write `config` back to `path`. if `original_text` is supplied, r" - }, - { - "label": "In-place deep-merge source into target. Used by save_config to overlay new", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L158", - "id": "config_loader_rationale_158", - "community": 268, - "norm_label": "in-place deep-merge source into target. used by save_config to overlay new" - }, - { - "label": "Serialize config to a YAML string. No comment preservation; tests use this.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L172", - "id": "config_loader_rationale_172", - "community": 268, - "norm_label": "serialize config to a yaml string. no comment preservation; tests use this." - }, - { - "label": "test_bootstrap.py", - "file_type": "code", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L1", - "id": "src_exlab_wizard_config_test_bootstrap_py", - "community": 399, - "norm_label": "test_bootstrap.py" - }, - { - "label": "write_starter_test_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L18", - "id": "config_test_bootstrap_write_starter_test_config", - "community": 0, - "norm_label": "write_starter_test_config()" - }, - { - "label": "bootstrap_test_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L68", - "id": "config_test_bootstrap_bootstrap_test_config", - "community": 399, - "norm_label": "bootstrap_test_config()" - }, - { - "label": "Starter ``config.yaml`` bootstrap for the ``-test`` sandbox. Shared by the tray", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L1", - "id": "config_test_bootstrap_rationale_1", - "community": 399, - "norm_label": "starter ``config.yaml`` bootstrap for the ``-test`` sandbox. shared by the tray" - }, - { - "label": "Write a starter test ``config.yaml`` if one does not already exist. Preseed", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L19", - "id": "config_test_bootstrap_rationale_19", - "community": 0, - "norm_label": "write a starter test ``config.yaml`` if one does not already exist. preseed" - }, - { - "label": "Tray ``--test`` bootstrap: write the starter config, optionally seed samples.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L69", - "id": "config_test_bootstrap_rationale_69", - "community": 399, - "norm_label": "tray ``--test`` bootstrap: write the starter config, optionally seed samples." - }, - { - "label": "registry.py", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L1", - "id": "src_exlab_wizard_plugins_registry_py", - "community": 7, - "norm_label": "registry.py" - }, - { - "label": "PluginManifest", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L62", - "id": "plugins_registry_pluginmanifest", - "community": 7, - "norm_label": "pluginmanifest" - }, - { - "label": "PluginRecord", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L83", - "id": "plugins_registry_pluginrecord", - "community": 7, - "norm_label": "pluginrecord" - }, - { - "label": "PluginPlan", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L103", - "id": "plugins_registry_pluginplan", - "community": 7, - "norm_label": "pluginplan" - }, - { - "label": "RegistryReport", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L115", - "id": "plugins_registry_registryreport", - "community": 7, - "norm_label": "registryreport" - }, - { - "label": "PluginRegistry", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L128", - "id": "plugins_registry_pluginregistry", - "community": 7, - "norm_label": "pluginregistry" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L140", - "id": "plugins_registry_pluginregistry_init", - "community": 7, - "norm_label": ".__init__()" - }, - { - "label": ".reload()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L157", - "id": "plugins_registry_pluginregistry_reload", - "community": 7, - "norm_label": ".reload()" - }, - { - "label": "._absorb()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L181", - "id": "plugins_registry_pluginregistry_absorb", - "community": 7, - "norm_label": "._absorb()" - }, - { - "label": "._iter_root()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L210", - "id": "plugins_registry_pluginregistry_iter_root", - "community": 7, - "norm_label": "._iter_root()" - }, - { - "label": "._load_plugin()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L230", - "id": "plugins_registry_pluginregistry_load_plugin", - "community": 7, - "norm_label": "._load_plugin()" - }, - { - "label": ".get()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L354", - "id": "plugins_registry_pluginregistry_get", - "community": 7, - "norm_label": ".get()" - }, - { - "label": ".list_all()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L358", - "id": "plugins_registry_pluginregistry_list_all", - "community": 7, - "norm_label": ".list_all()" - }, - { - "label": ".candidates_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L362", - "id": "plugins_registry_pluginregistry_candidates_for", - "community": 7, - "norm_label": ".candidates_for()" - }, - { - "label": "_as_str_list()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L386", - "id": "plugins_registry_as_str_list", - "community": 7, - "norm_label": "_as_str_list()" - }, - { - "label": "_suffix_or_full()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L393", - "id": "plugins_registry_suffix_or_full", - "community": 7, - "norm_label": "_suffix_or_full()" - }, - { - "label": "Plugin registry -- manifest-driven discovery + dispatch resolution. Backend Spe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L1", - "id": "plugins_registry_rationale_1", - "community": 7, - "norm_label": "plugin registry -- manifest-driven discovery + dispatch resolution. backend spe" - }, - { - "label": "Parsed ``manifest.yml`` contents. Backend Spec \u00a76.1.2. Mirrors the schema d", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L63", - "id": "plugins_registry_rationale_63", - "community": 7, - "norm_label": "parsed ``manifest.yml`` contents. backend spec \u00a76.1.2. mirrors the schema d" - }, - { - "label": "One plugin in the registry. Carries the parsed manifest, the source-on-disk", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L84", - "id": "plugins_registry_rationale_84", - "community": 7, - "norm_label": "one plugin in the registry. carries the parsed manifest, the source-on-disk" - }, - { - "label": "One plugin paired with the files in the rendered tree it matches. Built by", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L104", - "id": "plugins_registry_rationale_104", - "community": 7, - "norm_label": "one plugin paired with the files in the rendered tree it matches. built by" - }, - { - "label": "Outcome of a :meth:`PluginRegistry.reload` pass. ``loaded`` is the list of", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L116", - "id": "plugins_registry_rationale_116", - "community": 7, - "norm_label": "outcome of a :meth:`pluginregistry.reload` pass. ``loaded`` is the list of" - }, - { - "label": "Manifest-driven plugin registry. Constructed at host startup with the two c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L129", - "id": "plugins_registry_rationale_129", - "community": 7, - "norm_label": "manifest-driven plugin registry. constructed at host startup with the two c" - }, - { - "label": "Re-scan both plugin roots and rebuild the in-memory record table. Bundl", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L158", - "id": "plugins_registry_rationale_158", - "community": 7, - "norm_label": "re-scan both plugin roots and rebuild the in-memory record table. bundl" - }, - { - "label": "Merge one parsed plugin (or one rejection) into the report.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L187", - "id": "plugins_registry_rationale_187", - "community": 7, - "norm_label": "merge one parsed plugin (or one rejection) into the report." - }, - { - "label": "Walk one plugin root and yield ``(record_or_None, reason_or_None)`` pairs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L215", - "id": "plugins_registry_rationale_215", - "community": 7, - "norm_label": "walk one plugin root and yield ``(record_or_none, reason_or_none)`` pairs." - }, - { - "label": "Parse one plugin directory. Returns ``(record, None)`` or ``(None, (name, reason", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L235", - "id": "plugins_registry_rationale_235", - "community": 7, - "norm_label": "parse one plugin directory. returns ``(record, none)`` or ``(none, (name, reason" - }, - { - "label": "Return the record registered under ``name``, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L355", - "id": "plugins_registry_rationale_355", - "community": 7, - "norm_label": "return the record registered under ``name``, or ``none``." - }, - { - "label": "Return all registered records, sorted by name for stable output.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L359", - "id": "plugins_registry_rationale_359", - "community": 7, - "norm_label": "return all registered records, sorted by name for stable output." - }, - { - "label": "Resolve plugins that match the given files by extension. For each regis", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L363", - "id": "plugins_registry_rationale_363", - "community": 7, - "norm_label": "resolve plugins that match the given files by extension. for each regis" - }, - { - "label": "Coerce a YAML node into a ``list[str]``; non-list / non-string entries are dropp", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L387", - "id": "plugins_registry_rationale_387", - "community": 7, - "norm_label": "coerce a yaml node into a ``list[str]``; non-list / non-string entries are dropp" - }, - { - "label": "Return the final suffix (``.xlsx``) for matching against ``supported_extensions`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L394", - "id": "plugins_registry_rationale_394", - "community": 7, - "norm_label": "return the final suffix (``.xlsx``) for matching against ``supported_extensions`" - }, - { - "label": "host.py", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L1", - "id": "src_exlab_wizard_plugins_host_py", - "community": 21, - "norm_label": "host.py" - }, - { - "label": "PluginRecord", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L86", - "id": "plugins_host_pluginrecord", - "community": 21, - "norm_label": "pluginrecord" - }, - { - "label": "PluginRegistryProtocol", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L116", - "id": "plugins_host_pluginregistryprotocol", - "community": 21, - "norm_label": "pluginregistryprotocol" - }, - { - "label": "Protocol", - "file_type": "code", - "source_file": "", - "source_location": "", - "id": "protocol", - "community": 21, - "norm_label": "protocol" - }, - { - "label": ".get_record()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L126", - "id": "plugins_host_pluginregistryprotocol_get_record", - "community": 21, - "norm_label": ".get_record()" - }, - { - "label": "InputRequiredPayload", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L135", - "id": "plugins_host_inputrequiredpayload", - "community": 10, - "norm_label": "inputrequiredpayload" - }, - { - "label": "PluginPassResult", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L150", - "id": "plugins_host_pluginpassresult", - "community": 10, - "norm_label": "pluginpassresult" - }, - { - "label": "_apply_rlimits()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L168", - "id": "plugins_host_apply_rlimits", - "community": 21, - "norm_label": "_apply_rlimits()" - }, - { - "label": "_sanitized_env()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L214", - "id": "plugins_host_sanitized_env", - "community": 21, - "norm_label": "_sanitized_env()" - }, - { - "label": "_snapshot_tree()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L240", - "id": "plugins_host_snapshot_tree", - "community": 21, - "norm_label": "_snapshot_tree()" - }, - { - "label": "_is_forbidden_write()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L280", - "id": "plugins_host_is_forbidden_write", - "community": 21, - "norm_label": "_is_forbidden_write()" - }, - { - "label": "_diff_and_collect_violations()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L285", - "id": "plugins_host_diff_and_collect_violations", - "community": 21, - "norm_label": "_diff_and_collect_violations()" - }, - { - "label": "_read_silently()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L338", - "id": "plugins_host_read_silently", - "community": 21, - "norm_label": "_read_silently()" - }, - { - "label": "_revert_to_snapshot()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L346", - "id": "plugins_host_revert_to_snapshot", - "community": 21, - "norm_label": "_revert_to_snapshot()" - }, - { - "label": "_drain_stderr()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L397", - "id": "plugins_host_drain_stderr", - "community": 21, - "norm_label": "_drain_stderr()" - }, - { - "label": "_emit_forwarded_log()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L447", - "id": "plugins_host_emit_forwarded_log", - "community": 21, - "norm_label": "_emit_forwarded_log()" - }, - { - "label": "_resolve_run_id()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L472", - "id": "plugins_host_resolve_run_id", - "community": 21, - "norm_label": "_resolve_run_id()" - }, - { - "label": "PluginHost", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L487", - "id": "plugins_host_pluginhost", - "community": 87, - "norm_label": "pluginhost" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L493", - "id": "plugins_host_pluginhost_init", - "community": 87, - "norm_label": ".__init__()" - }, - { - "label": ".run_pass()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L502", - "id": "plugins_host_pluginhost_run_pass", - "community": 21, - "norm_label": ".run_pass()" - }, - { - "label": "._run_one()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L548", - "id": "plugins_host_pluginhost_run_one", - "community": 21, - "norm_label": "._run_one()" - }, - { - "label": "._spawn_worker()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L629", - "id": "plugins_host_pluginhost_spawn_worker", - "community": 21, - "norm_label": "._spawn_worker()" - }, - { - "label": "._terminate()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L766", - "id": "plugins_host_pluginhost_terminate", - "community": 21, - "norm_label": "._terminate()" - }, - { - "label": "._stderr_path_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L783", - "id": "plugins_host_pluginhost_stderr_path_for", - "community": 21, - "norm_label": "._stderr_path_for()" - }, - { - "label": "_SpawnOutcome", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L797", - "id": "plugins_host_spawnoutcome", - "community": 21, - "norm_label": "_spawnoutcome" - }, - { - "label": "failure()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L807", - "id": "plugins_host_failure", - "community": 21, - "norm_label": "failure()" - }, - { - "label": "_read_stdout_envelope()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L817", - "id": "plugins_host_read_stdout_envelope", - "community": 21, - "norm_label": "_read_stdout_envelope()" - }, - { - "label": "_build_applied_entry()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L838", - "id": "plugins_host_build_applied_entry", - "community": 21, - "norm_label": "_build_applied_entry()" - }, - { - "label": "_exit_code_to_status()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L876", - "id": "plugins_host_exit_code_to_status", - "community": 21, - "norm_label": "_exit_code_to_status()" - }, - { - "label": "_ListBackedRegistry", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L900", - "id": "plugins_host_listbackedregistry", - "community": 21, - "norm_label": "_listbackedregistry" - }, - { - "label": ".get_record()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L911", - "id": "plugins_host_listbackedregistry_get_record", - "community": 21, - "norm_label": ".get_record()" - }, - { - "label": "build_test_registry()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L918", - "id": "plugins_host_build_test_registry", - "community": 21, - "norm_label": "build_test_registry()" - }, - { - "label": "applied_entry_as_json()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L925", - "id": "plugins_host_applied_entry_as_json", - "community": 21, - "norm_label": "applied_entry_as_json()" - }, - { - "label": "Plugin host: spawns plugin worker subprocesses with strict isolation. Backend S", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L1", - "id": "plugins_host_rationale_1", - "community": 21, - "norm_label": "plugin host: spawns plugin worker subprocesses with strict isolation. backend s" - }, - { - "label": "One resolved plugin, ready to be spawned. Backend Spec \u00a76.2.1. Attributes:", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L87", - "id": "plugins_host_rationale_87", - "community": 21, - "norm_label": "one resolved plugin, ready to be spawned. backend spec \u00a76.2.1. attributes:" - }, - { - "label": "Read-only registry surface the host depends on. Backend Spec \u00a76.2. The conc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L117", - "id": "plugins_host_rationale_117", - "community": 21, - "norm_label": "read-only registry surface the host depends on. backend spec \u00a76.2. the conc" - }, - { - "label": "Frame surfaced to the controller when a plugin needs more input. Backend Sp", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L136", - "id": "plugins_host_rationale_136", - "community": 10, - "norm_label": "frame surfaced to the controller when a plugin needs more input. backend sp" - }, - { - "label": "Aggregate result returned by :meth:`PluginHost.run_pass`. Backend Spec \u00a76.2", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L151", - "id": "plugins_host_rationale_151", - "community": 10, - "norm_label": "aggregate result returned by :meth:`pluginhost.run_pass`. backend spec \u00a76.2" - }, - { - "label": "``preexec_fn`` for the worker subprocess: install POSIX rlimits. Backend Sp", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L169", - "id": "plugins_host_rationale_169", - "community": 21, - "norm_label": "``preexec_fn`` for the worker subprocess: install posix rlimits. backend sp" - }, - { - "label": "Return the worker's ``env`` mapping (Backend Spec \u00a76.3.1).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L215", - "id": "plugins_host_rationale_215", - "community": 21, - "norm_label": "return the worker's ``env`` mapping (backend spec \u00a76.3.1)." - }, - { - "label": "Capture a small fingerprint per file in ``root``. The returned mapping is k", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L241", - "id": "plugins_host_rationale_241", - "community": 21, - "norm_label": "capture a small fingerprint per file in ``root``. the returned mapping is k" - }, - { - "label": "Return ``True`` when ``rel_path`` is in the \u00a76.1.5 forbidden set.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L281", - "id": "plugins_host_rationale_281", - "community": 21, - "norm_label": "return ``true`` when ``rel_path`` is in the \u00a76.1.5 forbidden set." - }, - { - "label": "Return ``(violations, modified_files)``. ``violations`` lists relative path", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L289", - "id": "plugins_host_rationale_289", - "community": 21, - "norm_label": "return ``(violations, modified_files)``. ``violations`` lists relative path" - }, - { - "label": "Return the file's bytes or ``None`` on read failure.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L339", - "id": "plugins_host_rationale_339", - "community": 21, - "norm_label": "return the file's bytes or ``none`` on read failure." - }, - { - "label": "Best-effort revert of every change after a forbidden-write plugin. Removes", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L350", - "id": "plugins_host_rationale_350", - "community": 21, - "norm_label": "best-effort revert of every change after a forbidden-write plugin. removes" - }, - { - "label": "Read the worker's stderr line-by-line. JSON-shaped lines are forwarded into", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L403", - "id": "plugins_host_rationale_403", - "community": 21, - "norm_label": "read the worker's stderr line-by-line. json-shaped lines are forwarded into" - }, - { - "label": "Forward a worker log frame into the canonical logger chain.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L453", - "id": "plugins_host_rationale_453", - "community": 21, - "norm_label": "forward a worker log frame into the canonical logger chain." - }, - { - "label": "Return a filesystem-safe run identifier for stderr capture paths.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L473", - "id": "plugins_host_rationale_473", - "community": 21, - "norm_label": "return a filesystem-safe run identifier for stderr capture paths." - }, - { - "label": "Spawns plugin worker subprocesses with strict isolation. Backend Spec \u00a76.3", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L488", - "id": "plugins_host_rationale_488", - "community": 87, - "norm_label": "spawns plugin worker subprocesses with strict isolation. backend spec \u00a76.3" - }, - { - "label": "Drive the plugin pass for a single creation session. Spawns one worker", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L509", - "id": "plugins_host_rationale_509", - "community": 21, - "norm_label": "drive the plugin pass for a single creation session. spawns one worker" - }, - { - "label": "Run a single plugin worker, including resume on input-required. Returns", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L555", - "id": "plugins_host_rationale_555", - "community": 21, - "norm_label": "run a single plugin worker, including resume on input-required. returns" - }, - { - "label": "Spawn one worker subprocess and supervise it to completion. Returns a :", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L637", - "id": "plugins_host_rationale_637", - "community": 21, - "norm_label": "spawn one worker subprocess and supervise it to completion. returns a :" - }, - { - "label": "SIGTERM, wait the grace period, SIGKILL. Backend Spec \u00a76.3.4.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L767", - "id": "plugins_host_rationale_767", - "community": 21, - "norm_label": "sigterm, wait the grace period, sigkill. backend spec \u00a76.3.4." - }, - { - "label": "Return the path the worker's stderr should be captured to.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L784", - "id": "plugins_host_rationale_784", - "community": 21, - "norm_label": "return the path the worker's stderr should be captured to." - }, - { - "label": "Result of supervising a single worker invocation.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L798", - "id": "plugins_host_rationale_798", - "community": 21, - "norm_label": "result of supervising a single worker invocation." - }, - { - "label": "Read and JSON-decode the worker's stdout envelope.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L818", - "id": "plugins_host_rationale_818", - "community": 21, - "norm_label": "read and json-decode the worker's stdout envelope." - }, - { - "label": "Shape one ``plugins_applied[]`` entry for ``creation.json``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L847", - "id": "plugins_host_rationale_847", - "community": 21, - "norm_label": "shape one ``plugins_applied[]`` entry for ``creation.json``." - }, - { - "label": "Map a worker exit code to one of the \u00a76.2.4 status values.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L877", - "id": "plugins_host_rationale_877", - "community": 21, - "norm_label": "map a worker exit code to one of the \u00a76.2.4 status values." - }, - { - "label": "Minimal :class:`PluginRegistryProtocol` implementation used for tests. Test", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L901", - "id": "plugins_host_rationale_901", - "community": 21, - "norm_label": "minimal :class:`pluginregistryprotocol` implementation used for tests. test" - }, - { - "label": "Return a tiny in-memory registry over ``records``. Tests only.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L919", - "id": "plugins_host_rationale_919", - "community": 21, - "norm_label": "return a tiny in-memory registry over ``records``. tests only." - }, - { - "label": "Return ``entry`` as a JSON-friendly dict (deep-copied).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L926", - "id": "plugins_host_rationale_926", - "community": 21, - "norm_label": "return ``entry`` as a json-friendly dict (deep-copied)." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_plugins_init_py", - "community": 374, - "norm_label": "__init__.py" - }, - { - "label": "logger.py", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L1", - "id": "src_exlab_wizard_plugins_logger_py", - "community": 20, - "norm_label": "logger.py" - }, - { - "label": "PluginLogFrame", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L46", - "id": "plugins_logger_pluginlogframe", - "community": 20, - "norm_label": "pluginlogframe" - }, - { - "label": "PluginLogger", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L59", - "id": "plugins_logger_pluginlogger", - "community": 20, - "norm_label": "pluginlogger" - }, - { - "label": "ABC", - "file_type": "code", - "source_file": "", - "source_location": "", - "id": "abc", - "community": 20, - "norm_label": "abc" - }, - { - "label": "debug()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L69", - "id": "plugins_logger_debug", - "community": 20, - "norm_label": "debug()" - }, - { - "label": "info()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L73", - "id": "plugins_logger_info", - "community": 20, - "norm_label": "info()" - }, - { - "label": "warning()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L77", - "id": "plugins_logger_warning", - "community": 20, - "norm_label": "warning()" - }, - { - "label": "error()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L81", - "id": "plugins_logger_error", - "community": 20, - "norm_label": "error()" - }, - { - "label": "HostPluginLogger", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L85", - "id": "plugins_logger_hostpluginlogger", - "community": 20, - "norm_label": "hostpluginlogger" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L95", - "id": "plugins_logger_hostpluginlogger_init", - "community": 19, - "norm_label": ".__init__()" - }, - { - "label": ".debug()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L98", - "id": "plugins_logger_hostpluginlogger_debug", - "community": 20, - "norm_label": ".debug()" - }, - { - "label": ".info()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L101", - "id": "plugins_logger_hostpluginlogger_info", - "community": 20, - "norm_label": ".info()" - }, - { - "label": ".warning()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L104", - "id": "plugins_logger_hostpluginlogger_warning", - "community": 20, - "norm_label": ".warning()" - }, - { - "label": ".error()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L107", - "id": "plugins_logger_hostpluginlogger_error", - "community": 20, - "norm_label": ".error()" - }, - { - "label": "._emit()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L110", - "id": "plugins_logger_hostpluginlogger_emit", - "community": 20, - "norm_label": "._emit()" - }, - { - "label": "WorkerPluginLogger", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L121", - "id": "plugins_logger_workerpluginlogger", - "community": 20, - "norm_label": "workerpluginlogger" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L137", - "id": "plugins_logger_workerpluginlogger_init", - "community": 20, - "norm_label": ".__init__()" - }, - { - "label": ".debug()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L140", - "id": "plugins_logger_workerpluginlogger_debug", - "community": 20, - "norm_label": ".debug()" - }, - { - "label": ".info()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L143", - "id": "plugins_logger_workerpluginlogger_info", - "community": 20, - "norm_label": ".info()" - }, - { - "label": ".warning()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L146", - "id": "plugins_logger_workerpluginlogger_warning", - "community": 20, - "norm_label": ".warning()" - }, - { - "label": ".error()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L149", - "id": "plugins_logger_workerpluginlogger_error", - "community": 20, - "norm_label": ".error()" - }, - { - "label": "._emit()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L152", - "id": "plugins_logger_workerpluginlogger_emit", - "community": 20, - "norm_label": "._emit()" - }, - { - "label": "Plugin logger shim. Backend Spec \u00a76.1.4 / \u00a76.3.2. Plugins call ``ctx.log.info(.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L1", - "id": "plugins_logger_rationale_1", - "community": 20, - "norm_label": "plugin logger shim. backend spec \u00a76.1.4 / \u00a76.3.2. plugins call ``ctx.log.info(." - }, - { - "label": "Wire format for worker-side log records. The worker subprocess emits one ``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L47", - "id": "plugins_logger_rationale_47", - "community": 20, - "norm_label": "wire format for worker-side log records. the worker subprocess emits one ``" - }, - { - "label": "Abstract structured-log interface plugins receive on ``ctx.log``. Implement", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L60", - "id": "plugins_logger_rationale_60", - "community": 20, - "norm_label": "abstract structured-log interface plugins receive on ``ctx.log``. implement" - }, - { - "label": "Emit a DEBUG-level structured log record.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L70", - "id": "plugins_logger_rationale_70", - "community": 637, - "norm_label": "emit a debug-level structured log record." - }, - { - "label": "Emit an INFO-level structured log record.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L74", - "id": "plugins_logger_rationale_74", - "community": 638, - "norm_label": "emit an info-level structured log record." - }, - { - "label": "Emit a WARNING-level structured log record.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L78", - "id": "plugins_logger_rationale_78", - "community": 639, - "norm_label": "emit a warning-level structured log record." - }, - { - "label": "Emit an ERROR-level structured log record.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L82", - "id": "plugins_logger_rationale_82", - "community": 640, - "norm_label": "emit an error-level structured log record." - }, - { - "label": "In-process forwarder used when plugins run without subprocess isolation. Us", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L86", - "id": "plugins_logger_rationale_86", - "community": 20, - "norm_label": "in-process forwarder used when plugins run without subprocess isolation. us" - }, - { - "label": "Worker-side forwarder. Emits JSON frames on stderr. Used inside the plugin", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L122", - "id": "plugins_logger_rationale_122", - "community": 20, - "norm_label": "worker-side forwarder. emits json frames on stderr. used inside the plugin" - }, - { - "label": "base.py", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L1", - "id": "src_exlab_wizard_plugins_base_py", - "community": 20, - "norm_label": "base.py" - }, - { - "label": "FileChange", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L53", - "id": "plugins_base_filechange", - "community": 330, - "norm_label": "filechange" - }, - { - "label": "PluginContext", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L73", - "id": "plugins_base_plugincontext", - "community": 10, - "norm_label": "plugincontext" - }, - { - "label": "Plugin", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L96", - "id": "plugins_base_plugin", - "community": 20, - "norm_label": "plugin" - }, - { - "label": "can_handle()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L135", - "id": "plugins_base_can_handle", - "community": 20, - "norm_label": "can_handle()" - }, - { - "label": "transform()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L143", - "id": "plugins_base_transform", - "community": 20, - "norm_label": "transform()" - }, - { - "label": ".validate_variables()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L153", - "id": "plugins_base_plugin_validate_variables", - "community": 20, - "norm_label": ".validate_variables()" - }, - { - "label": ".pre_transform_all()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L170", - "id": "plugins_base_plugin_pre_transform_all", - "community": 20, - "norm_label": ".pre_transform_all()" - }, - { - "label": ".post_transform_all()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L179", - "id": "plugins_base_plugin_post_transform_all", - "community": 20, - "norm_label": ".post_transform_all()" - }, - { - "label": ".describe_changes()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L186", - "id": "plugins_base_plugin_describe_changes", - "community": 330, - "norm_label": ".describe_changes()" - }, - { - "label": ".on_plugin_failure()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L201", - "id": "plugins_base_plugin_on_plugin_failure", - "community": 20, - "norm_label": ".on_plugin_failure()" - }, - { - "label": "Plugin contract base class. Backend Spec \u00a76.1. Defines the public surface that", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L1", - "id": "plugins_base_rationale_1", - "community": 20, - "norm_label": "plugin contract base class. backend spec \u00a76.1. defines the public surface that" - }, - { - "label": "A single mutation a plugin would make. Used by ``describe_changes``. Backen", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L54", - "id": "plugins_base_rationale_54", - "community": 330, - "norm_label": "a single mutation a plugin would make. used by ``describe_changes``. backen" - }, - { - "label": "Read-only context handed to every plugin lifecycle hook. Constructed once p", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L74", - "id": "plugins_base_rationale_74", - "community": 10, - "norm_label": "read-only context handed to every plugin lifecycle hook. constructed once p" - }, - { - "label": "Abstract base class for all ExLab-Wizard plugins. Backend Spec \u00a76.1.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L97", - "id": "plugins_base_rationale_97", - "community": 20, - "norm_label": "abstract base class for all exlab-wizard plugins. backend spec \u00a76.1.3." - }, - { - "label": "Secondary filter, called after the extension match. Cheap and side-effe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L136", - "id": "plugins_base_rationale_136", - "community": 641, - "norm_label": "secondary filter, called after the extension match. cheap and side-effe" - }, - { - "label": "Mutate ``file_path`` in place. On unrecoverable failure raise :class:`P", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L144", - "id": "plugins_base_rationale_144", - "community": 642, - "norm_label": "mutate ``file_path`` in place. on unrecoverable failure raise :class:`p" - }, - { - "label": "Return a list of error strings; empty list means \"valid\". Default imple", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L154", - "id": "plugins_base_rationale_154", - "community": 20, - "norm_label": "return a list of error strings; empty list means \"valid\". default imple" - }, - { - "label": "Called once before the file loop. Default: no-op. Use for batch setup t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L171", - "id": "plugins_base_rationale_171", - "community": 20, - "norm_label": "called once before the file loop. default: no-op. use for batch setup t" - }, - { - "label": "Called once after the file loop. Default: no-op. Symmetric to :meth:`pr", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L180", - "id": "plugins_base_rationale_180", - "community": 20, - "norm_label": "called once after the file loop. default: no-op. symmetric to :meth:`pr" - }, - { - "label": "Return the dry-run preview for what ``transform`` would do. Default ret", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L187", - "id": "plugins_base_rationale_187", - "community": 330, - "norm_label": "return the dry-run preview for what ``transform`` would do. default ret" - }, - { - "label": "Called if any prior hook raised. Default: no-op. Use to roll back parti", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L202", - "id": "plugins_base_rationale_202", - "community": 20, - "norm_label": "called if any prior hook raised. default: no-op. use to roll back parti" - }, - { - "label": "_worker.py", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L1", - "id": "src_exlab_wizard_plugins_worker_py", - "community": 53, - "norm_label": "_worker.py" - }, - { - "label": "_WorkerOutcome", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L57", - "id": "plugins_worker_workeroutcome", - "community": 53, - "norm_label": "_workeroutcome" - }, - { - "label": "_read_stdin_envelope()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L73", - "id": "plugins_worker_read_stdin_envelope", - "community": 53, - "norm_label": "_read_stdin_envelope()" - }, - { - "label": "_decode_files()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L88", - "id": "plugins_worker_decode_files", - "community": 53, - "norm_label": "_decode_files()" - }, - { - "label": "_build_context()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L105", - "id": "plugins_worker_build_context", - "community": 53, - "norm_label": "_build_context()" - }, - { - "label": "_load_plugin_class()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L144", - "id": "plugins_worker_load_plugin_class", - "community": 53, - "norm_label": "_load_plugin_class()" - }, - { - "label": "_run_lifecycle()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L170", - "id": "plugins_worker_run_lifecycle", - "community": 53, - "norm_label": "_run_lifecycle()" - }, - { - "label": "_serialize_change()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L296", - "id": "plugins_worker_serialize_change", - "community": 53, - "norm_label": "_serialize_change()" - }, - { - "label": "_SwallowCallbackErrors", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L311", - "id": "plugins_worker_swallowcallbackerrors", - "community": 53, - "norm_label": "_swallowcallbackerrors" - }, - { - "label": ".__enter__()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L319", - "id": "plugins_worker_swallowcallbackerrors_enter", - "community": 53, - "norm_label": ".__enter__()" - }, - { - "label": ".__exit__()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L322", - "id": "plugins_worker_swallowcallbackerrors_exit", - "community": 53, - "norm_label": ".__exit__()" - }, - { - "label": "main()", - "file_type": "code", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L350", - "id": "plugins_worker_main", - "community": 53, - "norm_label": "main()" - }, - { - "label": "Plugin worker entry point. Backend Spec \u00a76.3.1, \u00a76.3.2. Invoked as ``python -m", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L1", - "id": "plugins_worker_rationale_1", - "community": 53, - "norm_label": "plugin worker entry point. backend spec \u00a76.3.1, \u00a76.3.2. invoked as ``python -m" - }, - { - "label": "Aggregated worker-side result before stdout serialization.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L58", - "id": "plugins_worker_rationale_58", - "community": 53, - "norm_label": "aggregated worker-side result before stdout serialization." - }, - { - "label": "Read a single JSON object from stdin and return it as a dict. The host writ", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L74", - "id": "plugins_worker_rationale_74", - "community": 53, - "norm_label": "read a single json object from stdin and return it as a dict. the host writ" - }, - { - "label": "Resolve incoming file path strings against ``dst_root``. Paths are accepted", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L89", - "id": "plugins_worker_rationale_89", - "community": 53, - "norm_label": "resolve incoming file path strings against ``dst_root``. paths are accepted" - }, - { - "label": "Materialize a :class:`PluginContext` from the stdin envelope. Returns the c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L110", - "id": "plugins_worker_rationale_110", - "community": 53, - "norm_label": "materialize a :class:`plugincontext` from the stdin envelope. returns the c" - }, - { - "label": "Import the plugin module and return the exported ``Plugin`` symbol. The hos", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L145", - "id": "plugins_worker_rationale_145", - "community": 53, - "norm_label": "import the plugin module and return the exported ``plugin`` symbol. the hos" - }, - { - "label": "Execute the plugin's transform lifecycle against ``files``. The lifecycle i", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L177", - "id": "plugins_worker_rationale_177", - "community": 53, - "norm_label": "execute the plugin's transform lifecycle against ``files``. the lifecycle i" - }, - { - "label": "Convert a :class:`FileChange` to its IPC dict shape.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L297", - "id": "plugins_worker_rationale_297", - "community": 53, - "norm_label": "convert a :class:`filechange` to its ipc dict shape." - }, - { - "label": "Context manager that suppresses errors from ``on_plugin_failure``. Per Back", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L312", - "id": "plugins_worker_rationale_312", - "community": 53, - "norm_label": "context manager that suppresses errors from ``on_plugin_failure``. per back" - }, - { - "label": "Worker entry point. Returns the process exit code.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L351", - "id": "plugins_worker_rationale_351", - "community": 53, - "norm_label": "worker entry point. returns the process exit code." - }, - { - "label": "enums.py", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L1", - "id": "src_exlab_wizard_constants_enums_py", - "community": 29, - "norm_label": "enums.py" - }, - { - "label": "RunKind", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L14", - "id": "constants_enums_runkind", - "community": 79, - "norm_label": "runkind" - }, - { - "label": "SyncStatus", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L24", - "id": "constants_enums_syncstatus", - "community": 78, - "norm_label": "syncstatus" - }, - { - "label": "Tier", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L41", - "id": "constants_enums_tier", - "community": 143, - "norm_label": "tier" - }, - { - "label": "ProblemClass", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L48", - "id": "constants_enums_problemclass", - "community": 29, - "norm_label": "problemclass" - }, - { - "label": "FindingKind", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L65", - "id": "constants_enums_findingkind", - "community": 29, - "norm_label": "findingkind" - }, - { - "label": "TemplateType", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L76", - "id": "constants_enums_templatetype", - "community": 359, - "norm_label": "templatetype" - }, - { - "label": "RunScope", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L84", - "id": "constants_enums_runscope", - "community": 359, - "norm_label": "runscope" - }, - { - "label": "LIMSProjectStatus", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L95", - "id": "constants_enums_limsprojectstatus", - "community": 29, - "norm_label": "limsprojectstatus" - }, - { - "label": "LIMSProjectSource", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L109", - "id": "constants_enums_limsprojectsource", - "community": 29, - "norm_label": "limsprojectsource" - }, - { - "label": "RunSyncState", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L117", - "id": "constants_enums_runsyncstate", - "community": 79, - "norm_label": "runsyncstate" - }, - { - "label": "SetupState", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L137", - "id": "constants_enums_setupstate", - "community": 29, - "norm_label": "setupstate" - }, - { - "label": "SyncMode", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L159", - "id": "constants_enums_syncmode", - "community": 78, - "norm_label": "syncmode" - }, - { - "label": "StagingCleanupMode", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L173", - "id": "constants_enums_stagingcleanupmode", - "community": 29, - "norm_label": "stagingcleanupmode" - }, - { - "label": "PluginStatus", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L180", - "id": "constants_enums_pluginstatus", - "community": 21, - "norm_label": "pluginstatus" - }, - { - "label": "CreationLevel", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L190", - "id": "constants_enums_creationlevel", - "community": 29, - "norm_label": "creationlevel" - }, - { - "label": "FieldType", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L200", - "id": "constants_enums_fieldtype", - "community": 29, - "norm_label": "fieldtype" - }, - { - "label": "BandwidthDay", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L210", - "id": "constants_enums_bandwidthday", - "community": 29, - "norm_label": "bandwidthday" - }, - { - "label": "SessionKind", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L222", - "id": "constants_enums_sessionkind", - "community": 29, - "norm_label": "sessionkind" - }, - { - "label": "NextAction", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L234", - "id": "constants_enums_nextaction", - "community": 29, - "norm_label": "nextaction" - }, - { - "label": "AuditScopeKind", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L241", - "id": "constants_enums_auditscopekind", - "community": 29, - "norm_label": "auditscopekind" - }, - { - "label": "DirectoryLevel", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L254", - "id": "constants_enums_directorylevel", - "community": 29, - "norm_label": "directorylevel" - }, - { - "label": "Platform", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L271", - "id": "constants_enums_platform", - "community": 29, - "norm_label": "platform" - }, - { - "label": "SetupNextAction", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L279", - "id": "constants_enums_setupnextaction", - "community": 29, - "norm_label": "setupnextaction" - }, - { - "label": "SyncHandleState", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L293", - "id": "constants_enums_synchandlestate", - "community": 29, - "norm_label": "synchandlestate" - }, - { - "label": "PluginSourceRoot", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L305", - "id": "constants_enums_pluginsourceroot", - "community": 29, - "norm_label": "pluginsourceroot" - }, - { - "label": "TreeProjectStatus", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L312", - "id": "constants_enums_treeprojectstatus", - "community": 79, - "norm_label": "treeprojectstatus" - }, - { - "label": "Closed-set enumerations referenced by the cache files, REST API, and UI. Every", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L1", - "id": "constants_enums_rationale_1", - "community": 29, - "norm_label": "closed-set enumerations referenced by the cache files, rest api, and ui. every" - }, - { - "label": "Whether a run is a real experiment or a dry-run/test. Stored under ``run_ki", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L15", - "id": "constants_enums_rationale_15", - "community": 79, - "norm_label": "whether a run is a real experiment or a dry-run/test. stored under ``run_ki" - }, - { - "label": "State machine for an item in the NAS sync queue. Stored under ``sync_status", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L25", - "id": "constants_enums_rationale_25", - "community": 78, - "norm_label": "state machine for an item in the nas sync queue. stored under ``sync_status" - }, - { - "label": "Validator severity tier. Backend Spec \u00a78.1.6.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L42", - "id": "constants_enums_rationale_42", - "community": 143, - "norm_label": "validator severity tier. backend spec \u00a78.1.6." - }, - { - "label": "Closed set of validator problem classes. Backend Spec \u00a78.1. Values are the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L49", - "id": "constants_enums_rationale_49", - "community": 29, - "norm_label": "closed set of validator problem classes. backend spec \u00a78.1. values are the" - }, - { - "label": "What kind of artefact a validator finding refers to. Used for grouping find", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L66", - "id": "constants_enums_rationale_66", - "community": 29, - "norm_label": "what kind of artefact a validator finding refers to. used for grouping find" - }, - { - "label": "High-level Copier-template category. Backend Spec \u00a75.2.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L77", - "id": "constants_enums_rationale_77", - "community": 359, - "norm_label": "high-level copier-template category. backend spec \u00a75.2." - }, - { - "label": "Run-scope tag declared in a run template's ``_exlab_run_scope``. Backend Sp", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L85", - "id": "constants_enums_rationale_85", - "community": 359, - "norm_label": "run-scope tag declared in a run template's ``_exlab_run_scope``. backend sp" - }, - { - "label": "Project status as returned by the LIMS REST API. The wire format is PascalC", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L96", - "id": "constants_enums_rationale_96", - "community": 29, - "norm_label": "project status as returned by the lims rest api. the wire format is pascalc" - }, - { - "label": "Origin of a LIMS project row presented to the UI. Backend Spec \u00a711.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L110", - "id": "constants_enums_rationale_110", - "community": 29, - "norm_label": "origin of a lims project row presented to the ui. backend spec \u00a711.3." - }, - { - "label": "Derived run-level rollup of a run's per-file NAS sync progress. Operator-fr", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L118", - "id": "constants_enums_rationale_118", - "community": 79, - "norm_label": "derived run-level rollup of a run's per-file nas sync progress. operator-fr" - }, - { - "label": "First-run / setup-readiness state used by the launcher. Backend Spec \u00a74.9.1", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L138", - "id": "constants_enums_rationale_138", - "community": 29, - "norm_label": "first-run / setup-readiness state used by the launcher. backend spec \u00a74.9.1" - }, - { - "label": "Per-equipment sync role. GUI/Orchestrator Redesign Spec \u00a73.2. Replaces the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L160", - "id": "constants_enums_rationale_160", - "community": 78, - "norm_label": "per-equipment sync role. gui/orchestrator redesign spec \u00a73.2. replaces the" - }, - { - "label": "How NAS staging directories are eventually purged. Backend Spec \u00a713.7.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L174", - "id": "constants_enums_rationale_174", - "community": 29, - "norm_label": "how nas staging directories are eventually purged. backend spec \u00a713.7." - }, - { - "label": "Plugin invocation outcome reported by the host. Backend Spec \u00a76.2.4.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L181", - "id": "constants_enums_rationale_181", - "community": 21, - "norm_label": "plugin invocation outcome reported by the host. backend spec \u00a76.2.4." - }, - { - "label": "Whether a creation.json describes a project root or a run directory. Stored", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L191", - "id": "constants_enums_rationale_191", - "community": 29, - "norm_label": "whether a creation.json describes a project root or a run directory. stored" - }, - { - "label": "Allowed input types for README field declarations. Backend Spec \u00a710.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L201", - "id": "constants_enums_rationale_201", - "community": 29, - "norm_label": "allowed input types for readme field declarations. backend spec \u00a710." - }, - { - "label": "Day-of-week values for NAS sync bandwidth windows. Backend Spec \u00a77.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L211", - "id": "constants_enums_rationale_211", - "community": 29, - "norm_label": "day-of-week values for nas sync bandwidth windows. backend spec \u00a77.1." - }, - { - "label": "Whether a wizard session creates a project root or a run directory. Mirrors", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L223", - "id": "constants_enums_rationale_223", - "community": 29, - "norm_label": "whether a wizard session creates a project root or a run directory. mirrors" - }, - { - "label": "Outcome of a session-store transition. Backend Spec \u00a74.7.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L235", - "id": "constants_enums_rationale_235", - "community": 29, - "norm_label": "outcome of a session-store transition. backend spec \u00a74.7." - }, - { - "label": "Kind discriminator for validator audit scopes. Backend Spec \u00a78.1. Values ma", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L242", - "id": "constants_enums_rationale_242", - "community": 29, - "norm_label": "kind discriminator for validator audit scopes. backend spec \u00a78.1. values ma" - }, - { - "label": "Result of classifying a directory in the validator engine. Used internally", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L255", - "id": "constants_enums_rationale_255", - "community": 29, - "norm_label": "result of classifying a directory in the validator engine. used internally" - }, - { - "label": "Normalized platform tag used for OS-conditional path dispatch.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L272", - "id": "constants_enums_rationale_272", - "community": 29, - "norm_label": "normalized platform tag used for os-conditional path dispatch." - }, - { - "label": "Next action returned by ``paths.setup_state_next_action``. Backend Spec \u00a74.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L280", - "id": "constants_enums_rationale_280", - "community": 29, - "norm_label": "next action returned by ``paths.setup_state_next_action``. backend spec \u00a74." - }, - { - "label": "In-process state of a NAS sync job handle as observed by callers. Distinct", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L294", - "id": "constants_enums_rationale_294", - "community": 29, - "norm_label": "in-process state of a nas sync job handle as observed by callers. distinct" - }, - { - "label": "Origin of a plugin record. Backend Spec \u00a76.1.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L306", - "id": "constants_enums_rationale_306", - "community": 29, - "norm_label": "origin of a plugin record. backend spec \u00a76.1.1." - }, - { - "label": "UI-layer project status displayed in the tree view. Distinct from :class:`L", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L313", - "id": "constants_enums_rationale_313", - "community": 79, - "norm_label": "ui-layer project status displayed in the tree view. distinct from :class:`l" - }, - { - "label": "patterns.py", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/patterns.py", - "source_location": "L1", - "id": "src_exlab_wizard_constants_patterns_py", - "community": 541, - "norm_label": "patterns.py" - }, - { - "label": "Regex patterns and filename-rule literals used by validators. Each regex is pro", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/patterns.py", - "source_location": "L1", - "id": "constants_patterns_rationale_1", - "community": 541, - "norm_label": "regex patterns and filename-rule literals used by validators. each regex is pro" - }, - { - "label": "limits.py", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/limits.py", - "source_location": "L1", - "id": "src_exlab_wizard_constants_limits_py", - "community": 542, - "norm_label": "limits.py" - }, - { - "label": "Hard-coded numeric limits, timeouts, and policy ceilings. Every value here is c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/limits.py", - "source_location": "L1", - "id": "constants_limits_rationale_1", - "community": 542, - "norm_label": "hard-coded numeric limits, timeouts, and policy ceilings. every value here is c" - }, - { - "label": "filenames.py", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/filenames.py", - "source_location": "L1", - "id": "src_exlab_wizard_constants_filenames_py", - "community": 543, - "norm_label": "filenames.py" - }, - { - "label": "Canonical filenames and on-disk path fragments used throughout the app. All val", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/filenames.py", - "source_location": "L1", - "id": "constants_filenames_rationale_1", - "community": 543, - "norm_label": "canonical filenames and on-disk path fragments used throughout the app. all val" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_constants_init_py", - "community": 475, - "norm_label": "__init__.py" - }, - { - "label": "keyring.py", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/keyring.py", - "source_location": "L1", - "id": "src_exlab_wizard_constants_keyring_py", - "community": 43, - "norm_label": "keyring.py" - }, - { - "label": "OS-keyring service/username conventions used for credential storage. The wizard", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/keyring.py", - "source_location": "L1", - "id": "constants_keyring_rationale_1", - "community": 43, - "norm_label": "os-keyring service/username conventions used for credential storage. the wizard" - }, - { - "label": "app.py", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/app.py", - "source_location": "L1", - "id": "src_exlab_wizard_constants_app_py", - "community": 544, - "norm_label": "app.py" - }, - { - "label": "App-level identifiers used as path / keyring / branding fragments. Single sourc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/app.py", - "source_location": "L1", - "id": "constants_app_rationale_1", - "community": 544, - "norm_label": "app-level identifiers used as path / keyring / branding fragments. single sourc" - }, - { - "label": "schema_versions.py", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/schema_versions.py", - "source_location": "L1", - "id": "src_exlab_wizard_constants_schema_versions_py", - "community": 545, - "norm_label": "schema_versions.py" - }, - { - "label": "Schema version pins for every JSON/YAML artifact the wizard reads or writes. Ev", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/schema_versions.py", - "source_location": "L1", - "id": "constants_schema_versions_rationale_1", - "community": 545, - "norm_label": "schema version pins for every json/yaml artifact the wizard reads or writes. ev" - }, - { - "label": "json_files.py", - "file_type": "code", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L1", - "id": "src_exlab_wizard_io_json_files_py", - "community": 117, - "norm_label": "json_files.py" - }, - { - "label": "require_schema_major()", - "file_type": "code", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L28", - "id": "io_json_files_require_schema_major", - "community": 117, - "norm_label": "require_schema_major()" - }, - { - "label": "read_msgspec_json()", - "file_type": "code", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L53", - "id": "io_json_files_read_msgspec_json", - "community": 231, - "norm_label": "read_msgspec_json()" - }, - { - "label": "read_msgspec_json_raw()", - "file_type": "code", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L73", - "id": "io_json_files_read_msgspec_json_raw", - "community": 117, - "norm_label": "read_msgspec_json_raw()" - }, - { - "label": "_peek_and_check_major()", - "file_type": "code", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L94", - "id": "io_json_files_peek_and_check_major", - "community": 117, - "norm_label": "_peek_and_check_major()" - }, - { - "label": "msgspec JSON readers with optional schema-major gating. Centralizes the ``path.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L1", - "id": "io_json_files_rationale_1", - "community": 117, - "norm_label": "msgspec json readers with optional schema-major gating. centralizes the ``path." - }, - { - "label": "Raise ``SchemaMajorMismatchError`` when ``version`` is a different major. B", - "file_type": "rationale", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L29", - "id": "io_json_files_rationale_29", - "community": 117, - "norm_label": "raise ``schemamajormismatcherror`` when ``version`` is a different major. b" - }, - { - "label": "Read ``path`` and decode it as ``type_``, optionally gating on major. When", - "file_type": "rationale", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L59", - "id": "io_json_files_rationale_59", - "community": 231, - "norm_label": "read ``path`` and decode it as ``type_``, optionally gating on major. when" - }, - { - "label": "Two-pass read returning the raw dict for migration-default patching. Some r", - "file_type": "rationale", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L78", - "id": "io_json_files_rationale_78", - "community": 117, - "norm_label": "two-pass read returning the raw dict for migration-default patching. some r" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/io/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_io_init_py", - "community": 546, - "norm_label": "__init__.py" - }, - { - "label": "Filesystem I/O helpers shared across the codebase. Backend Spec \u00a74.4 (file IO d", - "file_type": "rationale", - "source_file": "src/exlab_wizard/io/__init__.py", - "source_location": "L1", - "id": "io_init_rationale_1", - "community": 546, - "norm_label": "filesystem i/o helpers shared across the codebase. backend spec \u00a74.4 (file io d" - }, - { - "label": "atomic_write.py", - "file_type": "code", - "source_file": "src/exlab_wizard/io/atomic_write.py", - "source_location": "L1", - "id": "src_exlab_wizard_io_atomic_write_py", - "community": 262, - "norm_label": "atomic_write.py" - }, - { - "label": "atomic_write_bytes()", - "file_type": "code", - "source_file": "src/exlab_wizard/io/atomic_write.py", - "source_location": "L21", - "id": "io_atomic_write_atomic_write_bytes", - "community": 262, - "norm_label": "atomic_write_bytes()" - }, - { - "label": "Atomic file writes via the \u00a74.4.5 temp-file + ``os.replace`` recipe. This is th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/io/atomic_write.py", - "source_location": "L1", - "id": "io_atomic_write_rationale_1", - "community": 262, - "norm_label": "atomic file writes via the \u00a74.4.5 temp-file + ``os.replace`` recipe. this is th" - }, - { - "label": "Write ``data`` to ``path`` atomically. Implementation follows the \u00a74.4.5 re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/io/atomic_write.py", - "source_location": "L22", - "id": "io_atomic_write_rationale_22", - "community": 262, - "norm_label": "write ``data`` to ``path`` atomically. implementation follows the \u00a74.4.5 re" - }, - { - "label": "yaml_files.py", - "file_type": "code", - "source_file": "src/exlab_wizard/io/yaml_files.py", - "source_location": "L1", - "id": "src_exlab_wizard_io_yaml_files_py", - "community": 7, - "norm_label": "yaml_files.py" - }, - { - "label": "load_yaml_manifest()", - "file_type": "code", - "source_file": "src/exlab_wizard/io/yaml_files.py", - "source_location": "L20", - "id": "io_yaml_files_load_yaml_manifest", - "community": 7, - "norm_label": "load_yaml_manifest()" - }, - { - "label": "Shared YAML manifest reader (PyYAML safe-load). Used for read-only manifests wh", - "file_type": "rationale", - "source_file": "src/exlab_wizard/io/yaml_files.py", - "source_location": "L1", - "id": "io_yaml_files_rationale_1", - "community": 7, - "norm_label": "shared yaml manifest reader (pyyaml safe-load). used for read-only manifests wh" - }, - { - "label": "Read and ``safe_load`` a YAML manifest into a plain dict. Raises ``FileNotF", - "file_type": "rationale", - "source_file": "src/exlab_wizard/io/yaml_files.py", - "source_location": "L21", - "id": "io_yaml_files_rationale_21", - "community": 7, - "norm_label": "read and ``safe_load`` a yaml manifest into a plain dict. raises ``filenotf" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/template/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_template_init_py", - "community": 477, - "norm_label": "__init__.py" - }, - { - "label": "copier_driver.py", - "file_type": "code", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L1", - "id": "src_exlab_wizard_template_copier_driver_py", - "community": 49, - "norm_label": "copier_driver.py" - }, - { - "label": "ResolvedTemplate", - "file_type": "code", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L60", - "id": "template_copier_driver_resolvedtemplate", - "community": 10, - "norm_label": "resolvedtemplate" - }, - { - "label": "RenderResult", - "file_type": "code", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L95", - "id": "template_copier_driver_renderresult", - "community": 10, - "norm_label": "renderresult" - }, - { - "label": "TemplateEngine", - "file_type": "code", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L109", - "id": "template_copier_driver_templateengine", - "community": 49, - "norm_label": "templateengine" - }, - { - "label": ".resolve()", - "file_type": "code", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L112", - "id": "template_copier_driver_templateengine_resolve", - "community": 359, - "norm_label": ".resolve()" - }, - { - "label": "_extract_readme_fields()", - "file_type": "code", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L228", - "id": "template_copier_driver_extract_readme_fields", - "community": 49, - "norm_label": "_extract_readme_fields()" - }, - { - "label": ".render()", - "file_type": "code", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L257", - "id": "template_copier_driver_templateengine_render", - "community": 49, - "norm_label": ".render()" - }, - { - "label": "_snapshot_files()", - "file_type": "code", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L307", - "id": "template_copier_driver_snapshot_files", - "community": 49, - "norm_label": "_snapshot_files()" - }, - { - "label": "Copier template-engine wrapper. Backend Spec \u00a74.4.2 / \u00a75. This module wraps Cop", - "file_type": "rationale", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L1", - "id": "template_copier_driver_rationale_1", - "community": 49, - "norm_label": "copier template-engine wrapper. backend spec \u00a74.4.2 / \u00a75. this module wraps cop" - }, - { - "label": "A loaded template's metadata. Backend Spec \u00a75.2. Attributes: name:", - "file_type": "rationale", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L61", - "id": "template_copier_driver_rationale_61", - "community": 10, - "norm_label": "a loaded template's metadata. backend spec \u00a75.2. attributes: name:" - }, - { - "label": "Outcome of a render call. Attributes: dst_path: The absolute destin", - "file_type": "rationale", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L96", - "id": "template_copier_driver_rationale_96", - "community": 10, - "norm_label": "outcome of a render call. attributes: dst_path: the absolute destin" - }, - { - "label": "Wraps the Copier Python API behind the \u00a74.4.2 contract.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L110", - "id": "template_copier_driver_rationale_110", - "community": 49, - "norm_label": "wraps the copier python api behind the \u00a74.4.2 contract." - }, - { - "label": "Load + validate a template's ``copier.yml``. Args: template", - "file_type": "rationale", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L113", - "id": "template_copier_driver_rationale_113", - "community": 359, - "norm_label": "load + validate a template's ``copier.yml``. args: template" - }, - { - "label": "Pull ``_exlab_readme.fields`` and reject core-field collisions. Tolerat", - "file_type": "rationale", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L231", - "id": "template_copier_driver_rationale_231", - "community": 643, - "norm_label": "pull ``_exlab_readme.fields`` and reject core-field collisions. tolerat" - }, - { - "label": "Render the template into ``dst`` via Copier. Args: tpl: A p", - "file_type": "rationale", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L263", - "id": "template_copier_driver_rationale_263", - "community": 49, - "norm_label": "render the template into ``dst`` via copier. args: tpl: a p" - }, - { - "label": "Return the set of regular files under ``root`` (recursively). Returns the e", - "file_type": "rationale", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L308", - "id": "template_copier_driver_rationale_308", - "community": 49, - "norm_label": "return the set of regular files under ``root`` (recursively). returns the e" - }, - { - "label": "time.py", - "file_type": "code", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L1", - "id": "src_exlab_wizard_utils_time_py", - "community": 134, - "norm_label": "time.py" - }, - { - "label": "utc_now()", - "file_type": "code", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L28", - "id": "utils_time_utc_now", - "community": 18, - "norm_label": "utc_now()" - }, - { - "label": "utc_now_or()", - "file_type": "code", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L39", - "id": "utils_time_utc_now_or", - "community": 265, - "norm_label": "utc_now_or()" - }, - { - "label": "utc_now_iso()", - "file_type": "code", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L49", - "id": "utils_time_utc_now_iso", - "community": 25, - "norm_label": "utc_now_iso()" - }, - { - "label": "dt_to_iso()", - "file_type": "code", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L58", - "id": "utils_time_dt_to_iso", - "community": 134, - "norm_label": "dt_to_iso()" - }, - { - "label": "parse_utc_iso()", - "file_type": "code", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L69", - "id": "utils_time_parse_utc_iso", - "community": 134, - "norm_label": "parse_utc_iso()" - }, - { - "label": "parse_utc_iso_or_none()", - "file_type": "code", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L84", - "id": "utils_time_parse_utc_iso_or_none", - "community": 134, - "norm_label": "parse_utc_iso_or_none()" - }, - { - "label": "UTC ISO-8601 timestamp helpers. Backend Spec \u00a713.4 fixes the wire format used i", - "file_type": "rationale", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L1", - "id": "utils_time_rationale_1", - "community": 134, - "norm_label": "utc iso-8601 timestamp helpers. backend spec \u00a713.4 fixes the wire format used i" - }, - { - "label": "Return the current UTC time as a timezone-aware ``datetime``. Use this when", - "file_type": "rationale", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L29", - "id": "utils_time_rationale_29", - "community": 18, - "norm_label": "return the current utc time as a timezone-aware ``datetime``. use this when" - }, - { - "label": "Return ``dt`` when supplied, otherwise the current UTC time. Mirrors the ``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L40", - "id": "utils_time_rationale_40", - "community": 265, - "norm_label": "return ``dt`` when supplied, otherwise the current utc time. mirrors the ``" - }, - { - "label": "Return the current UTC time as ``YYYY-MM-DDTHH:MM:SSZ``. Seconds-resolution", - "file_type": "rationale", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L50", - "id": "utils_time_rationale_50", - "community": 25, - "norm_label": "return the current utc time as ``yyyy-mm-ddthh:mm:ssz``. seconds-resolution" - }, - { - "label": "Format a UTC-aware ``datetime`` as ``YYYY-MM-DDTHH:MM:SSZ``. Naive datetime", - "file_type": "rationale", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L59", - "id": "utils_time_rationale_59", - "community": 134, - "norm_label": "format a utc-aware ``datetime`` as ``yyyy-mm-ddthh:mm:ssz``. naive datetime" - }, - { - "label": "Parse an ISO-8601 string into a UTC-aware ``datetime``. Accepts both the ca", - "file_type": "rationale", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L70", - "id": "utils_time_rationale_70", - "community": 134, - "norm_label": "parse an iso-8601 string into a utc-aware ``datetime``. accepts both the ca" - }, - { - "label": "Like :func:`parse_utc_iso` but returns ``None`` on missing or bad input. Us", - "file_type": "rationale", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L85", - "id": "utils_time_rationale_85", - "community": 134, - "norm_label": "like :func:`parse_utc_iso` but returns ``none`` on missing or bad input. us" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/utils/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_utils_init_py", - "community": 547, - "norm_label": "__init__.py" - }, - { - "label": "Generic, dependency-free helpers used across the codebase. Backend Spec \u00a713.4 (", - "file_type": "rationale", - "source_file": "src/exlab_wizard/utils/__init__.py", - "source_location": "L1", - "id": "utils_init_rationale_1", - "community": 547, - "norm_label": "generic, dependency-free helpers used across the codebase. backend spec \u00a713.4 (" - }, - { - "label": "state.py", - "file_type": "code", - "source_file": "src/exlab_wizard/utils/state.py", - "source_location": "L1", - "id": "src_exlab_wizard_utils_state_py", - "community": 24, - "norm_label": "state.py" - }, - { - "label": "assert_forward_transition()", - "file_type": "code", - "source_file": "src/exlab_wizard/utils/state.py", - "source_location": "L14", - "id": "utils_state_assert_forward_transition", - "community": 24, - "norm_label": "assert_forward_transition()" - }, - { - "label": "Generic forward-transition guard for closed-set state machines. Used by both th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/utils/state.py", - "source_location": "L1", - "id": "utils_state_rationale_1", - "community": 24, - "norm_label": "generic forward-transition guard for closed-set state machines. used by both th" - }, - { - "label": "Raise ``ValueError`` when ``current -> new_state`` is not in ``table``. ``t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/utils/state.py", - "source_location": "L19", - "id": "utils_state_rationale_19", - "community": 24, - "norm_label": "raise ``valueerror`` when ``current -> new_state`` is not in ``table``. ``t" - }, - { - "label": "icon.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_icon_py", - "community": 103, - "norm_label": "icon.py" - }, - { - "label": "default_icon_image()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L39", - "id": "tray_icon_default_icon_image", - "community": 103, - "norm_label": "default_icon_image()" - }, - { - "label": "build_icon()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L58", - "id": "tray_icon_build_icon", - "community": 103, - "norm_label": "build_icon()" - }, - { - "label": "_import_pystray()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L94", - "id": "tray_icon_import_pystray", - "community": 103, - "norm_label": "_import_pystray()" - }, - { - "label": "_safe_call()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L101", - "id": "tray_icon_safe_call", - "community": 103, - "norm_label": "_safe_call()" - }, - { - "label": "pystray icon construction. Backend Spec \u00a74.3.2. The tray icon's menu has three", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L1", - "id": "tray_icon_rationale_1", - "community": 103, - "norm_label": "pystray icon construction. backend spec \u00a74.3.2. the tray icon's menu has three" - }, - { - "label": "Return a small PIL.Image used as the tray icon bitmap. Imported lazily so t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L40", - "id": "tray_icon_rationale_40", - "community": 103, - "norm_label": "return a small pil.image used as the tray icon bitmap. imported lazily so t" - }, - { - "label": "Build the pystray icon with the \u00a74.1 menu. ``status_provider`` is invoked e", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L68", - "id": "tray_icon_rationale_68", - "community": 103, - "norm_label": "build the pystray icon with the \u00a74.1 menu. ``status_provider`` is invoked e" - }, - { - "label": "Lazy import so unit tests on headless hosts can mock pystray.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L95", - "id": "tray_icon_rationale_95", - "community": 103, - "norm_label": "lazy import so unit tests on headless hosts can mock pystray." - }, - { - "label": "Invoke a menu callback; log + swallow exceptions. The pystray menu handler", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L102", - "id": "tray_icon_rationale_102", - "community": 103, - "norm_label": "invoke a menu callback; log + swallow exceptions. the pystray menu handler" - }, - { - "label": "server_runner.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_server_runner_py", - "community": 27, - "norm_label": "server_runner.py" - }, - { - "label": "pick_free_port()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L41", - "id": "tray_server_runner_pick_free_port", - "community": 27, - "norm_label": "pick_free_port()" - }, - { - "label": "ServerRunner", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L55", - "id": "tray_server_runner_serverrunner", - "community": 27, - "norm_label": "serverrunner" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L61", - "id": "tray_server_runner_serverrunner_init", - "community": 27, - "norm_label": ".__init__()" - }, - { - "label": ".start()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L75", - "id": "tray_server_runner_serverrunner_start", - "community": 27, - "norm_label": ".start()" - }, - { - "label": ".stop()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L103", - "id": "tray_server_runner_serverrunner_stop", - "community": 27, - "norm_label": ".stop()" - }, - { - "label": "port()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L124", - "id": "tray_server_runner_port", - "community": 27, - "norm_label": "port()" - }, - { - "label": "is_running()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L135", - "id": "tray_server_runner_is_running", - "community": 27, - "norm_label": "is_running()" - }, - { - "label": "state_file()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L142", - "id": "tray_server_runner_state_file", - "community": 27, - "norm_label": "state_file()" - }, - { - "label": "._build_uvicorn()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L150", - "id": "tray_server_runner_serverrunner_build_uvicorn", - "community": 27, - "norm_label": "._build_uvicorn()" - }, - { - "label": "._write_state_file()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L170", - "id": "tray_server_runner_serverrunner_write_state_file", - "community": 27, - "norm_label": "._write_state_file()" - }, - { - "label": "._delete_state_file()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L183", - "id": "tray_server_runner_serverrunner_delete_state_file", - "community": 27, - "norm_label": "._delete_state_file()" - }, - { - "label": "Programmatic uvicorn launcher with atomic ``server.json`` writes. Backend Spec \u00a7", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L1", - "id": "tray_server_runner_rationale_1", - "community": 27, - "norm_label": "programmatic uvicorn launcher with atomic ``server.json`` writes. backend spec \u00a7" - }, - { - "label": "Return a free localhost port from the OS. Binds a SOCK_STREAM socket to ``(", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L42", - "id": "tray_server_runner_rationale_42", - "community": 27, - "norm_label": "return a free localhost port from the os. binds a sock_stream socket to ``(" - }, - { - "label": "Starts uvicorn on a free localhost port and tracks its state file. Backend", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L56", - "id": "tray_server_runner_rationale_56", - "community": 27, - "norm_label": "starts uvicorn on a free localhost port and tracks its state file. backend" - }, - { - "label": "Pick a port, launch uvicorn in a worker thread, write server.json. Retu", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L76", - "id": "tray_server_runner_rationale_76", - "community": 27, - "norm_label": "pick a port, launch uvicorn in a worker thread, write server.json. retu" - }, - { - "label": "Signal uvicorn to exit, join the worker thread, delete server.json. Ide", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L104", - "id": "tray_server_runner_rationale_104", - "community": 27, - "norm_label": "signal uvicorn to exit, join the worker thread, delete server.json. ide" - }, - { - "label": "Return the port the server is bound to. Raises ``RuntimeError`` when ca", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L125", - "id": "tray_server_runner_rationale_125", - "community": 644, - "norm_label": "return the port the server is bound to. raises ``runtimeerror`` when ca" - }, - { - "label": "Return ``True`` while the worker thread is alive.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L136", - "id": "tray_server_runner_rationale_136", - "community": 645, - "norm_label": "return ``true`` while the worker thread is alive." - }, - { - "label": "Return the absolute path of the ``server.json`` state file.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L143", - "id": "tray_server_runner_rationale_143", - "community": 646, - "norm_label": "return the absolute path of the ``server.json`` state file." - }, - { - "label": "Return ``(uvicorn.Config, uvicorn.Server)`` for the given port. Split o", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L151", - "id": "tray_server_runner_rationale_151", - "community": 27, - "norm_label": "return ``(uvicorn.config, uvicorn.server)`` for the given port. split o" - }, - { - "label": "Atomically write ``server.json``. Backend Spec \u00a74.4.5 idiom.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L171", - "id": "tray_server_runner_rationale_171", - "community": 27, - "norm_label": "atomically write ``server.json``. backend spec \u00a74.4.5 idiom." - }, - { - "label": "Best-effort delete; missing file is fine.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L184", - "id": "tray_server_runner_rationale_184", - "community": 27, - "norm_label": "best-effort delete; missing file is fine." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_init_py", - "community": 478, - "norm_label": "__init__.py" - }, - { - "label": "autostart.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_autostart_py", - "community": 213, - "norm_label": "autostart.py" - }, - { - "label": "AutostartManager", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L54", - "id": "tray_autostart_autostartmanager", - "community": 72, - "norm_label": "autostartmanager" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L70", - "id": "tray_autostart_autostartmanager_init", - "community": 213, - "norm_label": ".__init__()" - }, - { - "label": ".is_registered()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L93", - "id": "tray_autostart_autostartmanager_is_registered", - "community": 72, - "norm_label": ".is_registered()" - }, - { - "label": ".register()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L103", - "id": "tray_autostart_autostartmanager_register", - "community": 72, - "norm_label": ".register()" - }, - { - "label": ".unregister()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L113", - "id": "tray_autostart_autostartmanager_unregister", - "community": 72, - "norm_label": ".unregister()" - }, - { - "label": "executable_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L125", - "id": "tray_autostart_executable_path", - "community": 213, - "norm_label": "executable_path()" - }, - { - "label": "platform()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L130", - "id": "tray_autostart_platform", - "community": 213, - "norm_label": "platform()" - }, - { - "label": "._plist_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L138", - "id": "tray_autostart_autostartmanager_plist_path", - "community": 72, - "norm_label": "._plist_path()" - }, - { - "label": "._write_plist()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L141", - "id": "tray_autostart_autostartmanager_write_plist", - "community": 72, - "norm_label": "._write_plist()" - }, - { - "label": "._systemd_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L151", - "id": "tray_autostart_autostartmanager_systemd_path", - "community": 72, - "norm_label": "._systemd_path()" - }, - { - "label": "._desktop_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L154", - "id": "tray_autostart_autostartmanager_desktop_path", - "community": 72, - "norm_label": "._desktop_path()" - }, - { - "label": "._register_linux()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L157", - "id": "tray_autostart_autostartmanager_register_linux", - "community": 72, - "norm_label": "._register_linux()" - }, - { - "label": "._write_systemd_unit()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L163", - "id": "tray_autostart_autostartmanager_write_systemd_unit", - "community": 72, - "norm_label": "._write_systemd_unit()" - }, - { - "label": "._write_desktop_file()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L168", - "id": "tray_autostart_autostartmanager_write_desktop_file", - "community": 72, - "norm_label": "._write_desktop_file()" - }, - { - "label": "._set_win_reg_value()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L177", - "id": "tray_autostart_autostartmanager_set_win_reg_value", - "community": 72, - "norm_label": "._set_win_reg_value()" - }, - { - "label": "._delete_win_reg_value()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L183", - "id": "tray_autostart_autostartmanager_delete_win_reg_value", - "community": 72, - "norm_label": "._delete_win_reg_value()" - }, - { - "label": "._win_reg_value()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L193", - "id": "tray_autostart_autostartmanager_win_reg_value", - "community": 72, - "norm_label": "._win_reg_value()" - }, - { - "label": "_render_plist()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L210", - "id": "tray_autostart_render_plist", - "community": 213, - "norm_label": "_render_plist()" - }, - { - "label": "_render_systemd_unit()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L236", - "id": "tray_autostart_render_systemd_unit", - "community": 213, - "norm_label": "_render_systemd_unit()" - }, - { - "label": "_render_desktop_file()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L251", - "id": "tray_autostart_render_desktop_file", - "community": 213, - "norm_label": "_render_desktop_file()" - }, - { - "label": "_detect_platform()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L268", - "id": "tray_autostart_detect_platform", - "community": 213, - "norm_label": "_detect_platform()" - }, - { - "label": "_silently_unlink()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L276", - "id": "tray_autostart_silently_unlink", - "community": 213, - "norm_label": "_silently_unlink()" - }, - { - "label": "_import_winreg()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L281", - "id": "tray_autostart_import_winreg", - "community": 72, - "norm_label": "_import_winreg()" - }, - { - "label": "Per-platform autostart registration. Backend Spec \u00a74.3.2 + \u00a715.7. Registers ``E", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L1", - "id": "tray_autostart_rationale_1", - "community": 213, - "norm_label": "per-platform autostart registration. backend spec \u00a74.3.2 + \u00a715.7. registers ``e" - }, - { - "label": "Per-platform autostart register / unregister / is_registered. Construction-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L55", - "id": "tray_autostart_rationale_55", - "community": 72, - "norm_label": "per-platform autostart register / unregister / is_registered. construction-" - }, - { - "label": "Return True iff a per-platform autostart record exists.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L94", - "id": "tray_autostart_rationale_94", - "community": 72, - "norm_label": "return true iff a per-platform autostart record exists." - }, - { - "label": "Create the per-platform autostart record. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L104", - "id": "tray_autostart_rationale_104", - "community": 72, - "norm_label": "create the per-platform autostart record. idempotent." - }, - { - "label": "Remove the per-platform autostart record. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L114", - "id": "tray_autostart_rationale_114", - "community": 72, - "norm_label": "remove the per-platform autostart record. idempotent." - }, - { - "label": "Return the absolute path the autostart record points at.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L126", - "id": "tray_autostart_rationale_126", - "community": 647, - "norm_label": "return the absolute path the autostart record points at." - }, - { - "label": "Return the platform dispatch this manager is configured for.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L131", - "id": "tray_autostart_rationale_131", - "community": 648, - "norm_label": "return the platform dispatch this manager is configured for." - }, - { - "label": "Return the macOS LaunchAgent plist body. Backend Spec \u00a715.7.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L211", - "id": "tray_autostart_rationale_211", - "community": 213, - "norm_label": "return the macos launchagent plist body. backend spec \u00a715.7.1." - }, - { - "label": "Return the Linux systemd-user unit body. Backend Spec \u00a715.7.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L237", - "id": "tray_autostart_rationale_237", - "community": 213, - "norm_label": "return the linux systemd-user unit body. backend spec \u00a715.7.1." - }, - { - "label": "Return the XDG ``.desktop`` autostart body. Backend Spec \u00a715.7.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L252", - "id": "tray_autostart_rationale_252", - "community": 213, - "norm_label": "return the xdg ``.desktop`` autostart body. backend spec \u00a715.7.1." - }, - { - "label": "Import ``winreg`` lazily so the module loads on macOS / Linux too. Returns", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L282", - "id": "tray_autostart_rationale_282", - "community": 72, - "norm_label": "import ``winreg`` lazily so the module loads on macos / linux too. returns" - }, - { - "label": "quit_coordinator.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_quit_coordinator_py", - "community": 58, - "norm_label": "quit_coordinator.py" - }, - { - "label": "QuitCoordinator", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L49", - "id": "tray_quit_coordinator_quitcoordinator", - "community": 58, - "norm_label": "quitcoordinator" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L57", - "id": "tray_quit_coordinator_quitcoordinator_init", - "community": 58, - "norm_label": ".__init__()" - }, - { - "label": ".quit()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L82", - "id": "tray_quit_coordinator_quitcoordinator_quit", - "community": 58, - "norm_label": ".quit()" - }, - { - "label": "._is_idle()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L112", - "id": "tray_quit_coordinator_quitcoordinator_is_idle", - "community": 58, - "norm_label": "._is_idle()" - }, - { - "label": "._wait_for_idle()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L125", - "id": "tray_quit_coordinator_quitcoordinator_wait_for_idle", - "community": 58, - "norm_label": "._wait_for_idle()" - }, - { - "label": "._prompt_force_quit()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L147", - "id": "tray_quit_coordinator_quitcoordinator_prompt_force_quit", - "community": 58, - "norm_label": "._prompt_force_quit()" - }, - { - "label": "_safe_count()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L163", - "id": "tray_quit_coordinator_safe_count", - "community": 58, - "norm_label": "_safe_count()" - }, - { - "label": "Graceful tray shutdown coordinator. Backend Spec \u00a74.3.2. Steps documented in \u00a74", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L1", - "id": "tray_quit_coordinator_rationale_1", - "community": 58, - "norm_label": "graceful tray shutdown coordinator. backend spec \u00a74.3.2. steps documented in \u00a74" - }, - { - "label": "Drive the \u00a74.3.2 graceful-shutdown protocol. Construction-time dependencies", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L50", - "id": "tray_quit_coordinator_rationale_50", - "community": 58, - "norm_label": "drive the \u00a74.3.2 graceful-shutdown protocol. construction-time dependencies" - }, - { - "label": "Run the graceful-shutdown protocol. ``sigterm=True`` reduces the wait w", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L83", - "id": "tray_quit_coordinator_rationale_83", - "community": 58, - "norm_label": "run the graceful-shutdown protocol. ``sigterm=true`` reduces the wait w" - }, - { - "label": "Return True iff the \u00a74.3.2 predicate holds. ``SessionStore.active_sessi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L113", - "id": "tray_quit_coordinator_rationale_113", - "community": 58, - "norm_label": "return true iff the \u00a74.3.2 predicate holds. ``sessionstore.active_sessi" - }, - { - "label": "Poll :meth:`_is_idle` up to ``deadline_seconds`` seconds. Returns True", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L126", - "id": "tray_quit_coordinator_rationale_126", - "community": 58, - "norm_label": "poll :meth:`_is_idle` up to ``deadline_seconds`` seconds. returns true" - }, - { - "label": "Invoke the operator-facing force-quit prompt. Returns ``True`` to indic", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L148", - "id": "tray_quit_coordinator_rationale_148", - "community": 58, - "norm_label": "invoke the operator-facing force-quit prompt. returns ``true`` to indic" - }, - { - "label": "Return ``int(obj.)`` defensively. Falls through ``None``, missing att", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L164", - "id": "tray_quit_coordinator_rationale_164", - "community": 58, - "norm_label": "return ``int(obj.)`` defensively. falls through ``none``, missing att" - }, - { - "label": "window_launcher.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_window_launcher_py", - "community": 88, - "norm_label": "window_launcher.py" - }, - { - "label": "_resolve_window_executable()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L35", - "id": "tray_window_launcher_resolve_window_executable", - "community": 88, - "norm_label": "_resolve_window_executable()" - }, - { - "label": "WindowLauncher", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L55", - "id": "tray_window_launcher_windowlauncher", - "community": 88, - "norm_label": "windowlauncher" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L63", - "id": "tray_window_launcher_windowlauncher_init", - "community": 88, - "norm_label": ".__init__()" - }, - { - "label": ".open()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L77", - "id": "tray_window_launcher_windowlauncher_open", - "community": 88, - "norm_label": ".open()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L89", - "id": "tray_window_launcher_windowlauncher_close", - "community": 88, - "norm_label": ".close()" - }, - { - "label": "is_alive()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L103", - "id": "tray_window_launcher_is_alive", - "community": 88, - "norm_label": "is_alive()" - }, - { - "label": "pid()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L110", - "id": "tray_window_launcher_pid", - "community": 88, - "norm_label": "pid()" - }, - { - "label": "._argv()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L120", - "id": "tray_window_launcher_windowlauncher_argv", - "community": 88, - "norm_label": "._argv()" - }, - { - "label": "._focus_existing()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L126", - "id": "tray_window_launcher_windowlauncher_focus_existing", - "community": 88, - "norm_label": "._focus_existing()" - }, - { - "label": "Spawn / focus the on-demand window subprocess. Backend Spec \u00a74.3.2. The tray cl", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L1", - "id": "tray_window_launcher_rationale_1", - "community": 88, - "norm_label": "spawn / focus the on-demand window subprocess. backend spec \u00a74.3.2. the tray cl" - }, - { - "label": "Return the argv prefix for spawning ``exlab-wizard-window``. Resolution ord", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L36", - "id": "tray_window_launcher_rationale_36", - "community": 88, - "norm_label": "return the argv prefix for spawning ``exlab-wizard-window``. resolution ord" - }, - { - "label": "Spawn ``exlab-wizard-window`` as a subprocess, track its PID. On a re-open", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L56", - "id": "tray_window_launcher_rationale_56", - "community": 88, - "norm_label": "spawn ``exlab-wizard-window`` as a subprocess, track its pid. on a re-open" - }, - { - "label": "Spawn a window subprocess, or focus the existing one.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L78", - "id": "tray_window_launcher_rationale_78", - "community": 88, - "norm_label": "spawn a window subprocess, or focus the existing one." - }, - { - "label": "Terminate the live window subprocess, if any. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L90", - "id": "tray_window_launcher_rationale_90", - "community": 88, - "norm_label": "terminate the live window subprocess, if any. idempotent." - }, - { - "label": "Return ``True`` while the window subprocess is running.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L104", - "id": "tray_window_launcher_rationale_104", - "community": 649, - "norm_label": "return ``true`` while the window subprocess is running." - }, - { - "label": "Return the live window's PID, or ``None`` if no window is up.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L111", - "id": "tray_window_launcher_rationale_111", - "community": 650, - "norm_label": "return the live window's pid, or ``none`` if no window is up." - }, - { - "label": "Return the argv to spawn the window subprocess.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L121", - "id": "tray_window_launcher_rationale_121", - "community": 88, - "norm_label": "return the argv to spawn the window subprocess." - }, - { - "label": "Best-effort raise/focus of the existing window. v1 logs the request; th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L127", - "id": "tray_window_launcher_rationale_127", - "community": 88, - "norm_label": "best-effort raise/focus of the existing window. v1 logs the request; th" - }, - { - "label": "notifications.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_notifications_py", - "community": 44, - "norm_label": "notifications.py" - }, - { - "label": "notify()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L50", - "id": "tray_notifications_notify", - "community": 44, - "norm_label": "notify()" - }, - { - "label": "_default_notifier()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L70", - "id": "tray_notifications_default_notifier", - "community": 44, - "norm_label": "_default_notifier()" - }, - { - "label": "_noop_notifier()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L80", - "id": "tray_notifications_noop_notifier", - "community": 44, - "norm_label": "_noop_notifier()" - }, - { - "label": "_Bucket", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L90", - "id": "tray_notifications_bucket", - "community": 44, - "norm_label": "_bucket" - }, - { - "label": "NotificationBus", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L99", - "id": "tray_notifications_notificationbus", - "community": 44, - "norm_label": "notificationbus" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L108", - "id": "tray_notifications_notificationbus_init", - "community": 44, - "norm_label": ".__init__()" - }, - { - "label": ".emit()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L125", - "id": "tray_notifications_notificationbus_emit", - "community": 44, - "norm_label": ".emit()" - }, - { - "label": ".flush_pending()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L153", - "id": "tray_notifications_notificationbus_flush_pending", - "community": 44, - "norm_label": ".flush_pending()" - }, - { - "label": ".cancel_all()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L166", - "id": "tray_notifications_notificationbus_cancel_all", - "community": 44, - "norm_label": ".cancel_all()" - }, - { - "label": "._flush()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L178", - "id": "tray_notifications_notificationbus_flush", - "community": 44, - "norm_label": "._flush()" - }, - { - "label": "_coalesced_message()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L192", - "id": "tray_notifications_coalesced_message", - "community": 44, - "norm_label": "_coalesced_message()" - }, - { - "label": "OS notifications via plyer with 5-second coalescing. Backend Spec \u00a715.7.3. Two", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L1", - "id": "tray_notifications_rationale_1", - "community": 44, - "norm_label": "os notifications via plyer with 5-second coalescing. backend spec \u00a715.7.3. two" - }, - { - "label": "Fire a plyer notification (or an injected stub). ``notifier`` defaults to `", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L56", - "id": "tray_notifications_rationale_56", - "community": 44, - "norm_label": "fire a plyer notification (or an injected stub). ``notifier`` defaults to `" - }, - { - "label": "Resolve the plyer notifier lazily; safe even when plyer's backend errors.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L71", - "id": "tray_notifications_rationale_71", - "community": 44, - "norm_label": "resolve the plyer notifier lazily; safe even when plyer's backend errors." - }, - { - "label": "Per-trigger coalescing bucket.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L91", - "id": "tray_notifications_rationale_91", - "community": 44, - "norm_label": "per-trigger coalescing bucket." - }, - { - "label": "Coalescing layer over :func:`notify`. The launcher constructs one bus and t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L100", - "id": "tray_notifications_rationale_100", - "community": 44, - "norm_label": "coalescing layer over :func:`notify`. the launcher constructs one bus and t" - }, - { - "label": "Submit a notification trigger. If the window is foregrounded the call i", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L126", - "id": "tray_notifications_rationale_126", - "community": 44, - "norm_label": "submit a notification trigger. if the window is foregrounded the call i" - }, - { - "label": "Drain every active bucket synchronously. Returns the bucket count. Used", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L154", - "id": "tray_notifications_rationale_154", - "community": 44, - "norm_label": "drain every active bucket synchronously. returns the bucket count. used" - }, - { - "label": "Cancel every active timer without firing the notifications.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L167", - "id": "tray_notifications_rationale_167", - "community": 44, - "norm_label": "cancel every active timer without firing the notifications." - }, - { - "label": "Render the coalesced summary string for a burst of ``count`` events.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L193", - "id": "tray_notifications_rationale_193", - "community": 44, - "norm_label": "render the coalesced summary string for a burst of ``count`` events." - }, - { - "label": "main.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_main_py", - "community": 110, - "norm_label": "main.py" - }, - { - "label": "TrayApp", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L49", - "id": "tray_main_trayapp", - "community": 9, - "norm_label": "trayapp" - }, - { - "label": ".start_server()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L69", - "id": "tray_main_trayapp_start_server", - "community": 110, - "norm_label": ".start_server()" - }, - { - "label": ".open_window()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L73", - "id": "tray_main_trayapp_open_window", - "community": 9, - "norm_label": ".open_window()" - }, - { - "label": ".request_quit()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L77", - "id": "tray_main_trayapp_request_quit", - "community": 110, - "norm_label": ".request_quit()" - }, - { - "label": ".shutdown()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L91", - "id": "tray_main_trayapp_shutdown", - "community": 110, - "norm_label": ".shutdown()" - }, - { - "label": ".run()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L98", - "id": "tray_main_trayapp_run", - "community": 110, - "norm_label": ".run()" - }, - { - "label": "_build_default_app()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L129", - "id": "tray_main_build_default_app", - "community": 110, - "norm_label": "_build_default_app()" - }, - { - "label": "_build_default_components()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L153", - "id": "tray_main_build_default_components", - "community": 110, - "norm_label": "_build_default_components()" - }, - { - "label": "_tray_backend_available()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L194", - "id": "tray_main_tray_backend_available", - "community": 110, - "norm_label": "_tray_backend_available()" - }, - { - "label": "_parse_argv()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L207", - "id": "tray_main_parse_argv", - "community": 9, - "norm_label": "_parse_argv()" - }, - { - "label": "_run_smoke()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L276", - "id": "tray_main_run_smoke", - "community": 110, - "norm_label": "_run_smoke()" - }, - { - "label": "main()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L309", - "id": "tray_main_main", - "community": 110, - "norm_label": "main()" - }, - { - "label": "``exlab-wizard-tray`` console_scripts entry point. Backend Spec \u00a74.3.2. Wires t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L1", - "id": "tray_main_rationale_1", - "community": 110, - "norm_label": "``exlab-wizard-tray`` console_scripts entry point. backend spec \u00a74.3.2. wires t" - }, - { - "label": "Bundle of long-lived tray components. The launcher constructs one and calls", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L50", - "id": "tray_main_rationale_50", - "community": 9, - "norm_label": "bundle of long-lived tray components. the launcher constructs one and calls" - }, - { - "label": "Start the in-process FastAPI server. Returns the bound port.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L70", - "id": "tray_main_rationale_70", - "community": 110, - "norm_label": "start the in-process fastapi server. returns the bound port." - }, - { - "label": "Spawn or focus the window subprocess.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L74", - "id": "tray_main_rationale_74", - "community": 9, - "norm_label": "spawn or focus the window subprocess." - }, - { - "label": "Trigger the graceful-shutdown protocol on the icon thread.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L78", - "id": "tray_main_rationale_78", - "community": 110, - "norm_label": "trigger the graceful-shutdown protocol on the icon thread." - }, - { - "label": "Tear down sub-components synchronously.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L92", - "id": "tray_main_rationale_92", - "community": 110, - "norm_label": "tear down sub-components synchronously." - }, - { - "label": "Start the server, build the icon, run the pystray loop. ``run_loop`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L99", - "id": "tray_main_rationale_99", - "community": 110, - "norm_label": "start the server, build the icon, run the pystray loop. ``run_loop`` is" - }, - { - "label": "Return the production FastAPI app for the tray. Constructs the live :class:", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L130", - "id": "tray_main_rationale_130", - "community": 110, - "norm_label": "return the production fastapi app for the tray. constructs the live :class:" - }, - { - "label": "Construct the production TrayApp wiring. Split out so :func:`main` can stay", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L158", - "id": "tray_main_rationale_158", - "community": 110, - "norm_label": "construct the production trayapp wiring. split out so :func:`main` can stay" - }, - { - "label": "True when a ``pystray`` backend can be imported. When it cannot (e.g. a hea", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L195", - "id": "tray_main_rationale_195", - "community": 110, - "norm_label": "true when a ``pystray`` backend can be imported. when it cannot (e.g. a hea" - }, - { - "label": "Parse the tray's CLI arguments. The tray accepts: - ``--version`` -- p", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L208", - "id": "tray_main_rationale_208", - "community": 9, - "norm_label": "parse the tray's cli arguments. the tray accepts: - ``--version`` -- p" - }, - { - "label": "Server-only loop. Boots the FastAPI server, prints the published port, waits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L277", - "id": "tray_main_rationale_277", - "community": 110, - "norm_label": "server-only loop. boots the fastapi server, prints the published port, waits" - }, - { - "label": "``exlab-wizard-tray`` entry point. The main thread runs pystray; the FastAP", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L310", - "id": "tray_main_rationale_310", - "community": 110, - "norm_label": "``exlab-wizard-tray`` entry point. the main thread runs pystray; the fastap" - }, - { - "label": "dependencies.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_dependencies_py", - "community": 22, - "norm_label": "dependencies.py" - }, - { - "label": "build_production_dependencies()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L46", - "id": "tray_dependencies_build_production_dependencies", - "community": 22, - "norm_label": "build_production_dependencies()" - }, - { - "label": "apply_live_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L159", - "id": "tray_dependencies_apply_live_config", - "community": 101, - "norm_label": "apply_live_config()" - }, - { - "label": "_plugin_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L256", - "id": "tray_dependencies_plugin_dir", - "community": 22, - "norm_label": "_plugin_dir()" - }, - { - "label": "_lims_identity()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L262", - "id": "tray_dependencies_lims_identity", - "community": 101, - "norm_label": "_lims_identity()" - }, - { - "label": "_refresh_plugin_host_status()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L274", - "id": "tray_dependencies_refresh_plugin_host_status", - "community": 101, - "norm_label": "_refresh_plugin_host_status()" - }, - { - "label": "_reload_lims_client()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L289", - "id": "tray_dependencies_reload_lims_client", - "community": 22, - "norm_label": "_reload_lims_client()" - }, - { - "label": "_reload_nas_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L310", - "id": "tray_dependencies_reload_nas_sync", - "community": 22, - "norm_label": "_reload_nas_sync()" - }, - { - "label": "_reload_quiescence_poller()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L341", - "id": "tray_dependencies_reload_quiescence_poller", - "community": 22, - "norm_label": "_reload_quiescence_poller()" - }, - { - "label": "_schedule_bringup()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L369", - "id": "tray_dependencies_schedule_bringup", - "community": 22, - "norm_label": "_schedule_bringup()" - }, - { - "label": "_fire_and_forget()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L394", - "id": "tray_dependencies_fire_and_forget", - "community": 22, - "norm_label": "_fire_and_forget()" - }, - { - "label": "_try()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L407", - "id": "tray_dependencies_try", - "community": 22, - "norm_label": "_try()" - }, - { - "label": "_load_config_safely()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L416", - "id": "tray_dependencies_load_config_safely", - "community": 76, - "norm_label": "_load_config_safely()" - }, - { - "label": "_make_save_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L424", - "id": "tray_dependencies_make_save_config", - "community": 22, - "norm_label": "_make_save_config()" - }, - { - "label": "_derive_validator_inputs()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L434", - "id": "tray_dependencies_derive_validator_inputs", - "community": 22, - "norm_label": "_derive_validator_inputs()" - }, - { - "label": "_build_validator()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L460", - "id": "tray_dependencies_build_validator", - "community": 22, - "norm_label": "_build_validator()" - }, - { - "label": "_build_session_store()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L471", - "id": "tray_dependencies_build_session_store", - "community": 22, - "norm_label": "_build_session_store()" - }, - { - "label": "_build_creation_writer()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L477", - "id": "tray_dependencies_build_creation_writer", - "community": 22, - "norm_label": "_build_creation_writer()" - }, - { - "label": "_build_equipment_writer()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L483", - "id": "tray_dependencies_build_equipment_writer", - "community": 22, - "norm_label": "_build_equipment_writer()" - }, - { - "label": "_build_template_engine()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L489", - "id": "tray_dependencies_build_template_engine", - "community": 22, - "norm_label": "_build_template_engine()" - }, - { - "label": "_build_plugin_host()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L495", - "id": "tray_dependencies_build_plugin_host", - "community": 22, - "norm_label": "_build_plugin_host()" - }, - { - "label": "_build_controller()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L517", - "id": "tray_dependencies_build_controller", - "community": 224, - "norm_label": "_build_controller()" - }, - { - "label": "_build_keyring_store()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L551", - "id": "tray_dependencies_build_keyring_store", - "community": 22, - "norm_label": "_build_keyring_store()" - }, - { - "label": "_lims_keyring_password()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L568", - "id": "tray_dependencies_lims_keyring_password", - "community": 22, - "norm_label": "_lims_keyring_password()" - }, - { - "label": "_check_keyring_present()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L588", - "id": "tray_dependencies_check_keyring_present", - "community": 22, - "norm_label": "_check_keyring_present()" - }, - { - "label": "_build_lims_client()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L598", - "id": "tray_dependencies_build_lims_client", - "community": 98, - "norm_label": "_build_lims_client()" - }, - { - "label": "_hydrate_nas_remotes()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L616", - "id": "tray_dependencies_hydrate_nas_remotes", - "community": 68, - "norm_label": "_hydrate_nas_remotes()" - }, - { - "label": "_make_equipment_probe()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L637", - "id": "tray_dependencies_make_equipment_probe", - "community": 43, - "norm_label": "_make_equipment_probe()" - }, - { - "label": "_make_lims_probe()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L676", - "id": "tray_dependencies_make_lims_probe", - "community": 22, - "norm_label": "_make_lims_probe()" - }, - { - "label": "_build_nas_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L693", - "id": "tray_dependencies_build_nas_sync", - "community": 22, - "norm_label": "_build_nas_sync()" - }, - { - "label": "_make_nas_sync_snapshot()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L736", - "id": "tray_dependencies_make_nas_sync_snapshot", - "community": 22, - "norm_label": "_make_nas_sync_snapshot()" - }, - { - "label": "_build_sync_state_writer()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L748", - "id": "tray_dependencies_build_sync_state_writer", - "community": 22, - "norm_label": "_build_sync_state_writer()" - }, - { - "label": "_build_quiescence_poller()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L760", - "id": "tray_dependencies_build_quiescence_poller", - "community": 22, - "norm_label": "_build_quiescence_poller()" - }, - { - "label": "_make_autostart_toggle()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L793", - "id": "tray_dependencies_make_autostart_toggle", - "community": 22, - "norm_label": "_make_autostart_toggle()" - }, - { - "label": "_make_session_store_snapshot()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L805", - "id": "tray_dependencies_make_session_store_snapshot", - "community": 22, - "norm_label": "_make_session_store_snapshot()" - }, - { - "label": "Production :class:`AppDependencies` factory. Backend Spec \u00a74.5, \u00a74.6. The tray", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L1", - "id": "tray_dependencies_rationale_1", - "community": 22, - "norm_label": "production :class:`appdependencies` factory. backend spec \u00a74.5, \u00a74.6. the tray" - }, - { - "label": "Return a populated :class:`AppDependencies` for the live tray. Every per-co", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L47", - "id": "tray_dependencies_rationale_47", - "community": 22, - "norm_label": "return a populated :class:`appdependencies` for the live tray. every per-co" - }, - { - "label": "Push a freshly saved ``config.yaml`` into the running components. Replaces", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L160", - "id": "tray_dependencies_rationale_160", - "community": 101, - "norm_label": "push a freshly saved ``config.yaml`` into the running components. replaces" - }, - { - "label": "Return the ``(endpoint, email)`` pair that defines a LIMS client. Trailing", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L263", - "id": "tray_dependencies_rationale_263", - "community": 101, - "norm_label": "return the ``(endpoint, email)`` pair that defines a lims client. trailing" - }, - { - "label": "Re-derive the plugin-host status counters after a rebuild. Mirrors the boot", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L275", - "id": "tray_dependencies_rationale_275", - "community": 101, - "norm_label": "re-derive the plugin-host status counters after a rebuild. mirrors the boot" - }, - { - "label": "Rebuild ``deps.lims_client`` for a changed endpoint / email. Builds a fresh", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L290", - "id": "tray_dependencies_rationale_290", - "community": 22, - "norm_label": "rebuild ``deps.lims_client`` for a changed endpoint / email. builds a fresh" - }, - { - "label": "Reconfigure the NAS-sync client in place, or build it fresh. Returns ``True", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L311", - "id": "tray_dependencies_rationale_311", - "community": 22, - "norm_label": "reconfigure the nas-sync client in place, or build it fresh. returns ``true" - }, - { - "label": "Reconfigure the quiescence poller in place, or build it fresh. Returns ``Tr", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L342", - "id": "tray_dependencies_rationale_342", - "community": 22, - "norm_label": "reconfigure the quiescence poller in place, or build it fresh. returns ``tr" - }, - { - "label": "Schedule ``nas_sync.init()`` / ``poller.start()`` on the running loop. Used", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L370", - "id": "tray_dependencies_rationale_370", - "community": 22, - "norm_label": "schedule ``nas_sync.init()`` / ``poller.start()`` on the running loop. used" - }, - { - "label": "Run ``coro`` on the running loop, logging failures; no-op if loop-less.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L395", - "id": "tray_dependencies_rationale_395", - "community": 22, - "norm_label": "run ``coro`` on the running loop, logging failures; no-op if loop-less." - }, - { - "label": "Run ``fn(*args, **kwargs)`` swallowing exceptions with a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L408", - "id": "tray_dependencies_rationale_408", - "community": 22, - "norm_label": "run ``fn(*args, **kwargs)`` swallowing exceptions with a warn log." - }, - { - "label": "Derive ``(validator_config, equipment_roots, staging_root)`` from config. S", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L435", - "id": "tray_dependencies_rationale_435", - "community": 22, - "norm_label": "derive ``(validator_config, equipment_roots, staging_root)`` from config. s" - }, - { - "label": "Build the LIMS/NAS secret store with an optional fallback passphrase. When", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L552", - "id": "tray_dependencies_rationale_552", - "community": 22, - "norm_label": "build the lims/nas secret store with an optional fallback passphrase. when" - }, - { - "label": "Return the stored LIMS password, or ``None`` if absent/unavailable. The cre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L569", - "id": "tray_dependencies_rationale_569", - "community": 22, - "norm_label": "return the stored lims password, or ``none`` if absent/unavailable. the cre" - }, - { - "label": "Snapshot the rclone remotes defined in the operator's rclone.conf. rclone.c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L617", - "id": "tray_dependencies_rationale_617", - "community": 68, - "norm_label": "snapshot the rclone remotes defined in the operator's rclone.conf. rclone.c" - }, - { - "label": "Build the ``deps.equipment_probe`` callable. rclone.conf NAS-sync migration", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L638", - "id": "tray_dependencies_rationale_638", - "community": 43, - "norm_label": "build the ``deps.equipment_probe`` callable. rclone.conf nas-sync migration" - }, - { - "label": "Build the :class:`NASSyncClient` -- the public NAS-sync surface. The client", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L701", - "id": "tray_dependencies_rationale_701", - "community": 22, - "norm_label": "build the :class:`nassyncclient` -- the public nas-sync surface. the client" - }, - { - "label": "Build the orchestrator-only ``sync_state.json`` writer. Operator-free per-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L749", - "id": "tray_dependencies_rationale_749", - "community": 22, - "norm_label": "build the orchestrator-only ``sync_state.json`` writer. operator-free per-f" - }, - { - "label": "status.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_status_py", - "community": 47, - "norm_label": "status.py" - }, - { - "label": "StatusSnapshot", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L45", - "id": "tray_status_statussnapshot", - "community": 47, - "norm_label": "statussnapshot" - }, - { - "label": "snapshot_status()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L53", - "id": "tray_status_snapshot_status", - "community": 47, - "norm_label": "snapshot_status()" - }, - { - "label": "format_status()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L76", - "id": "tray_status_format_status", - "community": 47, - "norm_label": "format_status()" - }, - { - "label": "StatusTicker", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L91", - "id": "tray_status_statusticker", - "community": 47, - "norm_label": "statusticker" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L100", - "id": "tray_status_statusticker_init", - "community": 47, - "norm_label": ".__init__()" - }, - { - "label": ".start()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L120", - "id": "tray_status_statusticker_start", - "community": 47, - "norm_label": ".start()" - }, - { - "label": ".stop()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L129", - "id": "tray_status_statusticker_stop", - "community": 47, - "norm_label": ".stop()" - }, - { - "label": ".tick_once()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L136", - "id": "tray_status_statusticker_tick_once", - "community": 47, - "norm_label": ".tick_once()" - }, - { - "label": "._run()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L156", - "id": "tray_status_statusticker_run", - "community": 47, - "norm_label": "._run()" - }, - { - "label": "_safe_int()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L162", - "id": "tray_status_safe_int", - "community": 47, - "norm_label": "_safe_int()" - }, - { - "label": "Status-submenu rendering. Backend Spec \u00a74.3.2. The tray's status submenu shows", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L1", - "id": "tray_status_rationale_1", - "community": 47, - "norm_label": "status-submenu rendering. backend spec \u00a74.3.2. the tray's status submenu shows" - }, - { - "label": "Immutable view over the \u00a74.3.2 status inputs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L46", - "id": "tray_status_rationale_46", - "community": 47, - "norm_label": "immutable view over the \u00a74.3.2 status inputs." - }, - { - "label": "Build a :class:`StatusSnapshot` from live component references. Each compon", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L58", - "id": "tray_status_rationale_58", - "community": 47, - "norm_label": "build a :class:`statussnapshot` from live component references. each compon" - }, - { - "label": "Return the menu-label string for the \u00a74.3.2 formatter.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L77", - "id": "tray_status_rationale_77", - "community": 47, - "norm_label": "return the menu-label string for the \u00a74.3.2 formatter." - }, - { - "label": "Polls :func:`snapshot_status` on a fixed cadence. On every tick the formatt", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L92", - "id": "tray_status_rationale_92", - "community": 47, - "norm_label": "polls :func:`snapshot_status` on a fixed cadence. on every tick the formatt" - }, - { - "label": "Spawn the ticker thread. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L121", - "id": "tray_status_rationale_121", - "community": 47, - "norm_label": "spawn the ticker thread. idempotent." - }, - { - "label": "Signal the ticker to exit. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L130", - "id": "tray_status_rationale_130", - "community": 47, - "norm_label": "signal the ticker to exit. idempotent." - }, - { - "label": "Run a single tick synchronously. Returns the new label. Tests call this", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L137", - "id": "tray_status_rationale_137", - "community": 47, - "norm_label": "run a single tick synchronously. returns the new label. tests call this" - }, - { - "label": "Best-effort numeric read; missing / None / non-int returns 0.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L163", - "id": "tray_status_rationale_163", - "community": 47, - "norm_label": "best-effort numeric read; missing / none / non-int returns 0." - }, - { - "label": "storage_secret.py", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/storage_secret.py", - "source_location": "L1", - "id": "src_exlab_wizard_tray_storage_secret_py", - "community": 263, - "norm_label": "storage_secret.py" - }, - { - "label": "load_or_create_storage_secret()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/storage_secret.py", - "source_location": "L31", - "id": "tray_storage_secret_load_or_create_storage_secret", - "community": 263, - "norm_label": "load_or_create_storage_secret()" - }, - { - "label": "Per-installation NiceGUI ``storage_secret`` token. Backend Spec \u00a715.3. NiceGUI'", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/storage_secret.py", - "source_location": "L1", - "id": "tray_storage_secret_rationale_1", - "community": 263, - "norm_label": "per-installation nicegui ``storage_secret`` token. backend spec \u00a715.3. nicegui'" - }, - { - "label": "Return the per-installation storage secret, generating it if absent. The fi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/storage_secret.py", - "source_location": "L32", - "id": "tray_storage_secret_rationale_32", - "community": 263, - "norm_label": "return the per-installation storage secret, generating it if absent. the fi" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_readme_init_py", - "community": 479, - "norm_label": "__init__.py" - }, - { - "label": "generator.py", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L1", - "id": "src_exlab_wizard_readme_generator_py", - "community": 133, - "norm_label": "generator.py" - }, - { - "label": "CoreFields", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L96", - "id": "readme_generator_corefields", - "community": 25, - "norm_label": "corefields" - }, - { - "label": "TemplateFieldDecl", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L110", - "id": "readme_generator_templatefielddecl", - "community": 48, - "norm_label": "templatefielddecl" - }, - { - "label": "CustomField", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L128", - "id": "readme_generator_customfield", - "community": 48, - "norm_label": "customfield" - }, - { - "label": "SystemFields", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L140", - "id": "readme_generator_systemfields", - "community": 224, - "norm_label": "systemfields" - }, - { - "label": "ReadmeContext", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L153", - "id": "readme_generator_readmecontext", - "community": 25, - "norm_label": "readmecontext" - }, - { - "label": "ReadmeGenerator", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L176", - "id": "readme_generator_readmegenerator", - "community": 224, - "norm_label": "readmegenerator" - }, - { - "label": ".generate()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L179", - "id": "readme_generator_readmegenerator_generate", - "community": 224, - "norm_label": ".generate()" - }, - { - "label": "._generate_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L197", - "id": "readme_generator_readmegenerator_generate_sync", - "community": 133, - "norm_label": "._generate_sync()" - }, - { - "label": "_validate()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L228", - "id": "readme_generator_validate", - "community": 133, - "norm_label": "_validate()" - }, - { - "label": "_validate_core_fields()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L247", - "id": "readme_generator_validate_core_fields", - "community": 133, - "norm_label": "_validate_core_fields()" - }, - { - "label": "_reject_core_redeclaration()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L270", - "id": "readme_generator_reject_core_redeclaration", - "community": 133, - "norm_label": "_reject_core_redeclaration()" - }, - { - "label": "_validate_required_fields()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L283", - "id": "readme_generator_validate_required_fields", - "community": 133, - "norm_label": "_validate_required_fields()" - }, - { - "label": "_validate_field_id_uniqueness()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L298", - "id": "readme_generator_validate_field_id_uniqueness", - "community": 133, - "norm_label": "_validate_field_id_uniqueness()" - }, - { - "label": "_validate_typed_fields()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L313", - "id": "readme_generator_validate_typed_fields", - "community": 133, - "norm_label": "_validate_typed_fields()" - }, - { - "label": "_check_value_type()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L335", - "id": "readme_generator_check_value_type", - "community": 133, - "norm_label": "_check_value_type()" - }, - { - "label": "_validate_custom_field_labels()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L378", - "id": "readme_generator_validate_custom_field_labels", - "community": 133, - "norm_label": "_validate_custom_field_labels()" - }, - { - "label": "_is_present()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L397", - "id": "readme_generator_is_present", - "community": 133, - "norm_label": "_is_present()" - }, - { - "label": "_core_fields_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L418", - "id": "readme_generator_core_fields_dict", - "community": 133, - "norm_label": "_core_fields_dict()" - }, - { - "label": "_custom_fields_list()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L422", - "id": "readme_generator_custom_fields_list", - "community": 133, - "norm_label": "_custom_fields_list()" - }, - { - "label": "_system_fields_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L426", - "id": "readme_generator_system_fields_dict", - "community": 133, - "norm_label": "_system_fields_dict()" - }, - { - "label": "_build_front_matter()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L438", - "id": "readme_generator_build_front_matter", - "community": 133, - "norm_label": "_build_front_matter()" - }, - { - "label": "_render_readme_bytes()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L458", - "id": "readme_generator_render_readme_bytes", - "community": 133, - "norm_label": "_render_readme_bytes()" - }, - { - "label": "_build_readme_fields()", - "file_type": "code", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L476", - "id": "readme_generator_build_readme_fields", - "community": 133, - "norm_label": "_build_readme_fields()" - }, - { - "label": "README generator. Backend Spec \u00a710 / \u00a711.4. Renders ``README.md`` (YAML front m", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L1", - "id": "readme_generator_rationale_1", - "community": 133, - "norm_label": "readme generator. backend spec \u00a710 / \u00a711.4. renders ``readme.md`` (yaml front m" - }, - { - "label": "Mandatory core fields (User Interaction Spec \u00a72). All three are non-empty (", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L97", - "id": "readme_generator_rationale_97", - "community": 25, - "norm_label": "mandatory core fields (user interaction spec \u00a72). all three are non-empty (" - }, - { - "label": "Field declaration from a template's ``_exlab_readme.fields`` list or from ``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L111", - "id": "readme_generator_rationale_111", - "community": 48, - "norm_label": "field declaration from a template's ``_exlab_readme.fields`` list or from ``" - }, - { - "label": "An ad-hoc user-added field. Backend Spec \u00a710.4. Custom fields are plain str", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L129", - "id": "readme_generator_rationale_129", - "community": 48, - "norm_label": "an ad-hoc user-added field. backend spec \u00a710.4. custom fields are plain str" - }, - { - "label": "Auto-populated, non-editable system fields. Backend Spec \u00a710.6.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L141", - "id": "readme_generator_rationale_141", - "community": 224, - "norm_label": "auto-populated, non-editable system fields. backend spec \u00a710.6." - }, - { - "label": "Inputs to :class:`ReadmeGenerator`. Composed by the controller. The control", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L154", - "id": "readme_generator_rationale_154", - "community": 25, - "norm_label": "inputs to :class:`readmegenerator`. composed by the controller. the control" - }, - { - "label": "Renders ``README.md`` + ``readme_fields.json``. Backend Spec \u00a710.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L177", - "id": "readme_generator_rationale_177", - "community": 224, - "norm_label": "renders ``readme.md`` + ``readme_fields.json``. backend spec \u00a710." - }, - { - "label": "Validate ``ctx``, write both files, return ``(readme, cache)``. The des", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L180", - "id": "readme_generator_rationale_180", - "community": 224, - "norm_label": "validate ``ctx``, write both files, return ``(readme, cache)``. the des" - }, - { - "label": "Run every validation gate. Raises on the first failure. Order matches the s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L229", - "id": "readme_generator_rationale_229", - "community": 133, - "norm_label": "run every validation gate. raises on the first failure. order matches the s" - }, - { - "label": "Per-type validation. Spec \u00a710.3 type semantics. Skips fields whose value is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L319", - "id": "readme_generator_rationale_319", - "community": 133, - "norm_label": "per-type validation. spec \u00a710.3 type semantics. skips fields whose value is" - }, - { - "label": "Ensure custom labels do not shadow any layer's field id. The four-layer set", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L379", - "id": "readme_generator_rationale_379", - "community": 133, - "norm_label": "ensure custom labels do not shadow any layer's field id. the four-layer set" - }, - { - "label": "Return True iff ``value`` carries a non-empty piece of content. Strings are", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L398", - "id": "readme_generator_rationale_398", - "community": 133, - "norm_label": "return true iff ``value`` carries a non-empty piece of content. strings are" - }, - { - "label": "Build the ordered front matter dict for ``yaml.safe_dump``. Order matches t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L439", - "id": "readme_generator_rationale_439", - "community": 133, - "norm_label": "build the ordered front matter dict for ``yaml.safe_dump``. order matches t" - }, - { - "label": "Render the full README markdown into UTF-8 bytes. ``yaml.safe_dump`` is con", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L459", - "id": "readme_generator_rationale_459", - "community": 133, - "norm_label": "render the full readme markdown into utf-8 bytes. ``yaml.safe_dump`` is con" - }, - { - "label": "Build the typed :class:`ReadmeFieldsJson` payload for the cache file.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L481", - "id": "readme_generator_rationale_481", - "community": 133, - "norm_label": "build the typed :class:`readmefieldsjson` payload for the cache file." - }, - { - "label": "creation.py", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1", - "id": "src_exlab_wizard_controller_creation_py", - "community": 5, - "norm_label": "creation.py" - }, - { - "label": "ProjectCreateRequest", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L135", - "id": "controller_creation_projectcreaterequest", - "community": 10, - "norm_label": "projectcreaterequest" - }, - { - "label": "RunCreateRequest", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L154", - "id": "controller_creation_runcreaterequest", - "community": 10, - "norm_label": "runcreaterequest" - }, - { - "label": "SessionHandle", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L179", - "id": "controller_creation_sessionhandle", - "community": 10, - "norm_label": "sessionhandle" - }, - { - "label": "ReadmeGeneratorProtocol", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L193", - "id": "controller_creation_readmegeneratorprotocol", - "community": 10, - "norm_label": "readmegeneratorprotocol" - }, - { - "label": ".generate()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L201", - "id": "controller_creation_readmegeneratorprotocol_generate", - "community": 10, - "norm_label": ".generate()" - }, - { - "label": "NoOpReadmeGenerator", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L204", - "id": "controller_creation_noopreadmegenerator", - "community": 10, - "norm_label": "noopreadmegenerator" - }, - { - "label": ".generate()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L213", - "id": "controller_creation_noopreadmegenerator_generate", - "community": 25, - "norm_label": ".generate()" - }, - { - "label": "NASSyncProtocol", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L220", - "id": "controller_creation_nassyncprotocol", - "community": 10, - "norm_label": "nassyncprotocol" - }, - { - "label": ".enqueue()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L223", - "id": "controller_creation_nassyncprotocol_enqueue", - "community": 10, - "norm_label": ".enqueue()" - }, - { - "label": "NoOpNASSync", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L226", - "id": "controller_creation_noopnassync", - "community": 10, - "norm_label": "noopnassync" - }, - { - "label": ".enqueue()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L229", - "id": "controller_creation_noopnassync_enqueue", - "community": 5, - "norm_label": ".enqueue()" - }, - { - "label": "CreationController", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L238", - "id": "controller_creation_creationcontroller", - "community": 5, - "norm_label": "creationcontroller" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L246", - "id": "controller_creation_creationcontroller_init", - "community": 10, - "norm_label": ".__init__()" - }, - { - "label": "session_store()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L284", - "id": "controller_creation_session_store", - "community": 5, - "norm_label": "session_store()" - }, - { - "label": ".apply_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L288", - "id": "controller_creation_creationcontroller_apply_config", - "community": 5, - "norm_label": ".apply_config()" - }, - { - "label": ".create_project()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L305", - "id": "controller_creation_creationcontroller_create_project", - "community": 5, - "norm_label": ".create_project()" - }, - { - "label": ".create_run()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L318", - "id": "controller_creation_creationcontroller_create_run", - "community": 5, - "norm_label": ".create_run()" - }, - { - "label": ".resume()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L323", - "id": "controller_creation_creationcontroller_resume", - "community": 5, - "norm_label": ".resume()" - }, - { - "label": ".cancel()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L347", - "id": "controller_creation_creationcontroller_cancel", - "community": 5, - "norm_label": ".cancel()" - }, - { - "label": ".status()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L390", - "id": "controller_creation_creationcontroller_status", - "community": 5, - "norm_label": ".status()" - }, - { - "label": ".subscribe()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L397", - "id": "controller_creation_creationcontroller_subscribe", - "community": 5, - "norm_label": ".subscribe()" - }, - { - "label": "._launch()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L421", - "id": "controller_creation_creationcontroller_launch", - "community": 5, - "norm_label": "._launch()" - }, - { - "label": "._validate_inputs()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L459", - "id": "controller_creation_creationcontroller_validate_inputs", - "community": 5, - "norm_label": "._validate_inputs()" - }, - { - "label": "._run_pipeline()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L601", - "id": "controller_creation_creationcontroller_run_pipeline", - "community": 5, - "norm_label": "._run_pipeline()" - }, - { - "label": "._pipeline_states()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L621", - "id": "controller_creation_creationcontroller_pipeline_states", - "community": 5, - "norm_label": "._pipeline_states()" - }, - { - "label": "._resolve_template()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L722", - "id": "controller_creation_creationcontroller_resolve_template", - "community": 5, - "norm_label": "._resolve_template()" - }, - { - "label": "_short_id_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L727", - "id": "controller_creation_short_id_for", - "community": 5, - "norm_label": "_short_id_for()" - }, - { - "label": "_project_name_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L743", - "id": "controller_creation_project_name_for", - "community": 5, - "norm_label": "_project_name_for()" - }, - { - "label": "._resolve_run_lims_block()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L756", - "id": "controller_creation_creationcontroller_resolve_run_lims_block", - "community": 5, - "norm_label": "._resolve_run_lims_block()" - }, - { - "label": "_run_kind_value_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L776", - "id": "controller_creation_run_kind_value_for", - "community": 5, - "norm_label": "_run_kind_value_for()" - }, - { - "label": "._compose_destination_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L787", - "id": "controller_creation_creationcontroller_compose_destination_path", - "community": 5, - "norm_label": "._compose_destination_path()" - }, - { - "label": "._render()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L804", - "id": "controller_creation_creationcontroller_render", - "community": 5, - "norm_label": "._render()" - }, - { - "label": "._plugin_pass()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L831", - "id": "controller_creation_creationcontroller_plugin_pass", - "community": 5, - "norm_label": "._plugin_pass()" - }, - { - "label": "._build_readme_context()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L892", - "id": "controller_creation_creationcontroller_build_readme_context", - "community": 5, - "norm_label": "._build_readme_context()" - }, - { - "label": "._write_cache()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L933", - "id": "controller_creation_creationcontroller_write_cache", - "community": 25, - "norm_label": "._write_cache()" - }, - { - "label": "._write_equipment_json()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1040", - "id": "controller_creation_creationcontroller_write_equipment_json", - "community": 25, - "norm_label": "._write_equipment_json()" - }, - { - "label": "._post_validate()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1076", - "id": "controller_creation_creationcontroller_post_validate", - "community": 5, - "norm_label": "._post_validate()" - }, - { - "label": "._transition()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1124", - "id": "controller_creation_creationcontroller_transition", - "community": 5, - "norm_label": "._transition()" - }, - { - "label": "._publish()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1145", - "id": "controller_creation_creationcontroller_publish", - "community": 5, - "norm_label": "._publish()" - }, - { - "label": "._fail()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1150", - "id": "controller_creation_creationcontroller_fail", - "community": 5, - "norm_label": "._fail()" - }, - { - "label": "._cleanup()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1160", - "id": "controller_creation_creationcontroller_cleanup", - "community": 5, - "norm_label": "._cleanup()" - }, - { - "label": "._handle()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1179", - "id": "controller_creation_creationcontroller_handle", - "community": 5, - "norm_label": "._handle()" - }, - { - "label": "_format_error()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1188", - "id": "controller_creation_format_error", - "community": 5, - "norm_label": "_format_error()" - }, - { - "label": "._append_log()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1193", - "id": "controller_creation_creationcontroller_append_log", - "community": 5, - "norm_label": "._append_log()" - }, - { - "label": "_required_field_ids()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1218", - "id": "controller_creation_required_field_ids", - "community": 5, - "norm_label": "_required_field_ids()" - }, - { - "label": "_has_hard_finding()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1231", - "id": "controller_creation_has_hard_finding", - "community": 5, - "norm_label": "_has_hard_finding()" - }, - { - "label": "_attach_resolved()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1235", - "id": "controller_creation_attach_resolved", - "community": 5, - "norm_label": "_attach_resolved()" - }, - { - "label": "Creation controller. Backend Spec \u00a74.4.1, \u00a74.7, \u00a74.8. Composes the validator, t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1", - "id": "controller_creation_rationale_1", - "community": 5, - "norm_label": "creation controller. backend spec \u00a74.4.1, \u00a74.7, \u00a74.8. composes the validator, t" - }, - { - "label": "Inputs for :meth:`CreationController.create_project`. Backend Spec \u00a74.6.1 /", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L136", - "id": "controller_creation_rationale_136", - "community": 10, - "norm_label": "inputs for :meth:`creationcontroller.create_project`. backend spec \u00a74.6.1 /" - }, - { - "label": "Inputs for :meth:`CreationController.create_run`. Backend Spec \u00a74.6.1 / UI-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L155", - "id": "controller_creation_rationale_155", - "community": 10, - "norm_label": "inputs for :meth:`creationcontroller.create_run`. backend spec \u00a74.6.1 / ui-" - }, - { - "label": "Snapshot of session state. Backend Spec \u00a74.4.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L180", - "id": "controller_creation_rationale_180", - "community": 10, - "norm_label": "snapshot of session state. backend spec \u00a74.4.1." - }, - { - "label": "The README generator surface the controller depends on. Backend \u00a710. Mirror", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L194", - "id": "controller_creation_rationale_194", - "community": 10, - "norm_label": "the readme generator surface the controller depends on. backend \u00a710. mirror" - }, - { - "label": "Lightweight README generator for tests / headless fixtures. Writes a tiny `", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L205", - "id": "controller_creation_rationale_205", - "community": 10, - "norm_label": "lightweight readme generator for tests / headless fixtures. writes a tiny `" - }, - { - "label": "The NAS sync surface the controller depends on. Phase 10.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L221", - "id": "controller_creation_rationale_221", - "community": 10, - "norm_label": "the nas sync surface the controller depends on. phase 10." - }, - { - "label": "No-op stand-in for :class:`NASSyncClient` until Phase 10 lands.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L227", - "id": "controller_creation_rationale_227", - "community": 10, - "norm_label": "no-op stand-in for :class:`nassyncclient` until phase 10 lands." - }, - { - "label": "Drives the \u00a74.7 state machine end-to-end. Composes the validator (Phase 4),", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L239", - "id": "controller_creation_rationale_239", - "community": 5, - "norm_label": "drives the \u00a74.7 state machine end-to-end. composes the validator (phase 4)," - }, - { - "label": "Expose the in-memory session store for the API surface.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L285", - "id": "controller_creation_rationale_285", - "community": 651, - "norm_label": "expose the in-memory session store for the api surface." - }, - { - "label": "Swap the controller's config (and optionally plugin host) in place. Eve", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L289", - "id": "controller_creation_rationale_289", - "community": 5, - "norm_label": "swap the controller's config (and optionally plugin host) in place. eve" - }, - { - "label": "Open a project-creation session and start the pipeline. The session is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L306", - "id": "controller_creation_rationale_306", - "community": 5, - "norm_label": "open a project-creation session and start the pipeline. the session is" - }, - { - "label": "Open a run-creation session and start the pipeline.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L319", - "id": "controller_creation_rationale_319", - "community": 5, - "norm_label": "open a run-creation session and start the pipeline." - }, - { - "label": "Supply ``extra_inputs`` after a ``PluginInputRequired`` prompt. Pushes", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L324", - "id": "controller_creation_rationale_324", - "community": 5, - "norm_label": "supply ``extra_inputs`` after a ``plugininputrequired`` prompt. pushes" - }, - { - "label": "Abort an in-flight session. Pushes a ``None`` onto the resume queue (so", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L348", - "id": "controller_creation_rationale_348", - "community": 5, - "norm_label": "abort an in-flight session. pushes a ``none`` onto the resume queue (so" - }, - { - "label": "Return a snapshot :class:`SessionHandle` for ``session_id``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L391", - "id": "controller_creation_rationale_391", - "community": 5, - "norm_label": "return a snapshot :class:`sessionhandle` for ``session_id``." - }, - { - "label": "Yield WebSocket-event dicts for the named session. Wraps the session's", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L398", - "id": "controller_creation_rationale_398", - "community": 5, - "norm_label": "yield websocket-event dicts for the named session. wraps the session's" - }, - { - "label": "Validate the request, then spawn the pipeline as a background task. The", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L422", - "id": "controller_creation_rationale_422", - "community": 5, - "norm_label": "validate the request, then spawn the pipeline as a background task. the" - }, - { - "label": "Run the \u00a72 mandatory-core-field gate. Raises :class:`ValidationError` o", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L460", - "id": "controller_creation_rationale_460", - "community": 5, - "norm_label": "run the \u00a72 mandatory-core-field gate. raises :class:`validationerror` o" - }, - { - "label": "Drive the session from RENDERING to DONE / FAILED / ABORTED.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L602", - "id": "controller_creation_rationale_602", - "community": 5, - "norm_label": "drive the session from rendering to done / failed / aborted." - }, - { - "label": "Run the RENDERING \u2192 DONE pipeline once.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L622", - "id": "controller_creation_rationale_622", - "community": 5, - "norm_label": "run the rendering \u2192 done pipeline once." - }, - { - "label": "Return the LIMS project ``short_id`` for the request. For a project req", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L728", - "id": "controller_creation_rationale_728", - "community": 652, - "norm_label": "return the lims project ``short_id`` for the request. for a project req" - }, - { - "label": "Return the human-readable LIMS project name for the request. This is th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L744", - "id": "controller_creation_rationale_744", - "community": 653, - "norm_label": "return the human-readable lims project name for the request. this is th" - }, - { - "label": "Read the parent project's ``lims_project`` block for a run. A run inher", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L757", - "id": "controller_creation_rationale_757", - "community": 5, - "norm_label": "read the parent project's ``lims_project`` block for a run. a run inher" - }, - { - "label": "Return the ``run_kind`` value to record on ``creation.json``. Project-l", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L777", - "id": "controller_creation_rationale_777", - "community": 654, - "norm_label": "return the ``run_kind`` value to record on ``creation.json``. project-l" - }, - { - "label": "Render the resolved template into ``dst``. Copier receives the request'", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L810", - "id": "controller_creation_rationale_810", - "community": 5, - "norm_label": "render the resolved template into ``dst``. copier receives the request'" - }, - { - "label": "Compose the \u00a710 four-layer :class:`ReadmeContext` for ``req``. Maps the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L899", - "id": "controller_creation_rationale_899", - "community": 5, - "norm_label": "compose the \u00a710 four-layer :class:`readmecontext` for ``req``. maps the" - }, - { - "label": "Write README + creation.json into the destination tree.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L943", - "id": "controller_creation_rationale_943", - "community": 25, - "norm_label": "write readme + creation.json into the destination tree." - }, - { - "label": "Write the per-equipment ``equipment.json`` registry record. Backend Spe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1045", - "id": "controller_creation_rationale_1045", - "community": 25, - "norm_label": "write the per-equipment ``equipment.json`` registry record. backend spe" - }, - { - "label": "Run :meth:`Validator.validate_creation` against the rendered tree. Catc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1082", - "id": "controller_creation_rationale_1082", - "community": 5, - "norm_label": "run :meth:`validator.validate_creation` against the rendered tree. catc" - }, - { - "label": "Remove or leave the partial directory per the spec.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1161", - "id": "controller_creation_rationale_1161", - "community": 5, - "norm_label": "remove or leave the partial directory per the spec." - }, - { - "label": "Best-effort append to the equipment-level log. Backend Spec \u00a711.5. Comp", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1194", - "id": "controller_creation_rationale_1194", - "community": 5, - "norm_label": "best-effort append to the equipment-level log. backend spec \u00a711.5. comp" - }, - { - "label": "Return the ``id`` of every entry in ``extra_fields`` with ``required: true``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1219", - "id": "controller_creation_rationale_1219", - "community": 5, - "norm_label": "return the ``id`` of every entry in ``extra_fields`` with ``required: true``." - }, - { - "label": "Stash the resolved template on the request so the pipeline can re-use it. T", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1238", - "id": "controller_creation_rationale_1238", - "community": 5, - "norm_label": "stash the resolved template on the request so the pipeline can re-use it. t" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_controller_init_py", - "community": 400, - "norm_label": "__init__.py" - }, - { - "label": "state_machine.py", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L1", - "id": "src_exlab_wizard_controller_state_machine_py", - "community": 10, - "norm_label": "state_machine.py" - }, - { - "label": "SessionState", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L45", - "id": "controller_state_machine_sessionstate", - "community": 10, - "norm_label": "sessionstate" - }, - { - "label": "Phase", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L66", - "id": "controller_state_machine_phase", - "community": 10, - "norm_label": "phase" - }, - { - "label": "state_to_phase()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L102", - "id": "controller_state_machine_state_to_phase", - "community": 24, - "norm_label": "state_to_phase()" - }, - { - "label": "_build_valid_transitions()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L139", - "id": "controller_state_machine_build_valid_transitions", - "community": 10, - "norm_label": "_build_valid_transitions()" - }, - { - "label": "assert_transition()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L159", - "id": "controller_state_machine_assert_transition", - "community": 24, - "norm_label": "assert_transition()" - }, - { - "label": "Creation-session state machine. Backend Spec \u00a74.7, \u00a74.7.1. Defines two enums an", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L1", - "id": "controller_state_machine_rationale_1", - "community": 10, - "norm_label": "creation-session state machine. backend spec \u00a74.7, \u00a74.7.1. defines two enums an" - }, - { - "label": "Internal creation-session state. Backend Spec \u00a74.7. Values mirror the \u00a74.7", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L46", - "id": "controller_state_machine_rationale_46", - "community": 10, - "norm_label": "internal creation-session state. backend spec \u00a74.7. values mirror the \u00a74.7" - }, - { - "label": "Externally-emitted ``phase`` event. Backend Spec \u00a74.6.2. Sent over the ``WS", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L67", - "id": "controller_state_machine_rationale_67", - "community": 10, - "norm_label": "externally-emitted ``phase`` event. backend spec \u00a74.6.2. sent over the ``ws" - }, - { - "label": "Return the :class:`Phase` event corresponding to ``state``. Backend Spec \u00a74", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L103", - "id": "controller_state_machine_rationale_103", - "community": 24, - "norm_label": "return the :class:`phase` event corresponding to ``state``. backend spec \u00a74" - }, - { - "label": "Augment forward transitions with cancel/fail edges.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L140", - "id": "controller_state_machine_rationale_140", - "community": 10, - "norm_label": "augment forward transitions with cancel/fail edges." - }, - { - "label": "Raise :class:`ValueError` if ``current -> new_state`` is illegal. Defensive", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L160", - "id": "controller_state_machine_rationale_160", - "community": 24, - "norm_label": "raise :class:`valueerror` if ``current -> new_state`` is illegal. defensive" - }, - { - "label": "metadata_assembly.py", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L1", - "id": "src_exlab_wizard_controller_metadata_assembly_py", - "community": 25, - "norm_label": "metadata_assembly.py" - }, - { - "label": "TemplateDesc", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L68", - "id": "controller_metadata_assembly_templatedesc", - "community": 25, - "norm_label": "templatedesc" - }, - { - "label": "build_readme_context()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L96", - "id": "controller_metadata_assembly_build_readme_context", - "community": 25, - "norm_label": "build_readme_context()" - }, - { - "label": "build_creation_json()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L168", - "id": "controller_metadata_assembly_build_creation_json", - "community": 25, - "norm_label": "build_creation_json()" - }, - { - "label": "_readme_decls_from_template()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L230", - "id": "controller_metadata_assembly_readme_decls_from_template", - "community": 25, - "norm_label": "_readme_decls_from_template()" - }, - { - "label": "_readme_decls_from_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L262", - "id": "controller_metadata_assembly_readme_decls_from_config", - "community": 25, - "norm_label": "_readme_decls_from_config()" - }, - { - "label": "_os_username()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L287", - "id": "controller_metadata_assembly_os_username", - "community": 5, - "norm_label": "_os_username()" - }, - { - "label": "Shared metadata value-assembly. Backend Spec \u00a710 / \u00a711.3; design spec \u00a75. This", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L1", - "id": "controller_metadata_assembly_rationale_1", - "community": 25, - "norm_label": "shared metadata value-assembly. backend spec \u00a710 / \u00a711.3; design spec \u00a75. this" - }, - { - "label": "Dependency-light stand-in for ``ResolvedTemplate``. Design spec \u00a75. Carries", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L69", - "id": "controller_metadata_assembly_rationale_69", - "community": 25, - "norm_label": "dependency-light stand-in for ``resolvedtemplate``. design spec \u00a75. carries" - }, - { - "label": "Compose the \u00a710 four-layer :class:`ReadmeContext`. Maps the template's ``_e", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L112", - "id": "controller_metadata_assembly_rationale_112", - "community": 25, - "norm_label": "compose the \u00a710 four-layer :class:`readmecontext`. maps the template's ``_e" - }, - { - "label": "Assemble the \u00a711.3 :class:`CreationJson` payload. Redesign \u00a73.1: creation.j", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L184", - "id": "controller_metadata_assembly_rationale_184", - "community": 25, - "norm_label": "assemble the \u00a711.3 :class:`creationjson` payload. redesign \u00a73.1: creation.j" - }, - { - "label": "Map a template's ``_exlab_readme.fields`` dicts to typed declarations. Entr", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L231", - "id": "controller_metadata_assembly_rationale_231", - "community": 25, - "norm_label": "map a template's ``_exlab_readme.fields`` dicts to typed declarations. entr" - }, - { - "label": "Map ``config.readme.defaults`` entries to typed declarations. Core field id", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L263", - "id": "controller_metadata_assembly_rationale_263", - "community": 25, - "norm_label": "map ``config.readme.defaults`` entries to typed declarations. core field id" - }, - { - "label": "Return the creating OS user for the README ``system.created_by``. Distinct", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L288", - "id": "controller_metadata_assembly_rationale_288", - "community": 5, - "norm_label": "return the creating os user for the readme ``system.created_by``. distinct" - }, - { - "label": "session_store.py", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L1", - "id": "src_exlab_wizard_controller_session_store_py", - "community": 18, - "norm_label": "session_store.py" - }, - { - "label": "Session", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L46", - "id": "controller_session_store_session", - "community": 10, - "norm_label": "session" - }, - { - "label": ".is_terminal()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L87", - "id": "controller_session_store_session_is_terminal", - "community": 10, - "norm_label": ".is_terminal()" - }, - { - "label": "SessionStore", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L92", - "id": "controller_session_store_sessionstore", - "community": 18, - "norm_label": "sessionstore" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L99", - "id": "controller_session_store_sessionstore_init", - "community": 18, - "norm_label": ".__init__()" - }, - { - "label": ".open()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L104", - "id": "controller_session_store_sessionstore_open", - "community": 18, - "norm_label": ".open()" - }, - { - "label": ".get()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L125", - "id": "controller_session_store_sessionstore_get", - "community": 18, - "norm_label": ".get()" - }, - { - "label": ".iter_sorted()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L129", - "id": "controller_session_store_sessionstore_iter_sorted", - "community": 18, - "norm_label": ".iter_sorted()" - }, - { - "label": ".transition()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L138", - "id": "controller_session_store_sessionstore_transition", - "community": 18, - "norm_label": ".transition()" - }, - { - "label": ".attach_event_queue()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L159", - "id": "controller_session_store_sessionstore_attach_event_queue", - "community": 18, - "norm_label": ".attach_event_queue()" - }, - { - "label": ".heartbeat()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L171", - "id": "controller_session_store_sessionstore_heartbeat", - "community": 18, - "norm_label": ".heartbeat()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L182", - "id": "controller_session_store_sessionstore_close", - "community": 18, - "norm_label": ".close()" - }, - { - "label": ".abandoned_older_than()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L202", - "id": "controller_session_store_sessionstore_abandoned_older_than", - "community": 18, - "norm_label": ".abandoned_older_than()" - }, - { - "label": ".gc_loop()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L218", - "id": "controller_session_store_sessionstore_gc_loop", - "community": 18, - "norm_label": ".gc_loop()" - }, - { - "label": "._gc_once()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L236", - "id": "controller_session_store_sessionstore_gc_once", - "community": 18, - "norm_label": "._gc_once()" - }, - { - "label": "on_operations_panel()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L259", - "id": "controller_session_store_on_operations_panel", - "community": 204, - "norm_label": "on_operations_panel()" - }, - { - "label": "project_identifier()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L270", - "id": "controller_session_store_project_identifier", - "community": 18, - "norm_label": "project_identifier()" - }, - { - "label": "In-memory session store + GC for creation sessions. Backend Spec \u00a74.4.7. The :c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L1", - "id": "controller_session_store_rationale_1", - "community": 18, - "norm_label": "in-memory session store + gc for creation sessions. backend spec \u00a74.4.7. the :c" - }, - { - "label": "One creation session. Backend Spec \u00a74.4.7. Attributes: session_id:", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L47", - "id": "controller_session_store_rationale_47", - "community": 10, - "norm_label": "one creation session. backend spec \u00a74.4.7. attributes: session_id:" - }, - { - "label": "Return ``True`` if the session reached a terminal state.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L88", - "id": "controller_session_store_rationale_88", - "community": 10, - "norm_label": "return ``true`` if the session reached a terminal state." - }, - { - "label": "In-memory session store. Backend Spec \u00a74.4.7. Sessions are keyed by UUID4 s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L93", - "id": "controller_session_store_rationale_93", - "community": 18, - "norm_label": "in-memory session store. backend spec \u00a74.4.7. sessions are keyed by uuid4 s" - }, - { - "label": "Create a fresh session in :data:`SessionState.PENDING` state.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L105", - "id": "controller_session_store_rationale_105", - "community": 18, - "norm_label": "create a fresh session in :data:`sessionstate.pending` state." - }, - { - "label": "Return the session keyed by ``session_id``, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L126", - "id": "controller_session_store_rationale_126", - "community": 18, - "norm_label": "return the session keyed by ``session_id``, or ``none``." - }, - { - "label": "Return ``(session_id, session)`` pairs, oldest-created first. The publi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L130", - "id": "controller_session_store_rationale_130", - "community": 18, - "norm_label": "return ``(session_id, session)`` pairs, oldest-created first. the publi" - }, - { - "label": "Move ``session_id`` to ``new_state``, updating ``current_phase``. Valid", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L139", - "id": "controller_session_store_rationale_139", - "community": 18, - "norm_label": "move ``session_id`` to ``new_state``, updating ``current_phase``. valid" - }, - { - "label": "Attach a WebSocket fan-out queue to the session. The controller pushes", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L160", - "id": "controller_session_store_rationale_160", - "community": 18, - "norm_label": "attach a websocket fan-out queue to the session. the controller pushes" - }, - { - "label": "Refresh ``last_heartbeat`` so the GC will not close this session. No-op", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L172", - "id": "controller_session_store_rationale_172", - "community": 18, - "norm_label": "refresh ``last_heartbeat`` so the gc will not close this session. no-op" - }, - { - "label": "Stamp a terminal-state session with the outcome envelope. ``outcome`` i", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L183", - "id": "controller_session_store_rationale_183", - "community": 18, - "norm_label": "stamp a terminal-state session with the outcome envelope. ``outcome`` i" - }, - { - "label": "Return ids of :data:`SessionState.INPUT_REQUIRED` sessions whose ``last_", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L203", - "id": "controller_session_store_rationale_203", - "community": 18, - "norm_label": "return ids of :data:`sessionstate.input_required` sessions whose ``last_" - }, - { - "label": "Run the abandoned-session GC forever. Backend Spec \u00a74.4.7. Sleeps ``int", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L219", - "id": "controller_session_store_rationale_219", - "community": 18, - "norm_label": "run the abandoned-session gc forever. backend spec \u00a74.4.7. sleeps ``int" - }, - { - "label": "One GC pass: close every abandoned ``INPUT_REQUIRED`` session.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L237", - "id": "controller_session_store_rationale_237", - "community": 18, - "norm_label": "one gc pass: close every abandoned ``input_required`` session." - }, - { - "label": "Return ``True`` when ``session`` belongs on the Operations panel. Frontend", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L260", - "id": "controller_session_store_rationale_260", - "community": 204, - "norm_label": "return ``true`` when ``session`` belongs on the operations panel. frontend" - }, - { - "label": "Pluck a project identifier off a project / run creation request. A project", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L271", - "id": "controller_session_store_rationale_271", - "community": 18, - "norm_label": "pluck a project identifier off a project / run creation request. a project" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_sample_data_init_py", - "community": 480, - "norm_label": "__init__.py" - }, - { - "label": "spec.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L1", - "id": "src_exlab_wizard_sample_data_spec_py", - "community": 78, - "norm_label": "spec.py" - }, - { - "label": "SampleFile", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L29", - "id": "sample_data_spec_samplefile", - "community": 78, - "norm_label": "samplefile" - }, - { - "label": "_check_relpath()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L37", - "id": "sample_data_spec_check_relpath", - "community": 78, - "norm_label": "_check_relpath()" - }, - { - "label": "SampleRun", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L50", - "id": "sample_data_spec_samplerun", - "community": 78, - "norm_label": "samplerun" - }, - { - "label": "SampleProject", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L63", - "id": "sample_data_spec_sampleproject", - "community": 78, - "norm_label": "sampleproject" - }, - { - "label": "_check_short_id()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L75", - "id": "sample_data_spec_check_short_id", - "community": 78, - "norm_label": "_check_short_id()" - }, - { - "label": "_check_name()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L85", - "id": "sample_data_spec_check_name", - "community": 78, - "norm_label": "_check_name()" - }, - { - "label": "SampleEquipment", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L97", - "id": "sample_data_spec_sampleequipment", - "community": 78, - "norm_label": "sampleequipment" - }, - { - "label": "_check_id()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L107", - "id": "sample_data_spec_check_id", - "community": 78, - "norm_label": "_check_id()" - }, - { - "label": "Declarative sample-data model + the ``SAMPLES`` list (design spec \u00a74). ``SAMPLE", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L1", - "id": "sample_data_spec_rationale_1", - "community": 78, - "norm_label": "declarative sample-data model + the ``samples`` list (design spec \u00a74). ``sample" - }, - { - "label": "generator.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L1", - "id": "src_exlab_wizard_sample_data_generator_py", - "community": 527, - "norm_label": "generator.py" - }, - { - "label": "generate_samples()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L121", - "id": "sample_data_generator_generate_samples", - "community": 109, - "norm_label": "generate_samples()" - }, - { - "label": "SampleDataGenerator", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L147", - "id": "sample_data_generator_sampledatagenerator", - "community": 38, - "norm_label": "sampledatagenerator" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L150", - "id": "sample_data_generator_sampledatagenerator_init", - "community": 38, - "norm_label": ".__init__()" - }, - { - "label": ".generate()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L163", - "id": "sample_data_generator_sampledatagenerator_generate", - "community": 38, - "norm_label": ".generate()" - }, - { - "label": "._generate_async()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L171", - "id": "sample_data_generator_sampledatagenerator_generate_async", - "community": 38, - "norm_label": "._generate_async()" - }, - { - "label": "._build_and_reload_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L194", - "id": "sample_data_generator_sampledatagenerator_build_and_reload_config", - "community": 38, - "norm_label": "._build_and_reload_config()" - }, - { - "label": "._wipe()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L239", - "id": "sample_data_generator_sampledatagenerator_wipe", - "community": 38, - "norm_label": "._wipe()" - }, - { - "label": "._write_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L286", - "id": "sample_data_generator_sampledatagenerator_write_equipment", - "community": 38, - "norm_label": "._write_equipment()" - }, - { - "label": "._write_project()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L313", - "id": "sample_data_generator_sampledatagenerator_write_project", - "community": 38, - "norm_label": "._write_project()" - }, - { - "label": "._write_metadata()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L401", - "id": "sample_data_generator_sampledatagenerator_write_metadata", - "community": 25, - "norm_label": "._write_metadata()" - }, - { - "label": "._run_date()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L469", - "id": "sample_data_generator_sampledatagenerator_run_date", - "community": 38, - "norm_label": "._run_date()" - }, - { - "label": "._write_payload()", - "file_type": "code", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L479", - "id": "sample_data_generator_sampledatagenerator_write_payload", - "community": 38, - "norm_label": "._write_payload()" - }, - { - "label": "Expand the declarative ``SAMPLES`` list into an on-disk demo tree. Design spec", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L1", - "id": "sample_data_generator_rationale_1", - "community": 527, - "norm_label": "expand the declarative ``samples`` list into an on-disk demo tree. design spec" - }, - { - "label": "Expand ``SAMPLES`` into an on-disk demo tree under the sandbox. Synchronous", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L127", - "id": "sample_data_generator_rationale_127", - "community": 109, - "norm_label": "expand ``samples`` into an on-disk demo tree under the sandbox. synchronous" - }, - { - "label": "Expands :data:`SAMPLES` into an on-disk tree (design spec \u00a76).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L148", - "id": "sample_data_generator_rationale_148", - "community": 38, - "norm_label": "expands :data:`samples` into an on-disk tree (design spec \u00a76)." - }, - { - "label": "Synchronous wrapper running the async core on a fresh loop.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L164", - "id": "sample_data_generator_rationale_164", - "community": 38, - "norm_label": "synchronous wrapper running the async core on a fresh loop." - }, - { - "label": "Merge sample equipment + the seeded README default; reload prefixed. Co", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L195", - "id": "sample_data_generator_rationale_195", - "community": 38, - "norm_label": "merge sample equipment + the seeded readme default; reload prefixed. co" - }, - { - "label": "Remove ``local_root/`` for each seeded equipment. Enforces", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L240", - "id": "sample_data_generator_rationale_240", - "community": 38, - "norm_label": "remove ``local_root/`` for each seeded equipment. enforces" - }, - { - "label": "Write README + readme_fields.json + creation.json for one folder. Uses", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L420", - "id": "sample_data_generator_rationale_420", - "community": 25, - "norm_label": "write readme + readme_fields.json + creation.json for one folder. uses" - }, - { - "label": "Deterministic run instant: ``base_time + (minutes_offset or index+1)``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L470", - "id": "sample_data_generator_rationale_470", - "community": 38, - "norm_label": "deterministic run instant: ``base_time + (minutes_offset or index+1)``." - }, - { - "label": "Write the run's payload files (or the default pair when None).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L480", - "id": "sample_data_generator_rationale_480", - "community": 38, - "norm_label": "write the run's payload files (or the default pair when none)." - }, - { - "label": "pywebview_app.py", - "file_type": "code", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L1", - "id": "src_exlab_wizard_window_pywebview_app_py", - "community": 17, - "norm_label": "pywebview_app.py" - }, - { - "label": "build_window_url()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L42", - "id": "window_pywebview_app_build_window_url", - "community": 17, - "norm_label": "build_window_url()" - }, - { - "label": "is_debug_enabled()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L51", - "id": "window_pywebview_app_is_debug_enabled", - "community": 17, - "norm_label": "is_debug_enabled()" - }, - { - "label": "run_window()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L59", - "id": "window_pywebview_app_run_window", - "community": 17, - "norm_label": "run_window()" - }, - { - "label": "_import_webview()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L93", - "id": "window_pywebview_app_import_webview", - "community": 17, - "norm_label": "_import_webview()" - }, - { - "label": "pywebview-driven native window. Backend Spec \u00a715.3.2. Opens a single pywebview", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L1", - "id": "window_pywebview_app_rationale_1", - "community": 17, - "norm_label": "pywebview-driven native window. backend spec \u00a715.3.2. opens a single pywebview" - }, - { - "label": "Return the URL the window points at. Always loopback (Backend \u00a74.1: \"binds", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L43", - "id": "window_pywebview_app_rationale_43", - "community": 17, - "norm_label": "return the url the window points at. always loopback (backend \u00a74.1: \"binds" - }, - { - "label": "True when ``EXLAB_DEBUG`` is set to a truthy string. Backend \u00a715.3.2.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L52", - "id": "window_pywebview_app_rationale_52", - "community": 17, - "norm_label": "true when ``exlab_debug`` is set to a truthy string. backend \u00a715.3.2." - }, - { - "label": "Open a single pywebview window pointed at the handshake's port. ``create_wi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L65", - "id": "window_pywebview_app_rationale_65", - "community": 17, - "norm_label": "open a single pywebview window pointed at the handshake's port. ``create_wi" - }, - { - "label": "Lazily import pywebview to keep the module import cheap.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L94", - "id": "window_pywebview_app_rationale_94", - "community": 17, - "norm_label": "lazily import pywebview to keep the module import cheap." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/window/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_window_init_py", - "community": 481, - "norm_label": "__init__.py" - }, - { - "label": "main.py", - "file_type": "code", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L1", - "id": "src_exlab_wizard_window_main_py", - "community": 17, - "norm_label": "main.py" - }, - { - "label": "ServerHandshake", - "file_type": "code", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L38", - "id": "window_main_serverhandshake", - "community": 17, - "norm_label": "serverhandshake" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L43", - "id": "window_main_serverhandshake_init", - "community": 17, - "norm_label": ".__init__()" - }, - { - "label": "read_server_handshake()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L49", - "id": "window_main_read_server_handshake", - "community": 17, - "norm_label": "read_server_handshake()" - }, - { - "label": "is_pid_alive()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L74", - "id": "window_main_is_pid_alive", - "community": 17, - "norm_label": "is_pid_alive()" - }, - { - "label": "_posix_is_pid_alive()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L92", - "id": "window_main_posix_is_pid_alive", - "community": 17, - "norm_label": "_posix_is_pid_alive()" - }, - { - "label": "_win_is_pid_alive()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L110", - "id": "window_main_win_is_pid_alive", - "community": 17, - "norm_label": "_win_is_pid_alive()" - }, - { - "label": "main()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L133", - "id": "window_main_main", - "community": 17, - "norm_label": "main()" - }, - { - "label": "_default_handoff()", - "file_type": "code", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L173", - "id": "window_main_default_handoff", - "community": 17, - "norm_label": "_default_handoff()" - }, - { - "label": "``exlab-wizard-window`` console_scripts entry point. Backend Spec \u00a715.3.2. Read", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L1", - "id": "window_main_rationale_1", - "community": 17, - "norm_label": "``exlab-wizard-window`` console_scripts entry point. backend spec \u00a715.3.2. read" - }, - { - "label": "Resolved ``server.json`` contents: ``port`` / ``pid`` / ``started_at``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L39", - "id": "window_main_rationale_39", - "community": 17, - "norm_label": "resolved ``server.json`` contents: ``port`` / ``pid`` / ``started_at``." - }, - { - "label": "Read and validate ``/server.json``. Returns the handshake on suc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L50", - "id": "window_main_rationale_50", - "community": 17, - "norm_label": "read and validate ``/server.json``. returns the handshake on suc" - }, - { - "label": "Cross-platform \"is this PID a live process?\" check. Implementation: POSIX `", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L75", - "id": "window_main_rationale_75", - "community": 17, - "norm_label": "cross-platform \"is this pid a live process?\" check. implementation: posix `" - }, - { - "label": "Entry point. Backend Spec \u00a715.3.2. ``argv`` is ignored at this phase (the s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L140", - "id": "window_main_rationale_140", - "community": 17, - "norm_label": "entry point. backend spec \u00a715.3.2. ``argv`` is ignored at this phase (the s" - }, - { - "label": "Hand off control to :mod:`pywebview_app`.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L174", - "id": "window_main_rationale_174", - "community": 17, - "norm_label": "hand off control to :mod:`pywebview_app`." - }, - { - "label": "health.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_health_py", - "community": 136, - "norm_label": "health.py" - }, - { - "label": "HealthResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L35", - "id": "api_health_healthresponse", - "community": 136, - "norm_label": "healthresponse" - }, - { - "label": "build_health_router()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L47", - "id": "api_health_build_health_router", - "community": 136, - "norm_label": "build_health_router()" - }, - { - "label": "_component_rollup()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L72", - "id": "api_health_component_rollup", - "community": 136, - "norm_label": "_component_rollup()" - }, - { - "label": "_validator_health()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L83", - "id": "api_health_validator_health", - "community": 136, - "norm_label": "_validator_health()" - }, - { - "label": "_nas_sync_health()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L91", - "id": "api_health_nas_sync_health", - "community": 136, - "norm_label": "_nas_sync_health()" - }, - { - "label": "_lims_health()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L116", - "id": "api_health_lims_health", - "community": 136, - "norm_label": "_lims_health()" - }, - { - "label": "_plugin_host_health()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L131", - "id": "api_health_plugin_host_health", - "community": 136, - "norm_label": "_plugin_host_health()" - }, - { - "label": "_session_store_health()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L144", - "id": "api_health_session_store_health", - "community": 136, - "norm_label": "_session_store_health()" - }, - { - "label": "_top_level_status()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L161", - "id": "api_health_top_level_status", - "community": 136, - "norm_label": "_top_level_status()" - }, - { - "label": "``GET /api/v1/health`` rollup. Backend Spec \u00a74.6.3. Returns a component-health", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L1", - "id": "api_health_rationale_1", - "community": 136, - "norm_label": "``get /api/v1/health`` rollup. backend spec \u00a74.6.3. returns a component-health" - }, - { - "label": "``GET /health`` response body. Backend Spec \u00a74.6.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L36", - "id": "api_health_rationale_36", - "community": 136, - "norm_label": "``get /health`` response body. backend spec \u00a74.6.3." - }, - { - "label": "Construct the health router. Always available.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L48", - "id": "api_health_rationale_48", - "community": 136, - "norm_label": "construct the health router. always available." - }, - { - "label": "Build the \u00a74.6.3 components block from the live dependencies.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L73", - "id": "api_health_rationale_73", - "community": 136, - "norm_label": "build the \u00a74.6.3 components block from the live dependencies." - }, - { - "label": "Aggregate per-component statuses into the \u00a74.6.3 top-level value. Top-level", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L162", - "id": "api_health_rationale_162", - "community": 136, - "norm_label": "aggregate per-component statuses into the \u00a74.6.3 top-level value. top-level" - }, - { - "label": "_dependencies.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_dependencies_py", - "community": 82, - "norm_label": "_dependencies.py" - }, - { - "label": "lims_password_present()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L31", - "id": "api_dependencies_lims_password_present", - "community": 82, - "norm_label": "lims_password_present()" - }, - { - "label": "nas_remote_available()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L51", - "id": "api_dependencies_nas_remote_available", - "community": 187, - "norm_label": "nas_remote_available()" - }, - { - "label": "require_deps()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L74", - "id": "api_dependencies_require_deps", - "community": 82, - "norm_label": "require_deps()" - }, - { - "label": "require_controller()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L94", - "id": "api_dependencies_require_controller", - "community": 82, - "norm_label": "require_controller()" - }, - { - "label": "Shared FastAPI dependency helpers for the wizard's HTTP routers. The lifespan h", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L1", - "id": "api_dependencies_rationale_1", - "community": 82, - "norm_label": "shared fastapi dependency helpers for the wizard's http routers. the lifespan h" - }, - { - "label": "Return whether a LIMS password is stored -- the repo-wide reader. Every sur", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L32", - "id": "api_dependencies_rationale_32", - "community": 82, - "norm_label": "return whether a lims password is stored -- the repo-wide reader. every sur" - }, - { - "label": "Return whether ``remote`` is present in the operator's rclone.conf. rclone.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L52", - "id": "api_dependencies_rationale_52", - "community": 82, - "norm_label": "return whether ``remote`` is present in the operator's rclone.conf. rclone." - }, - { - "label": "Return ``app.state.dependencies`` or raise a structured 503. A missing depe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L75", - "id": "api_dependencies_rationale_75", - "community": 82, - "norm_label": "return ``app.state.dependencies`` or raise a structured 503. a missing depe" - }, - { - "label": "Return ``deps.controller`` or raise a structured 503. Used by the routes th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L95", - "id": "api_dependencies_rationale_95", - "community": 82, - "norm_label": "return ``deps.controller`` or raise a structured 503. used by the routes th" - }, - { - "label": "events.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_events_py", - "community": 64, - "norm_label": "events.py" - }, - { - "label": "PhaseEvent", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L46", - "id": "api_events_phaseevent", - "community": 64, - "norm_label": "phaseevent" - }, - { - "label": "ProgressEvent", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L63", - "id": "api_events_progressevent", - "community": 64, - "norm_label": "progressevent" - }, - { - "label": "InputRequiredEvent", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L76", - "id": "api_events_inputrequiredevent", - "community": 64, - "norm_label": "inputrequiredevent" - }, - { - "label": "WarningEvent", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L96", - "id": "api_events_warningevent", - "community": 64, - "norm_label": "warningevent" - }, - { - "label": "DoneEvent", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L113", - "id": "api_events_doneevent", - "community": 64, - "norm_label": "doneevent" - }, - { - "label": "FailedEvent", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L129", - "id": "api_events_failedevent", - "community": 64, - "norm_label": "failedevent" - }, - { - "label": "SnapshotEvent", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L146", - "id": "api_events_snapshotevent", - "community": 64, - "norm_label": "snapshotevent" - }, - { - "label": "DeltaEvent", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L163", - "id": "api_events_deltaevent", - "community": 64, - "norm_label": "deltaevent" - }, - { - "label": "encode_event()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L189", - "id": "api_events_encode_event", - "community": 64, - "norm_label": "encode_event()" - }, - { - "label": "event_from_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L198", - "id": "api_events_event_from_dict", - "community": 64, - "norm_label": "event_from_dict()" - }, - { - "label": "WebSocket frame envelope types. Backend Spec \u00a74.6.2. These ``msgspec.Struct`` t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L1", - "id": "api_events_rationale_1", - "community": 64, - "norm_label": "websocket frame envelope types. backend spec \u00a74.6.2. these ``msgspec.struct`` t" - }, - { - "label": "Per-state phase frame. Backend Spec \u00a74.6.2. Emitted on every state transiti", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L52", - "id": "api_events_rationale_52", - "community": 64, - "norm_label": "per-state phase frame. backend spec \u00a74.6.2. emitted on every state transiti" - }, - { - "label": "Progress frame for the long-running plugin pass. Backend Spec \u00a74.6.2.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L69", - "id": "api_events_rationale_69", - "community": 64, - "norm_label": "progress frame for the long-running plugin pass. backend spec \u00a74.6.2." - }, - { - "label": "Plugin escalation frame. Backend Spec \u00a74.6.2 / \u00a76.4. ``fields`` is the plug", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L82", - "id": "api_events_rationale_82", - "community": 64, - "norm_label": "plugin escalation frame. backend spec \u00a74.6.2 / \u00a76.4. ``fields`` is the plug" - }, - { - "label": "Non-fatal warning frame. Backend Spec \u00a74.6.2. Emitted by the controller whe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L102", - "id": "api_events_rationale_102", - "community": 64, - "norm_label": "non-fatal warning frame. backend spec \u00a74.6.2. emitted by the controller whe" - }, - { - "label": "Terminal success frame. Backend Spec \u00a74.6.2. ``result`` carries the final s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L119", - "id": "api_events_rationale_119", - "community": 64, - "norm_label": "terminal success frame. backend spec \u00a74.6.2. ``result`` carries the final s" - }, - { - "label": "Terminal failure frame. Backend Spec \u00a74.6.2. ``error`` follows the \u00a74.6.3 e", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L135", - "id": "api_events_rationale_135", - "community": 64, - "norm_label": "terminal failure frame. backend spec \u00a74.6.2. ``error`` follows the \u00a74.6.3 e" - }, - { - "label": "Full audit snapshot frame for the Problems pub-sub channel. Sent immediatel", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L152", - "id": "api_events_rationale_152", - "community": 64, - "norm_label": "full audit snapshot frame for the problems pub-sub channel. sent immediatel" - }, - { - "label": "Delta frame for the Problems pub-sub channel. Backend Spec \u00a74.6.2. Sent on", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L169", - "id": "api_events_rationale_169", - "community": 64, - "norm_label": "delta frame for the problems pub-sub channel. backend spec \u00a74.6.2. sent on" - }, - { - "label": "Encode a typed WebSocket frame to JSON bytes via ``msgspec.json``. Single d", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L190", - "id": "api_events_rationale_190", - "community": 64, - "norm_label": "encode a typed websocket frame to json bytes via ``msgspec.json``. single d" - }, - { - "label": "Convert a plain dict (e.g. from the controller's event queue) into the match", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L199", - "id": "api_events_rationale_199", - "community": 64, - "norm_label": "convert a plain dict (e.g. from the controller's event queue) into the match" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_init_py", - "community": 401, - "norm_label": "__init__.py" - }, - { - "label": "setup.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_setup_py", - "community": 112, - "norm_label": "setup.py" - }, - { - "label": "SetupStatusResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L71", - "id": "api_setup_setupstatusresponse", - "community": 112, - "norm_label": "setupstatusresponse" - }, - { - "label": "LIMSTestRequest", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L82", - "id": "api_setup_limstestrequest", - "community": 112, - "norm_label": "limstestrequest" - }, - { - "label": "EquipmentTestRequest", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L98", - "id": "api_setup_equipmenttestrequest", - "community": 112, - "norm_label": "equipmenttestrequest" - }, - { - "label": "ProbeResult", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L114", - "id": "api_setup_proberesult", - "community": 112, - "norm_label": "proberesult" - }, - { - "label": "AutostartRequest", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L132", - "id": "api_setup_autostartrequest", - "community": 112, - "norm_label": "autostartrequest" - }, - { - "label": "AutostartResult", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L140", - "id": "api_setup_autostartresult", - "community": 112, - "norm_label": "autostartresult" - }, - { - "label": "compute_setup_state()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L154", - "id": "api_setup_compute_setup_state", - "community": 95, - "norm_label": "compute_setup_state()" - }, - { - "label": "is_creation_blocked()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L171", - "id": "api_setup_is_creation_blocked", - "community": 331, - "norm_label": "is_creation_blocked()" - }, - { - "label": "setup_state_gate()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L181", - "id": "api_setup_setup_state_gate", - "community": 331, - "norm_label": "setup_state_gate()" - }, - { - "label": "build_setup_router()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L216", - "id": "api_setup_build_setup_router", - "community": 94, - "norm_label": "build_setup_router()" - }, - { - "label": "_coerce_probe_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L301", - "id": "api_setup_coerce_probe_dict", - "community": 112, - "norm_label": "_coerce_probe_dict()" - }, - { - "label": "_resolve_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L318", - "id": "api_setup_resolve_equipment", - "community": 112, - "norm_label": "_resolve_equipment()" - }, - { - "label": "_await_or_call()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L337", - "id": "api_setup_await_or_call", - "community": 112, - "norm_label": "_await_or_call()" - }, - { - "label": "Setup-state gate + ``/setup/*`` endpoints. Backend Spec \u00a74.6, \u00a74.9. Two respons", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L1", - "id": "api_setup_rationale_1", - "community": 112, - "norm_label": "setup-state gate + ``/setup/*`` endpoints. backend spec \u00a74.6, \u00a74.9. two respons" - }, - { - "label": "``GET /setup/status`` response. Backend Spec \u00a74.9.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L72", - "id": "api_setup_rationale_72", - "community": 112, - "norm_label": "``get /setup/status`` response. backend spec \u00a74.9.3." - }, - { - "label": "``POST /setup/test-lims`` request body. Either reference the currently-conf", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L83", - "id": "api_setup_rationale_83", - "community": 112, - "norm_label": "``post /setup/test-lims`` request body. either reference the currently-conf" - }, - { - "label": "``POST /setup/test-equipment`` request body. Rclone-only NAS sync migration", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L99", - "id": "api_setup_rationale_99", - "community": 112, - "norm_label": "``post /setup/test-equipment`` request body. rclone-only nas sync migration" - }, - { - "label": "Common ``ok``/``reason`` payload for the diagnostics endpoints.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L115", - "id": "api_setup_rationale_115", - "community": 112, - "norm_label": "common ``ok``/``reason`` payload for the diagnostics endpoints." - }, - { - "label": "``POST /setup/autostart`` request body. Backend Spec \u00a74.9.5 step 0.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L133", - "id": "api_setup_rationale_133", - "community": 112, - "norm_label": "``post /setup/autostart`` request body. backend spec \u00a74.9.5 step 0." - }, - { - "label": "``POST /setup/autostart`` response.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L141", - "id": "api_setup_rationale_141", - "community": 112, - "norm_label": "``post /setup/autostart`` response." - }, - { - "label": "Evaluate the \u00a74.9.1 state for the app's current dependencies. The dependenc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L155", - "id": "api_setup_rationale_155", - "community": 95, - "norm_label": "evaluate the \u00a74.9.1 state for the app's current dependencies. the dependenc" - }, - { - "label": "Return True when ``state`` should gate creation flows. Per \u00a74.9.4 the soft", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L172", - "id": "api_setup_rationale_172", - "community": 331, - "norm_label": "return true when ``state`` should gate creation flows. per \u00a74.9.4 the soft" - }, - { - "label": "FastAPI dependency that gates a route on setup state. Looks up the app's bo", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L182", - "id": "api_setup_rationale_182", - "community": 331, - "norm_label": "fastapi dependency that gates a route on setup state. looks up the app's bo" - }, - { - "label": "Construct the ``/setup/*`` router. Always-available endpoints.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L217", - "id": "api_setup_rationale_217", - "community": 94, - "norm_label": "construct the ``/setup/*`` router. always-available endpoints." - }, - { - "label": "Build a ``ProbeResult`` from a probe's plain-dict return value. Wired throu", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L302", - "id": "api_setup_rationale_302", - "community": 112, - "norm_label": "build a ``proberesult`` from a probe's plain-dict return value. wired throu" - }, - { - "label": "Resolve the equipment to probe by id through ``deps.config``. Rclone-only N", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L319", - "id": "api_setup_rationale_319", - "community": 112, - "norm_label": "resolve the equipment to probe by id through ``deps.config``. rclone-only n" - }, - { - "label": "Invoke a probe that may be sync or async; await the result. The probes are", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L338", - "id": "api_setup_rationale_338", - "community": 112, - "norm_label": "invoke a probe that may be sync or async; await the result. the probes are" - }, - { - "label": "schemas.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_schemas_py", - "community": 0, - "norm_label": "schemas.py" - }, - { - "label": "LimsProjectBlock", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L82", - "id": "api_schemas_limsprojectblock", - "community": 0, - "norm_label": "limsprojectblock" - }, - { - "label": "TemplateBlock", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L102", - "id": "api_schemas_templateblock", - "community": 0, - "norm_label": "templateblock" - }, - { - "label": "PluginIsolation", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L118", - "id": "api_schemas_pluginisolation", - "community": 10, - "norm_label": "pluginisolation" - }, - { - "label": "PluginApplied", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L130", - "id": "api_schemas_pluginapplied", - "community": 25, - "norm_label": "pluginapplied" - }, - { - "label": "PathsBlock", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L148", - "id": "api_schemas_pathsblock", - "community": 0, - "norm_label": "pathsblock" - }, - { - "label": "OrchestratorBlock", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L159", - "id": "api_schemas_orchestratorblock", - "community": 25, - "norm_label": "orchestratorblock" - }, - { - "label": "OverrideEntry", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L190", - "id": "api_schemas_overrideentry", - "community": 0, - "norm_label": "overrideentry" - }, - { - "label": "TombstoneEntry", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L212", - "id": "api_schemas_tombstoneentry", - "community": 0, - "norm_label": "tombstoneentry" - }, - { - "label": "override_entry_to_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L232", - "id": "api_schemas_override_entry_to_dict", - "community": 152, - "norm_label": "override_entry_to_dict()" - }, - { - "label": "tombstone_entry_to_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L242", - "id": "api_schemas_tombstone_entry_to_dict", - "community": 152, - "norm_label": "tombstone_entry_to_dict()" - }, - { - "label": "parse_validation_override_entry()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L249", - "id": "api_schemas_parse_validation_override_entry", - "community": 42, - "norm_label": "parse_validation_override_entry()" - }, - { - "label": "CreationJson", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L271", - "id": "api_schemas_creationjson", - "community": 0, - "norm_label": "creationjson" - }, - { - "label": "ReadmeFieldsJson", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L309", - "id": "api_schemas_readmefieldsjson", - "community": 224, - "norm_label": "readmefieldsjson" - }, - { - "label": "EquipmentJson", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L330", - "id": "api_schemas_equipmentjson", - "community": 10, - "norm_label": "equipmentjson" - }, - { - "label": "TestRunsJson", - "file_type": "code", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L351", - "id": "api_schemas_testrunsjson", - "community": 38, - "norm_label": "testrunsjson" - }, - { - "label": "msgspec.Struct types for the ExLab-Wizard cache files. This module is the singl", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L1", - "id": "api_schemas_rationale_1", - "community": 0, - "norm_label": "msgspec.struct types for the exlab-wizard cache files. this module is the singl" - }, - { - "label": "LIMS-side project identity captured at creation time. Spec \u00a711.3. Required", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L87", - "id": "api_schemas_rationale_87", - "community": 0, - "norm_label": "lims-side project identity captured at creation time. spec \u00a711.3. required" - }, - { - "label": "Template provenance captured at creation time. Spec \u00a711.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L107", - "id": "api_schemas_rationale_107", - "community": 0, - "norm_label": "template provenance captured at creation time. spec \u00a711.3." - }, - { - "label": "Plugin worker isolation telemetry. Spec \u00a76.2.4 / \u00a711.3 (added 1.3).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L123", - "id": "api_schemas_rationale_123", - "community": 10, - "norm_label": "plugin worker isolation telemetry. spec \u00a76.2.4 / \u00a711.3 (added 1.3)." - }, - { - "label": "Per-plugin invocation record written into ``plugins_applied``. Spec \u00a76.2.4", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L135", - "id": "api_schemas_rationale_135", - "community": 25, - "norm_label": "per-plugin invocation record written into ``plugins_applied``. spec \u00a76.2.4" - }, - { - "label": "Resolved on-disk paths captured at creation time. Spec \u00a711.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L153", - "id": "api_schemas_rationale_153", - "community": 0, - "norm_label": "resolved on-disk paths captured at creation time. spec \u00a711.3." - }, - { - "label": "Orchestrator-mode metadata. Spec \u00a711.3 / \u00a713 / Redesign Spec \u00a73.3. Always p", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L164", - "id": "api_schemas_rationale_164", - "community": 25, - "norm_label": "orchestrator-mode metadata. spec \u00a711.3 / \u00a713 / redesign spec \u00a73.3. always p" - }, - { - "label": "Operator-recorded validation override entry. Spec \u00a711.3. ``revoked`` is ``F", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L195", - "id": "api_schemas_rationale_195", - "community": 0, - "norm_label": "operator-recorded validation override entry. spec \u00a711.3. ``revoked`` is ``f" - }, - { - "label": "Tombstone entry that revokes a prior override by ``id``. Spec \u00a711.3. ``revo", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L217", - "id": "api_schemas_rationale_217", - "community": 0, - "norm_label": "tombstone entry that revokes a prior override by ``id``. spec \u00a711.3. ``revo" - }, - { - "label": "Serialize an ``OverrideEntry`` to a wire-form dict. Uses ``msgspec.structs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L233", - "id": "api_schemas_rationale_233", - "community": 152, - "norm_label": "serialize an ``overrideentry`` to a wire-form dict. uses ``msgspec.structs." - }, - { - "label": "Serialize a ``TombstoneEntry`` to a wire-form dict. Mirrors ``override_entry", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L243", - "id": "api_schemas_rationale_243", - "community": 152, - "norm_label": "serialize a ``tombstoneentry`` to a wire-form dict. mirrors ``override_entry" - }, - { - "label": "Inspect ``entry[\"revoked\"]`` and ``entry[\"revokes\"]`` to decide which Struct", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L252", - "id": "api_schemas_rationale_252", - "community": 42, - "norm_label": "inspect ``entry[\"revoked\"]`` and ``entry[\"revokes\"]`` to decide which struct" - }, - { - "label": "Top-level ``creation.json`` payload at schema version 1.8. Reading: ``msgsp", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L276", - "id": "api_schemas_rationale_276", - "community": 0, - "norm_label": "top-level ``creation.json`` payload at schema version 1.8. reading: ``msgsp" - }, - { - "label": "``readme_fields.json`` at schema version 1.1. Spec \u00a711.4.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L314", - "id": "api_schemas_rationale_314", - "community": 224, - "norm_label": "``readme_fields.json`` at schema version 1.1. spec \u00a711.4." - }, - { - "label": "``equipment.json`` at schema version 1.0. Spec \u00a711.4.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L335", - "id": "api_schemas_rationale_335", - "community": 10, - "norm_label": "``equipment.json`` at schema version 1.0. spec \u00a711.4.1." - }, - { - "label": "``test_runs.json`` marker at schema version 1.0. Spec \u00a711.4.2. Filename ret", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L356", - "id": "api_schemas_rationale_356", - "community": 38, - "norm_label": "``test_runs.json`` marker at schema version 1.0. spec \u00a711.4.2. filename ret" - }, - { - "label": "app.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_app_py", - "community": 67, - "norm_label": "app.py" - }, - { - "label": "AuditChannel", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L77", - "id": "api_app_auditchannel", - "community": 67, - "norm_label": "auditchannel" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L85", - "id": "api_app_auditchannel_init", - "community": 67, - "norm_label": ".__init__()" - }, - { - "label": ".subscribe()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L89", - "id": "api_app_auditchannel_subscribe", - "community": 67, - "norm_label": ".subscribe()" - }, - { - "label": ".publish_snapshot()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L97", - "id": "api_app_auditchannel_publish_snapshot", - "community": 67, - "norm_label": ".publish_snapshot()" - }, - { - "label": ".publish_delta()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L106", - "id": "api_app_auditchannel_publish_delta", - "community": 67, - "norm_label": ".publish_delta()" - }, - { - "label": "._broadcast()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L123", - "id": "api_app_auditchannel_broadcast", - "community": 67, - "norm_label": "._broadcast()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L128", - "id": "api_app_auditchannel_close", - "community": 67, - "norm_label": ".close()" - }, - { - "label": "_drain()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L136", - "id": "api_app_drain", - "community": 67, - "norm_label": "_drain()" - }, - { - "label": "_finding_to_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L152", - "id": "api_app_finding_to_dict", - "community": 67, - "norm_label": "_finding_to_dict()" - }, - { - "label": "AppDependencies", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L167", - "id": "api_app_appdependencies", - "community": 95, - "norm_label": "appdependencies" - }, - { - "label": "create_app()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L258", - "id": "api_app_create_app", - "community": 94, - "norm_label": "create_app()" - }, - { - "label": "_audit_loop()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L343", - "id": "api_app_audit_loop", - "community": 67, - "norm_label": "_audit_loop()" - }, - { - "label": "_diff_findings()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L385", - "id": "api_app_diff_findings", - "community": 67, - "norm_label": "_diff_findings()" - }, - { - "label": "FastAPI app + lifespan + dependency wiring. Backend Spec \u00a74.6. The :func:`creat", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L1", - "id": "api_app_rationale_1", - "community": 67, - "norm_label": "fastapi app + lifespan + dependency wiring. backend spec \u00a74.6. the :func:`creat" - }, - { - "label": "Multi-subscriber pub-sub for the Problems WebSocket. Backend Spec \u00a74.6.2. S", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L78", - "id": "api_app_rationale_78", - "community": 67, - "norm_label": "multi-subscriber pub-sub for the problems websocket. backend spec \u00a74.6.2. s" - }, - { - "label": "Return an async iterator that yields every published frame.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L90", - "id": "api_app_rationale_90", - "community": 67, - "norm_label": "return an async iterator that yields every published frame." - }, - { - "label": "Close every subscriber's queue. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L129", - "id": "api_app_rationale_129", - "community": 67, - "norm_label": "close every subscriber's queue. idempotent." - }, - { - "label": "Yield from the subscriber queue until a sentinel arrives.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L140", - "id": "api_app_rationale_140", - "community": 67, - "norm_label": "yield from the subscriber queue until a sentinel arrives." - }, - { - "label": "Best-effort serialize a Finding-like object to dict.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L153", - "id": "api_app_rationale_153", - "community": 67, - "norm_label": "best-effort serialize a finding-like object to dict." - }, - { - "label": "Bundle of live components the API surface dispatches to. Production wiring", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L168", - "id": "api_app_rationale_168", - "community": 95, - "norm_label": "bundle of live components the api surface dispatches to. production wiring" - }, - { - "label": "Build the FastAPI app. Backend Spec \u00a74.6. ``config``: optional pre-loaded `", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L265", - "id": "api_app_rationale_265", - "community": 94, - "norm_label": "build the fastapi app. backend spec \u00a74.6. ``config``: optional pre-loaded `" - }, - { - "label": "Background task that re-runs the validator audit every interval. Diffs the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L344", - "id": "api_app_rationale_344", - "community": 67, - "norm_label": "background task that re-runs the validator audit every interval. diffs the" - }, - { - "label": "Return ``(added, removed, changed)`` keyed on ``(rule, offending_path)``. T", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L388", - "id": "api_app_rationale_388", - "community": 67, - "norm_label": "return ``(added, removed, changed)`` keyed on ``(rule, offending_path)``. t" - }, - { - "label": "errors.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_errors_py", - "community": 31, - "norm_label": "errors.py" - }, - { - "label": "extract_or_create_trace_id()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L96", - "id": "api_errors_extract_or_create_trace_id", - "community": 31, - "norm_label": "extract_or_create_trace_id()" - }, - { - "label": "build_error_envelope()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L110", - "id": "api_errors_build_error_envelope", - "community": 31, - "norm_label": "build_error_envelope()" - }, - { - "label": "error_response()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L140", - "id": "api_errors_error_response", - "community": 31, - "norm_label": "error_response()" - }, - { - "label": "_exlab_validation_handler()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L175", - "id": "api_errors_exlab_validation_handler", - "community": 31, - "norm_label": "_exlab_validation_handler()" - }, - { - "label": "_pydantic_validation_handler()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L197", - "id": "api_errors_pydantic_validation_handler", - "community": 31, - "norm_label": "_pydantic_validation_handler()" - }, - { - "label": "_pydantic_error_to_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L228", - "id": "api_errors_pydantic_error_to_dict", - "community": 31, - "norm_label": "_pydantic_error_to_dict()" - }, - { - "label": "_config_error_handler()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L237", - "id": "api_errors_config_error_handler", - "community": 31, - "norm_label": "_config_error_handler()" - }, - { - "label": "_keyring_unavailable_handler()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L246", - "id": "api_errors_keyring_unavailable_handler", - "community": 31, - "norm_label": "_keyring_unavailable_handler()" - }, - { - "label": "_schema_major_mismatch_handler()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L255", - "id": "api_errors_schema_major_mismatch_handler", - "community": 31, - "norm_label": "_schema_major_mismatch_handler()" - }, - { - "label": "_setup_incomplete_handler()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L265", - "id": "api_errors_setup_incomplete_handler", - "community": 31, - "norm_label": "_setup_incomplete_handler()" - }, - { - "label": "_template_load_error_handler()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L289", - "id": "api_errors_template_load_error_handler", - "community": 31, - "norm_label": "_template_load_error_handler()" - }, - { - "label": "_http_exception_handler()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L303", - "id": "api_errors_http_exception_handler", - "community": 31, - "norm_label": "_http_exception_handler()" - }, - { - "label": "_status_to_code()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L336", - "id": "api_errors_status_to_code", - "community": 31, - "norm_label": "_status_to_code()" - }, - { - "label": "_generic_handler()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L349", - "id": "api_errors_generic_handler", - "community": 31, - "norm_label": "_generic_handler()" - }, - { - "label": "register_exception_handlers()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L368", - "id": "api_errors_register_exception_handlers", - "community": 31, - "norm_label": "register_exception_handlers()" - }, - { - "label": "_register()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L395", - "id": "api_errors_register", - "community": 31, - "norm_label": "_register()" - }, - { - "label": "Error envelope helpers + FastAPI exception handlers. Backend Spec \u00a74.6.3. Every", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L1", - "id": "api_errors_rationale_1", - "community": 31, - "norm_label": "error envelope helpers + fastapi exception handlers. backend spec \u00a74.6.3. every" - }, - { - "label": "Return the request's ``X-Trace-Id`` header, else a fresh hex id. Server-gen", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L97", - "id": "api_errors_rationale_97", - "community": 31, - "norm_label": "return the request's ``x-trace-id`` header, else a fresh hex id. server-gen" - }, - { - "label": "Build the \u00a74.6.3 envelope dict. ``code`` is validated against :data:`ERROR_", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L118", - "id": "api_errors_rationale_118", - "community": 31, - "norm_label": "build the \u00a74.6.3 envelope dict. ``code`` is validated against :data:`error_" - }, - { - "label": "Build a FastAPI JSONResponse carrying the \u00a74.6.3 envelope. ``extra`` is mer", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L150", - "id": "api_errors_rationale_150", - "community": 31, - "norm_label": "build a fastapi jsonresponse carrying the \u00a74.6.3 envelope. ``extra`` is mer" - }, - { - "label": "Translate :class:`exlab_wizard.errors.ValidationError` to envelope. The con", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L176", - "id": "api_errors_rationale_176", - "community": 31, - "norm_label": "translate :class:`exlab_wizard.errors.validationerror` to envelope. the con" - }, - { - "label": "Translate Pydantic validation errors to the \u00a74.6.3 envelope. FastAPI raises", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L200", - "id": "api_errors_rationale_200", - "community": 31, - "norm_label": "translate pydantic validation errors to the \u00a74.6.3 envelope. fastapi raises" - }, - { - "label": "Strip Pydantic error dicts of unhashable / large fields.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L229", - "id": "api_errors_rationale_229", - "community": 31, - "norm_label": "strip pydantic error dicts of unhashable / large fields." - }, - { - "label": "Translate :class:`SetupIncompleteError` to the \u00a74.9.2 envelope. The control", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L266", - "id": "api_errors_rationale_266", - "community": 31, - "norm_label": "translate :class:`setupincompleteerror` to the \u00a74.9.2 envelope. the control" - }, - { - "label": "Translate an :class:`HTTPException` into the \u00a74.6.3 envelope. Routers raise", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L304", - "id": "api_errors_rationale_304", - "community": 31, - "norm_label": "translate an :class:`httpexception` into the \u00a74.6.3 envelope. routers raise" - }, - { - "label": "Best-effort default code for a bare ``HTTPException``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L337", - "id": "api_errors_rationale_337", - "community": 31, - "norm_label": "best-effort default code for a bare ``httpexception``." - }, - { - "label": "Catch-all 500 handler. Backend Spec \u00a74.6.3 last paragraph. The exception's", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L350", - "id": "api_errors_rationale_350", - "community": 31, - "norm_label": "catch-all 500 handler. backend spec \u00a74.6.3 last paragraph. the exception's" - }, - { - "label": "Attach the \u00a74.6.3 envelope handlers to a FastAPI app. Registered in priorit", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L369", - "id": "api_errors_rationale_369", - "community": 31, - "norm_label": "attach the \u00a74.6.3 envelope handlers to a fastapi app. registered in priorit" - }, - { - "label": "Wrap ``app.add_exception_handler`` so the handler is accepted as ``Any``. S", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L400", - "id": "api_errors_rationale_400", - "community": 31, - "norm_label": "wrap ``app.add_exception_handler`` so the handler is accepted as ``any``. s" - }, - { - "label": "browse.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_routers_browse_py", - "community": 16, - "norm_label": "browse.py" - }, - { - "label": "RunNode", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L67", - "id": "routers_browse_runnode", - "community": 16, - "norm_label": "runnode" - }, - { - "label": "ProjectNode", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L77", - "id": "routers_browse_projectnode", - "community": 16, - "norm_label": "projectnode" - }, - { - "label": "EquipmentNode", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L91", - "id": "routers_browse_equipmentnode", - "community": 16, - "norm_label": "equipmentnode" - }, - { - "label": "RelayEquipmentNode", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L109", - "id": "routers_browse_relayequipmentnode", - "community": 16, - "norm_label": "relayequipmentnode" - }, - { - "label": "TreeResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L125", - "id": "routers_browse_treeresponse", - "community": 0, - "norm_label": "treeresponse" - }, - { - "label": "FolderEntry", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L132", - "id": "routers_browse_folderentry", - "community": 0, - "norm_label": "folderentry" - }, - { - "label": "FolderResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L156", - "id": "routers_browse_folderresponse", - "community": 0, - "norm_label": "folderresponse" - }, - { - "label": "RunDetail", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L165", - "id": "routers_browse_rundetail", - "community": 0, - "norm_label": "rundetail" - }, - { - "label": "RunLogEntry", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L180", - "id": "routers_browse_runlogentry", - "community": 16, - "norm_label": "runlogentry" - }, - { - "label": "RunLogResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L199", - "id": "routers_browse_runlogresponse", - "community": 6, - "norm_label": "runlogresponse" - }, - { - "label": "build_browse_router()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L214", - "id": "routers_browse_build_browse_router", - "community": 16, - "norm_label": "build_browse_router()" - }, - { - "label": "_run_log_from_queue()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L341", - "id": "routers_browse_run_log_from_queue", - "community": 16, - "norm_label": "_run_log_from_queue()" - }, - { - "label": "_path_is_under_allowed_root()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L375", - "id": "routers_browse_path_is_under_allowed_root", - "community": 16, - "norm_label": "_path_is_under_allowed_root()" - }, - { - "label": "_build_equipment_node()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L405", - "id": "routers_browse_build_equipment_node", - "community": 16, - "norm_label": "_build_equipment_node()" - }, - { - "label": "build_received_equipment_nodes()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L420", - "id": "routers_browse_build_received_equipment_nodes", - "community": 16, - "norm_label": "build_received_equipment_nodes()" - }, - { - "label": "_relay_label_from_first_run()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L463", - "id": "routers_browse_relay_label_from_first_run", - "community": 16, - "norm_label": "_relay_label_from_first_run()" - }, - { - "label": "_find_run_root()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L494", - "id": "routers_browse_find_run_root", - "community": 16, - "norm_label": "_find_run_root()" - }, - { - "label": "_read_sync_state()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L515", - "id": "routers_browse_read_sync_state", - "community": 16, - "norm_label": "_read_sync_state()" - }, - { - "label": "_file_state_from_record()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L531", - "id": "routers_browse_file_state_from_record", - "community": 16, - "norm_label": "_file_state_from_record()" - }, - { - "label": "_per_file_sync_status()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L550", - "id": "routers_browse_per_file_sync_status", - "community": 16, - "norm_label": "_per_file_sync_status()" - }, - { - "label": "_run_relative_posix()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L571", - "id": "routers_browse_run_relative_posix", - "community": 16, - "norm_label": "_run_relative_posix()" - }, - { - "label": "_iter_run_or_project_subdirs()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L579", - "id": "routers_browse_iter_run_or_project_subdirs", - "community": 16, - "norm_label": "_iter_run_or_project_subdirs()" - }, - { - "label": "_scan_projects()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L602", - "id": "routers_browse_scan_projects", - "community": 16, - "norm_label": "_scan_projects()" - }, - { - "label": "_build_project_node()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L610", - "id": "routers_browse_build_project_node", - "community": 16, - "norm_label": "_build_project_node()" - }, - { - "label": "_scan_run_children()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L639", - "id": "routers_browse_scan_run_children", - "community": 16, - "norm_label": "_scan_run_children()" - }, - { - "label": "_build_run_node()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L652", - "id": "routers_browse_build_run_node", - "community": 16, - "norm_label": "_build_run_node()" - }, - { - "label": "_run_rollup_status()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L675", - "id": "routers_browse_run_rollup_status", - "community": 16, - "norm_label": "_run_rollup_status()" - }, - { - "label": "_read_readme()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L696", - "id": "routers_browse_read_readme", - "community": 16, - "norm_label": "_read_readme()" - }, - { - "label": "scan_folder_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L712", - "id": "routers_browse_scan_folder_sync", - "community": 16, - "norm_label": "scan_folder_sync()" - }, - { - "label": "_tombstone_entries()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L808", - "id": "routers_browse_tombstone_entries", - "community": 16, - "norm_label": "_tombstone_entries()" - }, - { - "label": "build_hierarchy_dict()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L853", - "id": "routers_browse_build_hierarchy_dict", - "community": 16, - "norm_label": "build_hierarchy_dict()" - }, - { - "label": "_projects_for_ui_tree()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L887", - "id": "routers_browse_projects_for_ui_tree", - "community": 16, - "norm_label": "_projects_for_ui_tree()" - }, - { - "label": "``/tree`` and ``/run/{path}`` browse endpoints. Backend Spec \u00a74.6.1. Two endpoi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L1", - "id": "routers_browse_rationale_1", - "community": 16, - "norm_label": "``/tree`` and ``/run/{path}`` browse endpoints. backend spec \u00a74.6.1. two endpoi" - }, - { - "label": "An owned-equipment node in the tree (Redesign \u00a73.3). ``sync_mode`` (\"nas\" |", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L92", - "id": "routers_browse_rationale_92", - "community": 16, - "norm_label": "an owned-equipment node in the tree (redesign \u00a73.3). ``sync_mode`` (\"nas\" |" - }, - { - "label": "A received-equipment node auto-discovered from the staging area. Redesign \u00a7", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L110", - "id": "routers_browse_rationale_110", - "community": 16, - "norm_label": "a received-equipment node auto-discovered from the staging area. redesign \u00a7" - }, - { - "label": "One row in the new ``GET /folder/{path}`` response. Redesign \u00a74.3 / \u00a75. Ope", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L133", - "id": "routers_browse_rationale_133", - "community": 0, - "norm_label": "one row in the new ``get /folder/{path}`` response. redesign \u00a74.3 / \u00a75. ope" - }, - { - "label": "Immediate contents of one folder. Redesign \u00a75 (live file feed).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L157", - "id": "routers_browse_rationale_157", - "community": 0, - "norm_label": "immediate contents of one folder. redesign \u00a75 (live file feed)." - }, - { - "label": "One row in the ``GET /run/{path}/log`` response. The orchestrator does not", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L181", - "id": "routers_browse_rationale_181", - "community": 16, - "norm_label": "one row in the ``get /run/{path}/log`` response. the orchestrator does not" - }, - { - "label": "``GET /run/{path}/log`` response (Redesign \u00a74.6 View-log surface).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L200", - "id": "routers_browse_rationale_200", - "community": 6, - "norm_label": "``get /run/{path}/log`` response (redesign \u00a74.6 view-log surface)." - }, - { - "label": "Construct the ``/tree`` + ``/run`` router.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L215", - "id": "routers_browse_rationale_215", - "community": 16, - "norm_label": "construct the ``/tree`` + ``/run`` router." - }, - { - "label": "Derive a run's per-run log from its sync-queue job. Returns ``(history, cur", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L342", - "id": "routers_browse_rationale_342", - "community": 16, - "norm_label": "derive a run's per-run log from its sync-queue job. returns ``(history, cur" - }, - { - "label": "Return True if ``path`` is under any of the configured roots. Redesign \u00a75 /", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L376", - "id": "routers_browse_rationale_376", - "community": 16, - "norm_label": "return true if ``path`` is under any of the configured roots. redesign \u00a75 /" - }, - { - "label": "Walk the staging root and surface received-equipment nodes. Redesign \u00a73.3:", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L421", - "id": "routers_browse_rationale_421", - "community": 16, - "norm_label": "walk the staging root and surface received-equipment nodes. redesign \u00a73.3:" - }, - { - "label": "Best-effort: read the first creation.json under this equipment to pick up th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L464", - "id": "routers_browse_rationale_464", - "community": 16, - "norm_label": "best-effort: read the first creation.json under this equipment to pick up th" - }, - { - "label": "Walk up from ``folder`` to the nearest run directory, or ``None``. A run di", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L495", - "id": "routers_browse_rationale_495", - "community": 16, - "norm_label": "walk up from ``folder`` to the nearest run directory, or ``none``. a run di" - }, - { - "label": "Read a run's ``sync_state.json`` via :class:`SyncStateWriter`. Returns the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L516", - "id": "routers_browse_rationale_516", - "community": 16, - "norm_label": "read a run's ``sync_state.json`` via :class:`syncstatewriter`. returns the" - }, - { - "label": "Map a ``sync_state.json`` record + on-disk presence to a GUI state. The fiv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L532", - "id": "routers_browse_rationale_532", - "community": 16, - "norm_label": "map a ``sync_state.json`` record + on-disk presence to a gui state. the fiv" - }, - { - "label": "Return the per-file GUI sync state for a folder-list row. Operator-free per", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L551", - "id": "routers_browse_rationale_551", - "community": 16, - "norm_label": "return the per-file gui sync state for a folder-list row. operator-free per" - }, - { - "label": "Return ``path`` relative to ``run_root`` as a POSIX string, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L572", - "id": "routers_browse_rationale_572", - "community": 16, - "norm_label": "return ``path`` relative to ``run_root`` as a posix string, or ``none``." - }, - { - "label": "Return name-sorted real subdirectories of ``parent``, sans the cache. Hides", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L580", - "id": "routers_browse_rationale_580", - "community": 16, - "norm_label": "return name-sorted real subdirectories of ``parent``, sans the cache. hides" - }, - { - "label": "Return a sorted list of project nodes under an equipment dir.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L603", - "id": "routers_browse_rationale_603", - "community": 16, - "norm_label": "return a sorted list of project nodes under an equipment dir." - }, - { - "label": "Build a tree run node, deriving its rollup from ``sync_state.json``. Operat", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L653", - "id": "routers_browse_rationale_653", - "community": 16, - "norm_label": "build a tree run node, deriving its rollup from ``sync_state.json``. operat" - }, - { - "label": "Return a run's derived ``RunSyncState`` rollup value, or ``None``. Reads ``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L676", - "id": "routers_browse_rationale_676", - "community": 16, - "norm_label": "return a run's derived ``runsyncstate`` rollup value, or ``none``. reads ``" - }, - { - "label": "Return the run's README.md text, or ``None`` if absent / unreadable.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L697", - "id": "routers_browse_rationale_697", - "community": 16, - "norm_label": "return the run's readme.md text, or ``none`` if absent / unreadable." - }, - { - "label": "Synchronous core of the ``GET /folder/{path}`` endpoint. Extracted so the N", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L713", - "id": "routers_browse_rationale_713", - "community": 16, - "norm_label": "synchronous core of the ``get /folder/{path}`` endpoint. extracted so the n" - }, - { - "label": "Build \"On NAS\" tombstone rows for cleared-run files absent on disk. Operato", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L814", - "id": "routers_browse_rationale_814", - "community": 16, - "norm_label": "build \"on nas\" tombstone rows for cleared-run files absent on disk. operato" - }, - { - "label": "Compose the nested hierarchy dict that ``ui.components.tree.build_tree`` expects", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L854", - "id": "routers_browse_rationale_854", - "community": 16, - "norm_label": "compose the nested hierarchy dict that ``ui.components.tree.build_tree`` expects" - }, - { - "label": "sessions.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_routers_sessions_py", - "community": 53, - "norm_label": "sessions.py" - }, - { - "label": "_ProjectSessionBody", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L63", - "id": "routers_sessions_projectsessionbody", - "community": 53, - "norm_label": "_projectsessionbody" - }, - { - "label": "_RunSessionBody", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L83", - "id": "routers_sessions_runsessionbody", - "community": 53, - "norm_label": "_runsessionbody" - }, - { - "label": "SessionHandleResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L105", - "id": "routers_sessions_sessionhandleresponse", - "community": 53, - "norm_label": "sessionhandleresponse" - }, - { - "label": "_ResumeBody", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L119", - "id": "routers_sessions_resumebody", - "community": 53, - "norm_label": "_resumebody" - }, - { - "label": "_CancelBody", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L127", - "id": "routers_sessions_cancelbody", - "community": 53, - "norm_label": "_cancelbody" - }, - { - "label": "build_sessions_router()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L140", - "id": "routers_sessions_build_sessions_router", - "community": 94, - "norm_label": "build_sessions_router()" - }, - { - "label": "_build_project_request()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L284", - "id": "routers_sessions_build_project_request", - "community": 53, - "norm_label": "_build_project_request()" - }, - { - "label": "_build_run_request()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L297", - "id": "routers_sessions_build_run_request", - "community": 53, - "norm_label": "_build_run_request()" - }, - { - "label": "_handle_to_response()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L316", - "id": "routers_sessions_handle_to_response", - "community": 53, - "norm_label": "_handle_to_response()" - }, - { - "label": "_stream_session_events()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L336", - "id": "routers_sessions_stream_session_events", - "community": 64, - "norm_label": "_stream_session_events()" - }, - { - "label": "``/sessions`` router. Backend Spec \u00a74.6.1, \u00a74.6.2. Endpoints: * ``POST /sessio", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L1", - "id": "routers_sessions_rationale_1", - "community": 53, - "norm_label": "``/sessions`` router. backend spec \u00a74.6.1, \u00a74.6.2. endpoints: * ``post /sessio" - }, - { - "label": "Body for a project-creation session. The ``kind`` discriminator selects thi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L64", - "id": "routers_sessions_rationale_64", - "community": 53, - "norm_label": "body for a project-creation session. the ``kind`` discriminator selects thi" - }, - { - "label": "Body for a run / test-run creation session.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L84", - "id": "routers_sessions_rationale_84", - "community": 53, - "norm_label": "body for a run / test-run creation session." - }, - { - "label": "Response shape for the create / status endpoints.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L106", - "id": "routers_sessions_rationale_106", - "community": 53, - "norm_label": "response shape for the create / status endpoints." - }, - { - "label": "``POST /sessions/{id}/resume`` body.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L120", - "id": "routers_sessions_rationale_120", - "community": 53, - "norm_label": "``post /sessions/{id}/resume`` body." - }, - { - "label": "``POST /sessions/{id}/cancel`` body.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L128", - "id": "routers_sessions_rationale_128", - "community": 53, - "norm_label": "``post /sessions/{id}/cancel`` body." - }, - { - "label": "Construct the ``/sessions`` router. Routes are gated by the setup-state dep", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L141", - "id": "routers_sessions_rationale_141", - "community": 94, - "norm_label": "construct the ``/sessions`` router. routes are gated by the setup-state dep" - }, - { - "label": "Build the response model from a controller :class:`SessionHandle` and the live s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L317", - "id": "routers_sessions_rationale_317", - "community": 53, - "norm_label": "build the response model from a controller :class:`sessionhandle` and the live s" - }, - { - "label": "Pump events from the controller's queue into the WebSocket. Each frame from", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L341", - "id": "routers_sessions_rationale_341", - "community": 64, - "norm_label": "pump events from the controller's queue into the websocket. each frame from" - }, - { - "label": "config.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_routers_config_py", - "community": 426, - "norm_label": "config.py" - }, - { - "label": "ConfigUpdateResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L46", - "id": "routers_config_configupdateresponse", - "community": 0, - "norm_label": "configupdateresponse" - }, - { - "label": "EquipmentAppendResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L57", - "id": "routers_config_equipmentappendresponse", - "community": 0, - "norm_label": "equipmentappendresponse" - }, - { - "label": "build_config_router()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L74", - "id": "routers_config_build_config_router", - "community": 94, - "norm_label": "build_config_router()" - }, - { - "label": "_await_or_call()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L163", - "id": "routers_config_await_or_call", - "community": 426, - "norm_label": "_await_or_call()" - }, - { - "label": "_apply_live_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L171", - "id": "routers_config_apply_live_config", - "community": 101, - "norm_label": "_apply_live_config()" - }, - { - "label": "``/config`` router. Backend Spec \u00a74.6.1, \u00a74.9. Endpoints: * ``GET /config`` --", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L1", - "id": "routers_config_rationale_1", - "community": 426, - "norm_label": "``/config`` router. backend spec \u00a74.6.1, \u00a74.9. endpoints: * ``get /config`` --" - }, - { - "label": "``PUT /config`` response with the new setup state.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L47", - "id": "routers_config_rationale_47", - "community": 0, - "norm_label": "``put /config`` response with the new setup state." - }, - { - "label": "``POST /config/equipment`` response: the new setup state + appended id. Red", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L58", - "id": "routers_config_rationale_58", - "community": 0, - "norm_label": "``post /config/equipment`` response: the new setup state + appended id. red" - }, - { - "label": "Construct the ``/config`` router. Routes are always available.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L75", - "id": "routers_config_rationale_75", - "community": 94, - "norm_label": "construct the ``/config`` router. routes are always available." - }, - { - "label": "Invoke a saver that may be sync or async.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L164", - "id": "routers_config_rationale_164", - "community": 426, - "norm_label": "invoke a saver that may be sync or async." - }, - { - "label": "Push ``cfg`` into the running components, then keep it as the live config.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L172", - "id": "routers_config_rationale_172", - "community": 101, - "norm_label": "push ``cfg`` into the running components, then keep it as the live config." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_routers_init_py", - "community": 548, - "norm_label": "__init__.py" - }, - { - "label": "API routers package. Backend Spec \u00a74.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/__init__.py", - "source_location": "L1", - "id": "routers_init_rationale_1", - "community": 548, - "norm_label": "api routers package. backend spec \u00a74." - }, - { - "label": "operations.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_routers_operations_py", - "community": 290, - "norm_label": "operations.py" - }, - { - "label": "OperationEntry", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L36", - "id": "routers_operations_operationentry", - "community": 290, - "norm_label": "operationentry" - }, - { - "label": "OperationsResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L51", - "id": "routers_operations_operationsresponse", - "community": 290, - "norm_label": "operationsresponse" - }, - { - "label": "build_operations_router()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L59", - "id": "routers_operations_build_operations_router", - "community": 290, - "norm_label": "build_operations_router()" - }, - { - "label": "_session_to_entry()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L89", - "id": "routers_operations_session_to_entry", - "community": 290, - "norm_label": "_session_to_entry()" - }, - { - "label": "``/operations`` router. Backend Spec \u00a74.6.1, Frontend \u00a79.5. Lists all in-flight", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L1", - "id": "routers_operations_rationale_1", - "community": 290, - "norm_label": "``/operations`` router. backend spec \u00a74.6.1, frontend \u00a79.5. lists all in-flight" - }, - { - "label": "One row in the Operations panel. Backend Spec \u00a74.6.1, Frontend \u00a79.5.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L37", - "id": "routers_operations_rationale_37", - "community": 290, - "norm_label": "one row in the operations panel. backend spec \u00a74.6.1, frontend \u00a79.5." - }, - { - "label": "``GET /operations`` response.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L52", - "id": "routers_operations_rationale_52", - "community": 290, - "norm_label": "``get /operations`` response." - }, - { - "label": "Construct the ``/operations`` router.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L60", - "id": "routers_operations_rationale_60", - "community": 290, - "norm_label": "construct the ``/operations`` router." - }, - { - "label": "problems.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_routers_problems_py", - "community": 0, - "norm_label": "problems.py" - }, - { - "label": "FindingResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L67", - "id": "routers_problems_findingresponse", - "community": 0, - "norm_label": "findingresponse" - }, - { - "label": "ProblemsResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L83", - "id": "routers_problems_problemsresponse", - "community": 0, - "norm_label": "problemsresponse" - }, - { - "label": "OverrideRequest", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L92", - "id": "routers_problems_overriderequest", - "community": 0, - "norm_label": "overriderequest" - }, - { - "label": "OverrideResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L103", - "id": "routers_problems_overrideresponse", - "community": 0, - "norm_label": "overrideresponse" - }, - { - "label": "RevokeRequest", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L117", - "id": "routers_problems_revokerequest", - "community": 0, - "norm_label": "revokerequest" - }, - { - "label": "TombstoneResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L127", - "id": "routers_problems_tombstoneresponse", - "community": 0, - "norm_label": "tombstoneresponse" - }, - { - "label": "RefreshResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L138", - "id": "routers_problems_refreshresponse", - "community": 0, - "norm_label": "refreshresponse" - }, - { - "label": "build_problems_router()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L152", - "id": "routers_problems_build_problems_router", - "community": 94, - "norm_label": "build_problems_router()" - }, - { - "label": "_build_scope()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L292", - "id": "routers_problems_build_scope", - "community": 29, - "norm_label": "_build_scope()" - }, - { - "label": "_matches_filters()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L321", - "id": "routers_problems_matches_filters", - "community": 0, - "norm_label": "_matches_filters()" - }, - { - "label": "_last_audit_at()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L327", - "id": "routers_problems_last_audit_at", - "community": 25, - "norm_label": "_last_audit_at()" - }, - { - "label": "_require_validator()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L334", - "id": "routers_problems_require_validator", - "community": 82, - "norm_label": "_require_validator()" - }, - { - "label": "_require_cache_writer()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L348", - "id": "routers_problems_require_cache_writer", - "community": 82, - "norm_label": "_require_cache_writer()" - }, - { - "label": "_require_creation_json()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L362", - "id": "routers_problems_require_creation_json", - "community": 16, - "norm_label": "_require_creation_json()" - }, - { - "label": "_stream_audit_channel()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L381", - "id": "routers_problems_stream_audit_channel", - "community": 64, - "norm_label": "_stream_audit_channel()" - }, - { - "label": "``/problems`` router. Backend Spec \u00a74.6.1, \u00a711.8. Endpoints: * ``GET /problems", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L1", - "id": "routers_problems_rationale_1", - "community": 0, - "norm_label": "``/problems`` router. backend spec \u00a74.6.1, \u00a711.8. endpoints: * ``get /problems" - }, - { - "label": "One finding row in the \u00a711.8 schema.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L68", - "id": "routers_problems_rationale_68", - "community": 0, - "norm_label": "one finding row in the \u00a711.8 schema." - }, - { - "label": "``GET /problems`` response.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L84", - "id": "routers_problems_rationale_84", - "community": 0, - "norm_label": "``get /problems`` response." - }, - { - "label": "``POST /problems/{run_path}/override`` body. Backend Spec \u00a711.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L93", - "id": "routers_problems_rationale_93", - "community": 0, - "norm_label": "``post /problems/{run_path}/override`` body. backend spec \u00a711.3." - }, - { - "label": "Override append response.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L104", - "id": "routers_problems_rationale_104", - "community": 0, - "norm_label": "override append response." - }, - { - "label": "``POST /problems/{run_path}/override/revoke`` body. Backend Spec \u00a711.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L118", - "id": "routers_problems_rationale_118", - "community": 0, - "norm_label": "``post /problems/{run_path}/override/revoke`` body. backend spec \u00a711.3." - }, - { - "label": "``POST /problems/refresh`` response.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L139", - "id": "routers_problems_rationale_139", - "community": 0, - "norm_label": "``post /problems/refresh`` response." - }, - { - "label": "Construct the ``/problems`` router.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L153", - "id": "routers_problems_rationale_153", - "community": 94, - "norm_label": "construct the ``/problems`` router." - }, - { - "label": "Resolve a ``run_path`` to its ``creation.json`` or raise 404. Used by the o", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L363", - "id": "routers_problems_rationale_363", - "community": 16, - "norm_label": "resolve a ``run_path`` to its ``creation.json`` or raise 404. used by the o" - }, - { - "label": "Forward each delta frame the audit channel publishes. The channel exposes a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L382", - "id": "routers_problems_rationale_382", - "community": 64, - "norm_label": "forward each delta frame the audit channel publishes. the channel exposes a" - }, - { - "label": "staging.py", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L1", - "id": "src_exlab_wizard_api_routers_staging_py", - "community": 6, - "norm_label": "staging.py" - }, - { - "label": "StagedRunRow", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L59", - "id": "routers_staging_stagedrunrow", - "community": 6, - "norm_label": "stagedrunrow" - }, - { - "label": "StagingListResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L75", - "id": "routers_staging_staginglistresponse", - "community": 6, - "norm_label": "staginglistresponse" - }, - { - "label": "ForceSyncResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L83", - "id": "routers_staging_forcesyncresponse", - "community": 6, - "norm_label": "forcesyncresponse" - }, - { - "label": "ClearResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L93", - "id": "routers_staging_clearresponse", - "community": 6, - "norm_label": "clearresponse" - }, - { - "label": "ClearVerifiedResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L103", - "id": "routers_staging_clearverifiedresponse", - "community": 6, - "norm_label": "clearverifiedresponse" - }, - { - "label": "KeepLocalRequest", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L111", - "id": "routers_staging_keeplocalrequest", - "community": 6, - "norm_label": "keeplocalrequest" - }, - { - "label": "KeepLocalResponse", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L126", - "id": "routers_staging_keeplocalresponse", - "community": 6, - "norm_label": "keeplocalresponse" - }, - { - "label": "build_staging_router()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L141", - "id": "routers_staging_build_staging_router", - "community": 94, - "norm_label": "build_staging_router()" - }, - { - "label": "_row_from_summary()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L315", - "id": "routers_staging_row_from_summary", - "community": 6, - "norm_label": "_row_from_summary()" - }, - { - "label": "_is_real_run()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L329", - "id": "routers_staging_is_real_run", - "community": 16, - "norm_label": "_is_real_run()" - }, - { - "label": "_require_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L352", - "id": "routers_staging_require_config", - "community": 6, - "norm_label": "_require_config()" - }, - { - "label": "_require_nas_sync()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L370", - "id": "routers_staging_require_nas_sync", - "community": 6, - "norm_label": "_require_nas_sync()" - }, - { - "label": "``/staging`` router. Backend Spec \u00a713.7, \u00a713.8. Four endpoints back the orchest", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L1", - "id": "routers_staging_rationale_1", - "community": 6, - "norm_label": "``/staging`` router. backend spec \u00a713.7, \u00a713.8. four endpoints back the orchest" - }, - { - "label": "One staging-panel row. Backend Spec \u00a713.8.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L60", - "id": "routers_staging_rationale_60", - "community": 6, - "norm_label": "one staging-panel row. backend spec \u00a713.8." - }, - { - "label": "``GET /staging`` response.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L76", - "id": "routers_staging_rationale_76", - "community": 6, - "norm_label": "``get /staging`` response." - }, - { - "label": "``POST /staging/{run_path}/force-sync`` response.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L84", - "id": "routers_staging_rationale_84", - "community": 6, - "norm_label": "``post /staging/{run_path}/force-sync`` response." - }, - { - "label": "``POST /staging/{run_path}/clear`` response.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L94", - "id": "routers_staging_rationale_94", - "community": 6, - "norm_label": "``post /staging/{run_path}/clear`` response." - }, - { - "label": "``POST /staging/clear-verified`` response (Redesign \u00a74.6).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L104", - "id": "routers_staging_rationale_104", - "community": 6, - "norm_label": "``post /staging/clear-verified`` response (redesign \u00a74.6)." - }, - { - "label": "``POST /staging/{run_path}/keep-local`` request body. Operator-free per-fil", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L112", - "id": "routers_staging_rationale_112", - "community": 6, - "norm_label": "``post /staging/{run_path}/keep-local`` request body. operator-free per-fil" - }, - { - "label": "``POST /staging/{run_path}/keep-local`` response.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L127", - "id": "routers_staging_rationale_127", - "community": 6, - "norm_label": "``post /staging/{run_path}/keep-local`` response." - }, - { - "label": "Construct the ``/staging`` router. Backend Spec \u00a713.7, \u00a713.8.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L142", - "id": "routers_staging_rationale_142", - "community": 94, - "norm_label": "construct the ``/staging`` router. backend spec \u00a713.7, \u00a713.8." - }, - { - "label": "Return True when ``run_path`` is a real run inside an allowed root. A \"real", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L330", - "id": "routers_staging_rationale_330", - "community": 16, - "norm_label": "return true when ``run_path`` is a real run inside an allowed root. a \"real" - }, - { - "label": "Return the live :class:`Config` or raise 503 when no config is wired. Redes", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L353", - "id": "routers_staging_rationale_353", - "community": 6, - "norm_label": "return the live :class:`config` or raise 503 when no config is wired. redes" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/dev/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_dev_init_py", - "community": 549, - "norm_label": "__init__.py" - }, - { - "label": "Developer utilities. Not part of the shipped application surface. Modules here", - "file_type": "rationale", - "source_file": "src/exlab_wizard/dev/__init__.py", - "source_location": "L1", - "id": "dev_init_rationale_1", - "community": 549, - "norm_label": "developer utilities. not part of the shipped application surface. modules here" - }, - { - "label": "seed.py", - "file_type": "code", - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L1", - "id": "src_exlab_wizard_dev_seed_py", - "community": 239, - "norm_label": "seed.py" - }, - { - "label": "main()", - "file_type": "code", - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L15", - "id": "dev_seed_main", - "community": 239, - "norm_label": "main()" - }, - { - "label": "Standalone sample-data seeder -- ``python -m exlab_wizard.dev.seed``. Forces th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L1", - "id": "dev_seed_rationale_1", - "community": 239, - "norm_label": "standalone sample-data seeder -- ``python -m exlab_wizard.dev.seed``. forces th" - }, - { - "label": "Regenerate the ``-test`` sample-data tree from scratch. Returns the process", - "file_type": "rationale", - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L16", - "id": "dev_seed_rationale_16", - "community": 239, - "norm_label": "regenerate the ``-test`` sample-data tree from scratch. returns the process" - }, - { - "label": "queue.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_queue_py", - "community": 3, - "norm_label": "queue.py" - }, - { - "label": "SyncJobState", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L69", - "id": "sync_queue_syncjobstate", - "community": 3, - "norm_label": "syncjobstate" - }, - { - "label": "SyncJobRow", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L116", - "id": "sync_queue_syncjobrow", - "community": 3, - "norm_label": "syncjobrow" - }, - { - "label": "_decode_files()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L134", - "id": "sync_queue_decode_files", - "community": 3, - "norm_label": "_decode_files()" - }, - { - "label": "_encode_files()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L151", - "id": "sync_queue_encode_files", - "community": 424, - "norm_label": "_encode_files()" - }, - { - "label": "_row_to_job()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L156", - "id": "sync_queue_row_to_job", - "community": 3, - "norm_label": "_row_to_job()" - }, - { - "label": "compute_next_attempt_at()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L175", - "id": "sync_queue_compute_next_attempt_at", - "community": 265, - "norm_label": "compute_next_attempt_at()" - }, - { - "label": "SyncQueue", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L190", - "id": "sync_queue_syncqueue", - "community": 264, - "norm_label": "syncqueue" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L197", - "id": "sync_queue_syncqueue_init", - "community": 264, - "norm_label": ".__init__()" - }, - { - "label": "db_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L202", - "id": "sync_queue_db_path", - "community": 3, - "norm_label": "db_path()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L229", - "id": "sync_queue_syncqueue_close", - "community": 272, - "norm_label": ".close()" - }, - { - "label": "._require_conn()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L235", - "id": "sync_queue_syncqueue_require_conn", - "community": 272, - "norm_label": "._require_conn()" - }, - { - "label": "._require_job()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L241", - "id": "sync_queue_syncqueue_require_job", - "community": 312, - "norm_label": "._require_job()" - }, - { - "label": ".insert()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L256", - "id": "sync_queue_syncqueue_insert", - "community": 424, - "norm_label": ".insert()" - }, - { - "label": ".get_by_id()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L310", - "id": "sync_queue_syncqueue_get_by_id", - "community": 312, - "norm_label": ".get_by_id()" - }, - { - "label": ".get_by_run_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L323", - "id": "sync_queue_syncqueue_get_by_run_path", - "community": 272, - "norm_label": ".get_by_run_path()" - }, - { - "label": ".list_in_state()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L336", - "id": "sync_queue_syncqueue_list_in_state", - "community": 272, - "norm_label": ".list_in_state()" - }, - { - "label": ".list_all()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L347", - "id": "sync_queue_syncqueue_list_all", - "community": 272, - "norm_label": ".list_all()" - }, - { - "label": ".transition()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L357", - "id": "sync_queue_syncqueue_transition", - "community": 265, - "norm_label": ".transition()" - }, - { - "label": ".record_failure()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L425", - "id": "sync_queue_syncqueue_record_failure", - "community": 265, - "norm_label": ".record_failure()" - }, - { - "label": ".reset_to_queued()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L475", - "id": "sync_queue_syncqueue_reset_to_queued", - "community": 312, - "norm_label": ".reset_to_queued()" - }, - { - "label": ".requeue_with_files()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L500", - "id": "sync_queue_syncqueue_requeue_with_files", - "community": 312, - "norm_label": ".requeue_with_files()" - }, - { - "label": ".delete()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L534", - "id": "sync_queue_syncqueue_delete", - "community": 272, - "norm_label": ".delete()" - }, - { - "label": "is_terminal()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L541", - "id": "sync_queue_is_terminal", - "community": 3, - "norm_label": "is_terminal()" - }, - { - "label": "Durable SQLite-backed sync-job queue. Backend Spec \u00a77.1.1, \u00a77.1.2, \u00a77.1.5. The", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L1", - "id": "sync_queue_rationale_1", - "community": 3, - "norm_label": "durable sqlite-backed sync-job queue. backend spec \u00a77.1.1, \u00a77.1.2, \u00a77.1.5. the" - }, - { - "label": "State machine for a sync job. Backend Spec \u00a77.1.2.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L70", - "id": "sync_queue_rationale_70", - "community": 3, - "norm_label": "state machine for a sync job. backend spec \u00a77.1.2." - }, - { - "label": "One row in the ``jobs`` table. Backend Spec \u00a77.1.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L117", - "id": "sync_queue_rationale_117", - "community": 3, - "norm_label": "one row in the ``jobs`` table. backend spec \u00a77.1.1." - }, - { - "label": "Decode the ``files`` JSON column into a tuple of run-relative paths. A ``NU", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L135", - "id": "sync_queue_rationale_135", - "community": 3, - "norm_label": "decode the ``files`` json column into a tuple of run-relative paths. a ``nu" - }, - { - "label": "Encode a run-relative path tuple into the ``files`` JSON column.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L152", - "id": "sync_queue_rationale_152", - "community": 424, - "norm_label": "encode a run-relative path tuple into the ``files`` json column." - }, - { - "label": "Materialize an ``aiosqlite.Row`` (or tuple) into a :class:`SyncJobRow`.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L157", - "id": "sync_queue_rationale_157", - "community": 3, - "norm_label": "materialize an ``aiosqlite.row`` (or tuple) into a :class:`syncjobrow`." - }, - { - "label": "Return the ISO timestamp of the next retry attempt. ``attempts_after`` is t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L176", - "id": "sync_queue_rationale_176", - "community": 265, - "norm_label": "return the iso timestamp of the next retry attempt. ``attempts_after`` is t" - }, - { - "label": "Async SQLite-backed durable sync queue. Backend Spec \u00a77.1.1. Use :meth:`ini", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L191", - "id": "sync_queue_rationale_191", - "community": 264, - "norm_label": "async sqlite-backed durable sync queue. backend spec \u00a77.1.1. use :meth:`ini" - }, - { - "label": "The on-disk path of the queue database file.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L203", - "id": "sync_queue_rationale_203", - "community": 655, - "norm_label": "the on-disk path of the queue database file." - }, - { - "label": "Open the connection, ensure the schema, and replay in-flight rows. Repl", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L207", - "id": "sync_queue_rationale_207", - "community": 264, - "norm_label": "open the connection, ensure the schema, and replay in-flight rows. repl" - }, - { - "label": "Close the underlying connection (idempotent).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L230", - "id": "sync_queue_rationale_230", - "community": 272, - "norm_label": "close the underlying connection (idempotent)." - }, - { - "label": "Return the row for ``job_id`` or raise ``ValueError``. Centralizes the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L242", - "id": "sync_queue_rationale_242", - "community": 312, - "norm_label": "return the row for ``job_id`` or raise ``valueerror``. centralizes the" - }, - { - "label": "Insert a new ``QUEUED`` row for ``run_path``. ``files`` is the per-file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L265", - "id": "sync_queue_rationale_265", - "community": 424, - "norm_label": "insert a new ``queued`` row for ``run_path``. ``files`` is the per-file" - }, - { - "label": "Return the row with the given ``job_id`` or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L311", - "id": "sync_queue_rationale_311", - "community": 312, - "norm_label": "return the row with the given ``job_id`` or ``none``." - }, - { - "label": "Return the row whose ``run_path`` matches, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L324", - "id": "sync_queue_rationale_324", - "community": 272, - "norm_label": "return the row whose ``run_path`` matches, or ``none``." - }, - { - "label": "Return every row currently in ``state`` ordered by ``enqueued_at``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L337", - "id": "sync_queue_rationale_337", - "community": 272, - "norm_label": "return every row currently in ``state`` ordered by ``enqueued_at``." - }, - { - "label": "Return every row in the queue ordered by ``enqueued_at``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L348", - "id": "sync_queue_rationale_348", - "community": 272, - "norm_label": "return every row in the queue ordered by ``enqueued_at``." - }, - { - "label": "Transition a job to ``new_state`` and patch the auxiliary columns. The", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L370", - "id": "sync_queue_rationale_370", - "community": 265, - "norm_label": "transition a job to ``new_state`` and patch the auxiliary columns. the" - }, - { - "label": "Record a transport failure on ``job_id``. If ``terminal`` is True (auth", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L433", - "id": "sync_queue_rationale_433", - "community": 265, - "norm_label": "record a transport failure on ``job_id``. if ``terminal`` is true (auth" - }, - { - "label": "Reset a ``FAILED`` job back to ``QUEUED`` for a manual retry. Per \u00a77.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L476", - "id": "sync_queue_rationale_476", - "community": 312, - "norm_label": "reset a ``failed`` job back to ``queued`` for a manual retry. per \u00a77.1." - }, - { - "label": "Reset a terminal job back to ``QUEUED`` carrying a new ``files`` list.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L505", - "id": "sync_queue_rationale_505", - "community": 312, - "norm_label": "reset a terminal job back to ``queued`` carrying a new ``files`` list." - }, - { - "label": "Remove a job row entirely. Used by the cleanup reaper after CLEANED.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L535", - "id": "sync_queue_rationale_535", - "community": 272, - "norm_label": "remove a job row entirely. used by the cleanup reaper after cleaned." - }, - { - "label": "Return True if the state is a terminal state (no further work).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L542", - "id": "sync_queue_rationale_542", - "community": 656, - "norm_label": "return true if the state is a terminal state (no further work)." - }, - { - "label": "manifest.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_manifest_py", - "community": 115, - "norm_label": "manifest.py" - }, - { - "label": "RemoteEntry", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L27", - "id": "sync_manifest_remoteentry", - "community": 115, - "norm_label": "remoteentry" - }, - { - "label": "RemoteManifest", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L36", - "id": "sync_manifest_remotemanifest", - "community": 115, - "norm_label": "remotemanifest" - }, - { - "label": ".size_matches()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L41", - "id": "sync_manifest_remotemanifest_size_matches", - "community": 115, - "norm_label": ".size_matches()" - }, - { - "label": ".has()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L46", - "id": "sync_manifest_remotemanifest_has", - "community": 115, - "norm_label": ".has()" - }, - { - "label": ".matches()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L50", - "id": "sync_manifest_remotemanifest_matches", - "community": 115, - "norm_label": ".matches()" - }, - { - "label": "_to_epoch()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L69", - "id": "sync_manifest_to_epoch", - "community": 115, - "norm_label": "_to_epoch()" - }, - { - "label": "parse_lsjson()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L83", - "id": "sync_manifest_parse_lsjson", - "community": 115, - "norm_label": "parse_lsjson()" - }, - { - "label": "Parser for ``rclone lsjson`` output into a run-relative remote manifest. Sole o", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L1", - "id": "sync_manifest_rationale_1", - "community": 115, - "norm_label": "parser for ``rclone lsjson`` output into a run-relative remote manifest. sole o" - }, - { - "label": "One file on the remote. ``mod_time`` is the RFC3339 string as emitted.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L28", - "id": "sync_manifest_rationale_28", - "community": 115, - "norm_label": "one file on the remote. ``mod_time`` is the rfc3339 string as emitted." - }, - { - "label": "Run-relative view of a remote subtree. Keyed by POSIX rel-path.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L37", - "id": "sync_manifest_rationale_37", - "community": 115, - "norm_label": "run-relative view of a remote subtree. keyed by posix rel-path." - }, - { - "label": "True iff ``rel_path`` is present and its remote size equals local.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L42", - "id": "sync_manifest_rationale_42", - "community": 115, - "norm_label": "true iff ``rel_path`` is present and its remote size equals local." - }, - { - "label": "True iff ``rel_path`` is present on the remote (existence probe).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L47", - "id": "sync_manifest_rationale_47", - "community": 115, - "norm_label": "true iff ``rel_path`` is present on the remote (existence probe)." - }, - { - "label": "The single reconcile predicate: present AND size-equal AND modtime close.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L53", - "id": "sync_manifest_rationale_53", - "community": 115, - "norm_label": "the single reconcile predicate: present and size-equal and modtime close." - }, - { - "label": "Parse an RFC3339 ``ModTime`` to epoch seconds, or ``None`` if unparseable.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L70", - "id": "sync_manifest_rationale_70", - "community": 657, - "norm_label": "parse an rfc3339 ``modtime`` to epoch seconds, or ``none`` if unparseable." - }, - { - "label": "Parse ``rclone lsjson`` array text into a :class:`RemoteManifest`. Director", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L84", - "id": "sync_manifest_rationale_84", - "community": 115, - "norm_label": "parse ``rclone lsjson`` array text into a :class:`remotemanifest`. director" - }, - { - "label": "nas_client.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_nas_client_py", - "community": 3, - "norm_label": "nas_client.py" - }, - { - "label": "SyncJobHandle", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L93", - "id": "sync_nas_client_syncjobhandle", - "community": 3, - "norm_label": "syncjobhandle" - }, - { - "label": "_remote_subpath()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L112", - "id": "sync_nas_client_remote_subpath", - "community": 3, - "norm_label": "_remote_subpath()" - }, - { - "label": "_build_driver()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L125", - "id": "sync_nas_client_build_driver", - "community": 3, - "norm_label": "_build_driver()" - }, - { - "label": "_RemoteResolution", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L147", - "id": "sync_nas_client_remoteresolution", - "community": 3, - "norm_label": "_remoteresolution" - }, - { - "label": "NASSyncClient", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L168", - "id": "sync_nas_client_nassyncclient", - "community": 8, - "norm_label": "nassyncclient" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L188", - "id": "sync_nas_client_nassyncclient_init", - "community": 8, - "norm_label": ".__init__()" - }, - { - "label": ".apply_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L227", - "id": "sync_nas_client_nassyncclient_apply_config", - "community": 8, - "norm_label": ".apply_config()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L248", - "id": "sync_nas_client_nassyncclient_close", - "community": 3, - "norm_label": ".close()" - }, - { - "label": ".enqueue()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L261", - "id": "sync_nas_client_nassyncclient_enqueue", - "community": 3, - "norm_label": ".enqueue()" - }, - { - "label": ".status()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L355", - "id": "sync_nas_client_nassyncclient_status", - "community": 8, - "norm_label": ".status()" - }, - { - "label": ".retry()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L366", - "id": "sync_nas_client_nassyncclient_retry", - "community": 8, - "norm_label": ".retry()" - }, - { - "label": ".force_verify()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L371", - "id": "sync_nas_client_nassyncclient_force_verify", - "community": 3, - "norm_label": ".force_verify()" - }, - { - "label": "._worker_loop()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L416", - "id": "sync_nas_client_nassyncclient_worker_loop", - "community": 8, - "norm_label": "._worker_loop()" - }, - { - "label": "._next_due_job()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L436", - "id": "sync_nas_client_nassyncclient_next_due_job", - "community": 8, - "norm_label": "._next_due_job()" - }, - { - "label": "._drive_job()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L447", - "id": "sync_nas_client_nassyncclient_drive_job", - "community": 3, - "norm_label": "._drive_job()" - }, - { - "label": "._handle_verify_transport_error()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L619", - "id": "sync_nas_client_nassyncclient_handle_verify_transport_error", - "community": 3, - "norm_label": "._handle_verify_transport_error()" - }, - { - "label": "._resolve_remote()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L652", - "id": "sync_nas_client_nassyncclient_resolve_remote", - "community": 3, - "norm_label": "._resolve_remote()" - }, - { - "label": "._target_for_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L673", - "id": "sync_nas_client_nassyncclient_target_for_equipment", - "community": 3, - "norm_label": "._target_for_equipment()" - }, - { - "label": "._driver_for_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L684", - "id": "sync_nas_client_nassyncclient_driver_for_equipment", - "community": 3, - "norm_label": "._driver_for_equipment()" - }, - { - "label": "._build_push()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L696", - "id": "sync_nas_client_nassyncclient_build_push", - "community": 3, - "norm_label": "._build_push()" - }, - { - "label": "._build_check()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L722", - "id": "sync_nas_client_nassyncclient_build_check", - "community": 3, - "norm_label": "._build_check()" - }, - { - "label": "._build_lsjson()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L741", - "id": "sync_nas_client_nassyncclient_build_lsjson", - "community": 3, - "norm_label": "._build_lsjson()" - }, - { - "label": "._compute_local_shas()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L766", - "id": "sync_nas_client_nassyncclient_compute_local_shas", - "community": 3, - "norm_label": "._compute_local_shas()" - }, - { - "label": "._handle_push_failure()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L809", - "id": "sync_nas_client_nassyncclient_handle_push_failure", - "community": 3, - "norm_label": "._handle_push_failure()" - }, - { - "label": "_discover_run_files()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L834", - "id": "sync_nas_client_discover_run_files", - "community": 3, - "norm_label": "_discover_run_files()" - }, - { - "label": "_file_signature()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L859", - "id": "sync_nas_client_file_signature", - "community": 3, - "norm_label": "_file_signature()" - }, - { - "label": "_write_files_from()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L868", - "id": "sync_nas_client_write_files_from", - "community": 3, - "norm_label": "_write_files_from()" - }, - { - "label": "._maybe_cleanup()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L887", - "id": "sync_nas_client_nassyncclient_maybe_cleanup", - "community": 3, - "norm_label": "._maybe_cleanup()" - }, - { - "label": "._delete_local()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L988", - "id": "sync_nas_client_nassyncclient_delete_local", - "community": 3, - "norm_label": "._delete_local()" - }, - { - "label": "._infer_equipment_id()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1009", - "id": "sync_nas_client_nassyncclient_infer_equipment_id", - "community": 3, - "norm_label": "._infer_equipment_id()" - }, - { - "label": "_compute_nas_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1032", - "id": "sync_nas_client_compute_nas_path", - "community": 3, - "norm_label": "_compute_nas_path()" - }, - { - "label": "._mark_blocked()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1036", - "id": "sync_nas_client_nassyncclient_mark_blocked", - "community": 3, - "norm_label": "._mark_blocked()" - }, - { - "label": "._mark_synced()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1045", - "id": "sync_nas_client_nassyncclient_mark_synced", - "community": 3, - "norm_label": "._mark_synced()" - }, - { - "label": "._mark_cleaned()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1058", - "id": "sync_nas_client_nassyncclient_mark_cleaned", - "community": 3, - "norm_label": "._mark_cleaned()" - }, - { - "label": "NAS sync client. Backend Spec \u00a77.1, \u00a77.3. The :class:`NASSyncClient` is the pub", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1", - "id": "sync_nas_client_rationale_1", - "community": 3, - "norm_label": "nas sync client. backend spec \u00a77.1, \u00a77.3. the :class:`nassyncclient` is the pub" - }, - { - "label": "Lightweight handle returned by :meth:`NASSyncClient.enqueue`. ``job_id`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L94", - "id": "sync_nas_client_rationale_94", - "community": 3, - "norm_label": "lightweight handle returned by :meth:`nassyncclient.enqueue`. ``job_id`` is" - }, - { - "label": "Compose the run-relative ``//`` path. Le", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L113", - "id": "sync_nas_client_rationale_113", - "community": 3, - "norm_label": "compose the run-relative ``//`` path. le" - }, - { - "label": "Construct a :class:`RcloneDriver` for a named remote. The named remote live", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L126", - "id": "sync_nas_client_rationale_126", - "community": 3, - "norm_label": "construct a :class:`rclonedriver` for a named remote. the named remote live" - }, - { - "label": "The ``(remote, base_root, perf)`` an equipment's ops resolve to. Computed o", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L148", - "id": "sync_nas_client_rationale_148", - "community": 3, - "norm_label": "the ``(remote, base_root, perf)`` an equipment's ops resolve to. computed o" - }, - { - "label": "Durable, per-equipment NAS sync queue with Pre-Sync Gate. Backend Spec \u00a77.1", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L169", - "id": "sync_nas_client_rationale_169", - "community": 8, - "norm_label": "durable, per-equipment nas sync queue with pre-sync gate. backend spec \u00a77.1" - }, - { - "label": "Swap the cached config + equipment map in place (no relaunch). The ``eq", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L228", - "id": "sync_nas_client_rationale_228", - "community": 8, - "norm_label": "swap the cached config + equipment map in place (no relaunch). the ``eq" - }, - { - "label": "Open the queue and start the worker task. Backend Spec \u00a77.1.2.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L243", - "id": "sync_nas_client_rationale_243", - "community": 8, - "norm_label": "open the queue and start the worker task. backend spec \u00a77.1.2." - }, - { - "label": "Stop the worker and close the queue DB. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L249", - "id": "sync_nas_client_rationale_249", - "community": 3, - "norm_label": "stop the worker and close the queue db. idempotent." - }, - { - "label": "Pre-Sync Gate -> if hard-tier finding without override, mark ``sync_stat", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L266", - "id": "sync_nas_client_rationale_266", - "community": 3, - "norm_label": "pre-sync gate -> if hard-tier finding without override, mark ``sync_stat" - }, - { - "label": "Return the queue state of the job for ``run_path``. ``\"none\"`` when no", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L356", - "id": "sync_nas_client_rationale_356", - "community": 8, - "norm_label": "return the queue state of the job for ``run_path``. ``\"none\"`` when no" - }, - { - "label": "Re-arm a ``FAILED`` job. Backend Spec \u00a77.1.5 (Problems-tab Retry).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L367", - "id": "sync_nas_client_rationale_367", - "community": 8, - "norm_label": "re-arm a ``failed`` job. backend spec \u00a77.1.5 (problems-tab retry)." - }, - { - "label": "Re-run ``rclone check --download`` against the configured remote. Used", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L372", - "id": "sync_nas_client_rationale_372", - "community": 3, - "norm_label": "re-run ``rclone check --download`` against the configured remote. used" - }, - { - "label": "Pick the next due job and drive it through the state machine.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L417", - "id": "sync_nas_client_rationale_417", - "community": 8, - "norm_label": "pick the next due job and drive it through the state machine." - }, - { - "label": "Return the next QUEUED row whose backoff has passed (or None).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L437", - "id": "sync_nas_client_rationale_437", - "community": 8, - "norm_label": "return the next queued row whose backoff has passed (or none)." - }, - { - "label": "Drive ``job`` from QUEUED through one transport+verify pass. Worker sem", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L448", - "id": "sync_nas_client_rationale_448", - "community": 3, - "norm_label": "drive ``job`` from queued through one transport+verify pass. worker sem" - }, - { - "label": "Route a verify-phase ``TransportError`` per spec \u00a77.1.5. Mirrors the pu", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L620", - "id": "sync_nas_client_rationale_620", - "community": 3, - "norm_label": "route a verify-phase ``transporterror`` per spec \u00a77.1.5. mirrors the pu" - }, - { - "label": "Resolve the ``(remote, base_root, perf)`` triple for ``equipment``. The", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L653", - "id": "sync_nas_client_rationale_653", - "community": 3, - "norm_label": "resolve the ``(remote, base_root, perf)`` triple for ``equipment``. the" - }, - { - "label": "Compose the rclone target ``:///``. Th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L674", - "id": "sync_nas_client_rationale_674", - "community": 3, - "norm_label": "compose the rclone target ``:///``. th" - }, - { - "label": "Build the :class:`RcloneDriver` for ``equipment``. The perf dials come", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L685", - "id": "sync_nas_client_rationale_685", - "community": 3, - "norm_label": "build the :class:`rclonedriver` for ``equipment``. the perf dials come" - }, - { - "label": "Resolve the push callable for ``equipment``. Tests can inject a custom", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L697", - "id": "sync_nas_client_rationale_697", - "community": 3, - "norm_label": "resolve the push callable for ``equipment``. tests can inject a custom" - }, - { - "label": "Resolve the ``rclone check --download`` callable for ``equipment``. Tes", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L723", - "id": "sync_nas_client_rationale_723", - "community": 3, - "norm_label": "resolve the ``rclone check --download`` callable for ``equipment``. tes" - }, - { - "label": "Resolve the cheap ``rclone lsjson`` reconcile probe for ``equipment``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L742", - "id": "sync_nas_client_rationale_742", - "community": 3, - "norm_label": "resolve the cheap ``rclone lsjson`` reconcile probe for ``equipment``." - }, - { - "label": "Compute the SHA-256 hex digest of each file in ``files``. Slot A of the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L771", - "id": "sync_nas_client_rationale_771", - "community": 3, - "norm_label": "compute the sha-256 hex digest of each file in ``files``. slot a of the" - }, - { - "label": "Translate a transport failure into a queue update.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L810", - "id": "sync_nas_client_rationale_810", - "community": 3, - "norm_label": "translate a transport failure into a queue update." - }, - { - "label": "Return every non-cache regular file under ``run_path`` as POSIX rel paths.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L835", - "id": "sync_nas_client_rationale_835", - "community": 658, - "norm_label": "return every non-cache regular file under ``run_path`` as posix rel paths." - }, - { - "label": "Return the ``(st_size, st_mtime_ns)`` signature for ``path``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L860", - "id": "sync_nas_client_rationale_860", - "community": 659, - "norm_label": "return the ``(st_size, st_mtime_ns)`` signature for ``path``." - }, - { - "label": "Write a transport ``--files-from`` list and return its path. One run-re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L869", - "id": "sync_nas_client_rationale_869", - "community": 660, - "norm_label": "write a transport ``--files-from`` list and return its path. one run-re" - }, - { - "label": "Apply the \u00a77.1.6 interlocks; if all pass, run the cleanup. Operator-fre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L888", - "id": "sync_nas_client_rationale_888", - "community": 3, - "norm_label": "apply the \u00a77.1.6 interlocks; if all pass, run the cleanup. operator-fre" - }, - { - "label": "Delete ``run_path`` data files honoring ``retain_cache`` and ``keep_local``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L993", - "id": "sync_nas_client_rationale_993", - "community": 3, - "norm_label": "delete ``run_path`` data files honoring ``retain_cache`` and ``keep_local``." - }, - { - "label": "Return the equipment id for a run path. Prefers an explicit equipment i", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1010", - "id": "sync_nas_client_rationale_1010", - "community": 3, - "norm_label": "return the equipment id for a run path. prefers an explicit equipment i" - }, - { - "label": "Return the recorded NAS-side path from a creation payload.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1033", - "id": "sync_nas_client_rationale_1033", - "community": 661, - "norm_label": "return the recorded nas-side path from a creation payload." - }, - { - "label": "Mutate ``creation.json`` ``sync_status`` to ``blocked_by_validation``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1037", - "id": "sync_nas_client_rationale_1037", - "community": 3, - "norm_label": "mutate ``creation.json`` ``sync_status`` to ``blocked_by_validation``." - }, - { - "label": "Mutate ``creation.json`` ``sync_status`` to ``synced``. Backend Spec \u00a77.1.4.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1046", - "id": "sync_nas_client_rationale_1046", - "community": 3, - "norm_label": "mutate ``creation.json`` ``sync_status`` to ``synced``. backend spec \u00a77.1.4." - }, - { - "label": "Mutate ``creation.json`` ``sync_status`` to ``cleaned``. Backend Spec \u00a77.1.10.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1059", - "id": "sync_nas_client_rationale_1059", - "community": 3, - "norm_label": "mutate ``creation.json`` ``sync_status`` to ``cleaned``. backend spec \u00a77.1.10." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_init_py", - "community": 482, - "norm_label": "__init__.py" - }, - { - "label": "cleanup.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_cleanup_py", - "community": 120, - "norm_label": "cleanup.py" - }, - { - "label": "has_recent_revocation()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L39", - "id": "sync_cleanup_has_recent_revocation", - "community": 120, - "norm_label": "has_recent_revocation()" - }, - { - "label": "cleanup_interlocks_satisfied()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L65", - "id": "sync_cleanup_cleanup_interlocks_satisfied", - "community": 120, - "norm_label": "cleanup_interlocks_satisfied()" - }, - { - "label": "Cleanup safety interlocks. Backend Spec \u00a77.1.6. The cleanup reaper deletes loca", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L1", - "id": "sync_cleanup_rationale_1", - "community": 120, - "norm_label": "cleanup safety interlocks. backend spec \u00a77.1.6. the cleanup reaper deletes loca" - }, - { - "label": "Return True if any tombstone was recorded within ``min_age_hours``. A tombs", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L45", - "id": "sync_cleanup_rationale_45", - "community": 120, - "norm_label": "return true if any tombstone was recorded within ``min_age_hours``. a tombs" - }, - { - "label": "Evaluate every \u00a77.1.6 interlock; return True iff all pass. Logs a debug ent", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L74", - "id": "sync_cleanup_rationale_74", - "community": 120, - "norm_label": "evaluate every \u00a77.1.6 interlock; return true iff all pass. logs a debug ent" - }, - { - "label": "bandwidth.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_bandwidth_py", - "community": 89, - "norm_label": "bandwidth.py" - }, - { - "label": "mbps_to_kibps()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L41", - "id": "sync_bandwidth_mbps_to_kibps", - "community": 89, - "norm_label": "mbps_to_kibps()" - }, - { - "label": "_parse_hhmm()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L55", - "id": "sync_bandwidth_parse_hhmm", - "community": 89, - "norm_label": "_parse_hhmm()" - }, - { - "label": "is_window_active()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L63", - "id": "sync_bandwidth_is_window_active", - "community": 89, - "norm_label": "is_window_active()" - }, - { - "label": "effective_bandwidth_limit_kibps()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L84", - "id": "sync_bandwidth_effective_bandwidth_limit_kibps", - "community": 89, - "norm_label": "effective_bandwidth_limit_kibps()" - }, - { - "label": "Bandwidth schedule evaluator. Backend Spec \u00a77.1.7. The \u00a77.1.7 bandwidth limiter", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L1", - "id": "sync_bandwidth_rationale_1", - "community": 89, - "norm_label": "bandwidth schedule evaluator. backend spec \u00a77.1.7. the \u00a77.1.7 bandwidth limiter" - }, - { - "label": "Convert ``upload_mbps`` (megabits/s) into ``--bwlimit`` KiB/s. Per \u00a77.1.7:", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L42", - "id": "sync_bandwidth_rationale_42", - "community": 89, - "norm_label": "convert ``upload_mbps`` (megabits/s) into ``--bwlimit`` kib/s. per \u00a77.1.7:" - }, - { - "label": "Parse an ``HH:MM`` string. Pydantic validated it on input; :func:`is_window_", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L56", - "id": "sync_bandwidth_rationale_56", - "community": 89, - "norm_label": "parse an ``hh:mm`` string. pydantic validated it on input; :func:`is_window_" - }, - { - "label": "Return True iff ``now_local`` is inside ``window``. The window is defined b", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L64", - "id": "sync_bandwidth_rationale_64", - "community": 89, - "norm_label": "return true iff ``now_local`` is inside ``window``. the window is defined b" - }, - { - "label": "Return the effective ``--bwlimit`` in KiB/s for ``now_local``. Decision tre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L89", - "id": "sync_bandwidth_rationale_89", - "community": 89, - "norm_label": "return the effective ``--bwlimit`` in kib/s for ``now_local``. decision tre" - }, - { - "label": "pre_sync_gate.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_pre_sync_gate_py", - "community": 189, - "norm_label": "pre_sync_gate.py" - }, - { - "label": "_file_names_in_run()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L32", - "id": "sync_pre_sync_gate_file_names_in_run", - "community": 189, - "norm_label": "_file_names_in_run()" - }, - { - "label": "is_eligible()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L46", - "id": "sync_pre_sync_gate_is_eligible", - "community": 189, - "norm_label": "is_eligible()" - }, - { - "label": "Pre-Sync Gate. Backend Spec \u00a77.3. The Pre-Sync Gate is the contract by which va", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L1", - "id": "sync_pre_sync_gate_rationale_1", - "community": 189, - "norm_label": "pre-sync gate. backend spec \u00a77.3. the pre-sync gate is the contract by which va" - }, - { - "label": "Return the bare file names directly under ``run_path``. The Pre-Sync Gate i", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L33", - "id": "sync_pre_sync_gate_rationale_33", - "community": 189, - "norm_label": "return the bare file names directly under ``run_path``. the pre-sync gate i" - }, - { - "label": "Evaluate the \u00a77.3 eligibility rule for a run. Returns ``(True, [])`` iff th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L52", - "id": "sync_pre_sync_gate_rationale_52", - "community": 189, - "norm_label": "evaluate the \u00a77.3 eligibility rule for a run. returns ``(true, [])`` iff th" - }, - { - "label": "verifier.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_verifier_py", - "community": 293, - "norm_label": "verifier.py" - }, - { - "label": "VerifyResult", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L42", - "id": "sync_verifier_verifyresult", - "community": 3, - "norm_label": "verifyresult" - }, - { - "label": "from_check_result()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L72", - "id": "sync_verifier_from_check_result", - "community": 293, - "norm_label": "from_check_result()" - }, - { - "label": "Verifier", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L93", - "id": "sync_verifier_verifier", - "community": 293, - "norm_label": "verifier" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L102", - "id": "sync_verifier_verifier_init", - "community": 293, - "norm_label": ".__init__()" - }, - { - "label": ".verify()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L109", - "id": "sync_verifier_verifier_verify", - "community": 293, - "norm_label": ".verify()" - }, - { - "label": "SHA-256 verifier wrapper around ``rclone check --download``. Rclone-only NAS sy", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L1", - "id": "sync_verifier_rationale_1", - "community": 293, - "norm_label": "sha-256 verifier wrapper around ``rclone check --download``. rclone-only nas sy" - }, - { - "label": "Outcome of one ``rclone check --download`` pass against a remote. ``ok`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L43", - "id": "sync_verifier_rationale_43", - "community": 3, - "norm_label": "outcome of one ``rclone check --download`` pass against a remote. ``ok`` is" - }, - { - "label": "Translate a successful ``rclone check`` into a :class:`VerifyResult`. `", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L73", - "id": "sync_verifier_rationale_73", - "community": 662, - "norm_label": "translate a successful ``rclone check`` into a :class:`verifyresult`. `" - }, - { - "label": "Verifier: ``rclone check`` wrapper, no Python SHA pipeline. Constructed wit", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L94", - "id": "sync_verifier_rationale_94", - "community": 293, - "norm_label": "verifier: ``rclone check`` wrapper, no python sha pipeline. constructed wit" - }, - { - "label": "Run ``rclone check --download`` over ``files_from`` and translate. Rais", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L116", - "id": "sync_verifier_rationale_116", - "community": 293, - "norm_label": "run ``rclone check --download`` over ``files_from`` and translate. rais" - }, - { - "label": "run_delete.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_run_delete_py", - "community": 11, - "norm_label": "run_delete.py" - }, - { - "label": "delete_run_files()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L38", - "id": "sync_run_delete_delete_run_files", - "community": 11, - "norm_label": "delete_run_files()" - }, - { - "label": "_prune_empty_dirs()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L94", - "id": "sync_run_delete_prune_empty_dirs", - "community": 11, - "norm_label": "_prune_empty_dirs()" - }, - { - "label": "Keep-local-aware, symlink-safe deletion of a run's staging copy. Operator-free", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L1", - "id": "sync_run_delete_rationale_1", - "community": 11, - "norm_label": "keep-local-aware, symlink-safe deletion of a run's staging copy. operator-free" - }, - { - "label": "Delete ``run_path`` data files honoring ``retain_cache`` and ``keep_local``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L44", - "id": "sync_run_delete_rationale_44", - "community": 11, - "norm_label": "delete ``run_path`` data files honoring ``retain_cache`` and ``keep_local``." - }, - { - "label": "Remove now-empty real directories under ``run_path`` (deepest first). The r", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L95", - "id": "sync_run_delete_rationale_95", - "community": 11, - "norm_label": "remove now-empty real directories under ``run_path`` (deepest first). the r" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_transports_init_py", - "community": 104, - "norm_label": "__init__.py" - }, - { - "label": "TransportErrorKind", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L21", - "id": "transports_init_transporterrorkind", - "community": 104, - "norm_label": "transporterrorkind" - }, - { - "label": "TransportResult", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L45", - "id": "transports_init_transportresult", - "community": 104, - "norm_label": "transportresult" - }, - { - "label": "TransportError", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L60", - "id": "transports_init_transporterror", - "community": 104, - "norm_label": "transporterror" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L80", - "id": "transports_init_transporterror_init", - "community": 104, - "norm_label": ".__init__()" - }, - { - "label": "Sync transports package. Backend Spec \u00a77.1.3. Each transport is a thin async wr", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L1", - "id": "transports_init_rationale_1", - "community": 104, - "norm_label": "sync transports package. backend spec \u00a77.1.3. each transport is a thin async wr" - }, - { - "label": "Kind of failure that the queue worker uses to drive the retry policy. Backe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L22", - "id": "transports_init_rationale_22", - "community": 104, - "norm_label": "kind of failure that the queue worker uses to drive the retry policy. backe" - }, - { - "label": "Outcome of a transport push. ``ok`` is True iff the transport reported succ", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L46", - "id": "transports_init_rationale_46", - "community": 104, - "norm_label": "outcome of a transport push. ``ok`` is true iff the transport reported succ" - }, - { - "label": "Raised when a transport probe cannot complete. Distinct from :class:`Transp", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L61", - "id": "transports_init_rationale_61", - "community": 104, - "norm_label": "raised when a transport probe cannot complete. distinct from :class:`transp" - }, - { - "label": "rclone.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_transports_rclone_py", - "community": 232, - "norm_label": "rclone.py" - }, - { - "label": "_classify_failure()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L58", - "id": "transports_rclone_classify_failure", - "community": 104, - "norm_label": "_classify_failure()" - }, - { - "label": "CheckResult", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L82", - "id": "transports_rclone_checkresult", - "community": 232, - "norm_label": "checkresult" - }, - { - "label": "AboutResult", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L105", - "id": "transports_rclone_aboutresult", - "community": 232, - "norm_label": "aboutresult" - }, - { - "label": "RcloneDriver", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L124", - "id": "transports_rclone_rclonedriver", - "community": 68, - "norm_label": "rclonedriver" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L127", - "id": "transports_rclone_rclonedriver_init", - "community": 68, - "norm_label": ".__init__()" - }, - { - "label": "._global_flags()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L140", - "id": "transports_rclone_rclonedriver_global_flags", - "community": 104, - "norm_label": "._global_flags()" - }, - { - "label": "._checkers_flags()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L147", - "id": "transports_rclone_rclonedriver_checkers_flags", - "community": 104, - "norm_label": "._checkers_flags()" - }, - { - "label": ".push()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L158", - "id": "transports_rclone_rclonedriver_push", - "community": 104, - "norm_label": ".push()" - }, - { - "label": ".check()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L210", - "id": "transports_rclone_rclonedriver_check", - "community": 104, - "norm_label": ".check()" - }, - { - "label": ".about()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L291", - "id": "transports_rclone_rclonedriver_about", - "community": 104, - "norm_label": ".about()" - }, - { - "label": ".lsjson()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L325", - "id": "transports_rclone_rclonedriver_lsjson", - "community": 104, - "norm_label": ".lsjson()" - }, - { - "label": ".listremotes()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L351", - "id": "transports_rclone_rclonedriver_listremotes", - "community": 104, - "norm_label": ".listremotes()" - }, - { - "label": "_parse_combined()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L373", - "id": "transports_rclone_parse_combined", - "community": 232, - "norm_label": "_parse_combined()" - }, - { - "label": "rclone transport driver. Backend Spec \u00a77.1.3. Single transport binary for the N", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L1", - "id": "transports_rclone_rationale_1", - "community": 232, - "norm_label": "rclone transport driver. backend spec \u00a77.1.3. single transport binary for the n" - }, - { - "label": "Map a (returncode, stderr) into a :class:`TransportErrorKind`. Auth failure", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L59", - "id": "transports_rclone_rationale_59", - "community": 104, - "norm_label": "map a (returncode, stderr) into a :class:`transporterrorkind`. auth failure" - }, - { - "label": "Parsed result of a ``rclone check --combined`` run. The combined-output for", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L83", - "id": "transports_rclone_rationale_83", - "community": 232, - "norm_label": "parsed result of a ``rclone check --combined`` run. the combined-output for" - }, - { - "label": "Outcome of ``rclone about --json``. Surfaces as the equipment-prob", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L106", - "id": "transports_rclone_rationale_106", - "community": 232, - "norm_label": "outcome of ``rclone about --json``. surfaces as the equipment-prob" - }, - { - "label": "rclone transport driver. Backend Spec \u00a77.1.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L125", - "id": "transports_rclone_rationale_125", - "community": 68, - "norm_label": "rclone transport driver. backend spec \u00a77.1.3." - }, - { - "label": "Flags valid on every rclone subcommand we invoke.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L141", - "id": "transports_rclone_rationale_141", - "community": 111, - "norm_label": "flags valid on every rclone subcommand we invoke." - }, - { - "label": "``--checkers `` when the parallelism dial is set, else empty. Shared", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L148", - "id": "transports_rclone_rationale_148", - "community": 104, - "norm_label": "``--checkers `` when the parallelism dial is set, else empty. shared" - }, - { - "label": "Run ``rclone copy --checksum`` from ``local`` to ``remote``. ``remote``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L166", - "id": "transports_rclone_rationale_166", - "community": 104, - "norm_label": "run ``rclone copy --checksum`` from ``local`` to ``remote``. ``remote``" - }, - { - "label": "Run ``rclone check --download --files-from --combined`` over ``files_from``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L217", - "id": "transports_rclone_rationale_217", - "community": 104, - "norm_label": "run ``rclone check --download --files-from --combined`` over ``files_from``." - }, - { - "label": "Run ``rclone about --json`` -- the equipment probe. Used by th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L295", - "id": "transports_rclone_rationale_295", - "community": 104, - "norm_label": "run ``rclone about --json`` -- the equipment probe. used by th" - }, - { - "label": "Run ``rclone lsjson`` (read-only) and return the raw JSON array text. L", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L326", - "id": "transports_rclone_rationale_326", - "community": 104, - "norm_label": "run ``rclone lsjson`` (read-only) and return the raw json array text. l" - }, - { - "label": "Return the remote names defined in rclone.conf (each incl. trailing ``:``)", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L352", - "id": "transports_rclone_rationale_352", - "community": 104, - "norm_label": "return the remote names defined in rclone.conf (each incl. trailing ``:``)" - }, - { - "label": "Parse ``rclone check --combined`` output into a :class:`CheckResult`. Each", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L374", - "id": "transports_rclone_rationale_374", - "community": 232, - "norm_label": "parse ``rclone check --combined`` output into a :class:`checkresult`. each" - }, - { - "label": "_run.py", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/_run.py", - "source_location": "L1", - "id": "src_exlab_wizard_sync_transports_run_py", - "community": 167, - "norm_label": "_run.py" - }, - { - "label": "run_subprocess()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/_run.py", - "source_location": "L27", - "id": "transports_run_run_subprocess", - "community": 167, - "norm_label": "run_subprocess()" - }, - { - "label": "Shared asyncio subprocess helper for transport drivers. Backend Spec \u00a77.1.3. Th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/_run.py", - "source_location": "L1", - "id": "transports_run_rationale_1", - "community": 167, - "norm_label": "shared asyncio subprocess helper for transport drivers. backend spec \u00a77.1.3. th" - }, - { - "label": "Launch ``cmd`` and return ``(returncode, stdout, stderr)`` as text. The chi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/_run.py", - "source_location": "L28", - "id": "transports_run_rationale_28", - "community": 167, - "norm_label": "launch ``cmd`` and return ``(returncode, stdout, stderr)`` as text. the chi" - }, - { - "label": "handlers.py", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L1", - "id": "src_exlab_wizard_logging_handlers_py", - "community": 154, - "norm_label": "handlers.py" - }, - { - "label": "EquipmentScopedFileHandler", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L37", - "id": "logging_handlers_equipmentscopedfilehandler", - "community": 154, - "norm_label": "equipmentscopedfilehandler" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L57", - "id": "logging_handlers_equipmentscopedfilehandler_init", - "community": 154, - "norm_label": ".__init__()" - }, - { - "label": ".emit()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L74", - "id": "logging_handlers_equipmentscopedfilehandler_emit", - "community": 154, - "norm_label": ".emit()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L90", - "id": "logging_handlers_equipmentscopedfilehandler_close", - "community": 154, - "norm_label": ".close()" - }, - { - "label": "._open_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L105", - "id": "logging_handlers_equipmentscopedfilehandler_open_for", - "community": 154, - "norm_label": "._open_for()" - }, - { - "label": "._compose_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L124", - "id": "logging_handlers_equipmentscopedfilehandler_compose_path", - "community": 154, - "norm_label": "._compose_path()" - }, - { - "label": "_OpenLogFile", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L139", - "id": "logging_handlers_openlogfile", - "community": 154, - "norm_label": "_openlogfile" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L152", - "id": "logging_handlers_openlogfile_init", - "community": 154, - "norm_label": ".__init__()" - }, - { - "label": "open()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L158", - "id": "logging_handlers_open", - "community": 154, - "norm_label": "open()" - }, - { - "label": ".write()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L183", - "id": "logging_handlers_openlogfile_write", - "community": 154, - "norm_label": ".write()" - }, - { - "label": ".fsync()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L189", - "id": "logging_handlers_openlogfile_fsync", - "community": 154, - "norm_label": ".fsync()" - }, - { - "label": ".close()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L197", - "id": "logging_handlers_openlogfile_close", - "community": 154, - "norm_label": ".close()" - }, - { - "label": "Equipment-scoped file handler. Backend Spec \u00a716.2.4. The :class:`EquipmentScope", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L1", - "id": "logging_handlers_rationale_1", - "community": 154, - "norm_label": "equipment-scoped file handler. backend spec \u00a716.2.4. the :class:`equipmentscope" - }, - { - "label": "Per-equipment ``wizard..log`` writer. Resolves ``/.log`` writer. resolves ``///.exlab-wizard/wizard..log``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L125", - "id": "logging_handlers_rationale_125", - "community": 154, - "norm_label": "return ``//.exlab-wizard/wizard..log``." - }, - { - "label": "Append-mode log file with platform-appropriate share / append flags. The wr", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L140", - "id": "logging_handlers_rationale_140", - "community": 154, - "norm_label": "append-mode log file with platform-appropriate share / append flags. the wr" - }, - { - "label": "Open ``path`` in append mode with the platform-appropriate flags.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L159", - "id": "logging_handlers_rationale_159", - "community": 663, - "norm_label": "open ``path`` in append mode with the platform-appropriate flags." - }, - { - "label": "Append ``line`` (already newline-terminated) to the file.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L184", - "id": "logging_handlers_rationale_184", - "community": 154, - "norm_label": "append ``line`` (already newline-terminated) to the file." - }, - { - "label": "``os.fsync`` the underlying file descriptor. Called only on ``ERROR``-l", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L190", - "id": "logging_handlers_rationale_190", - "community": 154, - "norm_label": "``os.fsync`` the underlying file descriptor. called only on ``error``-l" - }, - { - "label": "Flush and close the file. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L198", - "id": "logging_handlers_rationale_198", - "community": 154, - "norm_label": "flush and close the file. idempotent." - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_logging_init_py", - "community": 550, - "norm_label": "__init__.py" - }, - { - "label": "Canonical logger package. Backend Spec \u00a716. This package owns the runtime logge", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/__init__.py", - "source_location": "L1", - "id": "logging_init_rationale_1", - "community": 550, - "norm_label": "canonical logger package. backend spec \u00a716. this package owns the runtime logge" - }, - { - "label": "format.py", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L1", - "id": "src_exlab_wizard_logging_format_py", - "community": 335, - "norm_label": "format.py" - }, - { - "label": "StructuredTagFormatter", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L71", - "id": "logging_format_structuredtagformatter", - "community": 123, - "norm_label": "structuredtagformatter" - }, - { - "label": ".format()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L90", - "id": "logging_format_structuredtagformatter_format", - "community": 335, - "norm_label": ".format()" - }, - { - "label": "_format_utc_timestamp()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L104", - "id": "logging_format_format_utc_timestamp", - "community": 335, - "norm_label": "_format_utc_timestamp()" - }, - { - "label": "_render_tags()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L115", - "id": "logging_format_render_tags", - "community": 335, - "norm_label": "_render_tags()" - }, - { - "label": "redact_secret()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L135", - "id": "logging_format_redact_secret", - "community": 123, - "norm_label": "redact_secret()" - }, - { - "label": "Structured log formatter and secret-redaction helpers. Backend Spec \u00a716.4, \u00a716.1", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L1", - "id": "logging_format_rationale_1", - "community": 335, - "norm_label": "structured log formatter and secret-redaction helpers. backend spec \u00a716.4, \u00a716.1" - }, - { - "label": "Formatter that renders the \u00a716.4 structured-tag log line. Reads the active", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L72", - "id": "logging_format_rationale_72", - "community": 123, - "norm_label": "formatter that renders the \u00a716.4 structured-tag log line. reads the active" - }, - { - "label": "Render ``epoch_seconds`` as a UTC ISO 8601 timestamp with ``Z`` suffix. Exa", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L105", - "id": "logging_format_rationale_105", - "community": 335, - "norm_label": "render ``epoch_seconds`` as a utc iso 8601 timestamp with ``z`` suffix. exa" - }, - { - "label": "Render the active context as ``[host:..] [equip:..] ...``. Returns the empt", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L116", - "id": "logging_format_rationale_116", - "community": 335, - "norm_label": "render the active context as ``[host:..] [equip:..] ...``. returns the empt" - }, - { - "label": "Mask credential-bearing substrings inside ``value``. Replaces three classes", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L136", - "id": "logging_format_rationale_136", - "community": 123, - "norm_label": "mask credential-bearing substrings inside ``value``. replaces three classes" - }, - { - "label": "context.py", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L1", - "id": "src_exlab_wizard_logging_context_py", - "community": 144, - "norm_label": "context.py" - }, - { - "label": "set_run_context()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L68", - "id": "logging_context_set_run_context", - "community": 196, - "norm_label": "set_run_context()" - }, - { - "label": "get_run_context()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L114", - "id": "logging_context_get_run_context", - "community": 144, - "norm_label": "get_run_context()" - }, - { - "label": "clear_run_context()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L124", - "id": "logging_context_clear_run_context", - "community": 144, - "norm_label": "clear_run_context()" - }, - { - "label": "Per-task structured-tag context vars for the logging system. Backend Spec \u00a716.2.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L1", - "id": "logging_context_rationale_1", - "community": 144, - "norm_label": "per-task structured-tag context vars for the logging system. backend spec \u00a716.2." - }, - { - "label": "Push the supplied context vars on entry and reset them on exit. Vars whose", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L76", - "id": "logging_context_rationale_76", - "community": 196, - "norm_label": "push the supplied context vars on entry and reset them on exit. vars whose" - }, - { - "label": "Return a snapshot of the active context as a plain ``dict``. Used by the fo", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L115", - "id": "logging_context_rationale_115", - "community": 144, - "norm_label": "return a snapshot of the active context as a plain ``dict``. used by the fo" - }, - { - "label": "Reset every context var to ``None``. Provided for test fixtures that want t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L125", - "id": "logging_context_rationale_125", - "community": 144, - "norm_label": "reset every context var to ``none``. provided for test fixtures that want t" - }, - { - "label": "manager.py", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L1", - "id": "src_exlab_wizard_logging_manager_py", - "community": 19, - "norm_label": "manager.py" - }, - { - "label": "get_logger()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L70", - "id": "logging_manager_get_logger", - "community": 19, - "norm_label": "get_logger()" - }, - { - "label": "configure_logging()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L88", - "id": "logging_manager_configure_logging", - "community": 19, - "norm_label": "configure_logging()" - }, - { - "label": "_shutdown_logging()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L155", - "id": "logging_manager_shutdown_logging", - "community": 19, - "norm_label": "_shutdown_logging()" - }, - { - "label": "_teardown_locked()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L170", - "id": "logging_manager_teardown_locked", - "community": 19, - "norm_label": "_teardown_locked()" - }, - { - "label": "_resolve_threshold()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L189", - "id": "logging_manager_resolve_threshold", - "community": 19, - "norm_label": "_resolve_threshold()" - }, - { - "label": "_resolve_rotation()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L204", - "id": "logging_manager_resolve_rotation", - "community": 19, - "norm_label": "_resolve_rotation()" - }, - { - "label": "_resolve_local_root()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L214", - "id": "logging_manager_resolve_local_root", - "community": 19, - "norm_label": "_resolve_local_root()" - }, - { - "label": "_build_real_handlers()", - "file_type": "code", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L225", - "id": "logging_manager_build_real_handlers", - "community": 19, - "norm_label": "_build_real_handlers()" - }, - { - "label": "Canonical logger factory + configuration. Backend Spec \u00a716.2.1, \u00a716.2.2, \u00a716.2.5", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L1", - "id": "logging_manager_rationale_1", - "community": 19, - "norm_label": "canonical logger factory + configuration. backend spec \u00a716.2.1, \u00a716.2.2, \u00a716.2.5" - }, - { - "label": "Return a logger for ``name``. The ONLY place in the codebase that may call", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L71", - "id": "logging_manager_rationale_71", - "community": 19, - "norm_label": "return a logger for ``name``. the only place in the codebase that may call" - }, - { - "label": "Install the \u00a716.2.5 queue-based handler chain. Idempotent: calling this a s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L89", - "id": "logging_manager_rationale_89", - "community": 19, - "norm_label": "install the \u00a716.2.5 queue-based handler chain. idempotent: calling this a s" - }, - { - "label": "Drain the queue, stop the listener thread, and detach the queue handler. Ca", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L156", - "id": "logging_manager_rationale_156", - "community": 19, - "norm_label": "drain the queue, stop the listener thread, and detach the queue handler. ca" - }, - { - "label": "Tear down the active listener. Must be called with ``_state_lock`` held.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L171", - "id": "logging_manager_rationale_171", - "community": 19, - "norm_label": "tear down the active listener. must be called with ``_state_lock`` held." - }, - { - "label": "Return the numeric level threshold for the root logger. ``LoggingConfig`` a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L190", - "id": "logging_manager_rationale_190", - "community": 19, - "norm_label": "return the numeric level threshold for the root logger. ``loggingconfig`` a" - }, - { - "label": "Return ``(central_log_max_mb, central_log_keep)`` from ``config`` or defaults.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L205", - "id": "logging_manager_rationale_205", - "community": 19, - "norm_label": "return ``(central_log_max_mb, central_log_keep)`` from ``config`` or defaults." - }, - { - "label": "Return the configured ``local_root`` for the equipment-scoped handler. Phas", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L215", - "id": "logging_manager_rationale_215", - "community": 19, - "norm_label": "return the configured ``local_root`` for the equipment-scoped handler. phas" - }, - { - "label": "Build the listener's downstream handler chain. Order is fixed: equipment-sc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L232", - "id": "logging_manager_rationale_232", - "community": 19, - "norm_label": "build the listener's downstream handler chain. order is fixed: equipment-sc" - }, - { - "label": "quiescence_poller.py", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L1", - "id": "src_exlab_wizard_orchestrator_quiescence_poller_py", - "community": 13, - "norm_label": "quiescence_poller.py" - }, - { - "label": "NASSyncLike", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L73", - "id": "orchestrator_quiescence_poller_nassynclike", - "community": 13, - "norm_label": "nassynclike" - }, - { - "label": ".enqueue()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L83", - "id": "orchestrator_quiescence_poller_nassynclike_enqueue", - "community": 13, - "norm_label": ".enqueue()" - }, - { - "label": ".status()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L84", - "id": "orchestrator_quiescence_poller_nassynclike_status", - "community": 13, - "norm_label": ".status()" - }, - { - "label": ".get_by_run_path()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L85", - "id": "orchestrator_quiescence_poller_nassynclike_get_by_run_path", - "community": 13, - "norm_label": ".get_by_run_path()" - }, - { - "label": ".list_all()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L86", - "id": "orchestrator_quiescence_poller_nassynclike_list_all", - "community": 13, - "norm_label": ".list_all()" - }, - { - "label": "FileSnapshot", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L90", - "id": "orchestrator_quiescence_poller_filesnapshot", - "community": 13, - "norm_label": "filesnapshot" - }, - { - "label": "QuiescenceSyncPoller", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L103", - "id": "orchestrator_quiescence_poller_quiescencesyncpoller", - "community": 13, - "norm_label": "quiescencesyncpoller" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L115", - "id": "orchestrator_quiescence_poller_quiescencesyncpoller_init", - "community": 13, - "norm_label": ".__init__()" - }, - { - "label": ".apply_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L131", - "id": "orchestrator_quiescence_poller_quiescencesyncpoller_apply_config", - "community": 13, - "norm_label": ".apply_config()" - }, - { - "label": ".start()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L144", - "id": "orchestrator_quiescence_poller_quiescencesyncpoller_start", - "community": 13, - "norm_label": ".start()" - }, - { - "label": ".stop()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L160", - "id": "orchestrator_quiescence_poller_quiescencesyncpoller_stop", - "community": 13, - "norm_label": ".stop()" - }, - { - "label": "._loop()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L173", - "id": "orchestrator_quiescence_poller_quiescencesyncpoller_loop", - "community": 13, - "norm_label": "._loop()" - }, - { - "label": ".poll_once()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L194", - "id": "orchestrator_quiescence_poller_quiescencesyncpoller_poll_once", - "community": 13, - "norm_label": ".poll_once()" - }, - { - "label": "._discover_runs()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L243", - "id": "orchestrator_quiescence_poller_quiescencesyncpoller_discover_runs", - "community": 11, - "norm_label": "._discover_runs()" - }, - { - "label": "._iter_run_files()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L283", - "id": "orchestrator_quiescence_poller_quiescencesyncpoller_iter_run_files", - "community": 13, - "norm_label": "._iter_run_files()" - }, - { - "label": "_signature()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L315", - "id": "orchestrator_quiescence_poller_signature", - "community": 13, - "norm_label": "_signature()" - }, - { - "label": "._eligible_files()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L323", - "id": "orchestrator_quiescence_poller_quiescencesyncpoller_eligible_files", - "community": 13, - "norm_label": "._eligible_files()" - }, - { - "label": "_matches_any_glob()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L362", - "id": "orchestrator_quiescence_poller_matches_any_glob", - "community": 13, - "norm_label": "_matches_any_glob()" - }, - { - "label": "_safe_resolve()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L367", - "id": "orchestrator_quiescence_poller_safe_resolve", - "community": 13, - "norm_label": "_safe_resolve()" - }, - { - "label": "Operator-free, per-file quiescence-driven NAS sync poller. Operator-free per-fi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L1", - "id": "orchestrator_quiescence_poller_rationale_1", - "community": 13, - "norm_label": "operator-free, per-file quiescence-driven nas sync poller. operator-free per-fi" - }, - { - "label": "The NAS-sync surface the poller and the Phase 3 staging code use. ``enqueue", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L74", - "id": "orchestrator_quiescence_poller_rationale_74", - "community": 13, - "norm_label": "the nas-sync surface the poller and the phase 3 staging code use. ``enqueue" - }, - { - "label": "One file's observation record carried forward across sweeps. * ``signature`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L91", - "id": "orchestrator_quiescence_poller_rationale_91", - "community": 13, - "norm_label": "one file's observation record carried forward across sweeps. * ``signature`" - }, - { - "label": "Polls every run pending NAS sync and enqueues runs with eligible files. Con", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L104", - "id": "orchestrator_quiescence_poller_rationale_104", - "community": 13, - "norm_label": "polls every run pending nas sync and enqueues runs with eligible files. con" - }, - { - "label": "Swap the cached config in place so a live settings save applies. ``poll", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L132", - "id": "orchestrator_quiescence_poller_rationale_132", - "community": 13, - "norm_label": "swap the cached config in place so a live settings save applies. ``poll" - }, - { - "label": "Start the background polling task. Idempotent. Returns immediately; the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L145", - "id": "orchestrator_quiescence_poller_rationale_145", - "community": 13, - "norm_label": "start the background polling task. idempotent. returns immediately; the" - }, - { - "label": "Cancel the background task and wait for it to exit. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L161", - "id": "orchestrator_quiescence_poller_rationale_161", - "community": 13, - "norm_label": "cancel the background task and wait for it to exit. idempotent." - }, - { - "label": "Run one discovery + quiescence + enqueue sweep. ``now_monotonic`` is in", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L195", - "id": "orchestrator_quiescence_poller_rationale_195", - "community": 13, - "norm_label": "run one discovery + quiescence + enqueue sweep. ``now_monotonic`` is in" - }, - { - "label": "Return every run-leaf directory pending NAS sync. Stage-mode runs sit u", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L244", - "id": "orchestrator_quiescence_poller_rationale_244", - "community": 11, - "norm_label": "return every run-leaf directory pending nas sync. stage-mode runs sit u" - }, - { - "label": "Return every non-ignored file under ``run_path``. Skips the ``.exlab-wi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L284", - "id": "orchestrator_quiescence_poller_rationale_284", - "community": 13, - "norm_label": "return every non-ignored file under ``run_path``. skips the ``.exlab-wi" - }, - { - "label": "Return ``(st_size, st_mtime_ns)`` for ``file_path`` or None.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L316", - "id": "orchestrator_quiescence_poller_rationale_316", - "community": 664, - "norm_label": "return ``(st_size, st_mtime_ns)`` for ``file_path`` or none." - }, - { - "label": "Return the run-relative paths of quiet files needing a (re-)sync. A qui", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L328", - "id": "orchestrator_quiescence_poller_rationale_328", - "community": 13, - "norm_label": "return the run-relative paths of quiet files needing a (re-)sync. a qui" - }, - { - "label": "Return True if ``name`` matches any glob in ``globs``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L363", - "id": "orchestrator_quiescence_poller_rationale_363", - "community": 13, - "norm_label": "return true if ``name`` matches any glob in ``globs``." - }, - { - "label": "Resolve ``path`` for de-dup, falling back to the path itself.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L368", - "id": "orchestrator_quiescence_poller_rationale_368", - "community": 13, - "norm_label": "resolve ``path`` for de-dup, falling back to the path itself." - }, - { - "label": "_scan.py", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L1", - "id": "src_exlab_wizard_orchestrator_scan_py", - "community": 11, - "norm_label": "_scan.py" - }, - { - "label": "iter_subdirs()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L30", - "id": "orchestrator_scan_iter_subdirs", - "community": 11, - "norm_label": "iter_subdirs()" - }, - { - "label": "walk_equipment_run_leaves()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L55", - "id": "orchestrator_scan_walk_equipment_run_leaves", - "community": 11, - "norm_label": "walk_equipment_run_leaves()" - }, - { - "label": "walk_run_leaves()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L89", - "id": "orchestrator_scan_walk_run_leaves", - "community": 11, - "norm_label": "walk_run_leaves()" - }, - { - "label": "count_files_and_bytes()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L105", - "id": "orchestrator_scan_count_files_and_bytes", - "community": 11, - "norm_label": "count_files_and_bytes()" - }, - { - "label": "Shared filesystem helpers for the orchestrator. Backend Spec \u00a713.2. Both :mod:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L1", - "id": "orchestrator_scan_rationale_1", - "community": 11, - "norm_label": "shared filesystem helpers for the orchestrator. backend spec \u00a713.2. both :mod:`" - }, - { - "label": "Return immediate sub-directories of ``parent``. Skips ``.exlab-wizard/``, h", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L31", - "id": "orchestrator_scan_rationale_31", - "community": 11, - "norm_label": "return immediate sub-directories of ``parent``. skips ``.exlab-wizard/``, h" - }, - { - "label": "Return every ``Run_*`` / ``TestRun_*`` directory under one equipment dir. `", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L56", - "id": "orchestrator_scan_rationale_56", - "community": 11, - "norm_label": "return every ``run_*`` / ``testrun_*`` directory under one equipment dir. `" - }, - { - "label": "Return every ``Run_*`` / ``TestRun_*`` directory under ``staging_root``. Pe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L90", - "id": "orchestrator_scan_rationale_90", - "community": 11, - "norm_label": "return every ``run_*`` / ``testrun_*`` directory under ``staging_root``. pe" - }, - { - "label": "Sum file count + total bytes under ``run_path``. With ``exclude_cache=True`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L106", - "id": "orchestrator_scan_rationale_106", - "community": 11, - "norm_label": "sum file count + total bytes under ``run_path``. with ``exclude_cache=true`" - }, - { - "label": "__init__.py", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/__init__.py", - "source_location": "L1", - "id": "src_exlab_wizard_orchestrator_init_py", - "community": 551, - "norm_label": "__init__.py" - }, - { - "label": "Orchestrator-mode runtime. Backend Spec \u00a712, \u00a713. This package implements the o", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/__init__.py", - "source_location": "L1", - "id": "orchestrator_init_rationale_1", - "community": 551, - "norm_label": "orchestrator-mode runtime. backend spec \u00a712, \u00a713. this package implements the o" - }, - { - "label": "staging_clear.py", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_clear.py", - "source_location": "L1", - "id": "src_exlab_wizard_orchestrator_staging_clear_py", - "community": 11, - "norm_label": "staging_clear.py" - }, - { - "label": "clear_run_dir()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_clear.py", - "source_location": "L33", - "id": "orchestrator_staging_clear_clear_run_dir", - "community": 11, - "norm_label": "clear_run_dir()" - }, - { - "label": "Operator-facing staging-clear helper. Backend Spec \u00a713.7. The operator-free per", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_clear.py", - "source_location": "L1", - "id": "orchestrator_staging_clear_rationale_1", - "community": 11, - "norm_label": "operator-facing staging-clear helper. backend spec \u00a713.7. the operator-free per" - }, - { - "label": "Delete a staged run's data files; return ``(file_count, bytes_freed)``. Ide", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_clear.py", - "source_location": "L34", - "id": "orchestrator_staging_clear_rationale_34", - "community": 11, - "norm_label": "delete a staged run's data files; return ``(file_count, bytes_freed)``. ide" - }, - { - "label": "staging_query.py", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L1", - "id": "src_exlab_wizard_orchestrator_staging_query_py", - "community": 11, - "norm_label": "staging_query.py" - }, - { - "label": "StagedRunSummary", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L44", - "id": "orchestrator_staging_query_stagedrunsummary", - "community": 6, - "norm_label": "stagedrunsummary" - }, - { - "label": "list_staged_runs()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L73", - "id": "orchestrator_staging_query_list_staged_runs", - "community": 11, - "norm_label": "list_staged_runs()" - }, - { - "label": "_summarize_run()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L119", - "id": "orchestrator_staging_query_summarize_run", - "community": 11, - "norm_label": "_summarize_run()" - }, - { - "label": "_rollup_value()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L149", - "id": "orchestrator_staging_query_rollup_value", - "community": 11, - "norm_label": "_rollup_value()" - }, - { - "label": "_path_identity()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L165", - "id": "orchestrator_staging_query_path_identity", - "community": 11, - "norm_label": "_path_identity()" - }, - { - "label": "_dir_mtime_iso()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L189", - "id": "orchestrator_staging_query_dir_mtime_iso", - "community": 11, - "norm_label": "_dir_mtime_iso()" - }, - { - "label": "_parse_iso()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L198", - "id": "orchestrator_staging_query_parse_iso", - "community": 11, - "norm_label": "_parse_iso()" - }, - { - "label": "_iso_to_epoch()", - "file_type": "code", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L204", - "id": "orchestrator_staging_query_iso_to_epoch", - "community": 11, - "norm_label": "_iso_to_epoch()" - }, - { - "label": "Read-only enumeration of runs pending NAS sync. Backend Spec \u00a713.8. The orchest", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L1", - "id": "orchestrator_staging_query_rationale_1", - "community": 11, - "norm_label": "read-only enumeration of runs pending nas sync. backend spec \u00a713.8. the orchest" - }, - { - "label": "One row in the orchestrator's staging panel. Backend Spec \u00a713.8: * ``p", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L45", - "id": "orchestrator_staging_query_rationale_45", - "community": 6, - "norm_label": "one row in the orchestrator's staging panel. backend spec \u00a713.8: * ``p" - }, - { - "label": "Enumerate every staged run with its derived lifecycle state. ``staging_root", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L80", - "id": "orchestrator_staging_query_rationale_80", - "community": 11, - "norm_label": "enumerate every staged run with its derived lifecycle state. ``staging_root" - }, - { - "label": "Build a :class:`StagedRunSummary` for ``run_path``. Equipment id / project", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L125", - "id": "orchestrator_staging_query_rationale_125", - "community": 11, - "norm_label": "build a :class:`stagedrunsummary` for ``run_path``. equipment id / project" - }, - { - "label": "Return the derived ``sync_state.json`` rollup for ``run_path``. Reads the r", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L150", - "id": "orchestrator_staging_query_rationale_150", - "community": 11, - "norm_label": "return the derived ``sync_state.json`` rollup for ``run_path``. reads the r" - }, - { - "label": "Return ``(equipment_id, project_name, run_kind)`` from the run path. Falls", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L166", - "id": "orchestrator_staging_query_rationale_166", - "community": 11, - "norm_label": "return ``(equipment_id, project_name, run_kind)`` from the run path. falls" - }, - { - "label": "Return the run directory mtime as a UTC ISO-8601 string.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L190", - "id": "orchestrator_staging_query_rationale_190", - "community": 11, - "norm_label": "return the run directory mtime as a utc iso-8601 string." - }, - { - "label": "Parse an ISO-8601 ``Z``-suffixed timestamp; fall back on error.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L199", - "id": "orchestrator_staging_query_rationale_199", - "community": 11, - "norm_label": "parse an iso-8601 ``z``-suffixed timestamp; fall back on error." - }, - { - "label": "Sort key helper -- returns 0.0 if ``value`` cannot be parsed.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L205", - "id": "orchestrator_staging_query_rationale_205", - "community": 11, - "norm_label": "sort key helper -- returns 0.0 if ``value`` cannot be parsed." - }, - { - "label": "README.md", - "file_type": "document", - "source_file": "README.md", - "source_location": "L1", - "id": "readme_md", - "community": 214, - "norm_label": "readme.md" - }, - { - "label": "ExLabWizard", - "file_type": "document", - "source_file": "README.md", - "source_location": "L1", - "id": "exlabwizard_readme_exlabwizard", - "community": 214, - "norm_label": "exlabwizard" - }, - { - "label": "Context", - "file_type": "document", - "source_file": "README.md", - "source_location": "L10", - "id": "exlabwizard_readme_context", - "community": 214, - "norm_label": "context" - }, - { - "label": "Installation", - "file_type": "document", - "source_file": "README.md", - "source_location": "L20", - "id": "exlabwizard_readme_installation", - "community": 214, - "norm_label": "installation" - }, - { - "label": "Prerequisites", - "file_type": "document", - "source_file": "README.md", - "source_location": "L22", - "id": "exlabwizard_readme_prerequisites", - "community": 214, - "norm_label": "prerequisites" - }, - { - "label": "From source (development)", - "file_type": "document", - "source_file": "README.md", - "source_location": "L32", - "id": "exlabwizard_readme_from_source_development", - "community": 214, - "norm_label": "from source (development)" - }, - { - "label": "code:bash (git clone https://github.com/exfab/ExLabWizard.git)", - "file_type": "document", - "source_file": "README.md", - "source_location": "L37", - "id": "exlabwizard_readme_codeblock_1", - "community": 214, - "norm_label": "code:bash (git clone https://github.com/exfab/exlabwizard.git)" - }, - { - "label": "Pre-built binary", - "file_type": "document", - "source_file": "README.md", - "source_location": "L53", - "id": "exlabwizard_readme_pre_built_binary", - "community": 214, - "norm_label": "pre-built binary" - }, - { - "label": "Running ExLab-Wizard", - "file_type": "document", - "source_file": "README.md", - "source_location": "L61", - "id": "exlabwizard_readme_running_exlab_wizard", - "community": 214, - "norm_label": "running exlab-wizard" - }, - { - "label": "code:bash (uv run exlab-wizard-tray # or: source .venv/bin/activate)", - "file_type": "document", - "source_file": "README.md", - "source_location": "L73", - "id": "exlabwizard_readme_codeblock_2", - "community": 214, - "norm_label": "code:bash (uv run exlab-wizard-tray # or: source .venv/bin/activate)" - }, - { - "label": "Building a distributable binary", - "file_type": "document", - "source_file": "README.md", - "source_location": "L89", - "id": "exlabwizard_readme_building_a_distributable_binary", - "community": 214, - "norm_label": "building a distributable binary" - }, - { - "label": "code:bash (./scripts/build_local.sh # macOS / Linux)", - "file_type": "document", - "source_file": "README.md", - "source_location": "L91", - "id": "exlabwizard_readme_codeblock_3", - "community": 214, - "norm_label": "code:bash (./scripts/build_local.sh # macos / linux)" - }, - { - "label": "Tests, lint, type-check", - "file_type": "document", - "source_file": "README.md", - "source_location": "L100", - "id": "exlabwizard_readme_tests_lint_type_check", - "community": 214, - "norm_label": "tests, lint, type-check" - }, - { - "label": "code:bash (uv run pytest tests/unit tests/integration # fast suite)", - "file_type": "document", - "source_file": "README.md", - "source_location": "L102", - "id": "exlabwizard_readme_codeblock_4", - "community": 214, - "norm_label": "code:bash (uv run pytest tests/unit tests/integration # fast suite)" - }, - { - "label": "NAS sync setup", - "file_type": "document", - "source_file": "README.md", - "source_location": "L114", - "id": "exlabwizard_readme_nas_sync_setup", - "community": 214, - "norm_label": "nas sync setup" - }, - { - "label": "code:yaml (nas:)", - "file_type": "document", - "source_file": "README.md", - "source_location": "L120", - "id": "exlabwizard_readme_codeblock_5", - "community": 214, - "norm_label": "code:yaml (nas:)" - }, - { - "label": "Documentation", - "file_type": "document", - "source_file": "README.md", - "source_location": "L132", - "id": "exlabwizard_readme_documentation", - "community": 214, - "norm_label": "documentation" - }, - { - "label": "DESIGN.md", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L1", - "id": "design_md", - "community": 313, - "norm_label": "design.md" - }, - { - "label": "Frontend Design Style Guide", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L1", - "id": "exlabwizard_design_frontend_design_style_guide", - "community": 313, - "norm_label": "frontend design style guide" - }, - { - "label": "Absolute Constraints", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L12", - "id": "exlabwizard_design_absolute_constraints", - "community": 313, - "norm_label": "absolute constraints" - }, - { - "label": "00 -- Logo and Branding", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L37", - "id": "exlabwizard_design_00_logo_and_branding", - "community": 313, - "norm_label": "00 -- logo and branding" - }, - { - "label": "01 -- Color Palette", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L44", - "id": "exlabwizard_design_01_color_palette", - "community": 337, - "norm_label": "01 -- color palette" - }, - { - "label": "Primary Colors -- UI Only", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L46", - "id": "exlabwizard_design_primary_colors_ui_only", - "community": 337, - "norm_label": "primary colors -- ui only" - }, - { - "label": "Data Colors -- Okabe-Ito -- Visualization Only", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L59", - "id": "exlabwizard_design_data_colors_okabe_ito_visualization_only", - "community": 337, - "norm_label": "data colors -- okabe-ito -- visualization only" - }, - { - "label": "Surface & Neutral Tokens", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L90", - "id": "exlabwizard_design_surface_neutral_tokens", - "community": 337, - "norm_label": "surface & neutral tokens" - }, - { - "label": "Main-window surface & interaction tokens (2026-05-29 UI refresh)", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L100", - "id": "exlabwizard_design_main_window_surface_interaction_tokens_2026_05_29_ui_refresh", - "community": 337, - "norm_label": "main-window surface & interaction tokens (2026-05-29 ui refresh)" - }, - { - "label": "Semantic Color Assignments", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L117", - "id": "exlabwizard_design_semantic_color_assignments", - "community": 337, - "norm_label": "semantic color assignments" - }, - { - "label": "Color Selection Decision Logic", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L126", - "id": "exlabwizard_design_color_selection_decision_logic", - "community": 337, - "norm_label": "color selection decision logic" - }, - { - "label": "02 -- Typography", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L148", - "id": "exlabwizard_design_02_typography", - "community": 363, - "norm_label": "02 -- typography" - }, - { - "label": "code:css (--font-display: 'DM Serif Display', Georgia, serif;)", - "file_type": "document", - "source_file": "DESIGN.md", - "source_location": "L153", - "id": "exlabwizard_design_codeblock_1", - "community": 363, - "norm_label": "code:css (--font-display: 'dm serif display', georgia, serif;)" - }, - { - "label": "code:html (/)", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L113", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_codeblock_1", - "community": 105, - "norm_label": "code:block1 (/)" - }, - { - "label": "4. Main window redesign", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L141", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", - "community": 105, - "norm_label": "4. main window redesign" - }, - { - "label": "4.1 Layout", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L143", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_1_layout", - "community": 105, - "norm_label": "4.1 layout" - }, - { - "label": "code:block2 (\u250c\u2500 Header toolbar: New Project \u00b7 New Run \u00b7 New Test Run \u00b7 Ad)", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L147", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_codeblock_2", - "community": 105, - "norm_label": "code:block2 (\u250c\u2500 header toolbar: new project \u00b7 new run \u00b7 new test run \u00b7 ad)" - }, - { - "label": "4.2 Left \u2014 tree", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L162", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_2_left_tree", - "community": 105, - "norm_label": "4.2 left \u2014 tree" - }, - { - "label": "4.3 Centre \u2014 live file list", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L174", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_3_centre_live_file_list", - "community": 105, - "norm_label": "4.3 centre \u2014 live file list" - }, - { - "label": "4.4 Right \u2014 Metadata / Problems pane (collapsible)", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L189", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_4_right_metadata_problems_pane_collapsible", - "community": 105, - "norm_label": "4.4 right \u2014 metadata / problems pane (collapsible)" - }, - { - "label": "4.5 Travelling problem badge", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L211", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_5_travelling_problem_badge", - "community": 105, - "norm_label": "4.5 travelling problem badge" - }, - { - "label": "4.6 Footer status bar & relocated staging actions", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L222", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_6_footer_status_bar_relocated_staging_actions", - "community": 105, - "norm_label": "4.6 footer status bar & relocated staging actions" - }, - { - "label": "4.7 Header toolbar & breadcrumb", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L239", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_4_7_header_toolbar_breadcrumb", - "community": 105, - "norm_label": "4.7 header toolbar & breadcrumb" - }, - { - "label": "5. Live file feed (Approach 1 \u2014 poll-only)", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L248", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_5_live_file_feed_approach_1_poll_only", - "community": 105, - "norm_label": "5. live file feed (approach 1 \u2014 poll-only)" - }, - { - "label": "6. Add-Equipment wizard", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L276", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_6_add_equipment_wizard", - "community": 105, - "norm_label": "6. add-equipment wizard" - }, - { - "label": "7. Interaction decisions", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L299", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_7_interaction_decisions", - "community": 105, - "norm_label": "7. interaction decisions" - }, - { - "label": "8. Configuration schema changes", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L313", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_8_configuration_schema_changes", - "community": 105, - "norm_label": "8. configuration schema changes" - }, - { - "label": "9. Code impact map", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L327", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_9_code_impact_map", - "community": 105, - "norm_label": "9. code impact map" - }, - { - "label": "9.1 GUI wiring", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L349", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_9_1_gui_wiring", - "community": 105, - "norm_label": "9.1 gui wiring" - }, - { - "label": "10. Error handling", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L401", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_10_error_handling", - "community": 105, - "norm_label": "10. error handling" - }, - { - "label": "11. Testing strategy", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L430", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_11_testing_strategy", - "community": 105, - "norm_label": "11. testing strategy" - }, - { - "label": "12. Future (v1.x)", - "file_type": "document", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L477", - "id": "specs_2026_05_14_gui_orchestrator_redesign_design_12_future_v1_x", - "community": 105, - "norm_label": "12. future (v1.x)" - }, - { - "label": "manifest_schema.md", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L1", - "id": "docs_source_plugin_guide_manifest_schema_md", - "community": 273, - "norm_label": "manifest_schema.md" - }, - { - "label": "Manifest Schema", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L1", - "id": "plugin_guide_manifest_schema_manifest_schema", - "community": 273, - "norm_label": "manifest schema" - }, - { - "label": "Required identity fields", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L9", - "id": "plugin_guide_manifest_schema_required_identity_fields", - "community": 273, - "norm_label": "required identity fields" - }, - { - "label": "code:yaml (name: \"xlsx_field_filler\")", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L11", - "id": "plugin_guide_manifest_schema_codeblock_1", - "community": 273, - "norm_label": "code:yaml (name: \"xlsx_field_filler\")" - }, - { - "label": "Required dispatch fields", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L18", - "id": "plugin_guide_manifest_schema_required_dispatch_fields", - "community": 273, - "norm_label": "required dispatch fields" - }, - { - "label": "code:yaml (supported_extensions: [\".xlsx\"] # file-extension or \"readm)", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L20", - "id": "plugin_guide_manifest_schema_codeblock_2", - "community": 273, - "norm_label": "code:yaml (supported_extensions: [\".xlsx\"] # file-extension or \"readm)" - }, - { - "label": "Optional declaration block", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L30", - "id": "plugin_guide_manifest_schema_optional_declaration_block", - "community": 273, - "norm_label": "optional declaration block" - }, - { - "label": "code:yaml (required_variables:)", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L32", - "id": "plugin_guide_manifest_schema_codeblock_3", - "community": 273, - "norm_label": "code:yaml (required_variables:)" - }, - { - "label": "Optional execution policy", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L48", - "id": "plugin_guide_manifest_schema_optional_execution_policy", - "community": 273, - "norm_label": "optional execution policy" - }, - { - "label": "code:yaml (isolation:)", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L50", - "id": "plugin_guide_manifest_schema_codeblock_4", - "community": 273, - "norm_label": "code:yaml (isolation:)" - }, - { - "label": "Discovery rules", - "file_type": "document", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L61", - "id": "plugin_guide_manifest_schema_discovery_rules", - "community": 273, - "norm_label": "discovery rules" - }, - { - "label": "ipc_envelope.md", - "file_type": "document", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L1", - "id": "docs_source_plugin_guide_ipc_envelope_md", - "community": 317, - "norm_label": "ipc_envelope.md" - }, - { - "label": "IPC Envelope", - "file_type": "document", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L1", - "id": "plugin_guide_ipc_envelope_ipc_envelope", - "community": 317, - "norm_label": "ipc envelope" - }, - { - "label": "Stdin (host to worker)", - "file_type": "document", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L12", - "id": "plugin_guide_ipc_envelope_stdin_host_to_worker", - "community": 317, - "norm_label": "stdin (host to worker)" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L16", - "id": "plugin_guide_ipc_envelope_codeblock_1", - "community": 317, - "norm_label": "code:json ({)" - }, - { - "label": "Stdout (worker to host)", - "file_type": "document", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L31", - "id": "plugin_guide_ipc_envelope_stdout_worker_to_host", - "community": 317, - "norm_label": "stdout (worker to host)" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L35", - "id": "plugin_guide_ipc_envelope_codeblock_2", - "community": 317, - "norm_label": "code:json ({)" - }, - { - "label": "Stderr (structured log channel)", - "file_type": "document", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L54", - "id": "plugin_guide_ipc_envelope_stderr_structured_log_channel", - "community": 317, - "norm_label": "stderr (structured log channel)" - }, - { - "label": "Exit codes", - "file_type": "document", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L61", - "id": "plugin_guide_ipc_envelope_exit_codes", - "community": 317, - "norm_label": "exit codes" - }, - { - "label": "index.md", - "file_type": "document", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L1", - "id": "docs_source_plugin_guide_index_md", - "community": 344, - "norm_label": "index.md" - }, - { - "label": "Plugin Author Guide", - "file_type": "document", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L1", - "id": "plugin_guide_index_plugin_author_guide", - "community": 344, - "norm_label": "plugin author guide" - }, - { - "label": "What plugins do", - "file_type": "document", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L9", - "id": "plugin_guide_index_what_plugins_do", - "community": 344, - "norm_label": "what plugins do" - }, - { - "label": "Where plugins fit in the pipeline", - "file_type": "document", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L21", - "id": "plugin_guide_index_where_plugins_fit_in_the_pipeline", - "community": 344, - "norm_label": "where plugins fit in the pipeline" - }, - { - "label": "code:block1 (Creation Controller)", - "file_type": "document", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L27", - "id": "plugin_guide_index_codeblock_1", - "community": 344, - "norm_label": "code:block1 (creation controller)" - }, - { - "label": "code:{toctree} (:maxdepth: 1)", - "file_type": "document", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L43", - "id": "plugin_guide_index_codeblock_2", - "community": 344, - "norm_label": "code:{toctree} (:maxdepth: 1)" - }, - { - "label": "Where to look in the codebase", - "file_type": "document", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L52", - "id": "plugin_guide_index_where_to_look_in_the_codebase", - "community": 344, - "norm_label": "where to look in the codebase" - }, - { - "label": "worked_examples.md", - "file_type": "document", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L1", - "id": "docs_source_plugin_guide_worked_examples_md", - "community": 345, - "norm_label": "worked_examples.md" - }, - { - "label": "Worked Examples", - "file_type": "document", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L1", - "id": "plugin_guide_worked_examples_worked_examples", - "community": 345, - "norm_label": "worked examples" - }, - { - "label": "Hello plugin", - "file_type": "document", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L8", - "id": "plugin_guide_worked_examples_hello_plugin", - "community": 345, - "norm_label": "hello plugin" - }, - { - "label": "xlsx_field_filler", - "file_type": "document", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L19", - "id": "plugin_guide_worked_examples_xlsx_field_filler", - "community": 345, - "norm_label": "xlsx_field_filler" - }, - { - "label": "docx_variable_replacer", - "file_type": "document", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L39", - "id": "plugin_guide_worked_examples_docx_variable_replacer", - "community": 345, - "norm_label": "docx_variable_replacer" - }, - { - "label": "Where to look in the codebase", - "file_type": "document", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L49", - "id": "plugin_guide_worked_examples_where_to_look_in_the_codebase", - "community": 345, - "norm_label": "where to look in the codebase" - }, - { - "label": "code:block1 (pip install -e .[plugin-examples])", - "file_type": "document", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L62", - "id": "plugin_guide_worked_examples_codeblock_1", - "community": 345, - "norm_label": "code:block1 (pip install -e .[plugin-examples])" - }, - { - "label": "rclone-remote-setup.md", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L1", - "id": "docs_setup_rclone_remote_setup_md", - "community": 84, - "norm_label": "rclone-remote-setup.md" - }, - { - "label": "Setting up your rclone remote(s)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L1", - "id": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "community": 84, - "norm_label": "setting up your rclone remote(s)" - }, - { - "label": "Why this approach", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L10", - "id": "setup_rclone_remote_setup_why_this_approach", - "community": 84, - "norm_label": "why this approach" - }, - { - "label": "Prerequisites", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L24", - "id": "setup_rclone_remote_setup_prerequisites", - "community": 84, - "norm_label": "prerequisites" - }, - { - "label": "code:bash (# macOS)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L29", - "id": "setup_rclone_remote_setup_codeblock_1", - "community": 84, - "norm_label": "code:bash (# macos)" - }, - { - "label": "code:bash (rclone version)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L41", - "id": "setup_rclone_remote_setup_codeblock_2", - "community": 84, - "norm_label": "code:bash (rclone version)" - }, - { - "label": "Creating a remote with `rclone config`", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L47", - "id": "setup_rclone_remote_setup_creating_a_remote_with_rclone_config", - "community": 84, - "norm_label": "creating a remote with `rclone config`" - }, - { - "label": "SFTP remote", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L52", - "id": "setup_rclone_remote_setup_sftp_remote", - "community": 84, - "norm_label": "sftp remote" - }, - { - "label": "code:block3 ($ rclone config)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L54", - "id": "setup_rclone_remote_setup_codeblock_3", - "community": 84, - "norm_label": "code:block3 ($ rclone config)" - }, - { - "label": "code:ini ([lab-nas])", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L89", - "id": "setup_rclone_remote_setup_codeblock_4", - "community": 84, - "norm_label": "code:ini ([lab-nas])" - }, - { - "label": "code:bash (rclone lsd lab-nas:)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L99", - "id": "setup_rclone_remote_setup_codeblock_5", - "community": 84, - "norm_label": "code:bash (rclone lsd lab-nas:)" - }, - { - "label": "SMB / Samba remote", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L103", - "id": "setup_rclone_remote_setup_smb_samba_remote", - "community": 84, - "norm_label": "smb / samba remote" - }, - { - "label": "code:block6 ($ rclone config)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L105", - "id": "setup_rclone_remote_setup_codeblock_6", - "community": 84, - "norm_label": "code:block6 ($ rclone config)" - }, - { - "label": "code:ini ([lab-smb])", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L127", - "id": "setup_rclone_remote_setup_codeblock_7", - "community": 84, - "norm_label": "code:ini ([lab-smb])" - }, - { - "label": "code:bash (rclone lsd lab-smb:labshare)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L137", - "id": "setup_rclone_remote_setup_codeblock_8", - "community": 84, - "norm_label": "code:bash (rclone lsd lab-smb:labshare)" - }, - { - "label": "Wiring the remote to ExLab-Wizard", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L143", - "id": "setup_rclone_remote_setup_wiring_the_remote_to_exlab_wizard", - "community": 84, - "norm_label": "wiring the remote to exlab-wizard" - }, - { - "label": "code:yaml (nas:)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L147", - "id": "setup_rclone_remote_setup_codeblock_9", - "community": 84, - "norm_label": "code:yaml (nas:)" - }, - { - "label": "code:block10 (:///)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L161", - "id": "setup_rclone_remote_setup_codeblock_10", - "community": 84, - "norm_label": "code:block10 (:///)" - }, - { - "label": "Verifying the connection", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L170", - "id": "setup_rclone_remote_setup_verifying_the_connection", - "community": 84, - "norm_label": "verifying the connection" - }, - { - "label": "code:bash (# Confirm the remote answers)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L178", - "id": "setup_rclone_remote_setup_codeblock_11", - "community": 84, - "norm_label": "code:bash (# confirm the remote answers)" - }, - { - "label": "code:bash (rclone --config /path/to/rclone.conf about lab-nas:)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L189", - "id": "setup_rclone_remote_setup_codeblock_12", - "community": 84, - "norm_label": "code:bash (rclone --config /path/to/rclone.conf about lab-nas:)" - }, - { - "label": "Performance and memory tuning", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L195", - "id": "setup_rclone_remote_setup_performance_and_memory_tuning", - "community": 84, - "norm_label": "performance and memory tuning" - }, - { - "label": "code:yaml (nas:)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L201", - "id": "setup_rclone_remote_setup_codeblock_13", - "community": 84, - "norm_label": "code:yaml (nas:)" - }, - { - "label": "code:yaml (nas:)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L216", - "id": "setup_rclone_remote_setup_codeblock_14", - "community": 84, - "norm_label": "code:yaml (nas:)" - }, - { - "label": "Modtime tolerance", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L231", - "id": "setup_rclone_remote_setup_modtime_tolerance", - "community": 84, - "norm_label": "modtime tolerance" - }, - { - "label": "code:yaml (nas:)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L237", - "id": "setup_rclone_remote_setup_codeblock_15", - "community": 84, - "norm_label": "code:yaml (nas:)" - }, - { - "label": "Pinning the rclone.conf path", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L244", - "id": "setup_rclone_remote_setup_pinning_the_rclone_conf_path", - "community": 84, - "norm_label": "pinning the rclone.conf path" - }, - { - "label": "code:yaml (nas:)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L252", - "id": "setup_rclone_remote_setup_codeblock_16", - "community": 84, - "norm_label": "code:yaml (nas:)" - }, - { - "label": "Encrypted rclone.conf", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L265", - "id": "setup_rclone_remote_setup_encrypted_rclone_conf", - "community": 84, - "norm_label": "encrypted rclone.conf" - }, - { - "label": "Stage-mode devices (orchestrator hop)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L274", - "id": "setup_rclone_remote_setup_stage_mode_devices_orchestrator_hop", - "community": 84, - "norm_label": "stage-mode devices (orchestrator hop)" - }, - { - "label": "code:yaml (orchestrator:)", - "file_type": "document", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L281", - "id": "setup_rclone_remote_setup_codeblock_17", - "community": 84, - "norm_label": "code:yaml (orchestrator:)" - }, - { - "label": "code:block18 (:///:/// tuple[str, ...]:)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L417", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_15", - "community": 243, - "norm_label": "code:python (async def listremotes(self) -> tuple[str, ...]:)" - }, - { - "label": "code:bash (git add src/exlab_wizard/sync/transports/rclone.py tests/uni)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L442", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_16", - "community": 243, - "norm_label": "code:bash (git add src/exlab_wizard/sync/transports/rclone.py tests/uni)" - }, - { - "label": "Phase 3 \u2014 Manifest module + parser", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L449", - "id": "plans_2026_05_28_rclone_conf_nas_sync_phase_3_manifest_module_parser", - "community": 383, - "norm_label": "phase 3 \u2014 manifest module + parser" - }, - { - "label": "Task 3.1: `sync/manifest.py` with `parse_lsjson`", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L451", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_3_1_sync_manifest_py_with_parse_lsjson", - "community": 383, - "norm_label": "task 3.1: `sync/manifest.py` with `parse_lsjson`" - }, - { - "label": "code:python (# tests/unit/sync/test_manifest.py)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L459", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_17", - "community": 383, - "norm_label": "code:python (# tests/unit/sync/test_manifest.py)" - }, - { - "label": "code:python (# src/exlab_wizard/sync/manifest.py)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L520", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_18", - "community": 383, - "norm_label": "code:python (# src/exlab_wizard/sync/manifest.py)" - }, - { - "label": "code:bash (git add src/exlab_wizard/sync/manifest.py tests/unit/sync/te)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L653", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_19", - "community": 383, - "norm_label": "code:bash (git add src/exlab_wizard/sync/manifest.py tests/unit/sync/te)" - }, - { - "label": "Phase 4 \u2014 Sync client: named remote, lsjson reconcile, cleanup hash-gate", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L660", - "id": "plans_2026_05_28_rclone_conf_nas_sync_phase_4_sync_client_named_remote_lsjson_reconcile_cleanup_hash_gate", - "community": 244, - "norm_label": "phase 4 \u2014 sync client: named remote, lsjson reconcile, cleanup hash-gate" - }, - { - "label": "Task 4.1: Named-remote target builder + driver construction from `nas:` config", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L664", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_4_1_named_remote_target_builder_driver_construction_from_nas_config", - "community": 381, - "norm_label": "task 4.1: named-remote target builder + driver construction from `nas:` config" - }, - { - "label": "code:python (# tests/unit/sync/test_nas_client.py \u2014 add (uses existing he)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L672", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_20", - "community": 381, - "norm_label": "code:python (# tests/unit/sync/test_nas_client.py \u2014 add (uses existing he)" - }, - { - "label": "code:python (def _build_target_for_run(*, remote: str, base_root: str, eq)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L697", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_21", - "community": 381, - "norm_label": "code:python (def _build_target_for_run(*, remote: str, base_root: str, eq)" - }, - { - "label": "code:python (def _build_push(self, equipment: EquipmentConfig) -> Callabl)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L722", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_22", - "community": 381, - "norm_label": "code:python (def _build_push(self, equipment: equipmentconfig) -> callabl)" - }, - { - "label": "code:bash (git add src/exlab_wizard/sync/nas_client.py tests/unit/sync/)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L751", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_23", - "community": 381, - "norm_label": "code:bash (git add src/exlab_wizard/sync/nas_client.py tests/unit/sync/)" - }, - { - "label": "Task 4.2: `verifier.py` \u2014 drop `env`/`mask_for_log`", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L758", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_4_2_verifier_py_drop_env_mask_for_log", - "community": 244, - "norm_label": "task 4.2: `verifier.py` \u2014 drop `env`/`mask_for_log`" - }, - { - "label": "code:python (# tests/unit/sync/test_transports.py \u2014 add (verifier is smal)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L766", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_24", - "community": 244, - "norm_label": "code:python (# tests/unit/sync/test_transports.py \u2014 add (verifier is smal)" - }, - { - "label": "code:bash (git add src/exlab_wizard/sync/verifier.py tests/unit/sync/te)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L800", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_25", - "community": 244, - "norm_label": "code:bash (git add src/exlab_wizard/sync/verifier.py tests/unit/sync/te)" - }, - { - "label": "Task 4.3: Routine post-push reconcile via lsjson (replaces per-push `--download`)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L807", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_4_3_routine_post_push_reconcile_via_lsjson_replaces_per_push_download", - "community": 244, - "norm_label": "task 4.3: routine post-push reconcile via lsjson (replaces per-push `--download`)" - }, - { - "label": "code:python (# tests/unit/sync/test_nas_client.py \u2014 add)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L817", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_26", - "community": 244, - "norm_label": "code:python (# tests/unit/sync/test_nas_client.py \u2014 add)" - }, - { - "label": "code:python (lsjson = self._build_lsjson(equipment))", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L842", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_27", - "community": 244, - "norm_label": "code:python (lsjson = self._build_lsjson(equipment))" - }, - { - "label": "code:bash (git add src/exlab_wizard/sync/nas_client.py tests/unit/sync/)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L892", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_28", - "community": 244, - "norm_label": "code:bash (git add src/exlab_wizard/sync/nas_client.py tests/unit/sync/)" - }, - { - "label": "Task 4.4: Cleanup hash-gate + real remote-existence probe", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L899", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_4_4_cleanup_hash_gate_real_remote_existence_probe", - "community": 244, - "norm_label": "task 4.4: cleanup hash-gate + real remote-existence probe" - }, - { - "label": "code:python (# tests/unit/sync/test_nas_client.py \u2014 add)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L909", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_29", - "community": 244, - "norm_label": "code:python (# tests/unit/sync/test_nas_client.py \u2014 add)" - }, - { - "label": "code:python (# Integrity gate: never delete local bytes that have not bee)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L931", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_30", - "community": 244, - "norm_label": "code:python (# integrity gate: never delete local bytes that have not bee)" - }, - { - "label": "code:bash (git add src/exlab_wizard/sync/nas_client.py tests/unit/sync/)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L965", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_31", - "community": 244, - "norm_label": "code:bash (git add src/exlab_wizard/sync/nas_client.py tests/unit/sync/)" - }, - { - "label": "Task 4.5: `force_verify` \u2014 drop env threading", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L972", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_4_5_force_verify_drop_env_threading", - "community": 244, - "norm_label": "task 4.5: `force_verify` \u2014 drop env threading" - }, - { - "label": "code:bash (git add tests/unit/sync/test_nas_client.py)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L985", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_32", - "community": 244, - "norm_label": "code:bash (git add tests/unit/sync/test_nas_client.py)" - }, - { - "label": "Phase 5 \u2014 Setup gate + credential removal", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L992", - "id": "plans_2026_05_28_rclone_conf_nas_sync_phase_5_setup_gate_credential_removal", - "community": 249, - "norm_label": "phase 5 \u2014 setup gate + credential removal" - }, - { - "label": "Task 5.1: Repurpose setup-state enums", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L994", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_5_1_repurpose_setup_state_enums", - "community": 249, - "norm_label": "task 5.1: repurpose setup-state enums" - }, - { - "label": "code:python (# tests/unit/constants/test_enums.py \u2014 add)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1002", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_33", - "community": 249, - "norm_label": "code:python (# tests/unit/constants/test_enums.py \u2014 add)" - }, - { - "label": "code:bash (git add src/exlab_wizard/constants/enums.py tests/unit/const)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1028", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_34", - "community": 249, - "norm_label": "code:bash (git add src/exlab_wizard/constants/enums.py tests/unit/const)" - }, - { - "label": "Task 5.2: Rewrite the NAS setup-gate in `paths.py`", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1035", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_5_2_rewrite_the_nas_setup_gate_in_paths_py", - "community": 249, - "norm_label": "task 5.2: rewrite the nas setup-gate in `paths.py`" - }, - { - "label": "code:python (# tests/unit/test_paths.py \u2014 add)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1045", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_35", - "community": 249, - "norm_label": "code:python (# tests/unit/test_paths.py \u2014 add)" - }, - { - "label": "code:python (def _nas_in_use(config: Config) -> bool:)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1088", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_36", - "community": 249, - "norm_label": "code:python (def _nas_in_use(config: config) -> bool:)" - }, - { - "label": "code:python (remote_lookup = nas_remote_available if nas_remote_available)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1109", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_37", - "community": 249, - "norm_label": "code:python (remote_lookup = nas_remote_available if nas_remote_available)" - }, - { - "label": "code:python (def _missing_nas_fields(config: Config | None) -> list[dict[)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1117", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_38", - "community": 249, - "norm_label": "code:python (def _missing_nas_fields(config: config | none) -> list[dict[)" - }, - { - "label": "code:bash (git add src/exlab_wizard/paths.py tests/unit/test_paths.py)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1133", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_39", - "community": 249, - "norm_label": "code:bash (git add src/exlab_wizard/paths.py tests/unit/test_paths.py)" - }, - { - "label": "Task 5.3: Tray probe + NAS-sync wiring + password-presence removal", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1140", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_5_3_tray_probe_nas_sync_wiring_password_presence_removal", - "community": 382, - "norm_label": "task 5.3: tray probe + nas-sync wiring + password-presence removal" - }, - { - "label": "code:python (# tests/unit/tray/test_dependencies.py \u2014 add/replace probe t)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1148", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_40", - "community": 382, - "norm_label": "code:python (# tests/unit/tray/test_dependencies.py \u2014 add/replace probe t)" - }, - { - "label": "code:python (async def _probe(equipment: Any) -> dict[str, Any]:)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1170", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_41", - "community": 382, - "norm_label": "code:python (async def _probe(equipment: any) -> dict[str, any]:)" - }, - { - "label": "code:python (def _hydrate_nas_remotes(config: Any) -> tuple[str, ...]:)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1190", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_42", - "community": 382, - "norm_label": "code:python (def _hydrate_nas_remotes(config: any) -> tuple[str, ...]:)" - }, - { - "label": "code:bash (git add src/exlab_wizard/tray/dependencies.py tests/unit/tra)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1217", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_43", - "community": 382, - "norm_label": "code:bash (git add src/exlab_wizard/tray/dependencies.py tests/unit/tra)" - }, - { - "label": "Task 5.4: API surfaces \u2014 drop `nas_password_present`, thread `nas_remote_available`", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1224", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_5_4_api_surfaces_drop_nas_password_present_thread_nas_remote_available", - "community": 249, - "norm_label": "task 5.4: api surfaces \u2014 drop `nas_password_present`, thread `nas_remote_available`" - }, - { - "label": "code:python (nas_remote_available: Callable[[str], bool] = field(default=)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1236", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_44", - "community": 249, - "norm_label": "code:python (nas_remote_available: callable[[str], bool] = field(default=)" - }, - { - "label": "code:bash (git add src/exlab_wizard/api/ tests/unit/api/)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1245", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_45", - "community": 249, - "norm_label": "code:bash (git add src/exlab_wizard/api/ tests/unit/api/)" - }, - { - "label": "Phase 6 \u2014 UI", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1252", - "id": "plans_2026_05_28_rclone_conf_nas_sync_phase_6_ui", - "community": 380, - "norm_label": "phase 6 \u2014 ui" - }, - { - "label": "Task 6.1: Settings \"NAS Remote\" section (replaces NAS Credentials)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1254", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_6_1_settings_nas_remote_section_replaces_nas_credentials", - "community": 380, - "norm_label": "task 6.1: settings \"nas remote\" section (replaces nas credentials)" - }, - { - "label": "code:bash (git add src/exlab_wizard/ui/pages/settings.py src/exlab_wiza)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1269", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_46", - "community": 380, - "norm_label": "code:bash (git add src/exlab_wizard/ui/pages/settings.py src/exlab_wiza)" - }, - { - "label": "Task 6.2: Equipment wizard/form \u2014 drop transport fields; main-page banner copy", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1275", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_6_2_equipment_wizard_form_drop_transport_fields_main_page_banner_copy", - "community": 380, - "norm_label": "task 6.2: equipment wizard/form \u2014 drop transport fields; main-page banner copy" - }, - { - "label": "code:bash (git add src/exlab_wizard/ui/ tests/unit/ui/)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1286", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_47", - "community": 380, - "norm_label": "code:bash (git add src/exlab_wizard/ui/ tests/unit/ui/)" - }, - { - "label": "Phase 7 \u2014 Remove dead code (clean break)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1293", - "id": "plans_2026_05_28_rclone_conf_nas_sync_phase_7_remove_dead_code_clean_break", - "community": 367, - "norm_label": "phase 7 \u2014 remove dead code (clean break)" - }, - { - "label": "Task 7.1: Remove the transport union + EquipmentConfig.transport", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1295", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_7_1_remove_the_transport_union_equipmentconfig_transport", - "community": 367, - "norm_label": "task 7.1: remove the transport union + equipmentconfig.transport" - }, - { - "label": "code:python (def test_nas_mode_equipment_needs_no_transport_block():)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1303", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_48", - "community": 367, - "norm_label": "code:python (def test_nas_mode_equipment_needs_no_transport_block():)" - }, - { - "label": "code:bash (git add src/exlab_wizard/config/models.py tests/unit/config/)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1318", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_49", - "community": 367, - "norm_label": "code:bash (git add src/exlab_wizard/config/models.py tests/unit/config/)" - }, - { - "label": "Task 7.2: Remove `build_rclone_env`/`obscure`/`pass_env_keys_for` + keyring helper + env plumbing", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1323", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_7_2_remove_build_rclone_env_obscure_pass_env_keys_for_keyring_helper_env_plumbing", - "community": 367, - "norm_label": "task 7.2: remove `build_rclone_env`/`obscure`/`pass_env_keys_for` + keyring helper + env plumbing" - }, - { - "label": "code:bash (git add -A)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1334", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_50", - "community": 367, - "norm_label": "code:bash (git add -a)" - }, - { - "label": "Phase 8 \u2014 Orchestrator staging via rclone (confirmed in scope)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1341", - "id": "plans_2026_05_28_rclone_conf_nas_sync_phase_8_orchestrator_staging_via_rclone_confirmed_in_scope", - "community": 346, - "norm_label": "phase 8 \u2014 orchestrator staging via rclone (confirmed in scope)" - }, - { - "label": "Task 8.1: Staging config \u2014 `orchestrator.staging_remote` / `staging_base_root`", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1345", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_8_1_staging_config_orchestrator_staging_remote_staging_base_root", - "community": 346, - "norm_label": "task 8.1: staging config \u2014 `orchestrator.staging_remote` / `staging_base_root`" - }, - { - "label": "Task 8.2: Stage-mode push routes through rclone", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1353", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_8_2_stage_mode_push_routes_through_rclone", - "community": 346, - "norm_label": "task 8.2: stage-mode push routes through rclone" - }, - { - "label": "Phase 9 \u2014 Fixtures, integration, docker, docs", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1363", - "id": "plans_2026_05_28_rclone_conf_nas_sync_phase_9_fixtures_integration_docker_docs", - "community": 368, - "norm_label": "phase 9 \u2014 fixtures, integration, docker, docs" - }, - { - "label": "Task 9.1: Teach `stub_rclone` lsjson + listremotes; drop env-require", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1365", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_9_1_teach_stub_rclone_lsjson_listremotes_drop_env_require", - "community": 368, - "norm_label": "task 9.1: teach `stub_rclone` lsjson + listremotes; drop env-require" - }, - { - "label": "code:python (if verb == \"lsjson\":)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1376", - "id": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_51", - "community": 368, - "norm_label": "code:python (if verb == \"lsjson\":)" - }, - { - "label": "Task 9.2: Integration + e2e + docker `rclone.conf`", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1404", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_9_2_integration_e2e_docker_rclone_conf", - "community": 368, - "norm_label": "task 9.2: integration + e2e + docker `rclone.conf`" - }, - { - "label": "Task 9.3: Docs", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1412", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_9_3_docs", - "community": 368, - "norm_label": "task 9.3: docs" - }, - { - "label": "Task 9.4: Full-suite + lint/type gate", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1420", - "id": "plans_2026_05_28_rclone_conf_nas_sync_task_9_4_full_suite_lint_type_gate", - "community": 368, - "norm_label": "task 9.4: full-suite + lint/type gate" - }, - { - "label": "Self-Review (completed during authoring)", - "file_type": "document", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1430", - "id": "plans_2026_05_28_rclone_conf_nas_sync_self_review_completed_during_authoring", - "community": 346, - "norm_label": "self-review (completed during authoring)" - }, - { - "label": "2026-05-21-operator-free-per-file-nas-sync-design.md", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L1", - "id": "docs_superpowers_specs_2026_05_21_operator_free_per_file_nas_sync_design_md", - "community": 190, - "norm_label": "2026-05-21-operator-free-per-file-nas-sync-design.md" - }, - { - "label": "Operator-free, per-file quiescence-driven NAS sync \u2014 design", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L1", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "community": 190, - "norm_label": "operator-free, per-file quiescence-driven nas sync \u2014 design" - }, - { - "label": "Context", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L7", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_context", - "community": 190, - "norm_label": "context" - }, - { - "label": "Goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L23", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_goals", - "community": 190, - "norm_label": "goals" - }, - { - "label": "Non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L31", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_non_goals", - "community": 190, - "norm_label": "non-goals" - }, - { - "label": "The model", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L38", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_the_model", - "community": 190, - "norm_label": "the model" - }, - { - "label": "Config changes (`config/models.py`)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L63", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_config_changes_config_models_py", - "community": 190, - "norm_label": "config changes (`config/models.py`)" - }, - { - "label": "Run lifecycle \u2014 rollup (Approach 1)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L86", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_run_lifecycle_rollup_approach_1", - "community": 190, - "norm_label": "run lifecycle \u2014 rollup (approach 1)" - }, - { - "label": "Per-file sync state \u2014 `sync_state.json`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L101", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_per_file_sync_state_sync_state_json", - "community": 190, - "norm_label": "per-file sync state \u2014 `sync_state.json`" - }, - { - "label": "code:block1 ({)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L107", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_codeblock_1", - "community": 190, - "norm_label": "code:block1 ({)" - }, - { - "label": "`ingest.json` contract (risk 2 resolution)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L124", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_ingest_json_contract_risk_2_resolution", - "community": 190, - "norm_label": "`ingest.json` contract (risk 2 resolution)" - }, - { - "label": "`keep-local` (per-file)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L137", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_keep_local_per_file", - "community": 190, - "norm_label": "`keep-local` (per-file)" - }, - { - "label": "GUI per-file display state", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L146", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_gui_per_file_display_state", - "community": 190, - "norm_label": "gui per-file display state" - }, - { - "label": "Failure handling", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L167", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_failure_handling", - "community": 190, - "norm_label": "failure handling" - }, - { - "label": "Cleanup \u2014 rollup", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L176", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_cleanup_rollup", - "community": 190, - "norm_label": "cleanup \u2014 rollup" - }, - { - "label": "Transport batching (risk 1 resolution)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L183", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_transport_batching_risk_1_resolution", - "community": 190, - "norm_label": "transport batching (risk 1 resolution)" - }, - { - "label": "Components touched", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L203", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_components_touched", - "community": 190, - "norm_label": "components touched" - }, - { - "label": "Testing", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L228", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_testing", - "community": 190, - "norm_label": "testing" - }, - { - "label": "Migration", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L244", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_migration", - "community": 190, - "norm_label": "migration" - }, - { - "label": "Open questions / out of scope", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L252", - "id": "specs_2026_05_21_operator_free_per_file_nas_sync_design_open_questions_out_of_scope", - "community": 190, - "norm_label": "open questions / out of scope" - }, - { - "label": "2026-05-29-hide-orchestrator-staging-design.md", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L1", - "id": "docs_superpowers_specs_2026_05_29_hide_orchestrator_staging_design_md", - "community": 155, - "norm_label": "2026-05-29-hide-orchestrator-staging-design.md" - }, - { - "label": "Hide orchestrator / staging from the UI \u2014 Design Spec", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L1", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_hide_orchestrator_staging_from_the_ui_design_spec", - "community": 155, - "norm_label": "hide orchestrator / staging from the ui \u2014 design spec" - }, - { - "label": "1. Summary", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L14", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_1_summary", - "community": 155, - "norm_label": "1. summary" - }, - { - "label": "Why hide rather than a feature flag", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L45", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_why_hide_rather_than_a_feature_flag", - "community": 155, - "norm_label": "why hide rather than a feature flag" - }, - { - "label": "Critical implementation note \u2014 do not delete the `orchestrator/` package", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L51", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_critical_implementation_note_do_not_delete_the_orchestrator_package", - "community": 155, - "norm_label": "critical implementation note \u2014 do not delete the `orchestrator/` package" - }, - { - "label": "2. Goals & non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L61", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_2_goals_non_goals", - "community": 155, - "norm_label": "2. goals & non-goals" - }, - { - "label": "Goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L63", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_goals", - "community": 155, - "norm_label": "goals" - }, - { - "label": "Non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L75", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_non_goals", - "community": 155, - "norm_label": "non-goals" - }, - { - "label": "3. Design", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L92", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_3_design", - "community": 155, - "norm_label": "3. design" - }, - { - "label": "3.1 Add-Equipment wizard \u2014 `ui/pages/wizard_equipment.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L96", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_3_1_add_equipment_wizard_ui_pages_wizard_equipment_py", - "community": 155, - "norm_label": "3.1 add-equipment wizard \u2014 `ui/pages/wizard_equipment.py`" - }, - { - "label": "3.2 Settings section \u2014 `ui/pages/settings.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L114", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_3_2_settings_section_ui_pages_settings_py", - "community": 155, - "norm_label": "3.2 settings section \u2014 `ui/pages/settings.py`" - }, - { - "label": "3.3 Staging route \u2014 `ui/mount.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L132", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_3_3_staging_route_ui_mount_py", - "community": 155, - "norm_label": "3.3 staging route \u2014 `ui/mount.py`" - }, - { - "label": "3.4 Main-window footer \u2014 `ui/pages/main.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L146", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_3_4_main_window_footer_ui_pages_main_py", - "community": 155, - "norm_label": "3.4 main-window footer \u2014 `ui/pages/main.py`" - }, - { - "label": "3.5 What stays dormant (explicitly untouched)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L158", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_3_5_what_stays_dormant_explicitly_untouched", - "community": 155, - "norm_label": "3.5 what stays dormant (explicitly untouched)" - }, - { - "label": "3.6 Reversibility contract", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L173", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_3_6_reversibility_contract", - "community": 155, - "norm_label": "3.6 reversibility contract" - }, - { - "label": "4. `CLAUDE.md` update", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L181", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_4_claude_md_update", - "community": 155, - "norm_label": "4. `claude.md` update" - }, - { - "label": "code:markdown (## Orchestrator / staging is intentionally hidden (not remov)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L188", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_codeblock_1", - "community": 155, - "norm_label": "code:markdown (## orchestrator / staging is intentionally hidden (not remov)" - }, - { - "label": "5. Testing", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L218", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_5_testing", - "community": 155, - "norm_label": "5. testing" - }, - { - "label": "Tests that must change", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L220", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_tests_that_must_change", - "community": 155, - "norm_label": "tests that must change" - }, - { - "label": "Tests that stay GREEN unchanged (by design)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L235", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_tests_that_stay_green_unchanged_by_design", - "community": 155, - "norm_label": "tests that stay green unchanged (by design)" - }, - { - "label": "Tests to add", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L241", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_tests_to_add", - "community": 155, - "norm_label": "tests to add" - }, - { - "label": "Verification", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L249", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_verification", - "community": 155, - "norm_label": "verification" - }, - { - "label": "6. Risks / notes", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L255", - "id": "specs_2026_05_29_hide_orchestrator_staging_design_6_risks_notes", - "community": 155, - "norm_label": "6. risks / notes" - }, - { - "label": "2026-05-28-rclone-conf-nas-sync-design.md", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L1", - "id": "docs_superpowers_specs_2026_05_28_rclone_conf_nas_sync_design_md", - "community": 118, - "norm_label": "2026-05-28-rclone-conf-nas-sync-design.md" - }, - { - "label": "rclone.conf-based NAS sync", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L1", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "community": 118, - "norm_label": "rclone.conf-based nas sync" - }, - { - "label": "Summary", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L10", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_summary", - "community": 118, - "norm_label": "summary" - }, - { - "label": "Motivation / goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L35", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_motivation_goals", - "community": 118, - "norm_label": "motivation / goals" - }, - { - "label": "Non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L51", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_non_goals", - "community": 118, - "norm_label": "non-goals" - }, - { - "label": "Decisions (from brainstorming)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L62", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_decisions_from_brainstorming", - "community": 118, - "norm_label": "decisions (from brainstorming)" - }, - { - "label": "Config schema", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L73", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_config_schema", - "community": 118, - "norm_label": "config schema" - }, - { - "label": "Before (per-equipment, credential-injected)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L75", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_before_per_equipment_credential_injected", - "community": 118, - "norm_label": "before (per-equipment, credential-injected)" - }, - { - "label": "code:yaml (equipment:)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L77", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_codeblock_1", - "community": 118, - "norm_label": "code:yaml (equipment:)" - }, - { - "label": "After (named remote + global base root)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L93", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_after_named_remote_global_base_root", - "community": 118, - "norm_label": "after (named remote + global base root)" - }, - { - "label": "code:yaml (nas:)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L95", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_codeblock_2", - "community": 118, - "norm_label": "code:yaml (nas:)" - }, - { - "label": "Architecture by surface", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L137", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface", - "community": 118, - "norm_label": "architecture by surface" - }, - { - "label": "1. Transport driver \u2014 `sync/transports/rclone.py` (single reusable rclone-ops surface)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L139", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_1_transport_driver_sync_transports_rclone_py_single_reusable_rclone_ops_surface", - "community": 118, - "norm_label": "1. transport driver \u2014 `sync/transports/rclone.py` (single reusable rclone-ops surface)" - }, - { - "label": "2. Manifest + parser \u2014 new `sync/manifest.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L171", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_2_manifest_parser_new_sync_manifest_py", - "community": 118, - "norm_label": "2. manifest + parser \u2014 new `sync/manifest.py`" - }, - { - "label": "code:python (@dataclass(frozen=True, slots=True))", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L173", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_codeblock_3", - "community": 118, - "norm_label": "code:python (@dataclass(frozen=true, slots=true))" - }, - { - "label": "3. Sync client + verify/cleanup flow \u2014 `sync/nas_client.py`, `sync/verifier.py`, `sync/cleanup.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L199", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_3_sync_client_verify_cleanup_flow_sync_nas_client_py_sync_verifier_py_sync_cleanup_py", - "community": 118, - "norm_label": "3. sync client + verify/cleanup flow \u2014 `sync/nas_client.py`, `sync/verifier.py`, `sync/cleanup.py`" - }, - { - "label": "4. Verify / cleanup flow", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L225", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_4_verify_cleanup_flow", - "community": 118, - "norm_label": "4. verify / cleanup flow" - }, - { - "label": "code:block4 (push (rclone copy --checksum --transfers N))", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L227", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_codeblock_4", - "community": 118, - "norm_label": "code:block4 (push (rclone copy --checksum --transfers n))" - }, - { - "label": "5. Credentials / setup gate \u2014 `paths.py`, `constants/`, `api/`, `tray/`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L237", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_5_credentials_setup_gate_paths_py_constants_api_tray", - "community": 118, - "norm_label": "5. credentials / setup gate \u2014 `paths.py`, `constants/`, `api/`, `tray/`" - }, - { - "label": "6. UI \u2014 `ui/pages/settings.py`, `ui/mount.py`, `ui/pages/main.py`, `ui/pages/wizard_equipment.py`, `ui/equipment_form.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L255", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_6_ui_ui_pages_settings_py_ui_mount_py_ui_pages_main_py_ui_pages_wizard_equipment_py_ui_equipment_form_py", - "community": 118, - "norm_label": "6. ui \u2014 `ui/pages/settings.py`, `ui/mount.py`, `ui/pages/main.py`, `ui/pages/wizard_equipment.py`, `ui/equipment_form.py`" - }, - { - "label": "7. Orchestrator / staging hop", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L267", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_7_orchestrator_staging_hop", - "community": 118, - "norm_label": "7. orchestrator / staging hop" - }, - { - "label": "8. Docs", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L290", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_8_docs", - "community": 118, - "norm_label": "8. docs" - }, - { - "label": "9. Tests", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L301", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_9_tests", - "community": 118, - "norm_label": "9. tests" - }, - { - "label": "Memory / storage analysis (constrained machines)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L320", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_memory_storage_analysis_constrained_machines", - "community": 118, - "norm_label": "memory / storage analysis (constrained machines)" - }, - { - "label": "Migration / breaking changes", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L332", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_migration_breaking_changes", - "community": 118, - "norm_label": "migration / breaking changes" - }, - { - "label": "Resolved decisions", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L341", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_resolved_decisions", - "community": 118, - "norm_label": "resolved decisions" - }, - { - "label": "Full surface inventory", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L353", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_full_surface_inventory", - "community": 118, - "norm_label": "full surface inventory" - }, - { - "label": "Risks", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L374", - "id": "specs_2026_05_28_rclone_conf_nas_sync_design_risks", - "community": 118, - "norm_label": "risks" - }, - { - "label": "2026-05-29-main-window-ui-refresh-remaining-work.md", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L1", - "id": "docs_superpowers_specs_2026_05_29_main_window_ui_refresh_remaining_work_md", - "community": 274, - "norm_label": "2026-05-29-main-window-ui-refresh-remaining-work.md" - }, - { - "label": "Main-window UI refresh \u2014 Remaining work (v2)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L1", - "id": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "community": 274, - "norm_label": "main-window ui refresh \u2014 remaining work (v2)" - }, - { - "label": "1. What has shipped (committed on the branch)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L21", - "id": "specs_2026_05_29_main_window_ui_refresh_remaining_work_1_what_has_shipped_committed_on_the_branch", - "community": 274, - "norm_label": "1. what has shipped (committed on the branch)" - }, - { - "label": "2. Divergences from the approved design spec (must be reconciled)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L65", - "id": "specs_2026_05_29_main_window_ui_refresh_remaining_work_2_divergences_from_the_approved_design_spec_must_be_reconciled", - "community": 274, - "norm_label": "2. divergences from the approved design spec (must be reconciled)" - }, - { - "label": "A. Spec reconciliation \u2705 DONE", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L102", - "id": "specs_2026_05_29_main_window_ui_refresh_remaining_work_a_spec_reconciliation_done", - "community": 274, - "norm_label": "a. spec reconciliation \u2705 done" - }, - { - "label": "B. Phase 5 \u2014 Polish (reconcile each item with the popover)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L115", - "id": "specs_2026_05_29_main_window_ui_refresh_remaining_work_b_phase_5_polish_reconcile_each_item_with_the_popover", - "community": 274, - "norm_label": "b. phase 5 \u2014 polish (reconcile each item with the popover)" - }, - { - "label": "C. Phase 6 \u2014 e2e + final verification \u2705 DONE (`e72cd73`)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L174", - "id": "specs_2026_05_29_main_window_ui_refresh_remaining_work_c_phase_6_e2e_final_verification_done_e72cd73", - "community": 274, - "norm_label": "c. phase 6 \u2014 e2e + final verification \u2705 done (`e72cd73`)" - }, - { - "label": "D. Cleanup / tech-debt", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L233", - "id": "specs_2026_05_29_main_window_ui_refresh_remaining_work_d_cleanup_tech_debt", - "community": 274, - "norm_label": "d. cleanup / tech-debt" - }, - { - "label": "E. Risks & open questions", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L250", - "id": "specs_2026_05_29_main_window_ui_refresh_remaining_work_e_risks_open_questions", - "community": 274, - "norm_label": "e. risks & open questions" - }, - { - "label": "F. Deferred / out of scope (from design spec \u00a711)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L271", - "id": "specs_2026_05_29_main_window_ui_refresh_remaining_work_f_deferred_out_of_scope_from_design_spec_11", - "community": 274, - "norm_label": "f. deferred / out of scope (from design spec \u00a711)" - }, - { - "label": "Working notes (carry forward)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L280", - "id": "specs_2026_05_29_main_window_ui_refresh_remaining_work_working_notes_carry_forward", - "community": 274, - "norm_label": "working notes (carry forward)" - }, - { - "label": "2026-05-26-rclone-only-nas-sync-design.md", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L1", - "id": "docs_superpowers_specs_2026_05_26_rclone_only_nas_sync_design_md", - "community": 130, - "norm_label": "2026-05-26-rclone-only-nas-sync-design.md" - }, - { - "label": "Rclone-only NAS sync with password auth (SFTP + SMB)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L1", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "community": 130, - "norm_label": "rclone-only nas sync with password auth (sftp + smb)" - }, - { - "label": "Context", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L9", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_context", - "community": 130, - "norm_label": "context" - }, - { - "label": "Goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L43", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_goals", - "community": 130, - "norm_label": "goals" - }, - { - "label": "Non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L63", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_non_goals", - "community": 130, - "norm_label": "non-goals" - }, - { - "label": "Architecture", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L77", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_architecture", - "community": 130, - "norm_label": "architecture" - }, - { - "label": "code:block1 (+-------------------------------+)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L79", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_1", - "community": 130, - "norm_label": "code:block1 (+-------------------------------+)" - }, - { - "label": "Components", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L117", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_components", - "community": 130, - "norm_label": "components" - }, - { - "label": "1. Config models", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L119", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_1_config_models", - "community": 130, - "norm_label": "1. config models" - }, - { - "label": "code:python (class RcloneSftpTransport(BaseModel):)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L128", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_2", - "community": 130, - "norm_label": "code:python (class rclonesftptransport(basemodel):)" - }, - { - "label": "2. Keyring + dependencies + setup gate", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L159", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_2_keyring_dependencies_setup_gate", - "community": 130, - "norm_label": "2. keyring + dependencies + setup gate" - }, - { - "label": "3. Rclone driver", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L197", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_3_rclone_driver", - "community": 130, - "norm_label": "3. rclone driver" - }, - { - "label": "code:python (class RcloneDriver:)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L203", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_3", - "community": 130, - "norm_label": "code:python (class rclonedriver:)" - }, - { - "label": "code:python (def build_rclone_env()", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L246", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_4", - "community": 130, - "norm_label": "code:python (def build_rclone_env()" - }, - { - "label": "4. NAS sync client", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L261", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_4_nas_sync_client", - "community": 130, - "norm_label": "4. nas sync client" - }, - { - "label": "5. Verifier collapse", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L299", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_5_verifier_collapse", - "community": 130, - "norm_label": "5. verifier collapse" - }, - { - "label": "code:python (class Verifier:)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L312", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_5", - "community": 130, - "norm_label": "code:python (class verifier:)" - }, - { - "label": "6. Wizard + Settings UI", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L344", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_6_wizard_settings_ui", - "community": 130, - "norm_label": "6. wizard + settings ui" - }, - { - "label": "7. Sync state schema", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L390", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_7_sync_state_schema", - "community": 130, - "norm_label": "7. sync state schema" - }, - { - "label": "code:python (class FileSyncRecord(Struct):)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L395", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_6", - "community": 130, - "norm_label": "code:python (class filesyncrecord(struct):)" - }, - { - "label": "8. Error classification", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L407", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_8_error_classification", - "community": 130, - "norm_label": "8. error classification" - }, - { - "label": "Data flow (one sync cycle)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L417", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_data_flow_one_sync_cycle", - "community": 130, - "norm_label": "data flow (one sync cycle)" - }, - { - "label": "Error handling", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L444", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_error_handling", - "community": 130, - "norm_label": "error handling" - }, - { - "label": "Testing", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L460", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_testing", - "community": 130, - "norm_label": "testing" - }, - { - "label": "Open follow-up: Slot B (drift audit)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L489", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_open_follow_up_slot_b_drift_audit", - "community": 130, - "norm_label": "open follow-up: slot b (drift audit)" - }, - { - "label": "Risks / notes", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L500", - "id": "specs_2026_05_26_rclone_only_nas_sync_design_risks_notes", - "community": 130, - "norm_label": "risks / notes" - }, - { - "label": "2026-05-28-staging-root-opt-in-design.md", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L1", - "id": "docs_superpowers_specs_2026_05_28_staging_root_opt_in_design_md", - "community": 169, - "norm_label": "2026-05-28-staging-root-opt-in-design.md" - }, - { - "label": "Opt-in `staging_root` \u2014 Design Spec", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L1", - "id": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", - "community": 169, - "norm_label": "opt-in `staging_root` \u2014 design spec" - }, - { - "label": "1. Summary", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L12", - "id": "specs_2026_05_28_staging_root_opt_in_design_1_summary", - "community": 169, - "norm_label": "1. summary" - }, - { - "label": "2. Goals & non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L39", - "id": "specs_2026_05_28_staging_root_opt_in_design_2_goals_non_goals", - "community": 169, - "norm_label": "2. goals & non-goals" - }, - { - "label": "Goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L41", - "id": "specs_2026_05_28_staging_root_opt_in_design_goals", - "community": 169, - "norm_label": "goals" - }, - { - "label": "Non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L50", - "id": "specs_2026_05_28_staging_root_opt_in_design_non_goals", - "community": 169, - "norm_label": "non-goals" - }, - { - "label": "3. Design", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L59", - "id": "specs_2026_05_28_staging_root_opt_in_design_3_design", - "community": 169, - "norm_label": "3. design" - }, - { - "label": "3.1 Setup-state gate \u2014 `paths.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L61", - "id": "specs_2026_05_28_staging_root_opt_in_design_3_1_setup_state_gate_paths_py", - "community": 169, - "norm_label": "3.1 setup-state gate \u2014 `paths.py`" - }, - { - "label": "3.2 Suggestion helper \u2014 `paths.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L76", - "id": "specs_2026_05_28_staging_root_opt_in_design_3_2_suggestion_helper_paths_py", - "community": 169, - "norm_label": "3.2 suggestion helper \u2014 `paths.py`" - }, - { - "label": "3.3 Settings UI \u2014 `ui/pages/settings.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L95", - "id": "specs_2026_05_28_staging_root_opt_in_design_3_3_settings_ui_ui_pages_settings_py", - "community": 169, - "norm_label": "3.3 settings ui \u2014 `ui/pages/settings.py`" - }, - { - "label": "3.4 Create-on-save \u2014 `ui/mount.py` `_persist_config`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L104", - "id": "specs_2026_05_28_staging_root_opt_in_design_3_4_create_on_save_ui_mount_py_persist_config", - "community": 169, - "norm_label": "3.4 create-on-save \u2014 `ui/mount.py` `_persist_config`" - }, - { - "label": "3.5 Verified, not modified", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L121", - "id": "specs_2026_05_28_staging_root_opt_in_design_3_5_verified_not_modified", - "community": 169, - "norm_label": "3.5 verified, not modified" - }, - { - "label": "3.6 Test mode \u2014 unchanged", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L143", - "id": "specs_2026_05_28_staging_root_opt_in_design_3_6_test_mode_unchanged", - "community": 169, - "norm_label": "3.6 test mode \u2014 unchanged" - }, - { - "label": "4. Data flow", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L152", - "id": "specs_2026_05_28_staging_root_opt_in_design_4_data_flow", - "community": 169, - "norm_label": "4. data flow" - }, - { - "label": "code:block1 (staging_root BLANK)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L156", - "id": "specs_2026_05_28_staging_root_opt_in_design_codeblock_1", - "community": 169, - "norm_label": "code:block1 (staging_root blank)" - }, - { - "label": "5. Error handling & edge cases", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L171", - "id": "specs_2026_05_28_staging_root_opt_in_design_5_error_handling_edge_cases", - "community": 169, - "norm_label": "5. error handling & edge cases" - }, - { - "label": "6. Testing", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L183", - "id": "specs_2026_05_28_staging_root_opt_in_design_6_testing", - "community": 169, - "norm_label": "6. testing" - }, - { - "label": "`tests/unit/test_paths.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L185", - "id": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_test_paths_py", - "community": 169, - "norm_label": "`tests/unit/test_paths.py`" - }, - { - "label": "`tests/unit/ui/test_settings_page.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L197", - "id": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_ui_test_settings_page_py", - "community": 169, - "norm_label": "`tests/unit/ui/test_settings_page.py`" - }, - { - "label": "`tests/unit/ui/test_mount.py` (new cases)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L200", - "id": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_ui_test_mount_py_new_cases", - "community": 169, - "norm_label": "`tests/unit/ui/test_mount.py` (new cases)" - }, - { - "label": "Regression sweep", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L206", - "id": "specs_2026_05_28_staging_root_opt_in_design_regression_sweep", - "community": 169, - "norm_label": "regression sweep" - }, - { - "label": "7. Affected files", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L213", - "id": "specs_2026_05_28_staging_root_opt_in_design_7_affected_files", - "community": 169, - "norm_label": "7. affected files" - }, - { - "label": "2026-05-29-main-window-ui-refresh-design.md", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L1", - "id": "docs_superpowers_specs_2026_05_29_main_window_ui_refresh_design_md", - "community": 65, - "norm_label": "2026-05-29-main-window-ui-refresh-design.md" - }, - { - "label": "Main-window UI refresh \u2014 Design Spec", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L1", - "id": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "community": 65, - "norm_label": "main-window ui refresh \u2014 design spec" - }, - { - "label": "1. Summary", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L35", - "id": "specs_2026_05_29_main_window_ui_refresh_design_1_summary", - "community": 65, - "norm_label": "1. summary" - }, - { - "label": "2. Goals & non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L68", - "id": "specs_2026_05_29_main_window_ui_refresh_design_2_goals_non_goals", - "community": 65, - "norm_label": "2. goals & non-goals" - }, - { - "label": "Goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L70", - "id": "specs_2026_05_29_main_window_ui_refresh_design_goals", - "community": 65, - "norm_label": "goals" - }, - { - "label": "Non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L82", - "id": "specs_2026_05_29_main_window_ui_refresh_design_non_goals", - "community": 65, - "norm_label": "non-goals" - }, - { - "label": "3. Design tokens (foundation)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L94", - "id": "specs_2026_05_29_main_window_ui_refresh_design_3_design_tokens_foundation", - "community": 65, - "norm_label": "3. design tokens (foundation)" - }, - { - "label": "3.1 New tokens", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L102", - "id": "specs_2026_05_29_main_window_ui_refresh_design_3_1_new_tokens", - "community": 65, - "norm_label": "3.1 new tokens" - }, - { - "label": "3.2 Fix latent debt \u2014 referenced-but-undefined variables", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L118", - "id": "specs_2026_05_29_main_window_ui_refresh_design_3_2_fix_latent_debt_referenced_but_undefined_variables", - "community": 65, - "norm_label": "3.2 fix latent debt \u2014 referenced-but-undefined variables" - }, - { - "label": "4. Design", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L154", - "id": "specs_2026_05_29_main_window_ui_refresh_design_4_design", - "community": 65, - "norm_label": "4. design" - }, - { - "label": "4.1 Panel framing \u2014 `components/framed_pane.py` (new) + `pages/main.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L156", - "id": "specs_2026_05_29_main_window_ui_refresh_design_4_1_panel_framing_components_framed_pane_py_new_pages_main_py", - "community": 65, - "norm_label": "4.1 panel framing \u2014 `components/framed_pane.py` (new) + `pages/main.py`" - }, - { - "label": "code:block1 (framed_pane(title: str, *, count: str | None = None, testid:)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L160", - "id": "specs_2026_05_29_main_window_ui_refresh_design_codeblock_1", - "community": 65, - "norm_label": "code:block1 (framed_pane(title: str, *, count: str | none = none, testid:)" - }, - { - "label": "4.2 File list: zebra + row-state precedence \u2014 `components/file_list.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L204", - "id": "specs_2026_05_29_main_window_ui_refresh_design_4_2_file_list_zebra_row_state_precedence_components_file_list_py", - "community": 65, - "norm_label": "4.2 file list: zebra + row-state precedence \u2014 `components/file_list.py`" - }, - { - "label": "code:block2 (def row_background(entry, *, is_selected: bool, is_new: bool)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L208", - "id": "specs_2026_05_29_main_window_ui_refresh_design_codeblock_2", - "community": 65, - "norm_label": "code:block2 (def row_background(entry, *, is_selected: bool, is_new: bool)" - }, - { - "label": "4.3 Centre-pane wiring \u2014 `pages/main.py` + `ui/mount.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L241", - "id": "specs_2026_05_29_main_window_ui_refresh_design_4_3_centre_pane_wiring_pages_main_py_ui_mount_py", - "community": 65, - "norm_label": "4.3 centre-pane wiring \u2014 `pages/main.py` + `ui/mount.py`" - }, - { - "label": "4.4 Metadata pane: Option B (anchored + nested file/folder) \u2014 `components/metadata_pane.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L286", - "id": "specs_2026_05_29_main_window_ui_refresh_design_4_4_metadata_pane_option_b_anchored_nested_file_folder_components_metadata_pane_py", - "community": 65, - "norm_label": "4.4 metadata pane: option b (anchored + nested file/folder) \u2014 `components/metadata_pane.py`" - }, - { - "label": "4.5 Unified selection styling + sync tooltips/legend", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L315", - "id": "specs_2026_05_29_main_window_ui_refresh_design_4_5_unified_selection_styling_sync_tooltips_legend", - "community": 65, - "norm_label": "4.5 unified selection styling + sync tooltips/legend" - }, - { - "label": "4.6 Folder aggregates (item count + sync rollup) \u2014 OQ-3, OQ-4 resolved", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L365", - "id": "specs_2026_05_29_main_window_ui_refresh_design_4_6_folder_aggregates_item_count_sync_rollup_oq_3_oq_4_resolved", - "community": 65, - "norm_label": "4.6 folder aggregates (item count + sync rollup) \u2014 oq-3, oq-4 resolved" - }, - { - "label": "code:block3 (failed > blocked_by_validation > pending > synced > cleaned)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L397", - "id": "specs_2026_05_29_main_window_ui_refresh_design_codeblock_3", - "community": 65, - "norm_label": "code:block3 (failed > blocked_by_validation > pending > synced > cleaned)" - }, - { - "label": "4.7 Empty states", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L406", - "id": "specs_2026_05_29_main_window_ui_refresh_design_4_7_empty_states", - "community": 65, - "norm_label": "4.7 empty states" - }, - { - "label": "4.8 Toolbar grouping + density \u2014 `pages/main.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L415", - "id": "specs_2026_05_29_main_window_ui_refresh_design_4_8_toolbar_grouping_density_pages_main_py", - "community": 65, - "norm_label": "4.8 toolbar grouping + density \u2014 `pages/main.py`" - }, - { - "label": "4.9 Search affordances \u2014 `pages/main.py` (left Explorer card)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L433", - "id": "specs_2026_05_29_main_window_ui_refresh_design_4_9_search_affordances_pages_main_py_left_explorer_card", - "community": 65, - "norm_label": "4.9 search affordances \u2014 `pages/main.py` (left explorer card)" - }, - { - "label": "5. Architecture notes & rationale", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L455", - "id": "specs_2026_05_29_main_window_ui_refresh_design_5_architecture_notes_rationale", - "community": 65, - "norm_label": "5. architecture notes & rationale" - }, - { - "label": "6. Data flow", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L492", - "id": "specs_2026_05_29_main_window_ui_refresh_design_6_data_flow", - "community": 65, - "norm_label": "6. data flow" - }, - { - "label": "code:block4 (Tree selection (URL ?selected=) \u2500\u25ba _classify_node \u2500\u25ba node_ki)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L494", - "id": "specs_2026_05_29_main_window_ui_refresh_design_codeblock_4", - "community": 65, - "norm_label": "code:block4 (tree selection (url ?selected=) \u2500\u25ba _classify_node \u2500\u25ba node_ki)" - }, - { - "label": "7. Error handling & edge cases", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L520", - "id": "specs_2026_05_29_main_window_ui_refresh_design_7_error_handling_edge_cases", - "community": 65, - "norm_label": "7. error handling & edge cases" - }, - { - "label": "8. Resolved questions", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L547", - "id": "specs_2026_05_29_main_window_ui_refresh_design_8_resolved_questions", - "community": 65, - "norm_label": "8. resolved questions" - }, - { - "label": "9. Testing", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L568", - "id": "specs_2026_05_29_main_window_ui_refresh_design_9_testing", - "community": 65, - "norm_label": "9. testing" - }, - { - "label": "`tests/unit/ui/test_design.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L573", - "id": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_design_py", - "community": 65, - "norm_label": "`tests/unit/ui/test_design.py`" - }, - { - "label": "`tests/unit/ui/test_file_list.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L579", - "id": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_file_list_py", - "community": 65, - "norm_label": "`tests/unit/ui/test_file_list.py`" - }, - { - "label": "`tests/unit/ui/test_metadata_pane.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L586", - "id": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_metadata_pane_py", - "community": 65, - "norm_label": "`tests/unit/ui/test_metadata_pane.py`" - }, - { - "label": "`tests/unit/ui/test_sync_rollup.py` (new \u2014 pure)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L593", - "id": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_sync_rollup_py_new_pure", - "community": 65, - "norm_label": "`tests/unit/ui/test_sync_rollup.py` (new \u2014 pure)" - }, - { - "label": "`tests/unit/ui/test_sync_status_icon.py` (extend)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L597", - "id": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_sync_status_icon_py_extend", - "community": 65, - "norm_label": "`tests/unit/ui/test_sync_status_icon.py` (extend)" - }, - { - "label": "`tests/unit/ui/test_status_bar_segment.py` (extend)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L602", - "id": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_status_bar_segment_py_extend", - "community": 65, - "norm_label": "`tests/unit/ui/test_status_bar_segment.py` (extend)" - }, - { - "label": "`tests/unit/ui/test_main_page.py` (extend) / `test_mount.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L608", - "id": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_main_page_py_extend_test_mount_py", - "community": 65, - "norm_label": "`tests/unit/ui/test_main_page.py` (extend) / `test_mount.py`" - }, - { - "label": "`tests/e2e/` (smoke)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L625", - "id": "specs_2026_05_29_main_window_ui_refresh_design_tests_e2e_smoke", - "community": 65, - "norm_label": "`tests/e2e/` (smoke)" - }, - { - "label": "Regression sweep", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L631", - "id": "specs_2026_05_29_main_window_ui_refresh_design_regression_sweep", - "community": 65, - "norm_label": "regression sweep" - }, - { - "label": "10. Affected files", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L638", - "id": "specs_2026_05_29_main_window_ui_refresh_design_10_affected_files", - "community": 65, - "norm_label": "10. affected files" - }, - { - "label": "11. Deferred follow-ups (explicitly out of v1)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L665", - "id": "specs_2026_05_29_main_window_ui_refresh_design_11_deferred_follow_ups_explicitly_out_of_v1", - "community": 65, - "norm_label": "11. deferred follow-ups (explicitly out of v1)" - }, - { - "label": "2026-05-29-sample-data-generation-design.md", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L1", - "id": "docs_superpowers_specs_2026_05_29_sample_data_generation_design_md", - "community": 197, - "norm_label": "2026-05-29-sample-data-generation-design.md" - }, - { - "label": "List-driven sample data generation \u2014 Design Spec", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L1", - "id": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "community": 197, - "norm_label": "list-driven sample data generation \u2014 design spec" - }, - { - "label": "1. Summary", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L15", - "id": "specs_2026_05_29_sample_data_generation_design_1_summary", - "community": 197, - "norm_label": "1. summary" - }, - { - "label": "Key decisions (resolved during brainstorming)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L42", - "id": "specs_2026_05_29_sample_data_generation_design_key_decisions_resolved_during_brainstorming", - "community": 197, - "norm_label": "key decisions (resolved during brainstorming)" - }, - { - "label": "2. Goals & non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L56", - "id": "specs_2026_05_29_sample_data_generation_design_2_goals_non_goals", - "community": 197, - "norm_label": "2. goals & non-goals" - }, - { - "label": "Goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L58", - "id": "specs_2026_05_29_sample_data_generation_design_goals", - "community": 197, - "norm_label": "goals" - }, - { - "label": "Non-goals", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L74", - "id": "specs_2026_05_29_sample_data_generation_design_non_goals", - "community": 197, - "norm_label": "non-goals" - }, - { - "label": "3. Approaches considered", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L97", - "id": "specs_2026_05_29_sample_data_generation_design_3_approaches_considered", - "community": 197, - "norm_label": "3. approaches considered" - }, - { - "label": "4. Sample list data model (Pydantic)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L120", - "id": "specs_2026_05_29_sample_data_generation_design_4_sample_list_data_model_pydantic", - "community": 197, - "norm_label": "4. sample list data model (pydantic)" - }, - { - "label": "code:python (class SampleFile(BaseModel):)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L129", - "id": "specs_2026_05_29_sample_data_generation_design_codeblock_1", - "community": 197, - "norm_label": "code:python (class samplefile(basemodel):)" - }, - { - "label": "5. Shared-helper refactor of `creation.py`", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L251", - "id": "specs_2026_05_29_sample_data_generation_design_5_shared_helper_refactor_of_creation_py", - "community": 197, - "norm_label": "5. shared-helper refactor of `creation.py`" - }, - { - "label": "6. Generation flow", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L282", - "id": "specs_2026_05_29_sample_data_generation_design_6_generation_flow", - "community": 197, - "norm_label": "6. generation flow" - }, - { - "label": "7. Safety guardrails (destructive wipe)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L333", - "id": "specs_2026_05_29_sample_data_generation_design_7_safety_guardrails_destructive_wipe", - "community": 197, - "norm_label": "7. safety guardrails (destructive wipe)" - }, - { - "label": "8. Module layout & entry points", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L350", - "id": "specs_2026_05_29_sample_data_generation_design_8_module_layout_entry_points", - "community": 197, - "norm_label": "8. module layout & entry points" - }, - { - "label": "code:block2 (src/exlab_wizard/sample_data/)", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L352", - "id": "specs_2026_05_29_sample_data_generation_design_codeblock_2", - "community": 197, - "norm_label": "code:block2 (src/exlab_wizard/sample_data/)" - }, - { - "label": "9. Error handling & testing", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L384", - "id": "specs_2026_05_29_sample_data_generation_design_9_error_handling_testing", - "community": 197, - "norm_label": "9. error handling & testing" - }, - { - "label": "Error handling", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L386", - "id": "specs_2026_05_29_sample_data_generation_design_error_handling", - "community": 197, - "norm_label": "error handling" - }, - { - "label": "Testing", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L394", - "id": "specs_2026_05_29_sample_data_generation_design_testing", - "community": 197, - "norm_label": "testing" - }, - { - "label": "10. File-level change summary", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L429", - "id": "specs_2026_05_29_sample_data_generation_design_10_file_level_change_summary", - "community": 197, - "norm_label": "10. file-level change summary" - }, - { - "label": "README.md", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-mockups/README.md", - "source_location": "L1", - "id": "docs_superpowers_specs_2026_05_29_main_window_ui_refresh_mockups_readme_md", - "community": 500, - "norm_label": "readme.md" - }, - { - "label": "Main-window UI refresh \u2014 approved mockups", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-mockups/README.md", - "source_location": "L1", - "id": "2026_05_29_main_window_ui_refresh_mockups_readme_main_window_ui_refresh_approved_mockups", - "community": 500, - "norm_label": "main-window ui refresh \u2014 approved mockups" - }, - { - "label": "Caveats for implementers", - "file_type": "document", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-mockups/README.md", - "source_location": "L18", - "id": "2026_05_29_main_window_ui_refresh_mockups_readme_caveats_for_implementers", - "community": 500, - "norm_label": "caveats for implementers" - }, - { - "label": "ExLab-Wizard_Frontend_Spec.md", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1", - "id": "design_specs_exlab_wizard_frontend_spec_md", - "community": 198, - "norm_label": "exlab-wizard_frontend_spec.md" - }, - { - "label": "ExLab-Wizard: Frontend Design Specification", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1", - "id": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "community": 198, - "norm_label": "exlab-wizard: frontend design specification" - }, - { - "label": "Table of Contents", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L9", - "id": "design_specs_exlab_wizard_frontend_spec_table_of_contents", - "community": 198, - "norm_label": "table of contents" - }, - { - "label": "1. Purpose and Scope", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L27", - "id": "design_specs_exlab_wizard_frontend_spec_1_purpose_and_scope", - "community": 198, - "norm_label": "1. purpose and scope" - }, - { - "label": "2. Framework Choice", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L39", - "id": "design_specs_exlab_wizard_frontend_spec_2_framework_choice", - "community": 221, - "norm_label": "2. framework choice" - }, - { - "label": "2.1 Visual tokens and the design system", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L56", - "id": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", - "community": 221, - "norm_label": "2.1 visual tokens and the design system" - }, - { - "label": "2.1.1 The `design.py` module", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L60", - "id": "design_specs_exlab_wizard_frontend_spec_2_1_1_the_design_py_module", - "community": 221, - "norm_label": "2.1.1 the `design.py` module" - }, - { - "label": "code:python (# exlab_wizard/ui/design.py \u2014 mirrors DESIGN.md; update both)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L66", - "id": "design_specs_exlab_wizard_frontend_spec_codeblock_1", - "community": 221, - "norm_label": "code:python (# exlab_wizard/ui/design.py \u2014 mirrors design.md; update both)" - }, - { - "label": "2.1.2 What lives in DESIGN.md vs in this spec", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L123", - "id": "design_specs_exlab_wizard_frontend_spec_2_1_2_what_lives_in_design_md_vs_in_this_spec", - "community": 221, - "norm_label": "2.1.2 what lives in design.md vs in this spec" - }, - { - "label": "2.1.3 ExLab-Wizard typography overrides", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L130", - "id": "design_specs_exlab_wizard_frontend_spec_2_1_3_exlab_wizard_typography_overrides", - "community": 221, - "norm_label": "2.1.3 exlab-wizard typography overrides" - }, - { - "label": "2.1.4 Warning-tier color (resolves OQ #3)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L143", - "id": "design_specs_exlab_wizard_frontend_spec_2_1_4_warning_tier_color_resolves_oq_3", - "community": 221, - "norm_label": "2.1.4 warning-tier color (resolves oq #3)" - }, - { - "label": "2.1.5 CSS styling reference rule", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L160", - "id": "design_specs_exlab_wizard_frontend_spec_2_1_5_css_styling_reference_rule", - "community": 221, - "norm_label": "2.1.5 css styling reference rule" - }, - { - "label": "2.1.6 DESIGN.md absolute constraints (binding)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L173", - "id": "design_specs_exlab_wizard_frontend_spec_2_1_6_design_md_absolute_constraints_binding", - "community": 221, - "norm_label": "2.1.6 design.md absolute constraints (binding)" - }, - { - "label": "2.2 Notification taxonomy", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L183", - "id": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", - "community": 221, - "norm_label": "2.2 notification taxonomy" - }, - { - "label": "2.2.1 Pattern selection rule", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L187", - "id": "design_specs_exlab_wizard_frontend_spec_2_2_1_pattern_selection_rule", - "community": 221, - "norm_label": "2.2.1 pattern selection rule" - }, - { - "label": "2.2.2 Toast specifications", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L205", - "id": "design_specs_exlab_wizard_frontend_spec_2_2_2_toast_specifications", - "community": 221, - "norm_label": "2.2.2 toast specifications" - }, - { - "label": "2.2.3 Banner specifications", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L228", - "id": "design_specs_exlab_wizard_frontend_spec_2_2_3_banner_specifications", - "community": 221, - "norm_label": "2.2.3 banner specifications" - }, - { - "label": "2.2.4 Inline message specifications", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L252", - "id": "design_specs_exlab_wizard_frontend_spec_2_2_4_inline_message_specifications", - "community": 221, - "norm_label": "2.2.4 inline message specifications" - }, - { - "label": "2.2.5 The `notify()` helper API", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L268", - "id": "design_specs_exlab_wizard_frontend_spec_2_2_5_the_notify_helper_api", - "community": 221, - "norm_label": "2.2.5 the `notify()` helper api" - }, - { - "label": "code:python (# Action results -> toasts (\u00a72.2.2))", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L272", - "id": "design_specs_exlab_wizard_frontend_spec_codeblock_2", - "community": 221, - "norm_label": "code:python (# action results -> toasts (\u00a72.2.2))" - }, - { - "label": "3. Main Window", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L307", - "id": "design_specs_exlab_wizard_frontend_spec_3_main_window", - "community": 267, - "norm_label": "3. main window" - }, - { - "label": "3.1 Application Lifecycle and First-Launch State", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L311", - "id": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", - "community": 267, - "norm_label": "3.1 application lifecycle and first-launch state" - }, - { - "label": "3.1.1 Setup-complete definition", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L319", - "id": "design_specs_exlab_wizard_frontend_spec_3_1_1_setup_complete_definition", - "community": 267, - "norm_label": "3.1.1 setup-complete definition" - }, - { - "label": "3.1.2 Boot flow", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L329", - "id": "design_specs_exlab_wizard_frontend_spec_3_1_2_boot_flow", - "community": 267, - "norm_label": "3.1.2 boot flow" - }, - { - "label": "3.1.3 Welcome Card (first launch only)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L356", - "id": "design_specs_exlab_wizard_frontend_spec_3_1_3_welcome_card_first_launch_only", - "community": 267, - "norm_label": "3.1.3 welcome card (first launch only)" - }, - { - "label": "3.1.4 Setup-Incomplete state on the Main Window", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L376", - "id": "design_specs_exlab_wizard_frontend_spec_3_1_4_setup_incomplete_state_on_the_main_window", - "community": 267, - "norm_label": "3.1.4 setup-incomplete state on the main window" - }, - { - "label": "3.1.5 First-launch defaults", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L393", - "id": "design_specs_exlab_wizard_frontend_spec_3_1_5_first_launch_defaults", - "community": 267, - "norm_label": "3.1.5 first-launch defaults" - }, - { - "label": "3.1.6 Bundled content discovery", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L404", - "id": "design_specs_exlab_wizard_frontend_spec_3_1_6_bundled_content_discovery", - "community": 267, - "norm_label": "3.1.6 bundled content discovery" - }, - { - "label": "3.1.7 LIMS configuration: online and offline workstations", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L412", - "id": "design_specs_exlab_wizard_frontend_spec_3_1_7_lims_configuration_online_and_offline_workstations", - "community": 267, - "norm_label": "3.1.7 lims configuration: online and offline workstations" - }, - { - "label": "3.2 Layout", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L418", - "id": "design_specs_exlab_wizard_frontend_spec_3_2_layout", - "community": 267, - "norm_label": "3.2 layout" - }, - { - "label": "3.3 Refresh Semantics", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L433", - "id": "design_specs_exlab_wizard_frontend_spec_3_3_refresh_semantics", - "community": 267, - "norm_label": "3.3 refresh semantics" - }, - { - "label": "3.4 Tray Icon and Window Lifecycle", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L437", - "id": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", - "community": 321, - "norm_label": "3.4 tray icon and window lifecycle" - }, - { - "label": "3.4.1 Tray menu", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L441", - "id": "design_specs_exlab_wizard_frontend_spec_3_4_1_tray_menu", - "community": 321, - "norm_label": "3.4.1 tray menu" - }, - { - "label": "3.4.2 Status submenu", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L453", - "id": "design_specs_exlab_wizard_frontend_spec_3_4_2_status_submenu", - "community": 321, - "norm_label": "3.4.2 status submenu" - }, - { - "label": "3.4.3 Window lifecycle", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L469", - "id": "design_specs_exlab_wizard_frontend_spec_3_4_3_window_lifecycle", - "community": 321, - "norm_label": "3.4.3 window lifecycle" - }, - { - "label": "3.4.4 Why this lifecycle matters for the lab workflow", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L486", - "id": "design_specs_exlab_wizard_frontend_spec_3_4_4_why_this_lifecycle_matters_for_the_lab_workflow", - "community": 321, - "norm_label": "3.4.4 why this lifecycle matters for the lab workflow" - }, - { - "label": "3.4.5 OS notifications", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L494", - "id": "design_specs_exlab_wizard_frontend_spec_3_4_5_os_notifications", - "community": 321, - "norm_label": "3.4.5 os notifications" - }, - { - "label": "3.4.6 Quitting the app", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L503", - "id": "design_specs_exlab_wizard_frontend_spec_3_4_6_quitting_the_app", - "community": 321, - "norm_label": "3.4.6 quitting the app" - }, - { - "label": "3.4.7 Linux fallback (no system tray)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L510", - "id": "design_specs_exlab_wizard_frontend_spec_3_4_7_linux_fallback_no_system_tray", - "community": 321, - "norm_label": "3.4.7 linux fallback (no system tray)" - }, - { - "label": "3.5 Tree details, filters, and status bar", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L521", - "id": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", - "community": 322, - "norm_label": "3.5 tree details, filters, and status bar" - }, - { - "label": "3.5.1 LIMS name resolution", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L525", - "id": "design_specs_exlab_wizard_frontend_spec_3_5_1_lims_name_resolution", - "community": 322, - "norm_label": "3.5.1 lims name resolution" - }, - { - "label": "3.5.2 Tree node display format", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L535", - "id": "design_specs_exlab_wizard_frontend_spec_3_5_2_tree_node_display_format", - "community": 322, - "norm_label": "3.5.2 tree node display format" - }, - { - "label": "3.5.3 Archived and deleted LIMS-project handling", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L546", - "id": "design_specs_exlab_wizard_frontend_spec_3_5_3_archived_and_deleted_lims_project_handling", - "community": 322, - "norm_label": "3.5.3 archived and deleted lims-project handling" - }, - { - "label": "3.5.4 Search and filter chips", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L558", - "id": "design_specs_exlab_wizard_frontend_spec_3_5_4_search_and_filter_chips", - "community": 322, - "norm_label": "3.5.4 search and filter chips" - }, - { - "label": "code:block3 ([ search by name, short_id, or run label ... ] [Active \u2713] )", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L562", - "id": "design_specs_exlab_wizard_frontend_spec_codeblock_3", - "community": 322, - "norm_label": "code:block3 ([ search by name, short_id, or run label ... ] [active \u2713] )" - }, - { - "label": "3.5.5 Status bar (bottom of the main window)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L580", - "id": "design_specs_exlab_wizard_frontend_spec_3_5_5_status_bar_bottom_of_the_main_window", - "community": 322, - "norm_label": "3.5.5 status bar (bottom of the main window)" - }, - { - "label": "3.5.6 Empty states", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L594", - "id": "design_specs_exlab_wizard_frontend_spec_3_5_6_empty_states", - "community": 322, - "norm_label": "3.5.6 empty states" - }, - { - "label": "3.6 Detail pane (right panel)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L604", - "id": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", - "community": 320, - "norm_label": "3.6 detail pane (right panel)" - }, - { - "label": "3.6.1 Title bar", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L610", - "id": "design_specs_exlab_wizard_frontend_spec_3_6_1_title_bar", - "community": 320, - "norm_label": "3.6.1 title bar" - }, - { - "label": "3.6.2 Project detail sections", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L622", - "id": "design_specs_exlab_wizard_frontend_spec_3_6_2_project_detail_sections", - "community": 320, - "norm_label": "3.6.2 project detail sections" - }, - { - "label": "3.6.3 Run detail sections", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L633", - "id": "design_specs_exlab_wizard_frontend_spec_3_6_3_run_detail_sections", - "community": 320, - "norm_label": "3.6.3 run detail sections" - }, - { - "label": "3.6.4 Validation and override summary", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L646", - "id": "design_specs_exlab_wizard_frontend_spec_3_6_4_validation_and_override_summary", - "community": 320, - "norm_label": "3.6.4 validation and override summary" - }, - { - "label": "code:block4 (\u26a0 Unresolved placeholder token \u00b7 Run_)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L654", - "id": "design_specs_exlab_wizard_frontend_spec_codeblock_4", - "community": 320, - "norm_label": "code:block4 (\u26a0 unresolved placeholder token \u00b7 run_)" - }, - { - "label": "3.6.5 Action affordances", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L668", - "id": "design_specs_exlab_wizard_frontend_spec_3_6_5_action_affordances", - "community": 320, - "norm_label": "3.6.5 action affordances" - }, - { - "label": "3.6.6 Empty selection", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L690", - "id": "design_specs_exlab_wizard_frontend_spec_3_6_6_empty_selection", - "community": 320, - "norm_label": "3.6.6 empty selection" - }, - { - "label": "3.7 Keyboard shortcuts", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L698", - "id": "design_specs_exlab_wizard_frontend_spec_3_7_keyboard_shortcuts", - "community": 267, - "norm_label": "3.7 keyboard shortcuts" - }, - { - "label": "4. New Project Wizard", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L723", - "id": "design_specs_exlab_wizard_frontend_spec_4_new_project_wizard", - "community": 198, - "norm_label": "4. new project wizard" - }, - { - "label": "4.1 LIMS Picker Behavior", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L739", - "id": "design_specs_exlab_wizard_frontend_spec_4_1_lims_picker_behavior", - "community": 198, - "norm_label": "4.1 lims picker behavior" - }, - { - "label": "5. New Run Wizard (Experimental and Test Modes)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L750", - "id": "design_specs_exlab_wizard_frontend_spec_5_new_run_wizard_experimental_and_test_modes", - "community": 198, - "norm_label": "5. new run wizard (experimental and test modes)" - }, - { - "label": "5.1 Mode Binding at Launch", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L754", - "id": "design_specs_exlab_wizard_frontend_spec_5_1_mode_binding_at_launch", - "community": 198, - "norm_label": "5.1 mode binding at launch" - }, - { - "label": "5.2 Steps", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L761", - "id": "design_specs_exlab_wizard_frontend_spec_5_2_steps", - "community": 198, - "norm_label": "5.2 steps" - }, - { - "label": "5.3 Visual Differentiation", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L772", - "id": "design_specs_exlab_wizard_frontend_spec_5_3_visual_differentiation", - "community": 198, - "norm_label": "5.3 visual differentiation" - }, - { - "label": "6. README Authoring Step", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L780", - "id": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", - "community": 384, - "norm_label": "6. readme authoring step" - }, - { - "label": "6.1 Layout", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L784", - "id": "design_specs_exlab_wizard_frontend_spec_6_1_layout", - "community": 384, - "norm_label": "6.1 layout" - }, - { - "label": "6.2 Pre-fill Rules", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L796", - "id": "design_specs_exlab_wizard_frontend_spec_6_2_pre_fill_rules", - "community": 384, - "norm_label": "6.2 pre-fill rules" - }, - { - "label": "6.3 Preview Behavior", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L806", - "id": "design_specs_exlab_wizard_frontend_spec_6_3_preview_behavior", - "community": 384, - "norm_label": "6.3 preview behavior" - }, - { - "label": "6.4 Required-Field Error Messaging", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L810", - "id": "design_specs_exlab_wizard_frontend_spec_6_4_required_field_error_messaging", - "community": 384, - "norm_label": "6.4 required-field error messaging" - }, - { - "label": "7. Settings Dialog", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L816", - "id": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "community": 191, - "norm_label": "7. settings dialog" - }, - { - "label": "7.1 Modality", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L822", - "id": "design_specs_exlab_wizard_frontend_spec_7_1_modality", - "community": 191, - "norm_label": "7.1 modality" - }, - { - "label": "7.2 Layout \u2014 sidebar navigation", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L828", - "id": "design_specs_exlab_wizard_frontend_spec_7_2_layout_sidebar_navigation", - "community": 191, - "norm_label": "7.2 layout \u2014 sidebar navigation" - }, - { - "label": "7.3 Save and Discard model", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L839", - "id": "design_specs_exlab_wizard_frontend_spec_7_3_save_and_discard_model", - "community": 191, - "norm_label": "7.3 save and discard model" - }, - { - "label": "7.4 Reusable patterns", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L851", - "id": "design_specs_exlab_wizard_frontend_spec_7_4_reusable_patterns", - "community": 191, - "norm_label": "7.4 reusable patterns" - }, - { - "label": "7.4.1 Credential field", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L853", - "id": "design_specs_exlab_wizard_frontend_spec_7_4_1_credential_field", - "community": 191, - "norm_label": "7.4.1 credential field" - }, - { - "label": "7.4.2 Test-connection feedback panel", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L865", - "id": "design_specs_exlab_wizard_frontend_spec_7_4_2_test_connection_feedback_panel", - "community": 191, - "norm_label": "7.4.2 test-connection feedback panel" - }, - { - "label": "7.5 Paths section", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L877", - "id": "design_specs_exlab_wizard_frontend_spec_7_5_paths_section", - "community": 191, - "norm_label": "7.5 paths section" - }, - { - "label": "7.6 LIMS section", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L889", - "id": "design_specs_exlab_wizard_frontend_spec_7_6_lims_section", - "community": 191, - "norm_label": "7.6 lims section" - }, - { - "label": "7.7 Equipment List section", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L907", - "id": "design_specs_exlab_wizard_frontend_spec_7_7_equipment_list_section", - "community": 191, - "norm_label": "7.7 equipment list section" - }, - { - "label": "7.7.1 List table", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L911", - "id": "design_specs_exlab_wizard_frontend_spec_7_7_1_list_table", - "community": 191, - "norm_label": "7.7.1 list table" - }, - { - "label": "7.7.2 Add / Edit sub-dialog", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L929", - "id": "design_specs_exlab_wizard_frontend_spec_7_7_2_add_edit_sub_dialog", - "community": 191, - "norm_label": "7.7.2 add / edit sub-dialog" - }, - { - "label": "7.7.3 Bandwidth schedule editor", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L951", - "id": "design_specs_exlab_wizard_frontend_spec_7_7_3_bandwidth_schedule_editor", - "community": 191, - "norm_label": "7.7.3 bandwidth schedule editor" - }, - { - "label": "7.8 NAS Cleanup section", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L979", - "id": "design_specs_exlab_wizard_frontend_spec_7_8_nas_cleanup_section", - "community": 191, - "norm_label": "7.8 nas cleanup section" - }, - { - "label": "7.9 Operators section", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L992", - "id": "design_specs_exlab_wizard_frontend_spec_7_9_operators_section", - "community": 191, - "norm_label": "7.9 operators section" - }, - { - "label": "7.10 Validator section", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L998", - "id": "design_specs_exlab_wizard_frontend_spec_7_10_validator_section", - "community": 191, - "norm_label": "7.10 validator section" - }, - { - "label": "7.11 Logging section", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1007", - "id": "design_specs_exlab_wizard_frontend_spec_7_11_logging_section", - "community": 191, - "norm_label": "7.11 logging section" - }, - { - "label": "7.12 Orchestrator Mode section", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1017", - "id": "design_specs_exlab_wizard_frontend_spec_7_12_orchestrator_mode_section", - "community": 191, - "norm_label": "7.12 orchestrator mode section" - }, - { - "label": "7.13 Application section", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1031", - "id": "design_specs_exlab_wizard_frontend_spec_7_13_application_section", - "community": 191, - "norm_label": "7.13 application section" - }, - { - "label": "7.14 Setup-incomplete state", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1043", - "id": "design_specs_exlab_wizard_frontend_spec_7_14_setup_incomplete_state", - "community": 191, - "norm_label": "7.14 setup-incomplete state" - }, - { - "label": "8. Orchestrator Mode Surfaces", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1053", - "id": "design_specs_exlab_wizard_frontend_spec_8_orchestrator_mode_surfaces", - "community": 198, - "norm_label": "8. orchestrator mode surfaces" - }, - { - "label": "8.1 Equipment Selector", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1057", - "id": "design_specs_exlab_wizard_frontend_spec_8_1_equipment_selector", - "community": 198, - "norm_label": "8.1 equipment selector" - }, - { - "label": "8.2 Staging Panel", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1061", - "id": "design_specs_exlab_wizard_frontend_spec_8_2_staging_panel", - "community": 198, - "norm_label": "8.2 staging panel" - }, - { - "label": "8.3 Clear Verified Runs Action", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1074", - "id": "design_specs_exlab_wizard_frontend_spec_8_3_clear_verified_runs_action", - "community": 198, - "norm_label": "8.3 clear verified runs action" - }, - { - "label": "9. Plugin Input Escalation", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1080", - "id": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", - "community": 318, - "norm_label": "9. plugin input escalation" - }, - { - "label": "9.1 Escalation dialog layout", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1084", - "id": "design_specs_exlab_wizard_frontend_spec_9_1_escalation_dialog_layout", - "community": 318, - "norm_label": "9.1 escalation dialog layout" - }, - { - "label": "9.2 Multiple consecutive escalations from one session (sequential)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1101", - "id": "design_specs_exlab_wizard_frontend_spec_9_2_multiple_consecutive_escalations_from_one_session_sequential", - "community": 318, - "norm_label": "9.2 multiple consecutive escalations from one session (sequential)" - }, - { - "label": "9.3 Mid-plugin-pass progress (per-plugin sub-progress)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1109", - "id": "design_specs_exlab_wizard_frontend_spec_9_3_mid_plugin_pass_progress_per_plugin_sub_progress", - "community": 318, - "norm_label": "9.3 mid-plugin-pass progress (per-plugin sub-progress)" - }, - { - "label": "code:block5 (Running plugins )", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1113", - "id": "design_specs_exlab_wizard_frontend_spec_codeblock_5", - "community": 318, - "norm_label": "code:block5 (running plugins )" - }, - { - "label": "9.4 Cancel during escalation -- confirmation dialog", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1128", - "id": "design_specs_exlab_wizard_frontend_spec_9_4_cancel_during_escalation_confirmation_dialog", - "community": 318, - "norm_label": "9.4 cancel during escalation -- confirmation dialog" - }, - { - "label": "9.5 Disconnect and resume -- the in-flight operations panel", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1143", - "id": "design_specs_exlab_wizard_frontend_spec_9_5_disconnect_and_resume_the_in_flight_operations_panel", - "community": 318, - "norm_label": "9.5 disconnect and resume -- the in-flight operations panel" - }, - { - "label": "9.6 Concurrent suspended sessions", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1170", - "id": "design_specs_exlab_wizard_frontend_spec_9_6_concurrent_suspended_sessions", - "community": 318, - "norm_label": "9.6 concurrent suspended sessions" - }, - { - "label": "10. Error, Progress, and Summary Presentation", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1181", - "id": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", - "community": 283, - "norm_label": "10. error, progress, and summary presentation" - }, - { - "label": "10.1 Progress", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1183", - "id": "design_specs_exlab_wizard_frontend_spec_10_1_progress", - "community": 283, - "norm_label": "10.1 progress" - }, - { - "label": "10.2 Errors", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1187", - "id": "design_specs_exlab_wizard_frontend_spec_10_2_errors", - "community": 283, - "norm_label": "10.2 errors" - }, - { - "label": "10.3 Success Summary", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1195", - "id": "design_specs_exlab_wizard_frontend_spec_10_3_success_summary", - "community": 283, - "norm_label": "10.3 success summary" - }, - { - "label": "10.4 Sync-Blocked Banner", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1205", - "id": "design_specs_exlab_wizard_frontend_spec_10_4_sync_blocked_banner", - "community": 283, - "norm_label": "10.4 sync-blocked banner" - }, - { - "label": "10.5 Recovery flows", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1215", - "id": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", - "community": 283, - "norm_label": "10.5 recovery flows" - }, - { - "label": "10.5.1 NAS sync failure recovery", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1219", - "id": "design_specs_exlab_wizard_frontend_spec_10_5_1_nas_sync_failure_recovery", - "community": 283, - "norm_label": "10.5.1 nas sync failure recovery" - }, - { - "label": "10.5.2 LIMS unreachability mid-wizard", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1241", - "id": "design_specs_exlab_wizard_frontend_spec_10_5_2_lims_unreachability_mid_wizard", - "community": 283, - "norm_label": "10.5.2 lims unreachability mid-wizard" - }, - { - "label": "10.5.3 Crash and orphan recovery", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1259", - "id": "design_specs_exlab_wizard_frontend_spec_10_5_3_crash_and_orphan_recovery", - "community": 283, - "norm_label": "10.5.3 crash and orphan recovery" - }, - { - "label": "10.5.4 Pre-flight checks before creation", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1276", - "id": "design_specs_exlab_wizard_frontend_spec_10_5_4_pre_flight_checks_before_creation", - "community": 283, - "norm_label": "10.5.4 pre-flight checks before creation" - }, - { - "label": "11. Problems Tab", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1290", - "id": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", - "community": 319, - "norm_label": "11. problems tab" - }, - { - "label": "11.1 Layout", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1294", - "id": "design_specs_exlab_wizard_frontend_spec_11_1_layout", - "community": 319, - "norm_label": "11.1 layout" - }, - { - "label": "11.2 Severity Tier Visual Treatment", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1319", - "id": "design_specs_exlab_wizard_frontend_spec_11_2_severity_tier_visual_treatment", - "community": 319, - "norm_label": "11.2 severity tier visual treatment" - }, - { - "label": "11.3 Per-Row Actions", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1325", - "id": "design_specs_exlab_wizard_frontend_spec_11_3_per_row_actions", - "community": 319, - "norm_label": "11.3 per-row actions" - }, - { - "label": "11.4 Empty State", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1336", - "id": "design_specs_exlab_wizard_frontend_spec_11_4_empty_state", - "community": 319, - "norm_label": "11.4 empty state" - }, - { - "label": "11.4.1 New-finding surfacing during the session", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1344", - "id": "design_specs_exlab_wizard_frontend_spec_11_4_1_new_finding_surfacing_during_the_session", - "community": 319, - "norm_label": "11.4.1 new-finding surfacing during the session" - }, - { - "label": "11.5 Override-and-Allow-Sync Dialog", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1354", - "id": "design_specs_exlab_wizard_frontend_spec_11_5_override_and_allow_sync_dialog", - "community": 319, - "norm_label": "11.5 override-and-allow-sync dialog" - }, - { - "label": "11.6 Cross-Surface Links", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1370", - "id": "design_specs_exlab_wizard_frontend_spec_11_6_cross_surface_links", - "community": 319, - "norm_label": "11.6 cross-surface links" - }, - { - "label": "12. Widget Mappings", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1383", - "id": "design_specs_exlab_wizard_frontend_spec_12_widget_mappings", - "community": 198, - "norm_label": "12. widget mappings" - }, - { - "label": "12.1 Template Variable Form (from `copier.yml` questions)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1387", - "id": "design_specs_exlab_wizard_frontend_spec_12_1_template_variable_form_from_copier_yml_questions", - "community": 198, - "norm_label": "12.1 template variable form (from `copier.yml` questions)" - }, - { - "label": "12.2 README Form Fields", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1397", - "id": "design_specs_exlab_wizard_frontend_spec_12_2_readme_form_fields", - "community": 198, - "norm_label": "12.2 readme form fields" - }, - { - "label": "12.3 Required-Field Indication", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1407", - "id": "design_specs_exlab_wizard_frontend_spec_12_3_required_field_indication", - "community": 198, - "norm_label": "12.3 required-field indication" - }, - { - "label": "13. Open Questions", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1415", - "id": "design_specs_exlab_wizard_frontend_spec_13_open_questions", - "community": 198, - "norm_label": "13. open questions" - }, - { - "label": "ExLab-Wizard_Design_Spec.md", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L1", - "id": "design_specs_exlab_wizard_design_spec_md", - "community": 199, - "norm_label": "exlab-wizard_design_spec.md" - }, - { - "label": "ExLab-Wizard: Design Specification", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L2", - "id": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "community": 199, - "norm_label": "exlab-wizard: design specification" - }, - { - "label": "Table of Contents", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L10", - "id": "design_specs_exlab_wizard_design_spec_table_of_contents", - "community": 199, - "norm_label": "table of contents" - }, - { - "label": "1. Purpose and Goals", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L31", - "id": "design_specs_exlab_wizard_design_spec_1_purpose_and_goals", - "community": 199, - "norm_label": "1. purpose and goals" - }, - { - "label": "2. User Capabilities (Reference)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L39", - "id": "design_specs_exlab_wizard_design_spec_2_user_capabilities_reference", - "community": 199, - "norm_label": "2. user capabilities (reference)" - }, - { - "label": "3. Directory Structure Convention", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L63", - "id": "design_specs_exlab_wizard_design_spec_3_directory_structure_convention", - "community": 199, - "norm_label": "3. directory structure convention" - }, - { - "label": "4. Backend Architecture", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L71", - "id": "design_specs_exlab_wizard_design_spec_4_backend_architecture", - "community": 199, - "norm_label": "4. backend architecture" - }, - { - "label": "5. Template Format", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L79", - "id": "design_specs_exlab_wizard_design_spec_5_template_format", - "community": 199, - "norm_label": "5. template format" - }, - { - "label": "6. Plugin System", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L87", - "id": "design_specs_exlab_wizard_design_spec_6_plugin_system", - "community": 199, - "norm_label": "6. plugin system" - }, - { - "label": "7. Sync and Database Integration", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L95", - "id": "design_specs_exlab_wizard_design_spec_7_sync_and_database_integration", - "community": 199, - "norm_label": "7. sync and database integration" - }, - { - "label": "8. Error Handling Principles", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L103", - "id": "design_specs_exlab_wizard_design_spec_8_error_handling_principles", - "community": 199, - "norm_label": "8. error handling principles" - }, - { - "label": "9. Configuration File", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L111", - "id": "design_specs_exlab_wizard_design_spec_9_configuration_file", - "community": 199, - "norm_label": "9. configuration file" - }, - { - "label": "10. README Generation", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L119", - "id": "design_specs_exlab_wizard_design_spec_10_readme_generation", - "community": 199, - "norm_label": "10. readme generation" - }, - { - "label": "11. `.exlab-wizard` Cache Folders", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L127", - "id": "design_specs_exlab_wizard_design_spec_11_exlab_wizard_cache_folders", - "community": 199, - "norm_label": "11. `.exlab-wizard` cache folders" - }, - { - "label": "12. Orchestrator Mode (Multi-Equipment Workstations)", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L135", - "id": "design_specs_exlab_wizard_design_spec_12_orchestrator_mode_multi_equipment_workstations", - "community": 199, - "norm_label": "12. orchestrator mode (multi-equipment workstations)" - }, - { - "label": "13. Equipment-to-Orchestrator Data Flow", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L143", - "id": "design_specs_exlab_wizard_design_spec_13_equipment_to_orchestrator_data_flow", - "community": 199, - "norm_label": "13. equipment-to-orchestrator data flow" - }, - { - "label": "15. Distribution and Installation", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L151", - "id": "design_specs_exlab_wizard_design_spec_15_distribution_and_installation", - "community": 199, - "norm_label": "15. distribution and installation" - }, - { - "label": "16. Logging Architecture", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L159", - "id": "design_specs_exlab_wizard_design_spec_16_logging_architecture", - "community": 199, - "norm_label": "16. logging architecture" - }, - { - "label": "14. Open Questions", - "file_type": "document", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L167", - "id": "design_specs_exlab_wizard_design_spec_14_open_questions", - "community": 199, - "norm_label": "14. open questions" - }, - { - "label": "IMPLEMENTATION_PLAN.md", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L1", - "id": "design_specs_implementation_plan_md", - "community": 114, - "norm_label": "implementation_plan.md" - }, - { - "label": "ExLab-Wizard Implementation Plan", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L1", - "id": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "community": 114, - "norm_label": "exlab-wizard implementation plan" - }, - { - "label": "Context", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L3", - "id": "design_specs_implementation_plan_context", - "community": 114, - "norm_label": "context" - }, - { - "label": "Goals", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L39", - "id": "design_specs_implementation_plan_goals", - "community": 114, - "norm_label": "goals" - }, - { - "label": "First Action (before phase 1)", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L57", - "id": "design_specs_implementation_plan_first_action_before_phase_1", - "community": 114, - "norm_label": "first action (before phase 1)" - }, - { - "label": "Subagent Strategy (used at every phase)", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L66", - "id": "design_specs_implementation_plan_subagent_strategy_used_at_every_phase", - "community": 114, - "norm_label": "subagent strategy (used at every phase)" - }, - { - "label": "Per-Phase Definition of Done", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L88", - "id": "design_specs_implementation_plan_per_phase_definition_of_done", - "community": 114, - "norm_label": "per-phase definition of done" - }, - { - "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L90", - "id": "design_specs_implementation_plan_codeblock_1", - "community": 114, - "norm_label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)" - }, - { - "label": "Test Plan (merged with spec \u00a74.10 + \u00a711.8 + Frontend \u00a71)", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L133", - "id": "design_specs_implementation_plan_test_plan_merged_with_spec_4_10_11_8_frontend_1", - "community": 114, - "norm_label": "test plan (merged with spec \u00a74.10 + \u00a711.8 + frontend \u00a71)" - }, - { - "label": "Phase Sequence", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L199", - "id": "design_specs_implementation_plan_phase_sequence", - "community": 114, - "norm_label": "phase sequence" - }, - { - "label": "Phase 1: Project scaffolding & constants foundations", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L215", - "id": "design_specs_implementation_plan_phase_1_project_scaffolding_constants_foundations", - "community": 114, - "norm_label": "phase 1: project scaffolding & constants foundations" - }, - { - "label": "Phase 2: Configuration system & paths", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L254", - "id": "design_specs_implementation_plan_phase_2_configuration_system_paths", - "community": 114, - "norm_label": "phase 2: configuration system & paths" - }, - { - "label": "Phase 3: Logging package + cache writers + schema models", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L295", - "id": "design_specs_implementation_plan_phase_3_logging_package_cache_writers_schema_models", - "community": 114, - "norm_label": "phase 3: logging package + cache writers + schema models" - }, - { - "label": "Phase 4: Validator engine & rules", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L335", - "id": "design_specs_implementation_plan_phase_4_validator_engine_rules", - "community": 114, - "norm_label": "phase 4: validator engine & rules" - }, - { - "label": "Phase 5: Template engine (Copier)", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L375", - "id": "design_specs_implementation_plan_phase_5_template_engine_copier", - "community": 114, - "norm_label": "phase 5: template engine (copier)" - }, - { - "label": "Phase 6: Plugin system (host + worker + isolation)", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L406", - "id": "design_specs_implementation_plan_phase_6_plugin_system_host_worker_isolation", - "community": 114, - "norm_label": "phase 6: plugin system (host + worker + isolation)" - }, - { - "label": "Phase 7: Creation controller & state machine", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L459", - "id": "design_specs_implementation_plan_phase_7_creation_controller_state_machine", - "community": 114, - "norm_label": "phase 7: creation controller & state machine" - }, - { - "label": "Phase 8: README generator", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L496", - "id": "design_specs_implementation_plan_phase_8_readme_generator", - "community": 114, - "norm_label": "phase 8: readme generator" - }, - { - "label": "Phase 9: LIMS client & cache + keyring", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L520", - "id": "design_specs_implementation_plan_phase_9_lims_client_cache_keyring", - "community": 114, - "norm_label": "phase 9: lims client & cache + keyring" - }, - { - "label": "Phase 10: NAS sync client", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L558", - "id": "design_specs_implementation_plan_phase_10_nas_sync_client", - "community": 114, - "norm_label": "phase 10: nas sync client" - }, - { - "label": "Phase 11: FastAPI app + routers + WebSocket + setup gate", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L601", - "id": "design_specs_implementation_plan_phase_11_fastapi_app_routers_websocket_setup_gate", - "community": 114, - "norm_label": "phase 11: fastapi app + routers + websocket + setup gate" - }, - { - "label": "Phase 12: NiceGUI frontend (design tokens, pages, components)", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L648", - "id": "design_specs_implementation_plan_phase_12_nicegui_frontend_design_tokens_pages_components", - "community": 114, - "norm_label": "phase 12: nicegui frontend (design tokens, pages, components)" - }, - { - "label": "Phase 13: Tray + window processes", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L726", - "id": "design_specs_implementation_plan_phase_13_tray_window_processes", - "community": 114, - "norm_label": "phase 13: tray + window processes" - }, - { - "label": "Phase 14: Orchestrator mode + ingest", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L765", - "id": "design_specs_implementation_plan_phase_14_orchestrator_mode_ingest", - "community": 114, - "norm_label": "phase 14: orchestrator mode + ingest" - }, - { - "label": "Phase 15: Distribution / PyInstaller bundling", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L790", - "id": "design_specs_implementation_plan_phase_15_distribution_pyinstaller_bundling", - "community": 114, - "norm_label": "phase 15: distribution / pyinstaller bundling" - }, - { - "label": "Phase 16: E2E hardening pass", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L818", - "id": "design_specs_implementation_plan_phase_16_e2e_hardening_pass", - "community": 114, - "norm_label": "phase 16: e2e hardening pass" - }, - { - "label": "Critical Files (Reference)", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L839", - "id": "design_specs_implementation_plan_critical_files_reference", - "community": 114, - "norm_label": "critical files (reference)" - }, - { - "label": "Verification (final state)", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L862", - "id": "design_specs_implementation_plan_verification_final_state", - "community": 114, - "norm_label": "verification (final state)" - }, - { - "label": "Risks & Mitigations", - "file_type": "document", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L885", - "id": "design_specs_implementation_plan_risks_mitigations", - "community": 114, - "norm_label": "risks & mitigations" - }, - { - "label": "07_Sync_and_Database_Integration.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_07_sync_and_database_integration_md", - "community": 45, - "norm_label": "07_sync_and_database_integration.md" - }, - { - "label": "7. Sync and Database Integration", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L1", - "id": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", - "community": 45, - "norm_label": "7. sync and database integration" - }, - { - "label": "7.1 NAS Sync (Internal Module)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L7", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "community": 45, - "norm_label": "7.1 nas sync (internal module)" - }, - { - "label": "7.1.1 Component model", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L13", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_1_component_model", - "community": 45, - "norm_label": "7.1.1 component model" - }, - { - "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L17", - "id": "design_spec_sections_07_sync_and_database_integration_codeblock_1", - "community": 45, - "norm_label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)" - }, - { - "label": "7.1.2 Job lifecycle", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L41", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_2_job_lifecycle", - "community": 45, - "norm_label": "7.1.2 job lifecycle" - }, - { - "label": "code:block2 (QUEUED \u2192 RUNNING \u2192 AWAITING_VERIFY \u2192 VERIFIED \u2192 CLEANUP_ELIG)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L45", - "id": "design_spec_sections_07_sync_and_database_integration_codeblock_2", - "community": 45, - "norm_label": "code:block2 (queued \u2192 running \u2192 awaiting_verify \u2192 verified \u2192 cleanup_elig)" - }, - { - "label": "7.1.3 Transport driver (`RcloneDriver`)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L63", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_3_transport_driver_rclonedriver", - "community": 45, - "norm_label": "7.1.3 transport driver (`rclonedriver`)" - }, - { - "label": "7.1.4 Verify flow (lsjson reconcile + cleanup-time hash gate)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L85", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_4_verify_flow_lsjson_reconcile_cleanup_time_hash_gate", - "community": 45, - "norm_label": "7.1.4 verify flow (lsjson reconcile + cleanup-time hash gate)" - }, - { - "label": "7.1.5 Retry policy", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L132", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_5_retry_policy", - "community": 45, - "norm_label": "7.1.5 retry policy" - }, - { - "label": "7.1.6 Cleanup safety interlocks", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L143", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_6_cleanup_safety_interlocks", - "community": 45, - "norm_label": "7.1.6 cleanup safety interlocks" - }, - { - "label": "7.1.7 Bandwidth limiting", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L156", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_7_bandwidth_limiting", - "community": 45, - "norm_label": "7.1.7 bandwidth limiting" - }, - { - "label": "code:yaml (nas:)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L160", - "id": "design_spec_sections_07_sync_and_database_integration_codeblock_3", - "community": 45, - "norm_label": "code:yaml (nas:)" - }, - { - "label": "7.1.8 Credential storage", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L172", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_8_credential_storage", - "community": 45, - "norm_label": "7.1.8 credential storage" - }, - { - "label": "7.1.9 What NASSync does not do", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L181", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_9_what_nassync_does_not_do", - "community": 45, - "norm_label": "7.1.9 what nassync does not do" - }, - { - "label": "7.1.10 Cache file syncing and metadata-only retention on cleanup", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L188", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_10_cache_file_syncing_and_metadata_only_retention_on_cleanup", - "community": 45, - "norm_label": "7.1.10 cache file syncing and metadata-only retention on cleanup" - }, - { - "label": "7.2 LIMS Integration", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L198", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "community": 45, - "norm_label": "7.2 lims integration" - }, - { - "label": "7.2.0 Empirical facts about the LIMS", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L204", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_0_empirical_facts_about_the_lims", - "community": 45, - "norm_label": "7.2.0 empirical facts about the lims" - }, - { - "label": "7.2.1 Project mapping (Mapping B, committed)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L215", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_1_project_mapping_mapping_b_committed", - "community": 45, - "norm_label": "7.2.1 project mapping (mapping b, committed)" - }, - { - "label": "7.2.2 Run-level LIMS integration (deferred to v1.x)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L225", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_2_run_level_lims_integration_deferred_to_v1_x", - "community": 45, - "norm_label": "7.2.2 run-level lims integration (deferred to v1.x)" - }, - { - "label": "7.2.3 `LIMSClient` interface (v1)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L233", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_3_limsclient_interface_v1", - "community": 45, - "norm_label": "7.2.3 `limsclient` interface (v1)" - }, - { - "label": "code:python (class LIMSClient:)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L235", - "id": "design_spec_sections_07_sync_and_database_integration_codeblock_4", - "community": 45, - "norm_label": "code:python (class limsclient:)" - }, - { - "label": "code:python (@dataclass(frozen=True))", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L248", - "id": "design_spec_sections_07_sync_and_database_integration_codeblock_5", - "community": 45, - "norm_label": "code:python (@dataclass(frozen=true))" - }, - { - "label": "code:python (@dataclass(frozen=True))", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L264", - "id": "design_spec_sections_07_sync_and_database_integration_codeblock_6", - "community": 45, - "norm_label": "code:python (@dataclass(frozen=true))" - }, - { - "label": "7.2.4 Project cache and offline behavior", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L278", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_4_project_cache_and_offline_behavior", - "community": 45, - "norm_label": "7.2.4 project cache and offline behavior" - }, - { - "label": "7.2.5 Authentication (cookie session)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L290", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_5_authentication_cookie_session", - "community": 45, - "norm_label": "7.2.5 authentication (cookie session)" - }, - { - "label": "7.2.6 Asks for the LIMS team (deferred)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L301", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_6_asks_for_the_lims_team_deferred", - "community": 45, - "norm_label": "7.2.6 asks for the lims team (deferred)" - }, - { - "label": "7.2.7 v1.x run-level record (specification target)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L312", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_7_v1_x_run_level_record_specification_target", - "community": 45, - "norm_label": "7.2.7 v1.x run-level record (specification target)" - }, - { - "label": "7.2.8 What ExLab-Wizard does not write to LIMS in v1", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L342", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_8_what_exlab_wizard_does_not_write_to_lims_in_v1", - "community": 45, - "norm_label": "7.2.8 what exlab-wizard does not write to lims in v1" - }, - { - "label": "7.2.9 Offline Catalogue (NAS-shared LIMS project list)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L353", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", - "community": 45, - "norm_label": "7.2.9 offline catalogue (nas-shared lims project list)" - }, - { - "label": "7.2.9.1 File location and format", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L359", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_9_1_file_location_and_format", - "community": 45, - "norm_label": "7.2.9.1 file location and format" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L365", - "id": "design_spec_sections_07_sync_and_database_integration_codeblock_7", - "community": 45, - "norm_label": "code:json ({)" - }, - { - "label": "7.2.9.2 Producer behavior", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L387", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_9_2_producer_behavior", - "community": 45, - "norm_label": "7.2.9.2 producer behavior" - }, - { - "label": "7.2.9.3 Consumer behavior", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L399", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_9_3_consumer_behavior", - "community": 45, - "norm_label": "7.2.9.3 consumer behavior" - }, - { - "label": "7.2.9.4 Failure modes", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L418", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_9_4_failure_modes", - "community": 45, - "norm_label": "7.2.9.4 failure modes" - }, - { - "label": "7.2.9.5 Security and trust", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L429", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_9_5_security_and_trust", - "community": 45, - "norm_label": "7.2.9.5 security and trust" - }, - { - "label": "7.2.9.6 Out of scope for v1", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L435", - "id": "design_spec_sections_07_sync_and_database_integration_7_2_9_6_out_of_scope_for_v1", - "community": 45, - "norm_label": "7.2.9.6 out of scope for v1" - }, - { - "label": "7.3 Pre-Sync Gate", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L442", - "id": "design_spec_sections_07_sync_and_database_integration_7_3_pre_sync_gate", - "community": 45, - "norm_label": "7.3 pre-sync gate" - }, - { - "label": "7.4 Credential Storage (OS Keyring)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L458", - "id": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", - "community": 45, - "norm_label": "7.4 credential storage (os keyring)" - }, - { - "label": "7.4.1 Keyring entry naming convention", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L470", - "id": "design_spec_sections_07_sync_and_database_integration_7_4_1_keyring_entry_naming_convention", - "community": 45, - "norm_label": "7.4.1 keyring entry naming convention" - }, - { - "label": "7.4.2 Settings UI for credentials", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L482", - "id": "design_spec_sections_07_sync_and_database_integration_7_4_2_settings_ui_for_credentials", - "community": 45, - "norm_label": "7.4.2 settings ui for credentials" - }, - { - "label": "7.4.3 Credential lifecycle", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L486", - "id": "design_spec_sections_07_sync_and_database_integration_7_4_3_credential_lifecycle", - "community": 45, - "norm_label": "7.4.3 credential lifecycle" - }, - { - "label": "7.4.4 Fallback when no keyring backend is available", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L494", - "id": "design_spec_sections_07_sync_and_database_integration_7_4_4_fallback_when_no_keyring_backend_is_available", - "community": 45, - "norm_label": "7.4.4 fallback when no keyring backend is available" - }, - { - "label": "03_Directory_Structure_Convention.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_03_directory_structure_convention_md", - "community": 369, - "norm_label": "03_directory_structure_convention.md" - }, - { - "label": "3. Directory Structure Convention", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L1", - "id": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", - "community": 369, - "norm_label": "3. directory structure convention" - }, - { - "label": "code:block1 (/)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L7", - "id": "design_spec_sections_03_directory_structure_convention_codeblock_1", - "community": 369, - "norm_label": "code:block1 (/)" - }, - { - "label": "code:block2 (/data/lab/CONFOCAL_01/UCR-000-I-D_WHEELDON/Runs/Run_2026-04-)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L20", - "id": "design_spec_sections_03_directory_structure_convention_codeblock_2", - "community": 369, - "norm_label": "code:block2 (/data/lab/confocal_01/ucr-000-i-d_wheeldon/runs/run_2026-04-)" - }, - { - "label": "3.1 Equipment-ID format", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L28", - "id": "design_spec_sections_03_directory_structure_convention_3_1_equipment_id_format", - "community": 369, - "norm_label": "3.1 equipment-id format" - }, - { - "label": "3.2 Project-folder name", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L41", - "id": "design_spec_sections_03_directory_structure_convention_3_2_project_folder_name", - "community": 369, - "norm_label": "3.2 project-folder name" - }, - { - "label": "12_Orchestrator_Mode.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_12_orchestrator_mode_md", - "community": 370, - "norm_label": "12_orchestrator_mode.md" - }, - { - "label": "12. Orchestrator Mode (Multi-Equipment Workstations)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L1", - "id": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", - "community": 370, - "norm_label": "12. orchestrator mode (multi-equipment workstations)" - }, - { - "label": "12.1 What Changes in Orchestrator Mode", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L7", - "id": "design_spec_sections_12_orchestrator_mode_12_1_what_changes_in_orchestrator_mode", - "community": 370, - "norm_label": "12.1 what changes in orchestrator mode" - }, - { - "label": "12.2 Configuration", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L20", - "id": "design_spec_sections_12_orchestrator_mode_12_2_configuration", - "community": 370, - "norm_label": "12.2 configuration" - }, - { - "label": "12.3 Concurrent Run Handling", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L24", - "id": "design_spec_sections_12_orchestrator_mode_12_3_concurrent_run_handling", - "community": 370, - "norm_label": "12.3 concurrent run handling" - }, - { - "label": "12.4 Logging and DB Changes", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L28", - "id": "design_spec_sections_12_orchestrator_mode_12_4_logging_and_db_changes", - "community": 370, - "norm_label": "12.4 logging and db changes" - }, - { - "label": "06_Plugin_System.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_06_plugin_system_md", - "community": 286, - "norm_label": "06_plugin_system.md" - }, - { - "label": "6. Plugin System", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L1", - "id": "design_spec_sections_06_plugin_system_6_plugin_system", - "community": 286, - "norm_label": "6. plugin system" - }, - { - "label": "6.0 Where Plugins Sit in the Pipeline", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L9", - "id": "design_spec_sections_06_plugin_system_6_0_where_plugins_sit_in_the_pipeline", - "community": 286, - "norm_label": "6.0 where plugins sit in the pipeline" - }, - { - "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L11", - "id": "design_spec_sections_06_plugin_system_codeblock_1", - "community": 286, - "norm_label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)" - }, - { - "label": "6.1 Plugin Contract", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L52", - "id": "design_spec_sections_06_plugin_system_6_1_plugin_contract", - "community": 284, - "norm_label": "6.1 plugin contract" - }, - { - "label": "6.1.1 Package layout", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L56", - "id": "design_spec_sections_06_plugin_system_6_1_1_package_layout", - "community": 284, - "norm_label": "6.1.1 package layout" - }, - { - "label": "code:block2 (/)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L58", - "id": "design_spec_sections_06_plugin_system_codeblock_2", - "community": 284, - "norm_label": "code:block2 (/)" - }, - { - "label": "6.1.2 `manifest.yml` schema", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L70", - "id": "design_spec_sections_06_plugin_system_6_1_2_manifest_yml_schema", - "community": 284, - "norm_label": "6.1.2 `manifest.yml` schema" - }, - { - "label": "code:yaml (# Required identity fields)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L74", - "id": "design_spec_sections_06_plugin_system_codeblock_3", - "community": 284, - "norm_label": "code:yaml (# required identity fields)" - }, - { - "label": "6.1.3 The `Plugin` base class", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L104", - "id": "design_spec_sections_06_plugin_system_6_1_3_the_plugin_base_class", - "community": 284, - "norm_label": "6.1.3 the `plugin` base class" - }, - { - "label": "code:python (# exlab_wizard/plugins/__init__.py -- shipped with the app)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L106", - "id": "design_spec_sections_06_plugin_system_codeblock_4", - "community": 284, - "norm_label": "code:python (# exlab_wizard/plugins/__init__.py -- shipped with the app)" - }, - { - "label": "6.1.5 What plugins must not touch", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L254", - "id": "design_spec_sections_06_plugin_system_6_1_5_what_plugins_must_not_touch", - "community": 284, - "norm_label": "6.1.5 what plugins must not touch" - }, - { - "label": "6.1.4 The `PluginContext` object", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L266", - "id": "design_spec_sections_06_plugin_system_6_1_4_the_plugincontext_object", - "community": 284, - "norm_label": "6.1.4 the `plugincontext` object" - }, - { - "label": "code:python (@dataclass(frozen=True))", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L270", - "id": "design_spec_sections_06_plugin_system_codeblock_5", - "community": 284, - "norm_label": "code:python (@dataclass(frozen=true))" - }, - { - "label": "6.2 Plugin Registry", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L287", - "id": "design_spec_sections_06_plugin_system_6_2_plugin_registry", - "community": 347, - "norm_label": "6.2 plugin registry" - }, - { - "label": "6.2.1 Discovery", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L289", - "id": "design_spec_sections_06_plugin_system_6_2_1_discovery", - "community": 347, - "norm_label": "6.2.1 discovery" - }, - { - "label": "6.2.2 Resolution per creation session", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L308", - "id": "design_spec_sections_06_plugin_system_6_2_2_resolution_per_creation_session", - "community": 347, - "norm_label": "6.2.2 resolution per creation session" - }, - { - "label": "6.2.3 Order control via `_exlab_plugins`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L319", - "id": "design_spec_sections_06_plugin_system_6_2_3_order_control_via_exlab_plugins", - "community": 347, - "norm_label": "6.2.3 order control via `_exlab_plugins`" - }, - { - "label": "code:yaml (_exlab_plugins:)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L323", - "id": "design_spec_sections_06_plugin_system_codeblock_6", - "community": 347, - "norm_label": "code:yaml (_exlab_plugins:)" - }, - { - "label": "6.2.4 What gets recorded in `creation.json`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L334", - "id": "design_spec_sections_06_plugin_system_6_2_4_what_gets_recorded_in_creation_json", - "community": 347, - "norm_label": "6.2.4 what gets recorded in `creation.json`" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L338", - "id": "design_spec_sections_06_plugin_system_codeblock_7", - "community": 347, - "norm_label": "code:json ({)" - }, - { - "label": "6.3 Subprocess Isolation", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L354", - "id": "design_spec_sections_06_plugin_system_6_3_subprocess_isolation", - "community": 297, - "norm_label": "6.3 subprocess isolation" - }, - { - "label": "6.3.1 Process model", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L358", - "id": "design_spec_sections_06_plugin_system_6_3_1_process_model", - "community": 297, - "norm_label": "6.3.1 process model" - }, - { - "label": "6.3.2 IPC envelope", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L370", - "id": "design_spec_sections_06_plugin_system_6_3_2_ipc_envelope", - "community": 297, - "norm_label": "6.3.2 ipc envelope" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L376", - "id": "design_spec_sections_06_plugin_system_codeblock_8", - "community": 297, - "norm_label": "code:json ({)" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L387", - "id": "design_spec_sections_06_plugin_system_codeblock_9", - "community": 297, - "norm_label": "code:json ({)" - }, - { - "label": "6.3.3 Resource limits", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L401", - "id": "design_spec_sections_06_plugin_system_6_3_3_resource_limits", - "community": 297, - "norm_label": "6.3.3 resource limits" - }, - { - "label": "6.3.4 Failure handling", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L422", - "id": "design_spec_sections_06_plugin_system_6_3_4_failure_handling", - "community": 297, - "norm_label": "6.3.4 failure handling" - }, - { - "label": "6.3.6 Validation-worker subprocess (mode = `validate`)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L439", - "id": "design_spec_sections_06_plugin_system_6_3_6_validation_worker_subprocess_mode_validate", - "community": 297, - "norm_label": "6.3.6 validation-worker subprocess (mode = `validate`)" - }, - { - "label": "6.3.5 Security model: what isolation does and does not solve", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L460", - "id": "design_spec_sections_06_plugin_system_6_3_5_security_model_what_isolation_does_and_does_not_solve", - "community": 297, - "norm_label": "6.3.5 security model: what isolation does and does not solve" - }, - { - "label": "6.4 Plugin Input Escalation (`PluginInputRequired`)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L487", - "id": "design_spec_sections_06_plugin_system_6_4_plugin_input_escalation_plugininputrequired", - "community": 501, - "norm_label": "6.4 plugin input escalation (`plugininputrequired`)" - }, - { - "label": "6.4.1 Suspend / resume flow", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L494", - "id": "design_spec_sections_06_plugin_system_6_4_1_suspend_resume_flow", - "community": 501, - "norm_label": "6.4.1 suspend / resume flow" - }, - { - "label": "6.4.2 Resume contract (what the plugin author must guarantee)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L504", - "id": "design_spec_sections_06_plugin_system_6_4_2_resume_contract_what_the_plugin_author_must_guarantee", - "community": 501, - "norm_label": "6.4.2 resume contract (what the plugin author must guarantee)" - }, - { - "label": "6.5 Base Plugin Scaffold (`hello_plugin`)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L517", - "id": "design_spec_sections_06_plugin_system_6_5_base_plugin_scaffold_hello_plugin", - "community": 285, - "norm_label": "6.5 base plugin scaffold (`hello_plugin`)" - }, - { - "label": "6.5.1 Directory", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L521", - "id": "design_spec_sections_06_plugin_system_6_5_1_directory", - "community": 285, - "norm_label": "6.5.1 directory" - }, - { - "label": "code:block10 (hello_plugin/)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L523", - "id": "design_spec_sections_06_plugin_system_codeblock_10", - "community": 285, - "norm_label": "code:block10 (hello_plugin/)" - }, - { - "label": "6.5.2 `__init__.py`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L531", - "id": "design_spec_sections_06_plugin_system_6_5_2_init_py", - "community": 285, - "norm_label": "6.5.2 `__init__.py`" - }, - { - "label": "code:python (\"\"\"hello_plugin -- minimal example plugin for ExLab-Wizard.)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L533", - "id": "design_spec_sections_06_plugin_system_codeblock_11", - "community": 285, - "norm_label": "code:python (\"\"\"hello_plugin -- minimal example plugin for exlab-wizard.)" - }, - { - "label": "6.5.3 `manifest.yml`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L544", - "id": "design_spec_sections_06_plugin_system_6_5_3_manifest_yml", - "community": 285, - "norm_label": "6.5.3 `manifest.yml`" - }, - { - "label": "code:yaml (name: \"hello_plugin\")", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L546", - "id": "design_spec_sections_06_plugin_system_codeblock_12", - "community": 285, - "norm_label": "code:yaml (name: \"hello_plugin\")" - }, - { - "label": "6.5.4 `plugin.py`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L564", - "id": "design_spec_sections_06_plugin_system_6_5_4_plugin_py", - "community": 285, - "norm_label": "6.5.4 `plugin.py`" - }, - { - "label": "code:python (from pathlib import Path)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L566", - "id": "design_spec_sections_06_plugin_system_codeblock_13", - "community": 285, - "norm_label": "code:python (from pathlib import path)" - }, - { - "label": "6.5.5 `README.md`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L598", - "id": "design_spec_sections_06_plugin_system_6_5_5_readme_md", - "community": 285, - "norm_label": "6.5.5 `readme.md`" - }, - { - "label": "6.6 Worked Example: `xlsx_field_filler`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L602", - "id": "design_spec_sections_06_plugin_system_6_6_worked_example_xlsx_field_filler", - "community": 348, - "norm_label": "6.6 worked example: `xlsx_field_filler`" - }, - { - "label": "6.6.1 What it does", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L606", - "id": "design_spec_sections_06_plugin_system_6_6_1_what_it_does", - "community": 348, - "norm_label": "6.6.1 what it does" - }, - { - "label": "6.6.2 `manifest.yml`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L610", - "id": "design_spec_sections_06_plugin_system_6_6_2_manifest_yml", - "community": 348, - "norm_label": "6.6.2 `manifest.yml`" - }, - { - "label": "code:yaml (name: \"xlsx_field_filler\")", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L612", - "id": "design_spec_sections_06_plugin_system_codeblock_14", - "community": 348, - "norm_label": "code:yaml (name: \"xlsx_field_filler\")" - }, - { - "label": "6.6.3 `plugin.py`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L635", - "id": "design_spec_sections_06_plugin_system_6_6_3_plugin_py", - "community": 348, - "norm_label": "6.6.3 `plugin.py`" - }, - { - "label": "code:python (from pathlib import Path)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L637", - "id": "design_spec_sections_06_plugin_system_codeblock_15", - "community": 348, - "norm_label": "code:python (from pathlib import path)" - }, - { - "label": "6.6.4 What this exercises", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L809", - "id": "design_spec_sections_06_plugin_system_6_6_4_what_this_exercises", - "community": 348, - "norm_label": "6.6.4 what this exercises" - }, - { - "label": "6.7 Example Plugins (Illustrative Catalog)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L825", - "id": "design_spec_sections_06_plugin_system_6_7_example_plugins_illustrative_catalog", - "community": 286, - "norm_label": "6.7 example plugins (illustrative catalog)" - }, - { - "label": "6.8 Plugin Authoring Checklist", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L835", - "id": "design_spec_sections_06_plugin_system_6_8_plugin_authoring_checklist", - "community": 286, - "norm_label": "6.8 plugin authoring checklist" - }, - { - "label": "6.9 Lint CLI: `exlab-wizard plugins lint`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L849", - "id": "design_spec_sections_06_plugin_system_6_9_lint_cli_exlab_wizard_plugins_lint", - "community": 286, - "norm_label": "6.9 lint cli: `exlab-wizard plugins lint`" - }, - { - "label": "code:block16 (exlab-wizard plugins lint )", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L855", - "id": "design_spec_sections_06_plugin_system_codeblock_16", - "community": 286, - "norm_label": "code:block16 (exlab-wizard plugins lint )" - }, - { - "label": "6.10 Test / Debug CLI: `exlab-wizard plugins exec`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L899", - "id": "design_spec_sections_06_plugin_system_6_10_test_debug_cli_exlab_wizard_plugins_exec", - "community": 286, - "norm_label": "6.10 test / debug cli: `exlab-wizard plugins exec`" - }, - { - "label": "code:block17 (exlab-wizard plugins exec --against --against /)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L9", - "id": "design_spec_sections_11_cache_folders_codeblock_1", - "community": 85, - "norm_label": "code:block1 (/)" - }, - { - "label": "11.2 File Inventory per Level", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L50", - "id": "design_spec_sections_11_cache_folders_11_2_file_inventory_per_level", - "community": 85, - "norm_label": "11.2 file inventory per level" - }, - { - "label": "11.3 `creation.json` Schema", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L93", - "id": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", - "community": 85, - "norm_label": "11.3 `creation.json` schema" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L97", - "id": "design_spec_sections_11_cache_folders_codeblock_2", - "community": 85, - "norm_label": "code:json ({)" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L167", - "id": "design_spec_sections_11_cache_folders_codeblock_3", - "community": 85, - "norm_label": "code:json ({)" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L181", - "id": "design_spec_sections_11_cache_folders_codeblock_4", - "community": 85, - "norm_label": "code:json ({)" - }, - { - "label": "code:block5 ({ entry \u2208 validation_overrides)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L206", - "id": "design_spec_sections_11_cache_folders_codeblock_5", - "community": 85, - "norm_label": "code:block5 ({ entry \u2208 validation_overrides)" - }, - { - "label": "code:block6 (\"paths\": {)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L220", - "id": "design_spec_sections_11_cache_folders_codeblock_6", - "community": 85, - "norm_label": "code:block6 (\"paths\": {)" - }, - { - "label": "Schema-version history", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L227", - "id": "design_spec_sections_11_cache_folders_schema_version_history", - "community": 85, - "norm_label": "schema-version history" - }, - { - "label": "11.4 `readme_fields.json` Schema", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L243", - "id": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", - "community": 85, - "norm_label": "11.4 `readme_fields.json` schema" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L249", - "id": "design_spec_sections_11_cache_folders_codeblock_7", - "community": 85, - "norm_label": "code:json ({)" - }, - { - "label": "11.4.1 `equipment.json` Schema", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L285", - "id": "design_spec_sections_11_cache_folders_11_4_1_equipment_json_schema", - "community": 85, - "norm_label": "11.4.1 `equipment.json` schema" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L287", - "id": "design_spec_sections_11_cache_folders_codeblock_8", - "community": 85, - "norm_label": "code:json ({)" - }, - { - "label": "11.4.2 `test_runs.json` Schema", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L311", - "id": "design_spec_sections_11_cache_folders_11_4_2_test_runs_json_schema", - "community": 85, - "norm_label": "11.4.2 `test_runs.json` schema" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L313", - "id": "design_spec_sections_11_cache_folders_codeblock_9", - "community": 85, - "norm_label": "code:json ({)" - }, - { - "label": "11.4.3 `runs.json` Schema", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L327", - "id": "design_spec_sections_11_cache_folders_11_4_3_runs_json_schema", - "community": 85, - "norm_label": "11.4.3 `runs.json` schema" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L329", - "id": "design_spec_sections_11_cache_folders_codeblock_10", - "community": 85, - "norm_label": "code:json ({)" - }, - { - "label": "11.5 `wizard..log` Format", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L343", - "id": "design_spec_sections_11_cache_folders_11_5_wizard_hostname_log_format", - "community": 85, - "norm_label": "11.5 `wizard..log` format" - }, - { - "label": "code:block11 (2026-04-17T14:31:55Z [INFO ] [host:labpc-04] [equip:CONFOCAL)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L351", - "id": "design_spec_sections_11_cache_folders_codeblock_11", - "community": 85, - "norm_label": "code:block11 (2026-04-17t14:31:55z [info ] [host:labpc-04] [equip:confocal)" - }, - { - "label": "11.5.1 Log Levels, Rotation, and the Central App Log", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L366", - "id": "design_spec_sections_11_cache_folders_11_5_1_log_levels_rotation_and_the_central_app_log", - "community": 85, - "norm_label": "11.5.1 log levels, rotation, and the central app log" - }, - { - "label": "11.6 NAS Sync Behavior for Cache Files", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L397", - "id": "design_spec_sections_11_cache_folders_11_6_nas_sync_behavior_for_cache_files", - "community": 85, - "norm_label": "11.6 nas sync behavior for cache files" - }, - { - "label": "11.7 Discovery and Validation Use Cases", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L401", - "id": "design_spec_sections_11_cache_folders_11_7_discovery_and_validation_use_cases", - "community": 85, - "norm_label": "11.7 discovery and validation use cases" - }, - { - "label": "11.8 Validator Engine and Problem Query Contract", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L413", - "id": "design_spec_sections_11_cache_folders_11_8_validator_engine_and_problem_query_contract", - "community": 85, - "norm_label": "11.8 validator engine and problem query contract" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L430", - "id": "design_spec_sections_11_cache_folders_codeblock_12", - "community": 85, - "norm_label": "code:json ({)" - }, - { - "label": "11.9 Schema Versioning and Migration Policy", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L452", - "id": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", - "community": 85, - "norm_label": "11.9 schema versioning and migration policy" - }, - { - "label": "11.9.1 Versioning rules", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L456", - "id": "design_spec_sections_11_cache_folders_11_9_1_versioning_rules", - "community": 85, - "norm_label": "11.9.1 versioning rules" - }, - { - "label": "11.9.2 Reader policy", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L462", - "id": "design_spec_sections_11_cache_folders_11_9_2_reader_policy", - "community": 85, - "norm_label": "11.9.2 reader policy" - }, - { - "label": "11.9.3 Writer policy", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L472", - "id": "design_spec_sections_11_cache_folders_11_9_3_writer_policy", - "community": 85, - "norm_label": "11.9.3 writer policy" - }, - { - "label": "11.9.4 Cross-major migration (v1 \u2192 v2)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L480", - "id": "design_spec_sections_11_cache_folders_11_9_4_cross_major_migration_v1_v2", - "community": 85, - "norm_label": "11.9.4 cross-major migration (v1 \u2192 v2)" - }, - { - "label": "11.9.5 Directory-layout migration (v0.5 \u2192 v0.6)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L488", - "id": "design_spec_sections_11_cache_folders_11_9_5_directory_layout_migration_v0_5_v0_6", - "community": 85, - "norm_label": "11.9.5 directory-layout migration (v0.5 \u2192 v0.6)" - }, - { - "label": "11.9.6 What about `config.yaml`?", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L492", - "id": "design_spec_sections_11_cache_folders_11_9_6_what_about_config_yaml", - "community": 85, - "norm_label": "11.9.6 what about `config.yaml`?" - }, - { - "label": "05_Template_Format.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_05_template_format_md", - "community": 234, - "norm_label": "05_template_format.md" - }, - { - "label": "5. Template Format", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L1", - "id": "design_spec_sections_05_template_format_5_template_format", - "community": 234, - "norm_label": "5. template format" - }, - { - "label": "5.0 Template Locations (Global and Per-Equipment)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L9", - "id": "design_spec_sections_05_template_format_5_0_template_locations_global_and_per_equipment", - "community": 234, - "norm_label": "5.0 template locations (global and per-equipment)" - }, - { - "label": "5.1 Template Structure", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L32", - "id": "design_spec_sections_05_template_format_5_1_template_structure", - "community": 234, - "norm_label": "5.1 template structure" - }, - { - "label": "code:block1 (my_template/)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L36", - "id": "design_spec_sections_05_template_format_codeblock_1", - "community": 234, - "norm_label": "code:block1 (my_template/)" - }, - { - "label": "5.2 Copier Manifest (`copier.yml`)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L48", - "id": "design_spec_sections_05_template_format_5_2_copier_manifest_copier_yml", - "community": 234, - "norm_label": "5.2 copier manifest (`copier.yml`)" - }, - { - "label": "code:yaml (# --- Copier settings ---)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L52", - "id": "design_spec_sections_05_template_format_codeblock_2", - "community": 234, - "norm_label": "code:yaml (# --- copier settings ---)" - }, - { - "label": "5.3 Copier Python API Integration", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L100", - "id": "design_spec_sections_05_template_format_5_3_copier_python_api_integration", - "community": 234, - "norm_label": "5.3 copier python api integration" - }, - { - "label": "code:python (# Illustrative -- not implementation code)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L104", - "id": "design_spec_sections_05_template_format_codeblock_3", - "community": 234, - "norm_label": "code:python (# illustrative -- not implementation code)" - }, - { - "label": "5.4 Copier Answers File (`.exlab-answers.yml`)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L125", - "id": "design_spec_sections_05_template_format_5_4_copier_answers_file_exlab_answers_yml", - "community": 234, - "norm_label": "5.4 copier answers file (`.exlab-answers.yml`)" - }, - { - "label": "5.5 Plugin Pass (Post-Render, Controller-Driven)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L136", - "id": "design_spec_sections_05_template_format_5_5_plugin_pass_post_render_controller_driven", - "community": 234, - "norm_label": "5.5 plugin pass (post-render, controller-driven)" - }, - { - "label": "5.6 Jinja2 Templating in File Contents", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L155", - "id": "design_spec_sections_05_template_format_5_6_jinja2_templating_in_file_contents", - "community": 234, - "norm_label": "5.6 jinja2 templating in file contents" - }, - { - "label": "5.7 Template Versioning", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L165", - "id": "design_spec_sections_05_template_format_5_7_template_versioning", - "community": 234, - "norm_label": "5.7 template versioning" - }, - { - "label": "5.8 Lint CLI: `exlab-wizard templates lint`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L175", - "id": "design_spec_sections_05_template_format_5_8_lint_cli_exlab_wizard_templates_lint", - "community": 234, - "norm_label": "5.8 lint cli: `exlab-wizard templates lint`" - }, - { - "label": "code:block4 (exlab-wizard templates lint )", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L181", - "id": "design_spec_sections_05_template_format_codeblock_4", - "community": 234, - "norm_label": "code:block4 (exlab-wizard templates lint )" - }, - { - "label": "13_Equipment_to_Orchestrator_Data_Flow.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_13_equipment_to_orchestrator_data_flow_md", - "community": 246, - "norm_label": "13_equipment_to_orchestrator_data_flow.md" - }, - { - "label": "13. Equipment-to-Orchestrator Data Flow", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L1", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", - "community": 246, - "norm_label": "13. equipment-to-orchestrator data flow" - }, - { - "label": "13.1 Topology", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L7", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_1_topology", - "community": 246, - "norm_label": "13.1 topology" - }, - { - "label": "code:block1 ([Equipment Machine A] --push--> [Orchestrator /staging/EQU)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L9", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_1", - "community": 246, - "norm_label": "code:block1 ([equipment machine a] --push--> [orchestrator /staging/equ)" - }, - { - "label": "13.2 Staging Area Layout", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L26", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_2_staging_area_layout", - "community": 246, - "norm_label": "13.2 staging area layout" - }, - { - "label": "code:block2 (/staging/)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L28", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_2", - "community": 246, - "norm_label": "code:block2 (/staging/)" - }, - { - "label": "13.3 Run Lifecycle States", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L52", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_3_run_lifecycle_states", - "community": 246, - "norm_label": "13.3 run lifecycle states" - }, - { - "label": "13.4 `ingest.json` Schema", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L64", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_4_ingest_json_schema", - "community": 246, - "norm_label": "13.4 `ingest.json` schema" - }, - { - "label": "code:json ({)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L66", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_3", - "community": 246, - "norm_label": "code:json ({)" - }, - { - "label": "13.5 Run Completeness Signal", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L108", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_5_run_completeness_signal", - "community": 246, - "norm_label": "13.5 run completeness signal" - }, - { - "label": "13.6 Transport Handling", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L119", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_6_transport_handling", - "community": 246, - "norm_label": "13.6 transport handling" - }, - { - "label": "13.7 Staging Cleanup", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L123", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_7_staging_cleanup", - "community": 246, - "norm_label": "13.7 staging cleanup" - }, - { - "label": "code:yaml (orchestrator:)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L127", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_4", - "community": 246, - "norm_label": "code:yaml (orchestrator:)" - }, - { - "label": "13.8 Staging State Query (Backend Contract)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L140", - "id": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_8_staging_state_query_backend_contract", - "community": 246, - "norm_label": "13.8 staging state query (backend contract)" - }, - { - "label": "08_Error_Handling_Principles.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_08_error_handling_principles_md", - "community": 298, - "norm_label": "08_error_handling_principles.md" - }, - { - "label": "8. Error Handling Principles", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L1", - "id": "design_spec_sections_08_error_handling_principles_8_error_handling_principles", - "community": 298, - "norm_label": "8. error handling principles" - }, - { - "label": "8.1 Path Validation Rules", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L11", - "id": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", - "community": 298, - "norm_label": "8.1 path validation rules" - }, - { - "label": "8.1.1 Unresolved-placeholder rule (hard tier)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L15", - "id": "design_spec_sections_08_error_handling_principles_8_1_1_unresolved_placeholder_rule_hard_tier", - "community": 298, - "norm_label": "8.1.1 unresolved-placeholder rule (hard tier)" - }, - { - "label": "8.1.2 Illegal-filesystem-character rule (hard tier)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L39", - "id": "design_spec_sections_08_error_handling_principles_8_1_2_illegal_filesystem_character_rule_hard_tier", - "community": 298, - "norm_label": "8.1.2 illegal-filesystem-character rule (hard tier)" - }, - { - "label": "8.1.3 Mode-prefix mismatch rule (hard tier)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L51", - "id": "design_spec_sections_08_error_handling_principles_8_1_3_mode_prefix_mismatch_rule_hard_tier", - "community": 298, - "norm_label": "8.1.3 mode-prefix mismatch rule (hard tier)" - }, - { - "label": "8.1.4 Orphan rule (soft tier)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L60", - "id": "design_spec_sections_08_error_handling_principles_8_1_4_orphan_rule_soft_tier", - "community": 298, - "norm_label": "8.1.4 orphan rule (soft tier)" - }, - { - "label": "8.1.5 Missing-required-field rule (soft tier)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L66", - "id": "design_spec_sections_08_error_handling_principles_8_1_5_missing_required_field_rule_soft_tier", - "community": 298, - "norm_label": "8.1.5 missing-required-field rule (soft tier)" - }, - { - "label": "8.1.6 Tier mapping", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L70", - "id": "design_spec_sections_08_error_handling_principles_8_1_6_tier_mapping", - "community": 298, - "norm_label": "8.1.6 tier mapping" - }, - { - "label": "10_README_Generation.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_10_readme_generation_md", - "community": 222, - "norm_label": "10_readme_generation.md" - }, - { - "label": "10. README Generation", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L1", - "id": "design_spec_sections_10_readme_generation_10_readme_generation", - "community": 222, - "norm_label": "10. readme generation" - }, - { - "label": "10.1 When It Runs", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L9", - "id": "design_spec_sections_10_readme_generation_10_1_when_it_runs", - "community": 222, - "norm_label": "10.1 when it runs" - }, - { - "label": "code:yaml (# In a template's copier.yml)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L15", - "id": "design_spec_sections_10_readme_generation_codeblock_1", - "community": 222, - "norm_label": "code:yaml (# in a template's copier.yml)" - }, - { - "label": "10.2 Field Sources (Merged Layers)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L26", - "id": "design_spec_sections_10_readme_generation_10_2_field_sources_merged_layers", - "community": 222, - "norm_label": "10.2 field sources (merged layers)" - }, - { - "label": "10.3 Field Types", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L39", - "id": "design_spec_sections_10_readme_generation_10_3_field_types", - "community": 222, - "norm_label": "10.3 field types" - }, - { - "label": "code:yaml (_exlab_readme:)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L53", - "id": "design_spec_sections_10_readme_generation_codeblock_2", - "community": 222, - "norm_label": "code:yaml (_exlab_readme:)" - }, - { - "label": "10.4 User-Added Custom Fields", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L72", - "id": "design_spec_sections_10_readme_generation_10_4_user_added_custom_fields", - "community": 222, - "norm_label": "10.4 user-added custom fields" - }, - { - "label": "10.5 Pre-fill Behavior", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L80", - "id": "design_spec_sections_10_readme_generation_10_5_pre_fill_behavior", - "community": 222, - "norm_label": "10.5 pre-fill behavior" - }, - { - "label": "10.6 Auto-Filled System Fields", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L86", - "id": "design_spec_sections_10_readme_generation_10_6_auto_filled_system_fields", - "community": 222, - "norm_label": "10.6 auto-filled system fields" - }, - { - "label": "10.7 Output Format", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L101", - "id": "design_spec_sections_10_readme_generation_10_7_output_format", - "community": 222, - "norm_label": "10.7 output format" - }, - { - "label": "code:markdown (---)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L115", - "id": "design_spec_sections_10_readme_generation_codeblock_3", - "community": 222, - "norm_label": "code:markdown (---)" - }, - { - "label": "10.7.1 Machine Query Examples", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L169", - "id": "design_spec_sections_10_readme_generation_10_7_1_machine_query_examples", - "community": 222, - "norm_label": "10.7.1 machine query examples" - }, - { - "label": "code:python (# Illustrative -- not implementation code)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L173", - "id": "design_spec_sections_10_readme_generation_codeblock_4", - "community": 222, - "norm_label": "code:python (# illustrative -- not implementation code)" - }, - { - "label": "10.7.2 Prose Body", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L209", - "id": "design_spec_sections_10_readme_generation_10_7_2_prose_body", - "community": 222, - "norm_label": "10.7.2 prose body" - }, - { - "label": "10.8 README Plugin Hook (Removed in v0.7)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L215", - "id": "design_spec_sections_10_readme_generation_10_8_readme_plugin_hook_removed_in_v0_7", - "community": 222, - "norm_label": "10.8 readme plugin hook (removed in v0.7)" - }, - { - "label": "16_Logging.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_16_logging_md", - "community": 124, - "norm_label": "16_logging.md" - }, - { - "label": "16. Logging Architecture", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L1", - "id": "design_spec_sections_16_logging_16_logging_architecture", - "community": 124, - "norm_label": "16. logging architecture" - }, - { - "label": "16.1 Goals", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L14", - "id": "design_spec_sections_16_logging_16_1_goals", - "community": 124, - "norm_label": "16.1 goals" - }, - { - "label": "16.2 The `logging/` package", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L23", - "id": "design_spec_sections_16_logging_16_2_the_logging_package", - "community": 124, - "norm_label": "16.2 the `logging/` package" - }, - { - "label": "code:block1 (exlab_wizard/logging/)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L25", - "id": "design_spec_sections_16_logging_codeblock_1", - "community": 124, - "norm_label": "code:block1 (exlab_wizard/logging/)" - }, - { - "label": "16.2.1 The `get_logger(name)` entry point", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L34", - "id": "design_spec_sections_16_logging_16_2_1_the_get_logger_name_entry_point", - "community": 124, - "norm_label": "16.2.1 the `get_logger(name)` entry point" - }, - { - "label": "code:python (from exlab_wizard.logging import get_logger)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L38", - "id": "design_spec_sections_16_logging_codeblock_2", - "community": 124, - "norm_label": "code:python (from exlab_wizard.logging import get_logger)" - }, - { - "label": "16.2.2 `configure_logging(config)` at startup", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L55", - "id": "design_spec_sections_16_logging_16_2_2_configure_logging_config_at_startup", - "community": 124, - "norm_label": "16.2.2 `configure_logging(config)` at startup" - }, - { - "label": "code:python (from exlab_wizard.logging import configure_logging)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L59", - "id": "design_spec_sections_16_logging_codeblock_3", - "community": 124, - "norm_label": "code:python (from exlab_wizard.logging import configure_logging)" - }, - { - "label": "16.2.3 Context vars", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L72", - "id": "design_spec_sections_16_logging_16_2_3_context_vars", - "community": 124, - "norm_label": "16.2.3 context vars" - }, - { - "label": "code:python (from exlab_wizard.logging.context import set_run_context, cl)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L76", - "id": "design_spec_sections_16_logging_codeblock_4", - "community": 124, - "norm_label": "code:python (from exlab_wizard.logging.context import set_run_context, cl)" - }, - { - "label": "16.2.4 Equipment-scoped handlers", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L91", - "id": "design_spec_sections_16_logging_16_2_4_equipment_scoped_handlers", - "community": 124, - "norm_label": "16.2.4 equipment-scoped handlers" - }, - { - "label": "16.2.5 Non-blocking emit via `QueueHandler` + `QueueListener`", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L102", - "id": "design_spec_sections_16_logging_16_2_5_non_blocking_emit_via_queuehandler_queuelistener", - "community": 124, - "norm_label": "16.2.5 non-blocking emit via `queuehandler` + `queuelistener`" - }, - { - "label": "16.3 Log file layout (where-to-look quick reference)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L114", - "id": "design_spec_sections_16_logging_16_3_log_file_layout_where_to_look_quick_reference", - "community": 124, - "norm_label": "16.3 log file layout (where-to-look quick reference)" - }, - { - "label": "16.4 Format", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L132", - "id": "design_spec_sections_16_logging_16_4_format", - "community": 124, - "norm_label": "16.4 format" - }, - { - "label": "code:block5 ( [] [host:] [equi)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L136", - "id": "design_spec_sections_16_logging_codeblock_5", - "community": 124, - "norm_label": "code:block5 ( [] [host:] [equi)" - }, - { - "label": "16.5 Levels and configuration", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L154", - "id": "design_spec_sections_16_logging_16_5_levels_and_configuration", - "community": 124, - "norm_label": "16.5 levels and configuration" - }, - { - "label": "16.6 Rotation", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L169", - "id": "design_spec_sections_16_logging_16_6_rotation", - "community": 124, - "norm_label": "16.6 rotation" - }, - { - "label": "16.7 Debugging recipes", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L185", - "id": "design_spec_sections_16_logging_16_7_debugging_recipes", - "community": 124, - "norm_label": "16.7 debugging recipes" - }, - { - "label": "16.7.1 \"A run failed; what happened?\"", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L189", - "id": "design_spec_sections_16_logging_16_7_1_a_run_failed_what_happened", - "community": 124, - "norm_label": "16.7.1 \"a run failed; what happened?\"" - }, - { - "label": "16.7.2 \"Sync is failing for many runs\"", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L195", - "id": "design_spec_sections_16_logging_16_7_2_sync_is_failing_for_many_runs", - "community": 124, - "norm_label": "16.7.2 \"sync is failing for many runs\"" - }, - { - "label": "16.7.3 \"A plugin is misbehaving in production\"", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L201", - "id": "design_spec_sections_16_logging_16_7_3_a_plugin_is_misbehaving_in_production", - "community": 124, - "norm_label": "16.7.3 \"a plugin is misbehaving in production\"" - }, - { - "label": "16.7.4 \"I don't trust my config; what's actually loaded?\"", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L209", - "id": "design_spec_sections_16_logging_16_7_4_i_don_t_trust_my_config_what_s_actually_loaded", - "community": 124, - "norm_label": "16.7.4 \"i don't trust my config; what's actually loaded?\"" - }, - { - "label": "16.7.5 \"Increase verbosity for one debug session\"", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L214", - "id": "design_spec_sections_16_logging_16_7_5_increase_verbosity_for_one_debug_session", - "community": 124, - "norm_label": "16.7.5 \"increase verbosity for one debug session\"" - }, - { - "label": "16.8 Plugin worker logging", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L223", - "id": "design_spec_sections_16_logging_16_8_plugin_worker_logging", - "community": 124, - "norm_label": "16.8 plugin worker logging" - }, - { - "label": "16.9 Operator-facing log access", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L237", - "id": "design_spec_sections_16_logging_16_9_operator_facing_log_access", - "community": 124, - "norm_label": "16.9 operator-facing log access" - }, - { - "label": "16.10 Anti-patterns", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L247", - "id": "design_spec_sections_16_logging_16_10_anti_patterns", - "community": 124, - "norm_label": "16.10 anti-patterns" - }, - { - "label": "02_User_Interaction.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_02_user_interaction_md", - "community": 156, - "norm_label": "02_user_interaction.md" - }, - { - "label": "2. User Interaction", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L1", - "id": "design_spec_sections_02_user_interaction_2_user_interaction", - "community": 156, - "norm_label": "2. user interaction" - }, - { - "label": "Table of Contents", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L13", - "id": "design_spec_sections_02_user_interaction_table_of_contents", - "community": 156, - "norm_label": "table of contents" - }, - { - "label": "1. Purpose and Scope", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L33", - "id": "design_spec_sections_02_user_interaction_1_purpose_and_scope", - "community": 156, - "norm_label": "1. purpose and scope" - }, - { - "label": "2. Mandatory Core Fields (Creation Gate)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L46", - "id": "design_spec_sections_02_user_interaction_2_mandatory_core_fields_creation_gate", - "community": 156, - "norm_label": "2. mandatory core fields (creation gate)" - }, - { - "label": "3. User Capabilities", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L69", - "id": "design_spec_sections_02_user_interaction_3_user_capabilities", - "community": 156, - "norm_label": "3. user capabilities" - }, - { - "label": "3.1 Create a New Project", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L73", - "id": "design_spec_sections_02_user_interaction_3_1_create_a_new_project", - "community": 156, - "norm_label": "3.1 create a new project" - }, - { - "label": "3.2 Create a New Experimental Run", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L82", - "id": "design_spec_sections_02_user_interaction_3_2_create_a_new_experimental_run", - "community": 156, - "norm_label": "3.2 create a new experimental run" - }, - { - "label": "3.3 Create a New Test Run", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L89", - "id": "design_spec_sections_02_user_interaction_3_3_create_a_new_test_run", - "community": 156, - "norm_label": "3.3 create a new test run" - }, - { - "label": "3.4 Browse Existing Equipment, Projects, and Runs", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L98", - "id": "design_spec_sections_02_user_interaction_3_4_browse_existing_equipment_projects_and_runs", - "community": 156, - "norm_label": "3.4 browse existing equipment, projects, and runs" - }, - { - "label": "3.5 Author a README at Creation Time", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L104", - "id": "design_spec_sections_02_user_interaction_3_5_author_a_readme_at_creation_time", - "community": 156, - "norm_label": "3.5 author a readme at creation time" - }, - { - "label": "3.6 Configure Equipment, Paths, and Integrations", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L112", - "id": "design_spec_sections_02_user_interaction_3_6_configure_equipment_paths_and_integrations", - "community": 156, - "norm_label": "3.6 configure equipment, paths, and integrations" - }, - { - "label": "3.7 Monitor Orchestrator Staging (Orchestrator Mode Only)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L119", - "id": "design_spec_sections_02_user_interaction_3_7_monitor_orchestrator_staging_orchestrator_mode_only", - "community": 156, - "norm_label": "3.7 monitor orchestrator staging (orchestrator mode only)" - }, - { - "label": "3.8 Review and Resolve Naming and Validation Problems", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L125", - "id": "design_spec_sections_02_user_interaction_3_8_review_and_resolve_naming_and_validation_problems", - "community": 156, - "norm_label": "3.8 review and resolve naming and validation problems" - }, - { - "label": "4. Mode Invariants and Safety Boundaries", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L144", - "id": "design_spec_sections_02_user_interaction_4_mode_invariants_and_safety_boundaries", - "community": 156, - "norm_label": "4. mode invariants and safety boundaries" - }, - { - "label": "5. Validation Order and Error Surfacing", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L157", - "id": "design_spec_sections_02_user_interaction_5_validation_order_and_error_surfacing", - "community": 156, - "norm_label": "5. validation order and error surfacing" - }, - { - "label": "6. User-Visible State Across Surfaces", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L172", - "id": "design_spec_sections_02_user_interaction_6_user_visible_state_across_surfaces", - "community": 156, - "norm_label": "6. user-visible state across surfaces" - }, - { - "label": "7. Pre-Sync Gate", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L186", - "id": "design_spec_sections_02_user_interaction_7_pre_sync_gate", - "community": 156, - "norm_label": "7. pre-sync gate" - }, - { - "label": "7.1 What the gate blocks", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L190", - "id": "design_spec_sections_02_user_interaction_7_1_what_the_gate_blocks", - "community": 156, - "norm_label": "7.1 what the gate blocks" - }, - { - "label": "7.2 What the user sees", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L196", - "id": "design_spec_sections_02_user_interaction_7_2_what_the_user_sees", - "community": 156, - "norm_label": "7.2 what the user sees" - }, - { - "label": "7.3 How the gate is cleared", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L202", - "id": "design_spec_sections_02_user_interaction_7_3_how_the_gate_is_cleared", - "community": 156, - "norm_label": "7.3 how the gate is cleared" - }, - { - "label": "7.4 Override audit contract", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L211", - "id": "design_spec_sections_02_user_interaction_7_4_override_audit_contract", - "community": 156, - "norm_label": "7.4 override audit contract" - }, - { - "label": "7.5 Gate semantics on retroactive problems", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L219", - "id": "design_spec_sections_02_user_interaction_7_5_gate_semantics_on_retroactive_problems", - "community": 156, - "norm_label": "7.5 gate semantics on retroactive problems" - }, - { - "label": "09_Configuration_File.md", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/09_Configuration_File.md", - "source_location": "L1", - "id": "design_specs_design_spec_sections_09_configuration_file_md", - "community": 503, - "norm_label": "09_configuration_file.md" - }, - { - "label": "9. Configuration File", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/09_Configuration_File.md", - "source_location": "L1", - "id": "design_spec_sections_09_configuration_file_9_configuration_file", - "community": 503, - "norm_label": "9. configuration file" - }, - { - "label": "code:yaml (paths:)", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/09_Configuration_File.md", - "source_location": "L19", - "id": "design_spec_sections_09_configuration_file_codeblock_1", - "community": 503, - "norm_label": "code:yaml (paths:)" - }, - { - "label": "query_20260529_232003_how_are_the_example_equipment__projects__run_folde.md", - "file_type": "document", - "source_file": "graphify-out/memory/query_20260529_232003_how_are_the_example_equipment__projects__run_folde.md", - "source_location": "L1", - "id": "graphify_out_memory_query_20260529_232003_how_are_the_example_equipment_projects_run_folde_md", - "community": 428, - "norm_label": "query_20260529_232003_how_are_the_example_equipment__projects__run_folde.md" - }, - { - "label": "Q: How are the example equipment, projects, run folders, and samples generated in --test mode of the wizard tray?", - "file_type": "document", - "source_file": "graphify-out/memory/query_20260529_232003_how_are_the_example_equipment__projects__run_folde.md", - "source_location": "L9", - "id": "memory_query_20260529_232003_how_are_the_example_equipment_projects_run_folde_q_how_are_the_example_equipment_projects_run_folders_and_samples_generated_in_test_mode_of_the_wizard_tray", - "community": 428, - "norm_label": "q: how are the example equipment, projects, run folders, and samples generated in --test mode of the wizard tray?" - }, - { - "label": "Answer", - "file_type": "document", - "source_file": "graphify-out/memory/query_20260529_232003_how_are_the_example_equipment__projects__run_folde.md", - "source_location": "L11", - "id": "memory_query_20260529_232003_how_are_the_example_equipment_projects_run_folde_answer", - "community": 428, - "norm_label": "answer" - }, - { - "label": "Source Nodes", - "file_type": "document", - "source_file": "graphify-out/memory/query_20260529_232003_how_are_the_example_equipment__projects__run_folde.md", - "source_location": "L15", - "id": "memory_query_20260529_232003_how_are_the_example_equipment_projects_run_folde_source_nodes", - "community": 428, - "norm_label": "source nodes" - }, - { - "label": "The phase enum order matches Frontend \u00a710.1.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L184", - "community": 432, - "norm_label": "the phase enum order matches frontend \u00a710.1.", - "id": "ui_test_components_rationale_184" - }, - { - "label": "The active phase has fraction 0.5 and ``is_active``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L232", - "community": 435, - "norm_label": "the active phase has fraction 0.5 and ``is_active``.", - "id": "ui_test_components_rationale_232" - }, - { - "label": "When ``running_plugins`` carries N/M, a sub-row dict is emitted. We assert", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L245", - "community": 434, - "norm_label": "when ``running_plugins`` carries n/m, a sub-row dict is emitted. we assert", - "id": "ui_test_components_rationale_245" - }, - { - "label": "Clicking *Set* opens the editor; *Cancel* must return to Not set.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L292", - "community": 436, - "norm_label": "clicking *set* opens the editor; *cancel* must return to not set.", - "id": "ui_test_components_rationale_292" - }, - { - "label": "Clicking *Replace* opens the editor; *Cancel* must return to Set.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L302", - "community": 437, - "norm_label": "clicking *replace* opens the editor; *cancel* must return to set.", - "id": "ui_test_components_rationale_302" - }, - { - "label": "An empty input has nothing to persist -- stay in the editor.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L334", - "community": 433, - "norm_label": "an empty input has nothing to persist -- stay in the editor.", - "id": "ui_test_components_rationale_334" - }, - { - "label": "Banners exceed the 2-cap; overflow is reported.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L454", - "community": 438, - "norm_label": "banners exceed the 2-cap; overflow is reported.", - "id": "ui_test_components_rationale_454" - }, - { - "label": "Suspended rows sort first, oldest started_at first (\u00a79.5).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L503", - "community": 431, - "norm_label": "suspended rows sort first, oldest started_at first (\u00a79.5).", - "id": "ui_test_components_rationale_503" - }, - { - "label": "Archived projects are hidden by default.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L720", - "community": 394, - "norm_label": "archived projects are hidden by default.", - "id": "ui_test_components_rationale_720" - }, - { - "label": "Deleted-from-LIMS rows always render (Frontend \u00a73.5.3).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L740", - "community": 393, - "norm_label": "deleted-from-lims rows always render (frontend \u00a73.5.3).", - "id": "ui_test_components_rationale_740" - }, - { - "label": "``RunNode.sync_status`` flows through to the resulting ``TreeNode``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L787", - "community": 326, - "norm_label": "``runnode.sync_status`` flows through to the resulting ``treenode``.", - "id": "ui_test_components_rationale_787" - }, - { - "label": "Any non-``cleaned`` sync status (or unset) maps to the local-icon URL.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L829", - "community": 391, - "norm_label": "any non-``cleaned`` sync status (or unset) maps to the local-icon url.", - "id": "ui_test_components_rationale_829" - }, - { - "label": "Equipment and project rows render without the per-row sync icon.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L855", - "community": 327, - "norm_label": "equipment and project rows render without the per-row sync icon.", - "id": "ui_test_components_rationale_855" - }, - { - "label": "An ``EquipmentNode(relay=True)`` builds a ``received_equipment`` row.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L877", - "community": 327, - "norm_label": "an ``equipmentnode(relay=true)`` builds a ``received_equipment`` row.", - "id": "ui_test_components_rationale_877" - }, - { - "label": "Each row carries a ``testid_kind`` matching the Playwright contract.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L891", - "community": 395, - "norm_label": "each row carries a ``testid_kind`` matching the playwright contract.", - "id": "ui_test_components_rationale_891" - }, - { - "label": "The ``default-header`` template carries the per-row anchors the Playwright f", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L915", - "community": 390, - "norm_label": "the ``default-header`` template carries the per-row anchors the playwright f", - "id": "ui_test_components_rationale_915" - }, - { - "label": "Each factory emits a dict (or NiceGUI element) without crashing. The factor", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L955", - "community": 392, - "norm_label": "each factory emits a dict (or nicegui element) without crashing. the factor", - "id": "ui_test_components_rationale_955" - }, - { - "label": "The pre-commit ``no-direct-ui-notify`` rule is mirrored in tests. Any call", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L988", - "community": 389, - "norm_label": "the pre-commit ``no-direct-ui-notify`` rule is mirrored in tests. any call", - "id": "ui_test_components_rationale_988" - }, - { - "label": "Welcome card defaults autostart to on (Frontend \u00a73.1.3).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L26", - "community": 452, - "norm_label": "welcome card defaults autostart to on (frontend \u00a73.1.3).", - "id": "ui_test_pages_rationale_26" - }, - { - "label": "Three bullets describing what the app does. Redesign decision 2: bullets re", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L37", - "community": 442, - "norm_label": "three bullets describing what the app does. redesign decision 2: bullets re", - "id": "ui_test_pages_rationale_37" - }, - { - "label": "Active default-on, Archived default-off, Test runs default-on.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L57", - "community": 455, - "norm_label": "active default-on, archived default-off, test runs default-on.", - "id": "ui_test_pages_rationale_57" - }, - { - "label": "Translation preserves the chip state.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L67", - "community": 441, - "norm_label": "translation preserves the chip state.", - "id": "ui_test_pages_rationale_67" - }, - { - "label": "Setup-incomplete banner uses ``--color-warning`` per Frontend \u00a73.1.4.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L87", - "community": 446, - "norm_label": "setup-incomplete banner uses ``--color-warning`` per frontend \u00a73.1.4.", - "id": "ui_test_pages_rationale_87" - }, - { - "label": "The rclone-remote next-action points the operator at the setup docs.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L95", - "community": 397, - "norm_label": "the rclone-remote next-action points the operator at the setup docs.", - "id": "ui_test_pages_rationale_95" - }, - { - "label": "Frontend \u00a74 mandates seven steps in a fixed order.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L110", - "community": 445, - "norm_label": "frontend \u00a74 mandates seven steps in a fixed order.", - "id": "ui_test_pages_rationale_110" - }, - { - "label": "Step 1 requires a LIMS short_id.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L118", - "community": 448, - "norm_label": "step 1 requires a lims short_id.", - "id": "ui_test_pages_rationale_118" - }, - { - "label": "Pre-flight: less than 100 MB free aborts (Frontend \u00a710.5.4).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L149", - "community": 444, - "norm_label": "pre-flight: less than 100 mb free aborts (frontend \u00a710.5.4).", - "id": "ui_test_pages_rationale_149" - }, - { - "label": "Test-mode primary button uses ``warning`` color (Frontend \u00a75.3).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L197", - "community": 450, - "norm_label": "test-mode primary button uses ``warning`` color (frontend \u00a75.3).", - "id": "ui_test_pages_rationale_197" - }, - { - "label": "Test runs add a TestRuns/ folder and TestRun_ leaf prefix.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L211", - "community": 440, - "norm_label": "test runs add a testruns/ folder and testrun_ leaf prefix.", - "id": "ui_test_pages_rationale_211" - }, - { - "label": "Settings has nine sections (Frontend \u00a77.2 + \u00a77.9 operators). The ``operator", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L256", - "community": 439, - "norm_label": "settings has nine sections (frontend \u00a77.2 + \u00a77.9 operators). the ``operator", - "id": "ui_test_pages_rationale_256" - }, - { - "label": "First incomplete section is the first per canonical order.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L269", - "community": 443, - "norm_label": "first incomplete section is the first per canonical order.", - "id": "ui_test_pages_rationale_269" - }, - { - "label": "The dynamic NAS-remote section is auto-selected when it's the gate.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L276", - "community": 396, - "norm_label": "the dynamic nas-remote section is auto-selected when it's the gate.", - "id": "ui_test_pages_rationale_276" - }, - { - "label": "Hard chip default-on; Soft default-off.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L337", - "community": 328, - "norm_label": "hard chip default-on; soft default-off.", - "id": "ui_test_pages_rationale_337" - }, - { - "label": "Frontend \u00a711.5: minimum 10 chars after trim.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L365", - "community": 447, - "norm_label": "frontend \u00a711.5: minimum 10 chars after trim.", - "id": "ui_test_pages_rationale_365" - }, - { - "label": "Frontend \u00a711.5: maximum 500 chars after trim.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L373", - "community": 451, - "norm_label": "frontend \u00a711.5: maximum 500 chars after trim.", - "id": "ui_test_pages_rationale_373" - }, - { - "label": "Whitespace is trimmed before length check.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L388", - "community": 449, - "norm_label": "whitespace is trimmed before length check.", - "id": "ui_test_pages_rationale_388" - }, - { - "label": "Within 10 of the maximum -> near-limit warning.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L395", - "community": 453, - "norm_label": "within 10 of the maximum -> near-limit warning.", - "id": "ui_test_pages_rationale_395" - }, - { - "label": "Five problem-class chips per Backend \u00a78.1.1-\u00a78.1.5.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L419", - "community": 454, - "norm_label": "five problem-class chips per backend \u00a78.1.1-\u00a78.1.5.", - "id": "ui_test_pages_rationale_419" - }, - { - "label": "_FakeUI", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L99", - "community": 0, - "norm_label": "_fakeui", - "id": "ui_test_mount_fakeui" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L102", - "community": 0, - "norm_label": ".__init__()", - "id": "ui_test_mount_fakeui_init" - }, - { - "label": ".card()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L108", - "community": 0, - "norm_label": ".card()", - "id": "ui_test_mount_fakeui_card" - }, - { - "label": ".label()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L112", - "community": 0, - "norm_label": ".label()", - "id": "ui_test_mount_fakeui_label" - }, - { - "label": "_BoomUI", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L117", - "community": 0, - "norm_label": "_boomui", - "id": "ui_test_mount_boomui" - }, - { - "label": ".card()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L120", - "community": 0, - "norm_label": ".card()", - "id": "ui_test_mount_boomui_card" - }, - { - "label": ".label()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L124", - "community": 0, - "norm_label": ".label()", - "id": "ui_test_mount_boomui_label" - }, - { - "label": "test_staging_state_when_staging_root_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L460", - "community": 324, - "norm_label": "test_staging_state_when_staging_root_missing()", - "id": "ui_test_mount_test_staging_state_when_staging_root_missing" - }, - { - "label": "test_staging_state_none_when_no_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L475", - "community": 2, - "norm_label": "test_staging_state_none_when_no_config()", - "id": "ui_test_mount_test_staging_state_none_when_no_config" - }, - { - "label": "test_staging_state_returns_empty_rows_on_query_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L479", - "community": 2, - "norm_label": "test_staging_state_returns_empty_rows_on_query_failure()", - "id": "ui_test_mount_test_staging_state_returns_empty_rows_on_query_failure" - }, - { - "label": "test_render_unavailable_renders_headline_and_subline()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L671", - "community": 2, - "norm_label": "test_render_unavailable_renders_headline_and_subline()", - "id": "ui_test_mount_test_render_unavailable_renders_headline_and_subline" - }, - { - "label": "test_render_unavailable_swallows_failure()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L678", - "community": 2, - "norm_label": "test_render_unavailable_swallows_failure()", - "id": "ui_test_mount_test_render_unavailable_swallows_failure" - }, - { - "label": "_drain_background()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1701", - "community": 50, - "norm_label": "_drain_background()", - "id": "ui_test_mount_drain_background" - }, - { - "label": "test_bulk_clear_verified_clears_verified_rows()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1787", - "community": 14, - "norm_label": "test_bulk_clear_verified_clears_verified_rows()", - "id": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows" - }, - { - "label": "test_bulk_clear_verified_no_config_toasts_and_returns()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1816", - "community": 86, - "norm_label": "test_bulk_clear_verified_no_config_toasts_and_returns()", - "id": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns" - }, - { - "label": "test_bulk_clear_verified_logs_helper_exception()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1823", - "community": 125, - "norm_label": "test_bulk_clear_verified_logs_helper_exception()", - "id": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception" - }, - { - "label": "test_bulk_clear_verified_no_verified_rows_toasts()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2934", - "community": 351, - "norm_label": "test_bulk_clear_verified_no_verified_rows_toasts()", - "id": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts" - }, - { - "label": "test_build_staging_state_query_failure_returns_empty_rows()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L3014", - "community": 181, - "norm_label": "test_build_staging_state_query_failure_returns_empty_rows()", - "id": "ui_test_mount_test_build_staging_state_query_failure_returns_empty_rows" - }, - { - "label": "A ``ui`` whose element factories raise -- exercises render except paths.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L118", - "community": 0, - "norm_label": "a ``ui`` whose element factories raise -- exercises render except paths.", - "id": "ui_test_mount_rationale_118" - }, - { - "label": "Duck-typed CreationController for the create-flow helpers.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L130", - "community": 60, - "norm_label": "duck-typed creationcontroller for the create-flow helpers.", - "id": "ui_test_mount_rationale_130" - }, - { - "label": "Live-LIMS branch with the keyring password absent -> not ready.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L185", - "community": 2, - "norm_label": "live-lims branch with the keyring password absent -> not ready.", - "id": "ui_test_mount_rationale_185" - }, - { - "label": "A nas-mode device whose ``nas.remote`` is unset blocks ready.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L213", - "community": 2, - "norm_label": "a nas-mode device whose ``nas.remote`` is unset blocks ready.", - "id": "ui_test_mount_rationale_213" - }, - { - "label": "A configured nas remote absent from rclone.conf blocks ready.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L223", - "community": 2, - "norm_label": "a configured nas remote absent from rclone.conf blocks ready.", - "id": "ui_test_mount_rationale_223" - }, - { - "label": "Regression: LIMS satisfied via the offline catalogue (no keyring password) m", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L234", - "community": 2, - "norm_label": "regression: lims satisfied via the offline catalogue (no keyring password) m", - "id": "ui_test_mount_rationale_234" - }, - { - "label": "Redesign \u00a73.1: the orchestrator pipeline is unconditional.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L271", - "community": 2, - "norm_label": "redesign \u00a73.1: the orchestrator pipeline is unconditional.", - "id": "ui_test_mount_rationale_271" - }, - { - "label": "Real Config with one nas-mode equipment. ``offline_catalogue`` swaps the li", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L349", - "community": 2, - "norm_label": "real config with one nas-mode equipment. ``offline_catalogue`` swaps the li", - "id": "ui_test_mount_rationale_349" - }, - { - "label": "Redesign \u00a73.1: orchestrator pipeline is always on, but a missing staging_roo", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L461", - "community": 324, - "norm_label": "redesign \u00a73.1: orchestrator pipeline is always on, but a missing staging_roo", - "id": "ui_test_mount_rationale_461" - }, - { - "label": "Minimal stand-in for the NiceGUI ``ui`` object's navigate surface.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L508", - "community": 60, - "norm_label": "minimal stand-in for the nicegui ``ui`` object's navigate surface.", - "id": "ui_test_mount_rationale_508" - }, - { - "label": "A successful save persists, then hot-reloads the live components. The old b", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L516", - "community": 324, - "norm_label": "a successful save persists, then hot-reloads the live components. the old b", - "id": "ui_test_mount_rationale_516" - }, - { - "label": "Opt-in: a saved non-empty staging_root is created on save.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L593", - "community": 60, - "norm_label": "opt-in: a saved non-empty staging_root is created on save.", - "id": "ui_test_mount_rationale_593" - }, - { - "label": "Blank staging_root creates nothing -- the device is not a staging PC.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L608", - "community": 60, - "norm_label": "blank staging_root creates nothing -- the device is not a staging pc.", - "id": "ui_test_mount_rationale_608" - }, - { - "label": "An ensure_dir failure warns but keeps the persisted config.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L622", - "community": 60, - "norm_label": "an ensure_dir failure warns but keeps the persisted config.", - "id": "ui_test_mount_rationale_622" - }, - { - "label": "If the coordinator raises wholesale, the live config is still kept.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L649", - "community": 386, - "norm_label": "if the coordinator raises wholesale, the live config is still kept.", - "id": "ui_test_mount_rationale_649" - }, - { - "label": "Keyring-store stand-in that records the calls the handlers make.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L716", - "community": 0, - "norm_label": "keyring-store stand-in that records the calls the handlers make.", - "id": "ui_test_mount_rationale_716" - }, - { - "label": "A best-effort keyring build can fail; the handlers must not crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L755", - "community": 2, - "norm_label": "a best-effort keyring build can fail; the handlers must not crash.", - "id": "ui_test_mount_rationale_755" - }, - { - "label": "A raising keyring backend surfaces a toast, not an unhandled crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L764", - "community": 385, - "norm_label": "a raising keyring backend surfaces a toast, not an unhandled crash.", - "id": "ui_test_mount_rationale_764" - }, - { - "label": "Async ``list_projects`` stub for the live-LIMS picker path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L940", - "community": 0, - "norm_label": "async ``list_projects`` stub for the live-lims picker path.", - "id": "ui_test_mount_rationale_940" - }, - { - "label": "Both empty -> empty string. One present -> single param.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1186", - "community": 387, - "norm_label": "both empty -> empty string. one present -> single param.", - "id": "ui_test_mount_rationale_1186" - }, - { - "label": "Project names with spaces / special chars survive the round trip.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1194", - "community": 80, - "norm_label": "project names with spaces / special chars survive the round trip.", - "id": "ui_test_mount_rationale_1194" - }, - { - "label": "Phase 4 adds optional file / q / density params to the same URL model.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1206", - "community": 504, - "norm_label": "phase 4 adds optional file / q / density params to the same url model.", - "id": "ui_test_mount_rationale_1206" - }, - { - "label": "The Phase 4 params default empty and drop out of the URL entirely.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1215", - "community": 429, - "norm_label": "the phase 4 params default empty and drop out of the url entirely.", - "id": "ui_test_mount_rationale_1215" - }, - { - "label": "``file`` keeps '/' readable but encodes spaces; ``q`` encodes everything.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1220", - "community": 430, - "norm_label": "``file`` keeps '/' readable but encodes spaces; ``q`` encodes everything.", - "id": "ui_test_mount_rationale_1220" - }, - { - "label": "Equipment / project / run / received_equipment all classify correctly.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1234", - "community": 80, - "norm_label": "equipment / project / run / received_equipment all classify correctly.", - "id": "ui_test_mount_rationale_1234" - }, - { - "label": "A node id whose root is not in the hierarchy returns ``(None, False)``. Gua", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1255", - "community": 350, - "norm_label": "a node id whose root is not in the hierarchy returns ``(none, false)``. gua", - "id": "ui_test_mount_rationale_1255" - }, - { - "label": "An equipment node payload pulls fields from config.equipment[id].", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1277", - "community": 80, - "norm_label": "an equipment node payload pulls fields from config.equipment[id].", - "id": "ui_test_mount_rationale_1277" - }, - { - "label": "Asking for a node that isn't in config.equipment returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1295", - "community": 80, - "norm_label": "asking for a node that isn't in config.equipment returns ``{}``.", - "id": "ui_test_mount_rationale_1295" - }, - { - "label": "The project payload counts Run_* and TestRun_* directories.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1302", - "community": 80, - "norm_label": "the project payload counts run_* and testrun_* directories.", - "id": "ui_test_mount_rationale_1302" - }, - { - "label": "The run payload decodes creation.json into the metadata fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1321", - "community": 80, - "norm_label": "the run payload decodes creation.json into the metadata fields.", - "id": "ui_test_mount_rationale_1321" - }, - { - "label": "A run dir without a creation.json yields {path, name}, not crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1366", - "community": 33, - "norm_label": "a run dir without a creation.json yields {path, name}, not crash.", - "id": "ui_test_mount_rationale_1366" - }, - { - "label": "The selected-node fields end up on MainPageState for the renderer.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1375", - "community": 131, - "norm_label": "the selected-node fields end up on mainpagestate for the renderer.", - "id": "ui_test_mount_rationale_1375" - }, - { - "label": "Phase 4 selection / search / density fields reach MainPageState.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1391", - "community": 131, - "norm_label": "phase 4 selection / search / density fields reach mainpagestate.", - "id": "ui_test_mount_rationale_1391" - }, - { - "label": "A clicked path is resolved from the in-memory feed into a file payload.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1412", - "community": 2, - "norm_label": "a clicked path is resolved from the in-memory feed into a file payload.", - "id": "ui_test_mount_rationale_1412" - }, - { - "label": "Empty path or a path matching no current entry resolves to None.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1438", - "community": 125, - "norm_label": "empty path or a path matching no current entry resolves to none.", - "id": "ui_test_mount_rationale_1438" - }, - { - "label": "A tombstone (\"On NAS\") file has no on-disk copy, so size is None.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1447", - "community": 14, - "norm_label": "a tombstone (\"on nas\") file has no on-disk copy, so size is none.", - "id": "ui_test_mount_rationale_1447" - }, - { - "label": "A directory match delegates to the one-level folder aggregate scan.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1468", - "community": 33, - "norm_label": "a directory match delegates to the one-level folder aggregate scan.", - "id": "ui_test_mount_rationale_1468" - }, - { - "label": "A scan failure yields item_count=None + neutral rollup, no raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1495", - "community": 107, - "norm_label": "a scan failure yields item_count=none + neutral rollup, no raise.", - "id": "ui_test_mount_rationale_1495" - }, - { - "label": "A force-refresh writes the fresh scan onto the per-tab feed payload and reco", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1523", - "community": 107, - "norm_label": "a force-refresh writes the fresh scan onto the per-tab feed payload and reco", - "id": "ui_test_mount_rationale_1523" - }, - { - "label": "Nothing selected -> no scan, no write, no raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1541", - "community": 14, - "norm_label": "nothing selected -> no scan, no write, no raise.", - "id": "ui_test_mount_rationale_1541" - }, - { - "label": "A failed scan keeps the existing payload and warns.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1549", - "community": 50, - "norm_label": "a failed scan keeps the existing payload and warns.", - "id": "ui_test_mount_rationale_1549" - }, - { - "label": "An unknown sys.platform falls through to False so the toast can warn.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1568", - "community": 131, - "norm_label": "an unknown sys.platform falls through to false so the toast can warn.", - "id": "ui_test_mount_rationale_1568" - }, - { - "label": "macOS dispatches to the ``open`` command.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1588", - "community": 50, - "norm_label": "macos dispatches to the ``open`` command.", - "id": "ui_test_mount_rationale_1588" - }, - { - "label": "A subprocess failure is caught and surfaces False so the caller can toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1597", - "community": 125, - "norm_label": "a subprocess failure is caught and surfaces false so the caller can toast.", - "id": "ui_test_mount_rationale_1597" - }, - { - "label": "Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1621", - "community": 14, - "norm_label": "minimal nicegui surface stand-in: clipboard + navigate.to + notify.", - "id": "ui_test_mount_rationale_1621" - }, - { - "label": "``open_in_os`` action calls the platform opener and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1646", - "community": 14, - "norm_label": "``open_in_os`` action calls the platform opener and reports success.", - "id": "ui_test_mount_rationale_1646" - }, - { - "label": "When the opener returns False the action surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1658", - "community": 131, - "norm_label": "when the opener returns false the action surfaces a negative toast.", - "id": "ui_test_mount_rationale_1658" - }, - { - "label": "``copy_path`` writes the entry path to the NiceGUI clipboard.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1667", - "community": 33, - "norm_label": "``copy_path`` writes the entry path to the nicegui clipboard.", - "id": "ui_test_mount_rationale_1667" - }, - { - "label": "An unknown action verb is logged + toasted without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1675", - "community": 125, - "norm_label": "an unknown action verb is logged + toasted without raising.", - "id": "ui_test_mount_rationale_1675" - }, - { - "label": "An entry with no path triggers the early-return toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1682", - "community": 107, - "norm_label": "an entry with no path triggers the early-return toast.", - "id": "ui_test_mount_rationale_1682" - }, - { - "label": "Run any pending mount background tasks to completion.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1702", - "community": 50, - "norm_label": "run any pending mount background tasks to completion.", - "id": "ui_test_mount_rationale_1702" - }, - { - "label": "Force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1717", - "community": 86, - "norm_label": "force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "id": "ui_test_mount_rationale_1717" - }, - { - "label": "Force-sync without a wired NAS sync surfaces a negative toast (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1730", - "community": 33, - "norm_label": "force-sync without a wired nas sync surfaces a negative toast (no raise).", - "id": "ui_test_mount_rationale_1730" - }, - { - "label": "The early-exit when config is missing keeps the action a no-op.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1737", - "community": 107, - "norm_label": "the early-exit when config is missing keeps the action a no-op.", - "id": "ui_test_mount_rationale_1737" - }, - { - "label": "``view_log`` dispatches to the dialog opener helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1746", - "community": 33, - "norm_label": "``view_log`` dispatches to the dialog opener helper.", - "id": "ui_test_mount_rationale_1746" - }, - { - "label": "An unknown action verb is reported but doesn't raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1756", - "community": 33, - "norm_label": "an unknown action verb is reported but doesn't raise.", - "id": "ui_test_mount_rationale_1756" - }, - { - "label": "``clear_verified`` deletes the run directory via the local helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1765", - "community": 14, - "norm_label": "``clear_verified`` deletes the run directory via the local helper.", - "id": "ui_test_mount_rationale_1765" - }, - { - "label": "The bulk action clears every ``synced`` row and toasts the count.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1790", - "community": 14, - "norm_label": "the bulk action clears every ``synced`` row and toasts the count.", - "id": "ui_test_mount_rationale_1790" - }, - { - "label": "The early-exit when config is missing produces a toast, no task.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1817", - "community": 86, - "norm_label": "the early-exit when config is missing produces a toast, no task.", - "id": "ui_test_mount_rationale_1817" - }, - { - "label": "An exception from the clear sweep is caught + toasted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1826", - "community": 125, - "norm_label": "an exception from the clear sweep is caught + toasted.", - "id": "ui_test_mount_rationale_1826" - }, - { - "label": "Lightweight ``app`` stand-in carrying ``storage.tab``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1850", - "community": 0, - "norm_label": "lightweight ``app`` stand-in carrying ``storage.tab``.", - "id": "ui_test_mount_rationale_1850" - }, - { - "label": "Without a selected node the feed isn't started and returns ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1861", - "community": 33, - "norm_label": "without a selected node the feed isn't started and returns ``[]``.", - "id": "ui_test_mount_rationale_1861" - }, - { - "label": "The first call mounts a FolderFeed + RefreshCoordinator on tab storage.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1871", - "community": 158, - "norm_label": "the first call mounts a folderfeed + refreshcoordinator on tab storage.", - "id": "ui_test_mount_rationale_1871" - }, - { - "label": "When the feed's last_payload is set, entries are projected into FileListEntr", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1884", - "community": 86, - "norm_label": "when the feed's last_payload is set, entries are projected into filelistentr", - "id": "ui_test_mount_rationale_1884" - }, - { - "label": "The fetch is a no-op when RefreshCoordinator just walked the tree.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1926", - "community": 157, - "norm_label": "the fetch is a no-op when refreshcoordinator just walked the tree.", - "id": "ui_test_mount_rationale_1926" - }, - { - "label": "A successful scan records the refresh on the coordinator.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1943", - "community": 106, - "norm_label": "a successful scan records the refresh on the coordinator.", - "id": "ui_test_mount_rationale_1943" - }, - { - "label": "A scan failure returns ``None`` so the feed keeps polling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1962", - "community": 173, - "norm_label": "a scan failure returns ``none`` so the feed keeps polling.", - "id": "ui_test_mount_rationale_1962" - }, - { - "label": "A run with a sync-queue job renders its state without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1987", - "community": 158, - "norm_label": "a run with a sync-queue job renders its state without raising.", - "id": "ui_test_mount_rationale_1987" - }, - { - "label": "The relay payload pulls id+label from build_received_equipment_nodes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2028", - "community": 158, - "norm_label": "the relay payload pulls id+label from build_received_equipment_nodes.", - "id": "ui_test_mount_rationale_2028" - }, - { - "label": "An unknown relay id still produces a payload (best-effort label).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2044", - "community": 158, - "norm_label": "an unknown relay id still produces a payload (best-effort label).", - "id": "ui_test_mount_rationale_2044" - }, - { - "label": "A node id without an equipment/project split returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2051", - "community": 86, - "norm_label": "a node id without an equipment/project split returns ``{}``.", - "id": "ui_test_mount_rationale_2051" - }, - { - "label": "A missing parent dir returns 0 (no FS pre-check needed).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2057", - "community": 86, - "norm_label": "a missing parent dir returns 0 (no fs pre-check needed).", - "id": "ui_test_mount_rationale_2057" - }, - { - "label": "Only directory children whose names start with the prefix are counted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2062", - "community": 69, - "norm_label": "only directory children whose names start with the prefix are counted.", - "id": "ui_test_mount_rationale_2062" - }, - { - "label": "When nas_sync.enqueue raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2084", - "community": 69, - "norm_label": "when nas_sync.enqueue raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_2084" - }, - { - "label": "When the clear helper raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2100", - "community": 106, - "norm_label": "when the clear helper raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_2100" - }, - { - "label": "The 0-file path reports ``already cleared`` rather than ``cleared N``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2116", - "community": 106, - "norm_label": "the 0-file path reports ``already cleared`` rather than ``cleared n``.", - "id": "ui_test_mount_rationale_2116" - }, - { - "label": "A clipboard write failure is caught and reported as a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2129", - "community": 173, - "norm_label": "a clipboard write failure is caught and reported as a negative toast.", - "id": "ui_test_mount_rationale_2129" - }, - { - "label": "A fake ``ui`` whose factories build recording stand-ins. Unlike ``_UiSpy``", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2166", - "community": 0, - "norm_label": "a fake ``ui`` whose factories build recording stand-ins. unlike ``_uispy``", - "id": "ui_test_mount_rationale_2166" - }, - { - "label": "No probe wired -> a failure result rather than a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2210", - "community": 69, - "norm_label": "no probe wired -> a failure result rather than a crash.", - "id": "ui_test_mount_rationale_2210" - }, - { - "label": "A reachable probe maps ok/latency into a Connected result.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2222", - "community": 157, - "norm_label": "a reachable probe maps ok/latency into a connected result.", - "id": "ui_test_mount_rationale_2222" - }, - { - "label": "An async probe is awaited before its dict is mapped.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2249", - "community": 180, - "norm_label": "an async probe is awaited before its dict is mapped.", - "id": "ui_test_mount_rationale_2249" - }, - { - "label": "A half-wired install names its first-failing gate as the next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2279", - "community": 69, - "norm_label": "a half-wired install names its first-failing gate as the next action.", - "id": "ui_test_mount_rationale_2279" - }, - { - "label": "A fully-satisfied install has no outstanding next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2286", - "community": 325, - "norm_label": "a fully-satisfied install has no outstanding next action.", - "id": "ui_test_mount_rationale_2286" - }, - { - "label": "No sync-state writer wired -> negative toast, no task spawned.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2310", - "community": 106, - "norm_label": "no sync-state writer wired -> negative toast, no task spawned.", - "id": "ui_test_mount_rationale_2310" - }, - { - "label": "A path with no enclosing run root surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2319", - "community": 14, - "norm_label": "a path with no enclosing run root surfaces a negative toast.", - "id": "ui_test_mount_rationale_2319" - }, - { - "label": "A resolvable file flips keep_local via the writer and fires on_done.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2330", - "community": 23, - "norm_label": "a resolvable file flips keep_local via the writer and fires on_done.", - "id": "ui_test_mount_rationale_2330" - }, - { - "label": "The ``keep_local`` action routes to ``_toggle_keep_local``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2385", - "community": 14, - "norm_label": "the ``keep_local`` action routes to ``_toggle_keep_local``.", - "id": "ui_test_mount_rationale_2385" - }, - { - "label": "On win32 the helper calls ``os.startfile`` and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2402", - "community": 170, - "norm_label": "on win32 the helper calls ``os.startfile`` and reports success.", - "id": "ui_test_mount_rationale_2402" - }, - { - "label": "No controller -> a negative toast and no dialog open.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2436", - "community": 180, - "norm_label": "no controller -> a negative toast and no dialog open.", - "id": "ui_test_mount_rationale_2436" - }, - { - "label": "A wired controller builds the modal and opens it (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2442", - "community": 180, - "norm_label": "a wired controller builds the modal and opens it (no raise).", - "id": "ui_test_mount_rationale_2442" - }, - { - "label": "The details dialog renders the session state plus pending/error lines.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2463", - "community": 300, - "norm_label": "the details dialog renders the session state plus pending/error lines.", - "id": "ui_test_mount_rationale_2463" - }, - { - "label": "A session not awaiting input cannot be resumed -> negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2487", - "community": 14, - "norm_label": "a session not awaiting input cannot be resumed -> negative toast.", - "id": "ui_test_mount_rationale_2487" - }, - { - "label": "A suspended session re-opens its escalation dialog with parked fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2496", - "community": 171, - "norm_label": "a suspended session re-opens its escalation dialog with parked fields.", - "id": "ui_test_mount_rationale_2496" - }, - { - "label": "The dialog's Submit handler calls ``controller.resume`` in the background.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2525", - "community": 23, - "norm_label": "the dialog's submit handler calls ``controller.resume`` in the background.", - "id": "ui_test_mount_rationale_2525" - }, - { - "label": "The dialog's Cancel handler routes through ``_cancel_session``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2557", - "community": 23, - "norm_label": "the dialog's cancel handler routes through ``_cancel_session``.", - "id": "ui_test_mount_rationale_2557" - }, - { - "label": "The \u00a79.4 dialog's Discard button cancels with discard_files=True.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2597", - "community": 170, - "norm_label": "the \u00a79.4 dialog's discard button cancels with discard_files=true.", - "id": "ui_test_mount_rationale_2597" - }, - { - "label": "The Keep-files button cancels with discard_files=False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2616", - "community": 171, - "norm_label": "the keep-files button cancels with discard_files=false.", - "id": "ui_test_mount_rationale_2616" - }, - { - "label": "A cancel failure is caught and toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2633", - "community": 172, - "norm_label": "a cancel failure is caught and toasted, not raised.", - "id": "ui_test_mount_rationale_2633" - }, - { - "label": "The Back button closes the dialog without cancelling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2649", - "community": 181, - "norm_label": "the back button closes the dialog without cancelling.", - "id": "ui_test_mount_rationale_2649" - }, - { - "label": "With a job row, the dialog renders each populated field line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2663", - "community": 171, - "norm_label": "with a job row, the dialog renders each populated field line.", - "id": "ui_test_mount_rationale_2663" - }, - { - "label": "Without a job row the dialog shows the 'no sync job' line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2691", - "community": 54, - "norm_label": "without a job row the dialog shows the 'no sync job' line.", - "id": "ui_test_mount_rationale_2691" - }, - { - "label": "No progress view on the wizard state -> the consumer returns at once.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2707", - "community": 23, - "norm_label": "no progress view on the wizard state -> the consumer returns at once.", - "id": "ui_test_mount_rationale_2707" - }, - { - "label": "An input_required frame opens the dialog; a done frame closes it.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2718", - "community": 50, - "norm_label": "an input_required frame opens the dialog; a done frame closes it.", - "id": "ui_test_mount_rationale_2718" - }, - { - "label": "A subscribe error is logged, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2755", - "community": 54, - "norm_label": "a subscribe error is logged, not raised.", - "id": "ui_test_mount_rationale_2755" - }, - { - "label": "Submitting a run with no template selected surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2795", - "community": 170, - "norm_label": "submitting a run with no template selected surfaces a negative toast.", - "id": "ui_test_mount_rationale_2795" - }, - { - "label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2806", - "community": 172, - "norm_label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "id": "ui_test_mount_rationale_2806" - }, - { - "label": "Non-EquipmentNode keys in the hierarchy are ignored; unknown root -> treated", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2835", - "community": 54, - "norm_label": "non-equipmentnode keys in the hierarchy are ignored; unknown root -> treated", - "id": "ui_test_mount_rationale_2835" - }, - { - "label": "The received_equipment kind routes to the relay-equipment builder.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2844", - "community": 181, - "norm_label": "the received_equipment kind routes to the relay-equipment builder.", - "id": "ui_test_mount_rationale_2844" - }, - { - "label": "A matching equipment id projects its config fields into the payload.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2860", - "community": 54, - "norm_label": "a matching equipment id projects its config fields into the payload.", - "id": "ui_test_mount_rationale_2860" - }, - { - "label": "A schema_version mismatch (read_catalogue -> None) yields ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2882", - "community": 54, - "norm_label": "a schema_version mismatch (read_catalogue -> none) yields ``[]``.", - "id": "ui_test_mount_rationale_2882" - }, - { - "label": "A raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2894", - "community": 50, - "norm_label": "a raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "id": "ui_test_mount_rationale_2894" - }, - { - "label": "A raising evaluator degrades to 'not ready' (banner stays up).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2916", - "community": 50, - "norm_label": "a raising evaluator degrades to 'not ready' (banner stays up).", - "id": "ui_test_mount_rationale_2916" - }, - { - "label": "An equipment id absent from config yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2929", - "community": 54, - "norm_label": "an equipment id absent from config yields ``{}``.", - "id": "ui_test_mount_rationale_2929" - }, - { - "label": "With no SYNCED rows the sweep clears nothing and toasts 'none'.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2937", - "community": 351, - "norm_label": "with no synced rows the sweep clears nothing and toasts 'none'.", - "id": "ui_test_mount_rationale_2937" - }, - { - "label": "A run root that can't yield a relative path surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2954", - "community": 54, - "norm_label": "a run root that can't yield a relative path surfaces a negative toast.", - "id": "ui_test_mount_rationale_2954" - }, - { - "label": "A failing ``controller.resume`` is caught + toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2972", - "community": 23, - "norm_label": "a failing ``controller.resume`` is caught + toasted, not raised.", - "id": "ui_test_mount_rationale_2972" - }, - { - "label": "An import/engine failure in the outer try yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L3001", - "community": 172, - "norm_label": "an import/engine failure in the outer try yields ``{}``.", - "id": "ui_test_mount_rationale_3001" - }, - { - "label": "A staging-query failure degrades to an empty dock, not a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L3017", - "community": 181, - "norm_label": "a staging-query failure degrades to an empty dock, not a crash.", - "id": "ui_test_mount_rationale_3017" - }, - { - "label": "staging_root is opt-in: a blank value finalizes cleanly (the field is option", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L91", - "community": 178, - "norm_label": "staging_root is opt-in: a blank value finalizes cleanly (the field is option", - "id": "ui_test_settings_page_rationale_91" - }, - { - "label": "A password already in the OS keyring opens the row in *Set*.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L119", - "community": 310, - "norm_label": "a password already in the os keyring opens the row in *set*.", - "id": "ui_test_settings_page_rationale_119" - }, - { - "label": "test_wizard_has_four_steps_without_signal_step()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L17", - "community": 242, - "norm_label": "test_wizard_has_four_steps_without_signal_step()", - "id": "ui_test_wizard_equipment_test_wizard_has_four_steps_without_signal_step" - }, - { - "label": "Only a fully-``synced`` run rollup is clearable.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L150", - "community": 41, - "norm_label": "only a fully-``synced`` run rollup is clearable.", - "id": "ui_test_staging_page_rationale_150" - }, - { - "label": "When NiceGUI isn't importable the renderer returns a debug dict. This is th", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L175", - "community": 41, - "norm_label": "when nicegui isn't importable the renderer returns a debug dict. this is th", - "id": "ui_test_staging_page_rationale_175" - }, - { - "label": "An empty dock state initializes without errors.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L192", - "community": 41, - "norm_label": "an empty dock state initializes without errors.", - "id": "ui_test_staging_page_rationale_192" - }, - { - "label": "The main-window refresh tokens are emitted into the :root block.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L44", - "community": 70, - "norm_label": "the main-window refresh tokens are emitted into the :root block.", - "id": "ui_test_theme_rationale_44" - }, - { - "label": "Regression guard: every var(--\u2026) referenced by a UI component is emitted. T", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L57", - "community": 70, - "norm_label": "regression guard: every var(--...) referenced by a ui component is emitted. t", - "id": "ui_test_theme_rationale_57" - }, - { - "label": "All shadows are navy-tinted (DESIGN.md \u00a704).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L134", - "community": 70, - "norm_label": "all shadows are navy-tinted (design.md \u00a704).", - "id": "ui_test_theme_rationale_134" - }, - { - "label": "The block opens with ``:root {`` per DESIGN.md \u00a707.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L147", - "community": 70, - "norm_label": "the block opens with ``:root {`` per design.md \u00a707.", - "id": "ui_test_theme_rationale_147" - }, - { - "label": "A body / heading / mono reset block follows the ``:root {}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L154", - "community": 70, - "norm_label": "a body / heading / mono reset block follows the ``:root {}``.", - "id": "ui_test_theme_rationale_154" - }, - { - "label": "In source layout, the resolver returns ``/assets/``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L163", - "community": 70, - "norm_label": "in source layout, the resolver returns ``/assets/``.", - "id": "ui_test_theme_rationale_163" - }, - { - "label": "Sanity: running without --test leaves the env var unset and writes no test confi", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L556", - "community": 9, - "norm_label": "sanity: running without --test leaves the env var unset and writes no test confi", - "id": "tray_test_main_rationale_556" - }, - { - "label": "A cancel with ``discard_files=True`` deletes the partial directory.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L496", - "community": 415, - "norm_label": "a cancel with ``discard_files=true`` deletes the partial directory.", - "id": "controller_test_creation_flow_rationale_496" - }, - { - "label": "A cancel with ``discard_files=False`` leaves the partial directory.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L534", - "community": 410, - "norm_label": "a cancel with ``discard_files=false`` leaves the partial directory.", - "id": "controller_test_creation_flow_rationale_534" - }, - { - "label": "A rendered file containing ```` must trip the post-validate gate.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L558", - "community": 141, - "norm_label": "a rendered file containing ```` must trip the post-validate gate.", - "id": "controller_test_creation_flow_rationale_558" - }, - { - "label": "T1 (\u00a7C1): the production ``ReadmeGenerator`` -- injected by ``tray.dependenc", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L688", - "community": 403, - "norm_label": "t1 (\u00a7c1): the production ``readmegenerator`` -- injected by ``tray.dependenc", - "id": "controller_test_creation_flow_rationale_688" - }, - { - "label": "A template-required README field missing from ``readme_extra`` must trigger", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L764", - "community": 409, - "norm_label": "a template-required readme field missing from ``readme_extra`` must trigger", - "id": "controller_test_creation_flow_rationale_764" - }, - { - "label": "When ``readme_extra`` supplies a non-empty value for a required field the va", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L800", - "community": 141, - "norm_label": "when ``readme_extra`` supplies a non-empty value for a required field the va", - "id": "controller_test_creation_flow_rationale_800" - }, - { - "label": "When the operator cancels the input-required prompt (host returns ``aborted=", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L844", - "community": 405, - "norm_label": "when the operator cancels the input-required prompt (host returns ``aborted=", - "id": "controller_test_creation_flow_rationale_844" - }, - { - "label": "``_cleanup`` swallows compose-path errors gracefully.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L902", - "community": 406, - "norm_label": "``_cleanup`` swallows compose-path errors gracefully.", - "id": "controller_test_creation_flow_rationale_902" - }, - { - "label": "``_cleanup`` removes the destination directory when ``discard_files=True``.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L925", - "community": 408, - "norm_label": "``_cleanup`` removes the destination directory when ``discard_files=true``.", - "id": "controller_test_creation_flow_rationale_925" - }, - { - "label": "A config.yaml-required README field missing from ``readme_extra`` must trigg", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L942", - "community": 413, - "norm_label": "a config.yaml-required readme field missing from ``readme_extra`` must trigg", - "id": "controller_test_creation_flow_rationale_942" - }, - { - "label": "A Copier render failure (e.g. dst exists) transitions the session to ``FAILE", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L968", - "community": 412, - "norm_label": "a copier render failure (e.g. dst exists) transitions the session to ``faile", - "id": "controller_test_creation_flow_rationale_968" - }, - { - "label": "The controller writes ``equipment.json`` under ``//.exlab-wiz", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L996", - "community": 307, - "norm_label": "the controller writes ``equipment.json`` under ``//.exlab-wiz", - "id": "controller_test_creation_flow_rationale_996" - }, - { - "label": "Generic exceptions are wrapped as ``internal_error``.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1012", - "community": 333, - "norm_label": "generic exceptions are wrapped as ``internal_error``.", - "id": "controller_test_creation_flow_rationale_1012" - }, - { - "label": "The best-effort log appender writes to the equipment cache dir.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1019", - "community": 333, - "norm_label": "the best-effort log appender writes to the equipment cache dir.", - "id": "controller_test_creation_flow_rationale_1019" - }, - { - "label": "A run inherits its LIMS identity from the parent project's creation.json (Ba", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1035", - "community": 307, - "norm_label": "a run inherits its lims identity from the parent project's creation.json (ba", - "id": "controller_test_creation_flow_rationale_1035" - }, - { - "label": "If ``cancel`` is invoked on a session that has not yet started a pipeline ta", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1059", - "community": 411, - "norm_label": "if ``cancel`` is invoked on a session that has not yet started a pipeline ta", - "id": "controller_test_creation_flow_rationale_1059" - }, - { - "label": "Resume against a session that has no resume queue raises.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1079", - "community": 414, - "norm_label": "resume against a session that has no resume queue raises.", - "id": "controller_test_creation_flow_rationale_1079" - }, - { - "label": "``subscribe`` initializes ``event_queue`` if the session opened with none (d", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1100", - "community": 404, - "norm_label": "``subscribe`` initializes ``event_queue`` if the session opened with none (d", - "id": "controller_test_creation_flow_rationale_1100" - }, - { - "label": "When :class:`PluginHost` returns ``aborted=True``, the controller transition", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1124", - "community": 402, - "norm_label": "when :class:`pluginhost` returns ``aborted=true``, the controller transition", - "id": "controller_test_creation_flow_rationale_1124" - }, - { - "label": "The ``_required_field_ids`` helper must skip non-dict entries in the templat", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1169", - "community": 407, - "norm_label": "the ``_required_field_ids`` helper must skip non-dict entries in the templat", - "id": "controller_test_creation_flow_rationale_1169" - }, - { - "label": "A run whose parent project folder has no readable creation.json still produc", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1185", - "community": 141, - "norm_label": "a run whose parent project folder has no readable creation.json still produc", - "id": "controller_test_creation_flow_rationale_1185" - }, - { - "label": "Identity step renders the ID + label inputs.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L34", - "community": 186, - "norm_label": "identity step renders the id + label inputs.", - "id": "e2e_test_flow_16_add_equipment_rationale_34" - }, - { - "label": "Paths step renders local + NAS root inputs.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L45", - "community": 186, - "norm_label": "paths step renders local + nas root inputs.", - "id": "e2e_test_flow_16_add_equipment_rationale_45" - }, - { - "label": "Sync mode step renders the nas/stage radio.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L53", - "community": 186, - "norm_label": "sync mode step renders the nas/stage radio.", - "id": "e2e_test_flow_16_add_equipment_rationale_53" - }, - { - "label": "Review step renders Confirm; clicking it fires the success label.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L60", - "community": 186, - "norm_label": "review step renders confirm; clicking it fires the success label.", - "id": "e2e_test_flow_16_add_equipment_rationale_60" - }, - { - "label": "An empty wizard: Next stays disabled until the identity step is valid, then", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L70", - "community": 186, - "norm_label": "an empty wizard: next stays disabled until the identity step is valid, then", - "id": "e2e_test_flow_16_add_equipment_rationale_70" - }, - { - "label": "Navigate to ``url`` with one retry on transient NiceGUI failures.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L22", - "community": 96, - "norm_label": "navigate to ``url`` with one retry on transient nicegui failures.", - "id": "e2e_test_flow_25_production_main_wiring_rationale_22" - }, - { - "label": "The /main route mounts the redesigned renderer, not the legacy one. Asserts", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L41", - "community": 96, - "norm_label": "the /main route mounts the redesigned renderer, not the legacy one. asserts", - "id": "e2e_test_flow_25_production_main_wiring_rationale_41" - }, - { - "label": "The Add Equipment toolbar button navigates to /wizard/equipment.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L76", - "community": 96, - "norm_label": "the add equipment toolbar button navigates to /wizard/equipment.", - "id": "e2e_test_flow_25_production_main_wiring_rationale_76" - }, - { - "label": "Clicking an equipment node updates the URL with ?selected=. Exercises o", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L83", - "community": 96, - "norm_label": "clicking an equipment node updates the url with ?selected=. exercises o", - "id": "e2e_test_flow_25_production_main_wiring_rationale_83" - }, - { - "label": "Loading /main?selected=TEST_EQ1 directly renders the centre + right panes.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L96", - "community": 96, - "norm_label": "loading /main?selected=test_eq1 directly renders the centre + right panes.", - "id": "e2e_test_flow_25_production_main_wiring_rationale_96" - }, - { - "label": "Clicking a breadcrumb segment routes back through /main?selected=. The brea", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L106", - "community": 96, - "norm_label": "clicking a breadcrumb segment routes back through /main?selected=. the brea", - "id": "e2e_test_flow_25_production_main_wiring_rationale_106" - }, - { - "label": "Clicking the right-pane toggle flips ?right_pane=collapsed in the URL.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L122", - "community": 96, - "norm_label": "clicking the right-pane toggle flips ?right_pane=collapsed in the url.", - "id": "e2e_test_flow_25_production_main_wiring_rationale_122" - }, - { - "label": "Owned-equipment Edit menu navigates to /settings with the equipment id. Rou", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L133", - "community": 96, - "norm_label": "owned-equipment edit menu navigates to /settings with the equipment id. rou", - "id": "e2e_test_flow_25_production_main_wiring_rationale_133" - }, - { - "label": "Selecting a TEST_RELAY_* node disables the New Project/Run/Test-Run buttons.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L148", - "community": 96, - "norm_label": "selecting a test_relay_* node disables the new project/run/test-run buttons.", - "id": "e2e_test_flow_25_production_main_wiring_rationale_148" - }, - { - "label": "The footer Clear-verified button is wired to a callback. Asserts the button", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L173", - "community": 96, - "norm_label": "the footer clear-verified button is wired to a callback. asserts the button", - "id": "e2e_test_flow_25_production_main_wiring_rationale_173" - }, - { - "label": "uvicorn ``--factory`` entrypoint.", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L931", - "community": 39, - "norm_label": "uvicorn ``--factory`` entrypoint.", - "id": "e2e_test_app_rationale_931" - }, - { - "label": "Register the design tokens with NiceGUI / Quasar at app start. Imports Nice", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L113", - "community": 39, - "norm_label": "register the design tokens with nicegui / quasar at app start. imports nice", - "id": "ui_theme_rationale_113" - }, - { - "label": "Return the absolute path to the bundled ``assets/`` directory. Resolves bot", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L142", - "community": 39, - "norm_label": "return the absolute path to the bundled ``assets/`` directory. resolves bot", - "id": "ui_theme_rationale_142" - }, - { - "label": "Mount the project's ``assets/`` directory at ``/assets``. Idempotent: a mod", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L157", - "community": 39, - "norm_label": "mount the project's ``assets/`` directory at ``/assets``. idempotent: a mod", - "id": "ui_theme_rationale_157" - }, - { - "label": "_bulk_clear_verified()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1330", - "community": 161, - "norm_label": "_bulk_clear_verified()", - "id": "ui_mount_bulk_clear_verified" - }, - { - "label": "_build_staging_state()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2085", - "community": 77, - "norm_label": "_build_staging_state()", - "id": "ui_mount_build_staging_state" - }, - { - "label": "_render_unavailable()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2117", - "community": 77, - "norm_label": "_render_unavailable()", - "id": "ui_mount_render_unavailable" - }, - { - "label": "Schedule ``coro`` and keep a strong reference until it finishes.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L59", - "community": 55, - "norm_label": "schedule ``coro`` and keep a strong reference until it finishes.", - "id": "ui_mount_rationale_59" - }, - { - "label": "Register every wizard page on ``app`` and mount NiceGUI at ``/``. ``storage", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L67", - "community": 39, - "norm_label": "register every wizard page on ``app`` and mount nicegui at ``/``. ``storage", - "id": "ui_mount_rationale_67" - }, - { - "label": "Define every ``@ui.page(...)`` handler. Called from :func:`mount_ui`.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L95", - "community": 39, - "norm_label": "define every ``@ui.page(...)`` handler. called from :func:`mount_ui`.", - "id": "ui_mount_rationale_95" - }, - { - "label": "Build the LIMS-password Save / Clear handlers for the settings dialog. Cred", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L469", - "community": 77, - "norm_label": "build the lims-password save / clear handlers for the settings dialog. cred", - "id": "ui_mount_rationale_469" - }, - { - "label": "Run the rclone NAS-remote probe and adapt it for the inline panel. rclone.c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L523", - "community": 228, - "norm_label": "run the rclone nas-remote probe and adapt it for the inline panel. rclone.c", - "id": "ui_mount_rationale_523" - }, - { - "label": "Write ``updated`` via ``deps.save_config`` and hot-reload components. Retur", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L579", - "community": 77, - "norm_label": "write ``updated`` via ``deps.save_config`` and hot-reload components. retur", - "id": "ui_mount_rationale_579" - }, - { - "label": "Create the staging directory when the operator saved a non-empty path. ``st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L611", - "community": 77, - "norm_label": "create the staging directory when the operator saved a non-empty path. ``st", - "id": "ui_mount_rationale_611" - }, - { - "label": "Push ``updated`` into the running components (no tray relaunch). Wraps :fun", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L637", - "community": 77, - "norm_label": "push ``updated`` into the running components (no tray relaunch). wraps :fun", - "id": "ui_mount_rationale_637" - }, - { - "label": "True when nas-mode equipment exist but the ``nas:`` remote is unusable. rcl", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L654", - "community": 82, - "norm_label": "true when nas-mode equipment exist but the ``nas:`` remote is unusable. rcl", - "id": "ui_mount_rationale_654" - }, - { - "label": "Return True when the \u00a74.9 setup state is ``READY``. Delegates to :func:`api", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L678", - "community": 52, - "norm_label": "return true when the \u00a74.9 setup state is ``ready``. delegates to :func:`api", - "id": "ui_mount_rationale_678" - }, - { - "label": "Register / unregister platform autostart; return the real post-op state. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L710", - "community": 153, - "norm_label": "register / unregister platform autostart; return the real post-op state. re", - "id": "ui_mount_rationale_710" - }, - { - "label": "Return the (session_id, session) pairs the Operations panel shows. The \u00a79.5", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L769", - "community": 204, - "norm_label": "return the (session_id, session) pairs the operations panel shows. the \u00a79.5", - "id": "ui_mount_rationale_769" - }, - { - "label": "Return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L786", - "community": 204, - "norm_label": "return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "id": "ui_mount_rationale_786" - }, - { - "label": "Return the \u00a74.9.3 next-action string for the banner subline. Unlike :func:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L803", - "community": 52, - "norm_label": "return the \u00a74.9.3 next-action string for the banner subline. unlike :func:`", - "id": "ui_mount_rationale_803" - }, - { - "label": "Compose the ``?selected=...&right_pane=...`` query string for /main. Omits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L833", - "community": 209, - "norm_label": "compose the ``?selected=...&right_pane=...`` query string for /main. omits", - "id": "ui_mount_rationale_833" - }, - { - "label": "Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L866", - "community": 209, - "norm_label": "map a selected node id to ``(kind, is_received)``. mirrors the shape classi", - "id": "ui_mount_rationale_866" - }, - { - "label": "Build the metadata-pane payload for the selected node, by kind. Returns ``{", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L910", - "community": 151, - "norm_label": "build the metadata-pane payload for the selected node, by kind. returns ``{", - "id": "ui_mount_rationale_910" - }, - { - "label": "Project equipment-config fields into the owned-equipment payload.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L937", - "community": 151, - "norm_label": "project equipment-config fields into the owned-equipment payload.", - "id": "ui_mount_rationale_937" - }, - { - "label": "Return the relay-equipment payload (label, source_host).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L952", - "community": 151, - "norm_label": "return the relay-equipment payload (label, source_host).", - "id": "ui_mount_rationale_952" - }, - { - "label": "Derive a project payload from the on-disk project directory. ``node_id`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L966", - "community": 210, - "norm_label": "derive a project payload from the on-disk project directory. ``node_id`` is", - "id": "ui_mount_rationale_966" - }, - { - "label": "Count immediate child directories of ``parent`` whose names start with ``pre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1000", - "community": 163, - "norm_label": "count immediate child directories of ``parent`` whose names start with ``pre", - "id": "ui_mount_rationale_1000" - }, - { - "label": "Decode the run's creation.json into the metadata-pane payload. Returns ``{}", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1015", - "community": 163, - "norm_label": "decode the run's creation.json into the metadata-pane payload. returns ``{}", - "id": "ui_mount_rationale_1015" - }, - { - "label": "Resolve a centre-list selection (file or folder) to a render payload. Phase", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1058", - "community": 163, - "norm_label": "resolve a centre-list selection (file or folder) to a render payload. phase", - "id": "ui_mount_rationale_1058" - }, - { - "label": "Aggregate a one-level folder scan into a folder-card payload (OQ-4/B). Phas", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1107", - "community": 163, - "norm_label": "aggregate a one-level folder scan into a folder-card payload (oq-4/b). phas", - "id": "ui_mount_rationale_1107" - }, - { - "label": "Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1148", - "community": 188, - "norm_label": "mount / rebind the per-tab folderfeed and return current entries. uses ``ap", - "id": "ui_mount_rationale_1148" - }, - { - "label": "FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1209", - "community": 188, - "norm_label": "folderfeed fetch hook. skips when the tree just walked. runs the synchronou", - "id": "ui_mount_rationale_1209" - }, - { - "label": "Force a fresh single-folder scan and prime the feed payload (OQ-1/A). The F", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1233", - "community": 55, - "norm_label": "force a fresh single-folder scan and prime the feed payload (oq-1/a). the f", - "id": "ui_mount_rationale_1233" - }, - { - "label": "Dispatch a per-run context action to its backend surface. Mirrors :func:`ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1273", - "community": 55, - "norm_label": "dispatch a per-run context action to its backend surface. mirrors :func:`ap", - "id": "ui_mount_rationale_1273" - }, - { - "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1331", - "community": 161, - "norm_label": "bulk-clear every staged run whose sync job is verified. wired from the file", - "id": "ui_mount_rationale_1331" - }, - { - "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1376", - "community": 161, - "norm_label": "handle ``open in os`` / ``copy path`` / ``keep local`` file actions.", - "id": "ui_mount_rationale_1376" - }, - { - "label": "Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1415", - "community": 55, - "norm_label": "flip a file's ``keep_local`` flag via the orchestrator's writer. operator-f", - "id": "ui_mount_rationale_1415" - }, - { - "label": "Launch the host OS's default opener for ``path``. Returns False on platform", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1458", - "community": 164, - "norm_label": "launch the host os's default opener for ``path``. returns false on platform", - "id": "ui_mount_rationale_1458" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1486", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the", - "id": "ui_mount_rationale_1486" - }, - { - "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1498", - "community": 40, - "norm_label": "open the in-flight operations panel (frontend \u00a79.5). builds a fresh snapsho", - "id": "ui_mount_rationale_1498" - }, - { - "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1522", - "community": 164, - "norm_label": "show a lightweight details/\"log\" dialog for one in-flight operation. the \u00a79", - "id": "ui_mount_rationale_1522" - }, - { - "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1556", - "community": 28, - "norm_label": "resume a suspended session by re-opening its \u00a79.1 input dialog (t5). reads", - "id": "ui_mount_rationale_1556" - }, - { - "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1588", - "community": 40, - "norm_label": "open the \u00a79.1 escalation dialog; submit resumes, cancel confirms (t5). subm", - "id": "ui_mount_rationale_1588" - }, - { - "label": "Resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1626", - "community": 28, - "norm_label": "resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "id": "ui_mount_rationale_1626" - }, - { - "label": "Cancel an in-flight session via the \u00a79.4 Discard / Keep dialog (T4). The op", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1635", - "community": 28, - "norm_label": "cancel an in-flight session via the \u00a79.4 discard / keep dialog (t4). the op", - "id": "ui_mount_rationale_1635" - }, - { - "label": "Open a NiceGUI dialog showing the run's sync-queue job state. The operator-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1676", - "community": 55, - "norm_label": "open a nicegui dialog showing the run's sync-queue job state. the operator-", - "id": "ui_mount_rationale_1676" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1724", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a", - "id": "ui_mount_rationale_1724" - }, - { - "label": "Return the configured templates directory, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1757", - "community": 40, - "norm_label": "return the configured templates directory, or ``none``.", - "id": "ui_mount_rationale_1757" - }, - { - "label": "List template directory names of ``template_type`` under templates_dir.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1765", - "community": 40, - "norm_label": "list template directory names of ``template_type`` under templates_dir.", - "id": "ui_mount_rationale_1765" - }, - { - "label": "Map each ``template_type`` template name to its parsed copier questions. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1782", - "community": 63, - "norm_label": "map each ``template_type`` template name to its parsed copier questions. re", - "id": "ui_mount_rationale_1782" - }, - { - "label": "Read the offline-catalogue projects (disconnected-workstation source). Read", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1815", - "community": 162, - "norm_label": "read the offline-catalogue projects (disconnected-workstation source). read", - "id": "ui_mount_rationale_1815" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1849", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv", - "id": "ui_mount_rationale_1849" - }, - { - "label": "Return the configured equipment IDs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1879", - "community": 63, - "norm_label": "return the configured equipment ids.", - "id": "ui_mount_rationale_1879" - }, - { - "label": "Await a controller session's pipeline task and return the final handle. ``c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1887", - "community": 63, - "norm_label": "await a controller session's pipeline task and return the final handle. ``c", - "id": "ui_mount_rationale_1887" - }, - { - "label": "Fold the controller's WS frames into the wizard's live phase bar (T2) and su", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1906", - "community": 40, - "norm_label": "fold the controller's ws frames into the wizard's live phase bar (t2) and su", - "id": "ui_mount_rationale_1906" - }, - { - "label": "Best-effort close of a NiceGUI dialog (no-op when ``None`` / test mode).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1949", - "community": 40, - "norm_label": "best-effort close of a nicegui dialog (no-op when ``none`` / test mode).", - "id": "ui_mount_rationale_1949" - }, - { - "label": "Build a ProjectCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1957", - "community": 63, - "norm_label": "build a projectcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1957" - }, - { - "label": "Build a RunCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1990", - "community": 99, - "norm_label": "build a runcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1990" - }, - { - "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2031", - "community": 99, - "norm_label": "drive a create_* call to completion and toast the outcome. when ``wizard_st", - "id": "ui_mount_rationale_2031" - }, - { - "label": "Run the validator audit, swallowing failures to a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2074", - "community": 99, - "norm_label": "run the validator audit, swallowing failures to a warn log.", - "id": "ui_mount_rationale_2074" - }, - { - "label": "One row in the centre-pane file list. ``keep_local`` mirrors the file's ``s", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L39", - "community": 0, - "norm_label": "one row in the centre-pane file list. ``keep_local`` mirrors the file's ``s", - "id": "components_file_list_rationale_39" - }, - { - "label": "Mutable state for the file list, consumed by the renderer.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L59", - "community": 147, - "norm_label": "mutable state for the file list, consumed by the renderer.", - "id": "components_file_list_rationale_59" - }, - { - "label": "Result of comparing two successive folder-list snapshots.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L72", - "community": 201, - "norm_label": "result of comparing two successive folder-list snapshots.", - "id": "components_file_list_rationale_72" - }, - { - "label": "Return additions / removals / modifications between two snapshots. Pure fun", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L83", - "community": 201, - "norm_label": "return additions / removals / modifications between two snapshots. pure fun", - "id": "components_file_list_rationale_83" - }, - { - "label": "Return the CSS background + decoration fragment for one file-list row. Pure", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L122", - "community": 139, - "norm_label": "return the css background + decoration fragment for one file-list row. pure", - "id": "components_file_list_rationale_122" - }, - { - "label": "Render the centre-pane file list. Pure render function. Double-clicking a f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L179", - "community": 202, - "norm_label": "render the centre-pane file list. pure render function. double-clicking a f", - "id": "components_file_list_rationale_179" - }, - { - "label": "Render the file-list column header row (Name / Size / Modified / Status).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L221", - "community": 202, - "norm_label": "render the file-list column header row (name / size / modified / status).", - "id": "components_file_list_rationale_221" - }, - { - "label": "Return the Vue ``@click`` expression that reaches NiceGUI's listener. Uses", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L298", - "community": 79, - "norm_label": "return the vue ``@click`` expression that reaches nicegui's listener. uses", - "id": "components_tree_rationale_298" - }, - { - "label": "Build the project / equipment tree. Returns the NiceGUI ``ui.tree`` element", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L372", - "community": 79, - "norm_label": "build the project / equipment tree. returns the nicegui ``ui.tree`` element", - "id": "components_tree_rationale_372" - }, - { - "label": "Mutable state for the metadata pane.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L37", - "community": 146, - "norm_label": "mutable state for the metadata pane.", - "id": "components_metadata_pane_rationale_37" - }, - { - "label": "Return the sub-card heading for a selected file/folder payload (pure). ``\"S", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L51", - "community": 132, - "norm_label": "return the sub-card heading for a selected file/folder payload (pure). ``\"s", - "id": "components_metadata_pane_rationale_51" - }, - { - "label": "Render the right-pane Metadata content for ``state.selected_node``. Dispatc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L67", - "community": 132, - "norm_label": "render the right-pane metadata content for ``state.selected_node``. dispatc", - "id": "components_metadata_pane_rationale_67" - }, - { - "label": "Key/value row whose value is a sync-status icon (tolerant). Mirrors :func:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L130", - "community": 132, - "norm_label": "key/value row whose value is a sync-status icon (tolerant). mirrors :func:`", - "id": "components_metadata_pane_rationale_130" - }, - { - "label": "Render the SELECTED FILE / SELECTED FOLDER sub-card (Phase 4, \u00a74.4). Append", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L148", - "community": 132, - "norm_label": "render the selected file / selected folder sub-card (phase 4, \u00a74.4). append", - "id": "components_metadata_pane_rationale_148" - }, - { - "label": "Compute a :class:`SegmentSpec` from a label and state. The state controls t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L46", - "community": 52, - "norm_label": "compute a :class:`segmentspec` from a label and state. the state controls t", - "id": "components_status_bar_segment_rationale_46" - }, - { - "label": "Build a clickable status-bar segment.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L70", - "community": 52, - "norm_label": "build a clickable status-bar segment.", - "id": "components_status_bar_segment_rationale_70" - }, - { - "label": "Compute icon + tooltip + retry-counter for a sync status. The ``retry_n``/`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L125", - "community": 205, - "norm_label": "compute icon + tooltip + retry-counter for a sync status. the ``retry_n``/`", - "id": "components_sync_status_icon_rationale_125" - }, - { - "label": "Build a NiceGUI row containing the icon and optional retry counter. ``stric", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L164", - "community": 251, - "norm_label": "build a nicegui row containing the icon and optional retry counter. ``stric", - "id": "components_sync_status_icon_rationale_164" - }, - { - "label": "Context manager rendering a framed, titled pane; yields the body element. U", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L96", - "community": 61, - "norm_label": "context manager rendering a framed, titled pane; yields the body element. u", - "id": "components_framed_pane_rationale_96" - }, - { - "label": "Mutable state for the in-flight Add-Equipment wizard.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L52", - "community": 260, - "norm_label": "mutable state for the in-flight add-equipment wizard.", - "id": "pages_wizard_equipment_rationale_52" - }, - { - "label": "Return True if the active step has the data it needs to advance. Pure funct", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L73", - "community": 229, - "norm_label": "return true if the active step has the data it needs to advance. pure funct", - "id": "pages_wizard_equipment_rationale_73" - }, - { - "label": "Build the final EquipmentConfig from the wizard's state. Raises a pydantic", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L101", - "community": 229, - "norm_label": "build the final equipmentconfig from the wizard's state. raises a pydantic", - "id": "pages_wizard_equipment_rationale_101" - }, - { - "label": "Render the self-contained Add-Equipment wizard. Next / Back navigation is h", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L121", - "community": 260, - "norm_label": "render the self-contained add-equipment wizard. next / back navigation is h", - "id": "pages_wizard_equipment_rationale_121" - }, - { - "label": "Return the nas-mode equipment for ``config``. Drives the NAS-remote section", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L63", - "community": 248, - "norm_label": "return the nas-mode equipment for ``config``. drives the nas-remote section", - "id": "pages_settings_rationale_63" - }, - { - "label": "Return the visible section ids for ``config``. The NAS-remote section is in", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L78", - "community": 248, - "norm_label": "return the visible section ids for ``config``. the nas-remote section is in", - "id": "pages_settings_rationale_78" - }, - { - "label": "Mutable state for the dialog.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L97", - "community": 421, - "norm_label": "mutable state for the dialog.", - "id": "pages_settings_rationale_97" - }, - { - "label": "Return the first section ID in canonical order that's incomplete. The dynam", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L106", - "community": 420, - "norm_label": "return the first section id in canonical order that's incomplete. the dynam", - "id": "pages_settings_rationale_106" - }, - { - "label": "Compute the *Save all* button label, including the badge count.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L126", - "community": 220, - "norm_label": "compute the *save all* button label, including the badge count.", - "id": "pages_settings_rationale_126" - }, - { - "label": "Return ``True`` when the sidebar should decorate ``section``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L136", - "community": 220, - "norm_label": "return ``true`` when the sidebar should decorate ``section``.", - "id": "pages_settings_rationale_136" - }, - { - "label": "Return ``True`` when ``section`` has uncommitted edits.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L142", - "community": 220, - "norm_label": "return ``true`` when ``section`` has uncommitted edits.", - "id": "pages_settings_rationale_142" - }, - { - "label": "Return the editable deep-copy draft the settings dialog mutates. ``None`` (", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L148", - "community": 178, - "norm_label": "return the editable deep-copy draft the settings dialog mutates. ``none`` (", - "id": "pages_settings_rationale_148" - }, - { - "label": "Re-validate a mutated draft into a clean :class:`Config`. The dialog's two-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L159", - "community": 178, - "norm_label": "re-validate a mutated draft into a clean :class:`config`. the dialog's two-", - "id": "pages_settings_rationale_159" - }, - { - "label": "Return the credential-row state seeding the LIMS password field. A password", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L177", - "community": 310, - "norm_label": "return the credential-row state seeding the lims password field. a password", - "id": "pages_settings_rationale_177" - }, - { - "label": "Render the settings dialog. ``config`` is the live ``config.yaml`` model (o", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L206", - "community": 220, - "norm_label": "render the settings dialog. ``config`` is the live ``config.yaml`` model (o", - "id": "pages_settings_rationale_206" - }, - { - "label": "Reusable chip / list editor bound to a draft string list (T7 / T10). Mutate", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L395", - "community": 230, - "norm_label": "reusable chip / list editor bound to a draft string list (t7 / t10). mutate", - "id": "pages_settings_rationale_395" - }, - { - "label": "Render the content for a single section, bound to ``draft``. Every scalar f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L484", - "community": 230, - "norm_label": "render the content for a single section, bound to ``draft``. every scalar f", - "id": "pages_settings_rationale_484" - }, - { - "label": "Render the equipment list + a full add-equipment sub-form. Adding an entry", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L705", - "community": 230, - "norm_label": "render the equipment list + a full add-equipment sub-form. adding an entry", - "id": "pages_settings_rationale_705" - }, - { - "label": "Render the read-only NAS-remote status + a Test-connection panel. rclone.co", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L775", - "community": 230, - "norm_label": "render the read-only nas-remote status + a test-connection panel. rclone.co", - "id": "pages_settings_rationale_775" - }, - { - "label": "Render state for the main page. GUI/Orchestrator Redesign \u00a74: the legacy tw", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L34", - "community": 81, - "norm_label": "render state for the main page. gui/orchestrator redesign \u00a74: the legacy tw", - "id": "pages_main_rationale_34" - }, - { - "label": "The three default chips on the left-tree filter strip (\u00a73.5.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L89", - "community": 81, - "norm_label": "the three default chips on the left-tree filter strip (\u00a73.5.4).", - "id": "pages_main_rationale_89" - }, - { - "label": "Translate a chip group state into a :class:`TreeFilters`.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L99", - "community": 81, - "norm_label": "translate a chip group state into a :class:`treefilters`.", - "id": "pages_main_rationale_99" - }, - { - "label": "Return the count text shown on the Problems tab. Frontend \u00a73.2: hard count", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L110", - "community": 81, - "norm_label": "return the count text shown on the problems tab. frontend \u00a73.2: hard count", - "id": "pages_main_rationale_110" - }, - { - "label": "Banner content for the setup-incomplete state (\u00a73.1.4). ``next_action`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L122", - "community": 81, - "norm_label": "banner content for the setup-incomplete state (\u00a73.1.4). ``next_action`` is", - "id": "pages_main_rationale_122" - }, - { - "label": "Render the rebuilt three-region file-explorer main window. GUI/Orchestrator", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L172", - "community": 81, - "norm_label": "render the rebuilt three-region file-explorer main window. gui/orchestrator", - "id": "pages_main_rationale_172" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L493", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_493" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L532", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_532" - }, - { - "label": "_bootstrap_test_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L272", - "community": 0, - "norm_label": "_bootstrap_test_config()", - "id": "tray_main_bootstrap_test_config" - }, - { - "label": "Write a starter test ``config.yaml`` if one does not already exist. Called", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L273", - "community": 0, - "norm_label": "write a starter test ``config.yaml`` if one does not already exist. called", - "id": "tray_main_rationale_273" - }, - { - "label": "Server-only loop. Boots the FastAPI server, prints the published port, waits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L351", - "community": 110, - "norm_label": "server-only loop. boots the fastapi server, prints the published port, waits", - "id": "tray_main_rationale_351" - }, - { - "label": "``exlab-wizard-tray`` entry point. The main thread runs pystray; the FastAP", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L384", - "community": 110, - "norm_label": "``exlab-wizard-tray`` entry point. the main thread runs pystray; the fastap", - "id": "tray_main_rationale_384" - }, - { - "label": "_readme_decls_from_template()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1269", - "community": 5, - "norm_label": "_readme_decls_from_template()", - "id": "controller_creation_readme_decls_from_template" - }, - { - "label": "_readme_decls_from_config()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1301", - "community": 5, - "norm_label": "_readme_decls_from_config()", - "id": "controller_creation_readme_decls_from_config" - }, - { - "label": "_os_username()", - "file_type": "code", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1326", - "community": 5, - "norm_label": "_os_username()", - "id": "controller_creation_os_username" - }, - { - "label": "Inputs for :meth:`CreationController.create_project`. Backend Spec \u00a74.6.1 /", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L142", - "community": 10, - "norm_label": "inputs for :meth:`creationcontroller.create_project`. backend spec \u00a74.6.1 /", - "id": "controller_creation_rationale_142" - }, - { - "label": "Inputs for :meth:`CreationController.create_run`. Backend Spec \u00a74.6.1 / UI-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L161", - "community": 10, - "norm_label": "inputs for :meth:`creationcontroller.create_run`. backend spec \u00a74.6.1 / ui-", - "id": "controller_creation_rationale_161" - }, - { - "label": "Snapshot of session state. Backend Spec \u00a74.4.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L186", - "community": 10, - "norm_label": "snapshot of session state. backend spec \u00a74.4.1.", - "id": "controller_creation_rationale_186" - }, - { - "label": "The README generator surface the controller depends on. Backend \u00a710. Mirror", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L200", - "community": 10, - "norm_label": "the readme generator surface the controller depends on. backend \u00a710. mirror", - "id": "controller_creation_rationale_200" - }, - { - "label": "Lightweight README generator for tests / headless fixtures. Writes a tiny `", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L211", - "community": 10, - "norm_label": "lightweight readme generator for tests / headless fixtures. writes a tiny `", - "id": "controller_creation_rationale_211" - }, - { - "label": "No-op stand-in for :class:`NASSyncClient` until Phase 10 lands.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L233", - "community": 10, - "norm_label": "no-op stand-in for :class:`nassyncclient` until phase 10 lands.", - "id": "controller_creation_rationale_233" - }, - { - "label": "Drives the \u00a74.7 state machine end-to-end. Composes the validator (Phase 4),", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L245", - "community": 5, - "norm_label": "drives the \u00a74.7 state machine end-to-end. composes the validator (phase 4),", - "id": "controller_creation_rationale_245" - }, - { - "label": "Expose the in-memory session store for the API surface.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L291", - "community": 666, - "norm_label": "expose the in-memory session store for the api surface.", - "id": "controller_creation_rationale_291" - }, - { - "label": "Swap the controller's config (and optionally plugin host) in place. Eve", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L295", - "community": 5, - "norm_label": "swap the controller's config (and optionally plugin host) in place. eve", - "id": "controller_creation_rationale_295" - }, - { - "label": "Open a project-creation session and start the pipeline. The session is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L312", - "community": 5, - "norm_label": "open a project-creation session and start the pipeline. the session is", - "id": "controller_creation_rationale_312" - }, - { - "label": "Open a run-creation session and start the pipeline.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L325", - "community": 5, - "norm_label": "open a run-creation session and start the pipeline.", - "id": "controller_creation_rationale_325" - }, - { - "label": "Supply ``extra_inputs`` after a ``PluginInputRequired`` prompt. Pushes", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L330", - "community": 5, - "norm_label": "supply ``extra_inputs`` after a ``plugininputrequired`` prompt. pushes", - "id": "controller_creation_rationale_330" - }, - { - "label": "Abort an in-flight session. Pushes a ``None`` onto the resume queue (so", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L354", - "community": 5, - "norm_label": "abort an in-flight session. pushes a ``none`` onto the resume queue (so", - "id": "controller_creation_rationale_354" - }, - { - "label": "Return a snapshot :class:`SessionHandle` for ``session_id``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L397", - "community": 5, - "norm_label": "return a snapshot :class:`sessionhandle` for ``session_id``.", - "id": "controller_creation_rationale_397" - }, - { - "label": "Yield WebSocket-event dicts for the named session. Wraps the session's", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L404", - "community": 5, - "norm_label": "yield websocket-event dicts for the named session. wraps the session's", - "id": "controller_creation_rationale_404" - }, - { - "label": "Validate the request, then spawn the pipeline as a background task. The", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L428", - "community": 5, - "norm_label": "validate the request, then spawn the pipeline as a background task. the", - "id": "controller_creation_rationale_428" - }, - { - "label": "Run the \u00a72 mandatory-core-field gate. Raises :class:`ValidationError` o", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L466", - "community": 5, - "norm_label": "run the \u00a72 mandatory-core-field gate. raises :class:`validationerror` o", - "id": "controller_creation_rationale_466" - }, - { - "label": "Drive the session from RENDERING to DONE / FAILED / ABORTED.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L608", - "community": 5, - "norm_label": "drive the session from rendering to done / failed / aborted.", - "id": "controller_creation_rationale_608" - }, - { - "label": "Run the RENDERING \u2192 DONE pipeline once.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L628", - "community": 5, - "norm_label": "run the rendering \u2192 done pipeline once.", - "id": "controller_creation_rationale_628" - }, - { - "label": "Return the LIMS project ``short_id`` for the request. For a project req", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L734", - "community": 667, - "norm_label": "return the lims project ``short_id`` for the request. for a project req", - "id": "controller_creation_rationale_734" - }, - { - "label": "Return the human-readable LIMS project name for the request. This is th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L750", - "community": 668, - "norm_label": "return the human-readable lims project name for the request. this is th", - "id": "controller_creation_rationale_750" - }, - { - "label": "Read the parent project's ``lims_project`` block for a run. A run inher", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L763", - "community": 5, - "norm_label": "read the parent project's ``lims_project`` block for a run. a run inher", - "id": "controller_creation_rationale_763" - }, - { - "label": "Return the ``run_kind`` value to record on ``creation.json``. Project-l", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L783", - "community": 669, - "norm_label": "return the ``run_kind`` value to record on ``creation.json``. project-l", - "id": "controller_creation_rationale_783" - }, - { - "label": "Render the resolved template into ``dst``. Copier receives the request'", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L816", - "community": 5, - "norm_label": "render the resolved template into ``dst``. copier receives the request'", - "id": "controller_creation_rationale_816" - }, - { - "label": "Compose the \u00a710 four-layer :class:`ReadmeContext` for ``req``. Maps the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L905", - "community": 5, - "norm_label": "compose the \u00a710 four-layer :class:`readmecontext` for ``req``. maps the", - "id": "controller_creation_rationale_905" - }, - { - "label": "Write README + creation.json into the destination tree.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L973", - "community": 25, - "norm_label": "write readme + creation.json into the destination tree.", - "id": "controller_creation_rationale_973" - }, - { - "label": "Write the per-equipment ``equipment.json`` registry record. Backend Spe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1083", - "community": 25, - "norm_label": "write the per-equipment ``equipment.json`` registry record. backend spe", - "id": "controller_creation_rationale_1083" - }, - { - "label": "Run :meth:`Validator.validate_creation` against the rendered tree. Catc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1120", - "community": 5, - "norm_label": "run :meth:`validator.validate_creation` against the rendered tree. catc", - "id": "controller_creation_rationale_1120" - }, - { - "label": "Remove or leave the partial directory per the spec.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1199", - "community": 5, - "norm_label": "remove or leave the partial directory per the spec.", - "id": "controller_creation_rationale_1199" - }, - { - "label": "Best-effort append to the equipment-level log. Backend Spec \u00a711.5. Comp", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1232", - "community": 5, - "norm_label": "best-effort append to the equipment-level log. backend spec \u00a711.5. comp", - "id": "controller_creation_rationale_1232" - }, - { - "label": "Return the ``id`` of every entry in ``extra_fields`` with ``required: true``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1257", - "community": 5, - "norm_label": "return the ``id`` of every entry in ``extra_fields`` with ``required: true``.", - "id": "controller_creation_rationale_1257" - }, - { - "label": "Map a template's ``_exlab_readme.fields`` dicts to typed declarations. Entr", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1270", - "community": 5, - "norm_label": "map a template's ``_exlab_readme.fields`` dicts to typed declarations. entr", - "id": "controller_creation_rationale_1270" - }, - { - "label": "Map ``config.readme.defaults`` entries to typed declarations. Core field id", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1302", - "community": 5, - "norm_label": "map ``config.readme.defaults`` entries to typed declarations. core field id", - "id": "controller_creation_rationale_1302" - }, - { - "label": "Return the creating OS user for the README ``system.created_by``. Distinct", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1327", - "community": 5, - "norm_label": "return the creating os user for the readme ``system.created_by``. distinct", - "id": "controller_creation_rationale_1327" - }, - { - "label": "Stash the resolved template on the request so the pipeline can re-use it. T", - "file_type": "rationale", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1346", - "community": 5, - "norm_label": "stash the resolved template on the request so the pipeline can re-use it. t", - "id": "controller_creation_rationale_1346" - }, - { - "label": "RESUME.md", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L1", - "community": 235, - "norm_label": "resume.md", - "id": "resume_md" - }, - { - "label": "RESUME \u2014 Main-window UI refresh (Phase 4 done; post-demo UI batch committed)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L1", - "community": 235, - "norm_label": "resume \u2014 main-window ui refresh (phase 4 done; post-demo ui batch committed)", - "id": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_post_demo_ui_batch_committed" - }, - { - "label": "\u23e9 CURRENT STATE (2026-05-29, session 2)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L7", - "community": 235, - "norm_label": "\u23e9 current state (2026-05-29, session 2)", - "id": "exlabwizard_resume_current_state_2026_05_29_session_2" - }, - { - "label": "How to work (lessons from this session \u2014 important)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L47", - "community": 235, - "norm_label": "how to work (lessons from this session \u2014 important)", - "id": "exlabwizard_resume_how_to_work_lessons_from_this_session_important" - }, - { - "label": "Where things stand", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L70", - "community": 235, - "norm_label": "where things stand", - "id": "exlabwizard_resume_where_things_stand" - }, - { - "label": "Committed (clean) \u2014 Phases 1\u20133", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L78", - "community": 235, - "norm_label": "committed (clean) \u2014 phases 1\u20133", - "id": "exlabwizard_resume_committed_clean_phases_1_3" - }, - { - "label": "UNCOMMITTED partial Phase 4 (working tree, additive + backward-compatible)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L86", - "community": 235, - "norm_label": "uncommitted partial phase 4 (working tree, additive + backward-compatible)", - "id": "exlabwizard_resume_uncommitted_partial_phase_4_working_tree_additive_backward_compatible" - }, - { - "label": "Phase 4 remaining work (Option B \u2014 selection \u2192 metadata)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L100", - "community": 235, - "norm_label": "phase 4 remaining work (option b \u2014 selection \u2192 metadata)", - "id": "exlabwizard_resume_phase_4_remaining_work_option_b_selection_metadata" - }, - { - "label": "Tests to add (Phase 4)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L148", - "community": 235, - "norm_label": "tests to add (phase 4)", - "id": "exlabwizard_resume_tests_to_add_phase_4" - }, - { - "label": "Demo checkpoint (task #6, after Phase 4 verifies green)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L158", - "community": 235, - "norm_label": "demo checkpoint (task #6, after phase 4 verifies green)", - "id": "exlabwizard_resume_demo_checkpoint_task_6_after_phase_4_verifies_green" - }, - { - "label": "Code-review findings to honor (from earlier passes)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L164", - "community": 235, - "norm_label": "code-review findings to honor (from earlier passes)", - "id": "exlabwizard_resume_code_review_findings_to_honor_from_earlier_passes" - }, - { - "label": "Quick resume verification (run sequentially, one at a time)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L171", - "community": 235, - "norm_label": "quick resume verification (run sequentially, one at a time)", - "id": "exlabwizard_resume_quick_resume_verification_run_sequentially_one_at_a_time" - }, - { - "label": "code:block1 (git branch --show-current # feature/gui-imrprovemen)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L172", - "community": 235, - "norm_label": "code:block1 (git branch --show-current # feature/gui-imrprovemen)", - "id": "exlabwizard_resume_codeblock_1" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L491", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_491" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L530", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_530" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L479", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_479" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L518", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_518" - }, - { - "label": "RESUME \u2014 Main-window UI refresh (Phase 4 DONE + committed; at demo checkpoint)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L1", - "community": 235, - "norm_label": "resume \u2014 main-window ui refresh (phase 4 done + committed; at demo checkpoint)", - "id": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_committed_at_demo_checkpoint" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L475", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_475" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L514", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_514" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L483", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_483" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L522", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_522" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L489", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_489" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L528", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_528" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L490", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_490" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L529", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_529" - }, - { - "label": "Return the framed-pane card-shell style fragment (pure; testable). Always e", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L66", - "community": 61, - "norm_label": "return the framed-pane card-shell style fragment (pure; testable). always e", - "id": "components_framed_pane_rationale_66" - }, - { - "label": "Return the title-strip style fragment (pure; testable).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L75", - "community": 61, - "norm_label": "return the title-strip style fragment (pure; testable).", - "id": "components_framed_pane_rationale_75" - }, - { - "label": "Return the scrollable-body style fragment (pure; testable).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L80", - "community": 61, - "norm_label": "return the scrollable-body style fragment (pure; testable).", - "id": "components_framed_pane_rationale_80" - }, - { - "label": "Context manager rendering a framed, titled pane; yields the body element. U", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L92", - "community": 61, - "norm_label": "context manager rendering a framed, titled pane; yields the body element. u", - "id": "components_framed_pane_rationale_92" - }, - { - "label": "Key/value row whose value is a sync-status icon (tolerant). Mirrors :func:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L124", - "community": 132, - "norm_label": "key/value row whose value is a sync-status icon (tolerant). mirrors :func:`", - "id": "components_metadata_pane_rationale_124" - }, - { - "label": "Render the SELECTED FILE / SELECTED FOLDER sub-card (Phase 4, \u00a74.4). Append", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L142", - "community": 132, - "norm_label": "render the selected file / selected folder sub-card (phase 4, \u00a74.4). append", - "id": "components_metadata_pane_rationale_142" - }, - { - "label": "uvicorn ``--factory`` entrypoint.", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L928", - "community": 39, - "norm_label": "uvicorn ``--factory`` entrypoint.", - "id": "e2e_test_app_rationale_928" - }, - { - "label": "Define every ``@ui.page(...)`` handler. Called from :func:`mount_ui`.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L90", - "community": 39, - "norm_label": "define every ``@ui.page(...)`` handler. called from :func:`mount_ui`.", - "id": "ui_mount_rationale_90" - }, - { - "label": "Build the LIMS-password Save / Clear handlers for the settings dialog. Cred", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L464", - "community": 77, - "norm_label": "build the lims-password save / clear handlers for the settings dialog. cred", - "id": "ui_mount_rationale_464" - }, - { - "label": "Run the rclone NAS-remote probe and adapt it for the inline panel. rclone.c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L518", - "community": 228, - "norm_label": "run the rclone nas-remote probe and adapt it for the inline panel. rclone.c", - "id": "ui_mount_rationale_518" - }, - { - "label": "Write ``updated`` via ``deps.save_config`` and hot-reload components. Retur", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L574", - "community": 77, - "norm_label": "write ``updated`` via ``deps.save_config`` and hot-reload components. retur", - "id": "ui_mount_rationale_574" - }, - { - "label": "Create the staging directory when the operator saved a non-empty path. ``st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L606", - "community": 77, - "norm_label": "create the staging directory when the operator saved a non-empty path. ``st", - "id": "ui_mount_rationale_606" - }, - { - "label": "Push ``updated`` into the running components (no tray relaunch). Wraps :fun", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L632", - "community": 77, - "norm_label": "push ``updated`` into the running components (no tray relaunch). wraps :fun", - "id": "ui_mount_rationale_632" - }, - { - "label": "True when nas-mode equipment exist but the ``nas:`` remote is unusable. rcl", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L649", - "community": 82, - "norm_label": "true when nas-mode equipment exist but the ``nas:`` remote is unusable. rcl", - "id": "ui_mount_rationale_649" - }, - { - "label": "Return True when the \u00a74.9 setup state is ``READY``. Delegates to :func:`api", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L673", - "community": 52, - "norm_label": "return true when the \u00a74.9 setup state is ``ready``. delegates to :func:`api", - "id": "ui_mount_rationale_673" - }, - { - "label": "Register / unregister platform autostart; return the real post-op state. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L705", - "community": 153, - "norm_label": "register / unregister platform autostart; return the real post-op state. re", - "id": "ui_mount_rationale_705" - }, - { - "label": "Return the (session_id, session) pairs the Operations panel shows. The \u00a79.5", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L764", - "community": 204, - "norm_label": "return the (session_id, session) pairs the operations panel shows. the \u00a79.5", - "id": "ui_mount_rationale_764" - }, - { - "label": "Return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L781", - "community": 204, - "norm_label": "return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "id": "ui_mount_rationale_781" - }, - { - "label": "Return the \u00a74.9.3 next-action string for the banner subline. Unlike :func:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L798", - "community": 52, - "norm_label": "return the \u00a74.9.3 next-action string for the banner subline. unlike :func:`", - "id": "ui_mount_rationale_798" - }, - { - "label": "Compose the ``?selected=...&right_pane=...`` query string for /main. Omits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L828", - "community": 209, - "norm_label": "compose the ``?selected=...&right_pane=...`` query string for /main. omits", - "id": "ui_mount_rationale_828" - }, - { - "label": "Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L861", - "community": 209, - "norm_label": "map a selected node id to ``(kind, is_received)``. mirrors the shape classi", - "id": "ui_mount_rationale_861" - }, - { - "label": "Build the metadata-pane payload for the selected node, by kind. Returns ``{", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L905", - "community": 151, - "norm_label": "build the metadata-pane payload for the selected node, by kind. returns ``{", - "id": "ui_mount_rationale_905" - }, - { - "label": "Project equipment-config fields into the owned-equipment payload.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L932", - "community": 151, - "norm_label": "project equipment-config fields into the owned-equipment payload.", - "id": "ui_mount_rationale_932" - }, - { - "label": "Return the relay-equipment payload (label, source_host).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L947", - "community": 151, - "norm_label": "return the relay-equipment payload (label, source_host).", - "id": "ui_mount_rationale_947" - }, - { - "label": "Derive a project payload from the on-disk project directory. ``node_id`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L961", - "community": 210, - "norm_label": "derive a project payload from the on-disk project directory. ``node_id`` is", - "id": "ui_mount_rationale_961" - }, - { - "label": "Count immediate child directories of ``parent`` whose names start with ``pre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L995", - "community": 210, - "norm_label": "count immediate child directories of ``parent`` whose names start with ``pre", - "id": "ui_mount_rationale_995" - }, - { - "label": "Decode the run's creation.json into the metadata-pane payload. Returns ``{}", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1010", - "community": 163, - "norm_label": "decode the run's creation.json into the metadata-pane payload. returns ``{}", - "id": "ui_mount_rationale_1010" - }, - { - "label": "Resolve a centre-list selection (file or folder) to a render payload. Phase", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1053", - "community": 163, - "norm_label": "resolve a centre-list selection (file or folder) to a render payload. phase", - "id": "ui_mount_rationale_1053" - }, - { - "label": "Aggregate a one-level folder scan into a folder-card payload (OQ-4/B). Phas", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1102", - "community": 163, - "norm_label": "aggregate a one-level folder scan into a folder-card payload (oq-4/b). phas", - "id": "ui_mount_rationale_1102" - }, - { - "label": "Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1143", - "community": 188, - "norm_label": "mount / rebind the per-tab folderfeed and return current entries. uses ``ap", - "id": "ui_mount_rationale_1143" - }, - { - "label": "FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1204", - "community": 188, - "norm_label": "folderfeed fetch hook. skips when the tree just walked. runs the synchronou", - "id": "ui_mount_rationale_1204" - }, - { - "label": "Force a fresh single-folder scan and prime the feed payload (OQ-1/A). The F", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1228", - "community": 55, - "norm_label": "force a fresh single-folder scan and prime the feed payload (oq-1/a). the f", - "id": "ui_mount_rationale_1228" - }, - { - "label": "Dispatch a per-run context action to its backend surface. Mirrors :func:`ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1268", - "community": 55, - "norm_label": "dispatch a per-run context action to its backend surface. mirrors :func:`ap", - "id": "ui_mount_rationale_1268" - }, - { - "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1326", - "community": 161, - "norm_label": "bulk-clear every staged run whose sync job is verified. wired from the file", - "id": "ui_mount_rationale_1326" - }, - { - "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1371", - "community": 161, - "norm_label": "handle ``open in os`` / ``copy path`` / ``keep local`` file actions.", - "id": "ui_mount_rationale_1371" - }, - { - "label": "Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1410", - "community": 55, - "norm_label": "flip a file's ``keep_local`` flag via the orchestrator's writer. operator-f", - "id": "ui_mount_rationale_1410" - }, - { - "label": "Launch the host OS's default opener for ``path``. Returns False on platform", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1453", - "community": 164, - "norm_label": "launch the host os's default opener for ``path``. returns false on platform", - "id": "ui_mount_rationale_1453" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1481", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the", - "id": "ui_mount_rationale_1481" - }, - { - "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1493", - "community": 28, - "norm_label": "open the in-flight operations panel (frontend \u00a79.5). builds a fresh snapsho", - "id": "ui_mount_rationale_1493" - }, - { - "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1517", - "community": 164, - "norm_label": "show a lightweight details/\"log\" dialog for one in-flight operation. the \u00a79", - "id": "ui_mount_rationale_1517" - }, - { - "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1551", - "community": 28, - "norm_label": "resume a suspended session by re-opening its \u00a79.1 input dialog (t5). reads", - "id": "ui_mount_rationale_1551" - }, - { - "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1583", - "community": 40, - "norm_label": "open the \u00a79.1 escalation dialog; submit resumes, cancel confirms (t5). subm", - "id": "ui_mount_rationale_1583" - }, - { - "label": "Resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1621", - "community": 28, - "norm_label": "resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "id": "ui_mount_rationale_1621" - }, - { - "label": "Cancel an in-flight session via the \u00a79.4 Discard / Keep dialog (T4). The op", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1630", - "community": 28, - "norm_label": "cancel an in-flight session via the \u00a79.4 discard / keep dialog (t4). the op", - "id": "ui_mount_rationale_1630" - }, - { - "label": "Open a NiceGUI dialog showing the run's sync-queue job state. The operator-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1671", - "community": 55, - "norm_label": "open a nicegui dialog showing the run's sync-queue job state. the operator-", - "id": "ui_mount_rationale_1671" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1719", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a", - "id": "ui_mount_rationale_1719" - }, - { - "label": "Return the configured templates directory, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1752", - "community": 40, - "norm_label": "return the configured templates directory, or ``none``.", - "id": "ui_mount_rationale_1752" - }, - { - "label": "List template directory names of ``template_type`` under templates_dir.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1760", - "community": 40, - "norm_label": "list template directory names of ``template_type`` under templates_dir.", - "id": "ui_mount_rationale_1760" - }, - { - "label": "Map each ``template_type`` template name to its parsed copier questions. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1777", - "community": 63, - "norm_label": "map each ``template_type`` template name to its parsed copier questions. re", - "id": "ui_mount_rationale_1777" - }, - { - "label": "Read the offline-catalogue projects (disconnected-workstation source). Read", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1810", - "community": 162, - "norm_label": "read the offline-catalogue projects (disconnected-workstation source). read", - "id": "ui_mount_rationale_1810" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1844", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv", - "id": "ui_mount_rationale_1844" - }, - { - "label": "Return the configured equipment IDs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1874", - "community": 63, - "norm_label": "return the configured equipment ids.", - "id": "ui_mount_rationale_1874" - }, - { - "label": "Await a controller session's pipeline task and return the final handle. ``c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1882", - "community": 63, - "norm_label": "await a controller session's pipeline task and return the final handle. ``c", - "id": "ui_mount_rationale_1882" - }, - { - "label": "Fold the controller's WS frames into the wizard's live phase bar (T2) and su", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1901", - "community": 40, - "norm_label": "fold the controller's ws frames into the wizard's live phase bar (t2) and su", - "id": "ui_mount_rationale_1901" - }, - { - "label": "Best-effort close of a NiceGUI dialog (no-op when ``None`` / test mode).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1944", - "community": 40, - "norm_label": "best-effort close of a nicegui dialog (no-op when ``none`` / test mode).", - "id": "ui_mount_rationale_1944" - }, - { - "label": "Build a ProjectCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1952", - "community": 63, - "norm_label": "build a projectcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1952" - }, - { - "label": "Build a RunCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1985", - "community": 99, - "norm_label": "build a runcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1985" - }, - { - "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2026", - "community": 99, - "norm_label": "drive a create_* call to completion and toast the outcome. when ``wizard_st", - "id": "ui_mount_rationale_2026" - }, - { - "label": "Run the validator audit, swallowing failures to a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2069", - "community": 99, - "norm_label": "run the validator audit, swallowing failures to a warn log.", - "id": "ui_mount_rationale_2069" - }, - { - "label": "Return the absolute path to the bundled ``assets/`` directory. Resolves bot", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L135", - "community": 39, - "norm_label": "return the absolute path to the bundled ``assets/`` directory. resolves bot", - "id": "ui_theme_rationale_135" - }, - { - "label": "Mount the project's ``assets/`` directory at ``/assets``. Idempotent: a mod", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L150", - "community": 39, - "norm_label": "mount the project's ``assets/`` directory at ``/assets``. idempotent: a mod", - "id": "ui_theme_rationale_150" - }, - { - "label": "Render the centre-pane file list. Pure render function. Double-clicking a f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L173", - "community": 202, - "norm_label": "render the centre-pane file list. pure render function. double-clicking a f", - "id": "components_file_list_rationale_173" - }, - { - "label": "Render the file-list column header row (Name / Size / Modified / Status).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L215", - "community": 202, - "norm_label": "render the file-list column header row (name / size / modified / status).", - "id": "components_file_list_rationale_215" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L485", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_485" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L524", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_524" - }, - { - "label": "uvicorn ``--factory`` entrypoint.", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L910", - "community": 39, - "norm_label": "uvicorn ``--factory`` entrypoint.", - "id": "e2e_test_app_rationale_910" - }, - { - "label": "uvicorn ``--factory`` entrypoint.", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L899", - "community": 39, - "norm_label": "uvicorn ``--factory`` entrypoint.", - "id": "e2e_test_app_rationale_899" - }, - { - "label": "uvicorn ``--factory`` entrypoint.", - "file_type": "rationale", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L896", - "community": 39, - "norm_label": "uvicorn ``--factory`` entrypoint.", - "id": "e2e_test_app_rationale_896" - }, - { - "label": "RESUME \u2014 Main-window UI refresh (Phase 4 in progress)", - "file_type": "document", - "source_file": "RESUME.md", - "source_location": "L1", - "community": 235, - "norm_label": "resume \u2014 main-window ui refresh (phase 4 in progress)", - "id": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_in_progress" - }, - { - "label": "A degraded folder scan (item_count=None / rollup=None) still renders.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L120", - "community": 146, - "norm_label": "a degraded folder scan (item_count=none / rollup=none) still renders.", - "id": "ui_test_metadata_pane_rationale_120" - }, - { - "label": "With no node selected, the sub-card sits beneath the empty-state hint.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L142", - "community": 146, - "norm_label": "with no node selected, the sub-card sits beneath the empty-state hint.", - "id": "ui_test_metadata_pane_rationale_142" - }, - { - "label": "A selected run node's content stays; the sub-card appends below it.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L150", - "community": 146, - "norm_label": "a selected run node's content stays; the sub-card appends below it.", - "id": "ui_test_metadata_pane_rationale_150" - }, - { - "label": "Nothing selected -> no scan, no write, no raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1535", - "community": 14, - "norm_label": "nothing selected -> no scan, no write, no raise.", - "id": "ui_test_mount_rationale_1535" - }, - { - "label": "A failed scan keeps the existing payload and warns.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1543", - "community": 50, - "norm_label": "a failed scan keeps the existing payload and warns.", - "id": "ui_test_mount_rationale_1543" - }, - { - "label": "macOS dispatches to the ``open`` command.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1582", - "community": 50, - "norm_label": "macos dispatches to the ``open`` command.", - "id": "ui_test_mount_rationale_1582" - }, - { - "label": "Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1615", - "community": 14, - "norm_label": "minimal nicegui surface stand-in: clipboard + navigate.to + notify.", - "id": "ui_test_mount_rationale_1615" - }, - { - "label": "``open_in_os`` action calls the platform opener and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1640", - "community": 14, - "norm_label": "``open_in_os`` action calls the platform opener and reports success.", - "id": "ui_test_mount_rationale_1640" - }, - { - "label": "When the opener returns False the action surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1652", - "community": 131, - "norm_label": "when the opener returns false the action surfaces a negative toast.", - "id": "ui_test_mount_rationale_1652" - }, - { - "label": "``copy_path`` writes the entry path to the NiceGUI clipboard.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1661", - "community": 33, - "norm_label": "``copy_path`` writes the entry path to the nicegui clipboard.", - "id": "ui_test_mount_rationale_1661" - }, - { - "label": "An unknown action verb is logged + toasted without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1669", - "community": 125, - "norm_label": "an unknown action verb is logged + toasted without raising.", - "id": "ui_test_mount_rationale_1669" - }, - { - "label": "An entry with no path triggers the early-return toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1676", - "community": 107, - "norm_label": "an entry with no path triggers the early-return toast.", - "id": "ui_test_mount_rationale_1676" - }, - { - "label": "Run any pending mount background tasks to completion.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1696", - "community": 50, - "norm_label": "run any pending mount background tasks to completion.", - "id": "ui_test_mount_rationale_1696" - }, - { - "label": "Force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1711", - "community": 86, - "norm_label": "force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "id": "ui_test_mount_rationale_1711" - }, - { - "label": "Force-sync without a wired NAS sync surfaces a negative toast (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1724", - "community": 33, - "norm_label": "force-sync without a wired nas sync surfaces a negative toast (no raise).", - "id": "ui_test_mount_rationale_1724" - }, - { - "label": "The early-exit when config is missing keeps the action a no-op.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1731", - "community": 107, - "norm_label": "the early-exit when config is missing keeps the action a no-op.", - "id": "ui_test_mount_rationale_1731" - }, - { - "label": "``view_log`` dispatches to the dialog opener helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1740", - "community": 33, - "norm_label": "``view_log`` dispatches to the dialog opener helper.", - "id": "ui_test_mount_rationale_1740" - }, - { - "label": "An unknown action verb is reported but doesn't raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1750", - "community": 33, - "norm_label": "an unknown action verb is reported but doesn't raise.", - "id": "ui_test_mount_rationale_1750" - }, - { - "label": "``clear_verified`` deletes the run directory via the local helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1759", - "community": 14, - "norm_label": "``clear_verified`` deletes the run directory via the local helper.", - "id": "ui_test_mount_rationale_1759" - }, - { - "label": "The bulk action clears every ``synced`` row and toasts the count.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1784", - "community": 14, - "norm_label": "the bulk action clears every ``synced`` row and toasts the count.", - "id": "ui_test_mount_rationale_1784" - }, - { - "label": "An exception from the clear sweep is caught + toasted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1820", - "community": 125, - "norm_label": "an exception from the clear sweep is caught + toasted.", - "id": "ui_test_mount_rationale_1820" - }, - { - "label": "Lightweight ``app`` stand-in carrying ``storage.tab``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1844", - "community": 0, - "norm_label": "lightweight ``app`` stand-in carrying ``storage.tab``.", - "id": "ui_test_mount_rationale_1844" - }, - { - "label": "Without a selected node the feed isn't started and returns ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1855", - "community": 33, - "norm_label": "without a selected node the feed isn't started and returns ``[]``.", - "id": "ui_test_mount_rationale_1855" - }, - { - "label": "The first call mounts a FolderFeed + RefreshCoordinator on tab storage.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1865", - "community": 50, - "norm_label": "the first call mounts a folderfeed + refreshcoordinator on tab storage.", - "id": "ui_test_mount_rationale_1865" - }, - { - "label": "When the feed's last_payload is set, entries are projected into FileListEntr", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1878", - "community": 86, - "norm_label": "when the feed's last_payload is set, entries are projected into filelistentr", - "id": "ui_test_mount_rationale_1878" - }, - { - "label": "A successful scan records the refresh on the coordinator.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1937", - "community": 106, - "norm_label": "a successful scan records the refresh on the coordinator.", - "id": "ui_test_mount_rationale_1937" - }, - { - "label": "A scan failure returns ``None`` so the feed keeps polling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1956", - "community": 173, - "norm_label": "a scan failure returns ``none`` so the feed keeps polling.", - "id": "ui_test_mount_rationale_1956" - }, - { - "label": "A run with no sync-queue job still renders a dialog without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1972", - "community": 173, - "norm_label": "a run with no sync-queue job still renders a dialog without raising.", - "id": "ui_test_mount_rationale_1972" - }, - { - "label": "A run with a sync-queue job renders its state without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1981", - "community": 158, - "norm_label": "a run with a sync-queue job renders its state without raising.", - "id": "ui_test_mount_rationale_1981" - }, - { - "label": "Any exception raised by a per-kind builder is logged + swallowed.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2009", - "community": 69, - "norm_label": "any exception raised by a per-kind builder is logged + swallowed.", - "id": "ui_test_mount_rationale_2009" - }, - { - "label": "The relay payload pulls id+label from build_received_equipment_nodes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2022", - "community": 158, - "norm_label": "the relay payload pulls id+label from build_received_equipment_nodes.", - "id": "ui_test_mount_rationale_2022" - }, - { - "label": "An unknown relay id still produces a payload (best-effort label).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2038", - "community": 158, - "norm_label": "an unknown relay id still produces a payload (best-effort label).", - "id": "ui_test_mount_rationale_2038" - }, - { - "label": "A node id without an equipment/project split returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2045", - "community": 86, - "norm_label": "a node id without an equipment/project split returns ``{}``.", - "id": "ui_test_mount_rationale_2045" - }, - { - "label": "Only directory children whose names start with the prefix are counted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2056", - "community": 69, - "norm_label": "only directory children whose names start with the prefix are counted.", - "id": "ui_test_mount_rationale_2056" - }, - { - "label": "A corrupt creation.json yields {path, name}, never crashes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2065", - "community": 157, - "norm_label": "a corrupt creation.json yields {path, name}, never crashes.", - "id": "ui_test_mount_rationale_2065" - }, - { - "label": "When nas_sync.enqueue raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2078", - "community": 69, - "norm_label": "when nas_sync.enqueue raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_2078" - }, - { - "label": "When the clear helper raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2094", - "community": 106, - "norm_label": "when the clear helper raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_2094" - }, - { - "label": "The 0-file path reports ``already cleared`` rather than ``cleared N``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2110", - "community": 106, - "norm_label": "the 0-file path reports ``already cleared`` rather than ``cleared n``.", - "id": "ui_test_mount_rationale_2110" - }, - { - "label": "A clipboard write failure is caught and reported as a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2123", - "community": 173, - "norm_label": "a clipboard write failure is caught and reported as a negative toast.", - "id": "ui_test_mount_rationale_2123" - }, - { - "label": "A fake ``ui`` whose factories build recording stand-ins. Unlike ``_UiSpy``", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2160", - "community": 0, - "norm_label": "a fake ``ui`` whose factories build recording stand-ins. unlike ``_uispy``", - "id": "ui_test_mount_rationale_2160" - }, - { - "label": "No probe wired -> a failure result rather than a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2204", - "community": 170, - "norm_label": "no probe wired -> a failure result rather than a crash.", - "id": "ui_test_mount_rationale_2204" - }, - { - "label": "A reachable probe maps ok/latency into a Connected result.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2216", - "community": 157, - "norm_label": "a reachable probe maps ok/latency into a connected result.", - "id": "ui_test_mount_rationale_2216" - }, - { - "label": "An async probe is awaited before its dict is mapped.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2243", - "community": 180, - "norm_label": "an async probe is awaited before its dict is mapped.", - "id": "ui_test_mount_rationale_2243" - }, - { - "label": "A half-wired install names its first-failing gate as the next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2273", - "community": 69, - "norm_label": "a half-wired install names its first-failing gate as the next action.", - "id": "ui_test_mount_rationale_2273" - }, - { - "label": "A fully-satisfied install has no outstanding next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2280", - "community": 325, - "norm_label": "a fully-satisfied install has no outstanding next action.", - "id": "ui_test_mount_rationale_2280" - }, - { - "label": "No sync-state writer wired -> negative toast, no task spawned.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2304", - "community": 106, - "norm_label": "no sync-state writer wired -> negative toast, no task spawned.", - "id": "ui_test_mount_rationale_2304" - }, - { - "label": "A path with no enclosing run root surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2313", - "community": 14, - "norm_label": "a path with no enclosing run root surfaces a negative toast.", - "id": "ui_test_mount_rationale_2313" - }, - { - "label": "A resolvable file flips keep_local via the writer and fires on_done.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2324", - "community": 23, - "norm_label": "a resolvable file flips keep_local via the writer and fires on_done.", - "id": "ui_test_mount_rationale_2324" - }, - { - "label": "The ``keep_local`` action routes to ``_toggle_keep_local``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2379", - "community": 14, - "norm_label": "the ``keep_local`` action routes to ``_toggle_keep_local``.", - "id": "ui_test_mount_rationale_2379" - }, - { - "label": "On win32 the helper calls ``os.startfile`` and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2396", - "community": 170, - "norm_label": "on win32 the helper calls ``os.startfile`` and reports success.", - "id": "ui_test_mount_rationale_2396" - }, - { - "label": "No controller -> a negative toast and no dialog open.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2430", - "community": 180, - "norm_label": "no controller -> a negative toast and no dialog open.", - "id": "ui_test_mount_rationale_2430" - }, - { - "label": "The details dialog renders the session state plus pending/error lines.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2457", - "community": 300, - "norm_label": "the details dialog renders the session state plus pending/error lines.", - "id": "ui_test_mount_rationale_2457" - }, - { - "label": "A session not awaiting input cannot be resumed -> negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2481", - "community": 14, - "norm_label": "a session not awaiting input cannot be resumed -> negative toast.", - "id": "ui_test_mount_rationale_2481" - }, - { - "label": "A suspended session re-opens its escalation dialog with parked fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2490", - "community": 171, - "norm_label": "a suspended session re-opens its escalation dialog with parked fields.", - "id": "ui_test_mount_rationale_2490" - }, - { - "label": "The dialog's Submit handler calls ``controller.resume`` in the background.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2519", - "community": 23, - "norm_label": "the dialog's submit handler calls ``controller.resume`` in the background.", - "id": "ui_test_mount_rationale_2519" - }, - { - "label": "The dialog's Cancel handler routes through ``_cancel_session``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2551", - "community": 23, - "norm_label": "the dialog's cancel handler routes through ``_cancel_session``.", - "id": "ui_test_mount_rationale_2551" - }, - { - "label": "The \u00a79.4 dialog's Discard button cancels with discard_files=True.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2591", - "community": 170, - "norm_label": "the \u00a79.4 dialog's discard button cancels with discard_files=true.", - "id": "ui_test_mount_rationale_2591" - }, - { - "label": "The Keep-files button cancels with discard_files=False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2610", - "community": 171, - "norm_label": "the keep-files button cancels with discard_files=false.", - "id": "ui_test_mount_rationale_2610" - }, - { - "label": "A cancel failure is caught and toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2627", - "community": 172, - "norm_label": "a cancel failure is caught and toasted, not raised.", - "id": "ui_test_mount_rationale_2627" - }, - { - "label": "The Back button closes the dialog without cancelling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2643", - "community": 181, - "norm_label": "the back button closes the dialog without cancelling.", - "id": "ui_test_mount_rationale_2643" - }, - { - "label": "With a job row, the dialog renders each populated field line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2657", - "community": 171, - "norm_label": "with a job row, the dialog renders each populated field line.", - "id": "ui_test_mount_rationale_2657" - }, - { - "label": "Without a job row the dialog shows the 'no sync job' line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2685", - "community": 54, - "norm_label": "without a job row the dialog shows the 'no sync job' line.", - "id": "ui_test_mount_rationale_2685" - }, - { - "label": "No progress view on the wizard state -> the consumer returns at once.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2701", - "community": 23, - "norm_label": "no progress view on the wizard state -> the consumer returns at once.", - "id": "ui_test_mount_rationale_2701" - }, - { - "label": "An input_required frame opens the dialog; a done frame closes it.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2712", - "community": 23, - "norm_label": "an input_required frame opens the dialog; a done frame closes it.", - "id": "ui_test_mount_rationale_2712" - }, - { - "label": "A subscribe error is logged, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2749", - "community": 23, - "norm_label": "a subscribe error is logged, not raised.", - "id": "ui_test_mount_rationale_2749" - }, - { - "label": "Submitting a run with no template selected surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2789", - "community": 170, - "norm_label": "submitting a run with no template selected surfaces a negative toast.", - "id": "ui_test_mount_rationale_2789" - }, - { - "label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2800", - "community": 172, - "norm_label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "id": "ui_test_mount_rationale_2800" - }, - { - "label": "Non-EquipmentNode keys in the hierarchy are ignored; unknown root -> treated", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2829", - "community": 54, - "norm_label": "non-equipmentnode keys in the hierarchy are ignored; unknown root -> treated", - "id": "ui_test_mount_rationale_2829" - }, - { - "label": "The received_equipment kind routes to the relay-equipment builder.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2838", - "community": 181, - "norm_label": "the received_equipment kind routes to the relay-equipment builder.", - "id": "ui_test_mount_rationale_2838" - }, - { - "label": "A matching equipment id projects its config fields into the payload.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2854", - "community": 54, - "norm_label": "a matching equipment id projects its config fields into the payload.", - "id": "ui_test_mount_rationale_2854" - }, - { - "label": "A schema_version mismatch (read_catalogue -> None) yields ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2876", - "community": 54, - "norm_label": "a schema_version mismatch (read_catalogue -> none) yields ``[]``.", - "id": "ui_test_mount_rationale_2876" - }, - { - "label": "A raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2888", - "community": 50, - "norm_label": "a raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "id": "ui_test_mount_rationale_2888" - }, - { - "label": "A raising evaluator degrades to 'not ready' (banner stays up).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2910", - "community": 50, - "norm_label": "a raising evaluator degrades to 'not ready' (banner stays up).", - "id": "ui_test_mount_rationale_2910" - }, - { - "label": "An equipment id absent from config yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2923", - "community": 54, - "norm_label": "an equipment id absent from config yields ``{}``.", - "id": "ui_test_mount_rationale_2923" - }, - { - "label": "With no SYNCED rows the sweep clears nothing and toasts 'none'.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2931", - "community": 351, - "norm_label": "with no synced rows the sweep clears nothing and toasts 'none'.", - "id": "ui_test_mount_rationale_2931" - }, - { - "label": "A run root that can't yield a relative path surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2948", - "community": 54, - "norm_label": "a run root that can't yield a relative path surfaces a negative toast.", - "id": "ui_test_mount_rationale_2948" - }, - { - "label": "A failing ``controller.resume`` is caught + toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2966", - "community": 23, - "norm_label": "a failing ``controller.resume`` is caught + toasted, not raised.", - "id": "ui_test_mount_rationale_2966" - }, - { - "label": "An import/engine failure in the outer try yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2995", - "community": 172, - "norm_label": "an import/engine failure in the outer try yields ``{}``.", - "id": "ui_test_mount_rationale_2995" - }, - { - "label": "A staging-query failure degrades to an empty dock, not a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L3011", - "community": 181, - "norm_label": "a staging-query failure degrades to an empty dock, not a crash.", - "id": "ui_test_mount_rationale_3011" - }, - { - "label": "Dispatch a per-run context action to its backend surface. Mirrors :func:`ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1261", - "community": 55, - "norm_label": "dispatch a per-run context action to its backend surface. mirrors :func:`ap", - "id": "ui_mount_rationale_1261" - }, - { - "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1319", - "community": 161, - "norm_label": "bulk-clear every staged run whose sync job is verified. wired from the file", - "id": "ui_mount_rationale_1319" - }, - { - "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1364", - "community": 161, - "norm_label": "handle ``open in os`` / ``copy path`` / ``keep local`` file actions.", - "id": "ui_mount_rationale_1364" - }, - { - "label": "Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1403", - "community": 55, - "norm_label": "flip a file's ``keep_local`` flag via the orchestrator's writer. operator-f", - "id": "ui_mount_rationale_1403" - }, - { - "label": "Launch the host OS's default opener for ``path``. Returns False on platform", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1446", - "community": 164, - "norm_label": "launch the host os's default opener for ``path``. returns false on platform", - "id": "ui_mount_rationale_1446" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1474", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the", - "id": "ui_mount_rationale_1474" - }, - { - "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1510", - "community": 164, - "norm_label": "show a lightweight details/\"log\" dialog for one in-flight operation. the \u00a79", - "id": "ui_mount_rationale_1510" - }, - { - "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1544", - "community": 28, - "norm_label": "resume a suspended session by re-opening its \u00a79.1 input dialog (t5). reads", - "id": "ui_mount_rationale_1544" - }, - { - "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1576", - "community": 40, - "norm_label": "open the \u00a79.1 escalation dialog; submit resumes, cancel confirms (t5). subm", - "id": "ui_mount_rationale_1576" - }, - { - "label": "Resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1614", - "community": 28, - "norm_label": "resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "id": "ui_mount_rationale_1614" - }, - { - "label": "Cancel an in-flight session via the \u00a79.4 Discard / Keep dialog (T4). The op", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1623", - "community": 28, - "norm_label": "cancel an in-flight session via the \u00a79.4 discard / keep dialog (t4). the op", - "id": "ui_mount_rationale_1623" - }, - { - "label": "Open a NiceGUI dialog showing the run's sync-queue job state. The operator-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1664", - "community": 55, - "norm_label": "open a nicegui dialog showing the run's sync-queue job state. the operator-", - "id": "ui_mount_rationale_1664" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1712", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a", - "id": "ui_mount_rationale_1712" - }, - { - "label": "List template directory names of ``template_type`` under templates_dir.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1753", - "community": 40, - "norm_label": "list template directory names of ``template_type`` under templates_dir.", - "id": "ui_mount_rationale_1753" - }, - { - "label": "Map each ``template_type`` template name to its parsed copier questions. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1770", - "community": 63, - "norm_label": "map each ``template_type`` template name to its parsed copier questions. re", - "id": "ui_mount_rationale_1770" - }, - { - "label": "Read the offline-catalogue projects (disconnected-workstation source). Read", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1803", - "community": 162, - "norm_label": "read the offline-catalogue projects (disconnected-workstation source). read", - "id": "ui_mount_rationale_1803" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1837", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv", - "id": "ui_mount_rationale_1837" - }, - { - "label": "Await a controller session's pipeline task and return the final handle. ``c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1875", - "community": 63, - "norm_label": "await a controller session's pipeline task and return the final handle. ``c", - "id": "ui_mount_rationale_1875" - }, - { - "label": "Fold the controller's WS frames into the wizard's live phase bar (T2) and su", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1894", - "community": 40, - "norm_label": "fold the controller's ws frames into the wizard's live phase bar (t2) and su", - "id": "ui_mount_rationale_1894" - }, - { - "label": "Build a ProjectCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1945", - "community": 63, - "norm_label": "build a projectcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1945" - }, - { - "label": "Build a RunCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1978", - "community": 99, - "norm_label": "build a runcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1978" - }, - { - "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2019", - "community": 99, - "norm_label": "drive a create_* call to completion and toast the outcome. when ``wizard_st", - "id": "ui_mount_rationale_2019" - }, - { - "label": "Run the validator audit, swallowing failures to a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2062", - "community": 99, - "norm_label": "run the validator audit, swallowing failures to a warn log.", - "id": "ui_mount_rationale_2062" - }, - { - "label": "The Phase 4 params default empty and drop out of the URL entirely.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1217", - "community": 429, - "norm_label": "the phase 4 params default empty and drop out of the url entirely.", - "id": "ui_test_mount_rationale_1217" - }, - { - "label": "``file`` keeps '/' readable but encodes spaces; ``q`` encodes everything.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1222", - "community": 430, - "norm_label": "``file`` keeps '/' readable but encodes spaces; ``q`` encodes everything.", - "id": "ui_test_mount_rationale_1222" - }, - { - "label": "Equipment / project / run / received_equipment all classify correctly.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1236", - "community": 80, - "norm_label": "equipment / project / run / received_equipment all classify correctly.", - "id": "ui_test_mount_rationale_1236" - }, - { - "label": "A node id whose root is not in the hierarchy returns ``(None, False)``. Gua", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1257", - "community": 350, - "norm_label": "a node id whose root is not in the hierarchy returns ``(none, false)``. gua", - "id": "ui_test_mount_rationale_1257" - }, - { - "label": "An equipment node payload pulls fields from config.equipment[id].", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1279", - "community": 80, - "norm_label": "an equipment node payload pulls fields from config.equipment[id].", - "id": "ui_test_mount_rationale_1279" - }, - { - "label": "Asking for a node that isn't in config.equipment returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1297", - "community": 80, - "norm_label": "asking for a node that isn't in config.equipment returns ``{}``.", - "id": "ui_test_mount_rationale_1297" - }, - { - "label": "The project payload counts Run_* and TestRun_* directories.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1304", - "community": 80, - "norm_label": "the project payload counts run_* and testrun_* directories.", - "id": "ui_test_mount_rationale_1304" - }, - { - "label": "The run payload decodes creation.json into the metadata fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1323", - "community": 80, - "norm_label": "the run payload decodes creation.json into the metadata fields.", - "id": "ui_test_mount_rationale_1323" - }, - { - "label": "A run dir without a creation.json yields {path, name}, not crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1368", - "community": 33, - "norm_label": "a run dir without a creation.json yields {path, name}, not crash.", - "id": "ui_test_mount_rationale_1368" - }, - { - "label": "The selected-node fields end up on MainPageState for the renderer.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1377", - "community": 131, - "norm_label": "the selected-node fields end up on mainpagestate for the renderer.", - "id": "ui_test_mount_rationale_1377" - }, - { - "label": "Phase 4 selection / search / density fields reach MainPageState.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1393", - "community": 131, - "norm_label": "phase 4 selection / search / density fields reach mainpagestate.", - "id": "ui_test_mount_rationale_1393" - }, - { - "label": "A clicked path is resolved from the in-memory feed into a file payload.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1414", - "community": 2, - "norm_label": "a clicked path is resolved from the in-memory feed into a file payload.", - "id": "ui_test_mount_rationale_1414" - }, - { - "label": "Empty path or a path matching no current entry resolves to None.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1440", - "community": 125, - "norm_label": "empty path or a path matching no current entry resolves to none.", - "id": "ui_test_mount_rationale_1440" - }, - { - "label": "A tombstone (\"On NAS\") file has no on-disk copy, so size is None.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1449", - "community": 14, - "norm_label": "a tombstone (\"on nas\") file has no on-disk copy, so size is none.", - "id": "ui_test_mount_rationale_1449" - }, - { - "label": "A directory match delegates to the one-level folder aggregate scan.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1470", - "community": 33, - "norm_label": "a directory match delegates to the one-level folder aggregate scan.", - "id": "ui_test_mount_rationale_1470" - }, - { - "label": "A scan failure yields item_count=None + neutral rollup, no raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1497", - "community": 107, - "norm_label": "a scan failure yields item_count=none + neutral rollup, no raise.", - "id": "ui_test_mount_rationale_1497" - }, - { - "label": "A force-refresh writes the fresh scan onto the per-tab feed payload.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1525", - "community": 107, - "norm_label": "a force-refresh writes the fresh scan onto the per-tab feed payload.", - "id": "ui_test_mount_rationale_1525" - }, - { - "label": "A failed scan keeps the existing payload and warns.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1545", - "community": 50, - "norm_label": "a failed scan keeps the existing payload and warns.", - "id": "ui_test_mount_rationale_1545" - }, - { - "label": "An unknown sys.platform falls through to False so the toast can warn.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1564", - "community": 107, - "norm_label": "an unknown sys.platform falls through to false so the toast can warn.", - "id": "ui_test_mount_rationale_1564" - }, - { - "label": "Linux dispatches to xdg-open via subprocess.Popen.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1570", - "community": 131, - "norm_label": "linux dispatches to xdg-open via subprocess.popen.", - "id": "ui_test_mount_rationale_1570" - }, - { - "label": "macOS dispatches to the ``open`` command.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1584", - "community": 50, - "norm_label": "macos dispatches to the ``open`` command.", - "id": "ui_test_mount_rationale_1584" - }, - { - "label": "A subprocess failure is caught and surfaces False so the caller can toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1593", - "community": 125, - "norm_label": "a subprocess failure is caught and surfaces false so the caller can toast.", - "id": "ui_test_mount_rationale_1593" - }, - { - "label": "Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1617", - "community": 14, - "norm_label": "minimal nicegui surface stand-in: clipboard + navigate.to + notify.", - "id": "ui_test_mount_rationale_1617" - }, - { - "label": "``open_in_os`` action calls the platform opener and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1642", - "community": 14, - "norm_label": "``open_in_os`` action calls the platform opener and reports success.", - "id": "ui_test_mount_rationale_1642" - }, - { - "label": "When the opener returns False the action surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1654", - "community": 131, - "norm_label": "when the opener returns false the action surfaces a negative toast.", - "id": "ui_test_mount_rationale_1654" - }, - { - "label": "``copy_path`` writes the entry path to the NiceGUI clipboard.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1663", - "community": 33, - "norm_label": "``copy_path`` writes the entry path to the nicegui clipboard.", - "id": "ui_test_mount_rationale_1663" - }, - { - "label": "An unknown action verb is logged + toasted without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1671", - "community": 125, - "norm_label": "an unknown action verb is logged + toasted without raising.", - "id": "ui_test_mount_rationale_1671" - }, - { - "label": "An entry with no path triggers the early-return toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1678", - "community": 107, - "norm_label": "an entry with no path triggers the early-return toast.", - "id": "ui_test_mount_rationale_1678" - }, - { - "label": "Run any pending mount background tasks to completion.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1698", - "community": 50, - "norm_label": "run any pending mount background tasks to completion.", - "id": "ui_test_mount_rationale_1698" - }, - { - "label": "Force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1713", - "community": 86, - "norm_label": "force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "id": "ui_test_mount_rationale_1713" - }, - { - "label": "Force-sync without a wired NAS sync surfaces a negative toast (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1726", - "community": 33, - "norm_label": "force-sync without a wired nas sync surfaces a negative toast (no raise).", - "id": "ui_test_mount_rationale_1726" - }, - { - "label": "``view_log`` dispatches to the dialog opener helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1742", - "community": 33, - "norm_label": "``view_log`` dispatches to the dialog opener helper.", - "id": "ui_test_mount_rationale_1742" - }, - { - "label": "An unknown action verb is reported but doesn't raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1752", - "community": 33, - "norm_label": "an unknown action verb is reported but doesn't raise.", - "id": "ui_test_mount_rationale_1752" - }, - { - "label": "``clear_verified`` deletes the run directory via the local helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1761", - "community": 14, - "norm_label": "``clear_verified`` deletes the run directory via the local helper.", - "id": "ui_test_mount_rationale_1761" - }, - { - "label": "The bulk action clears every ``synced`` row and toasts the count.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1786", - "community": 14, - "norm_label": "the bulk action clears every ``synced`` row and toasts the count.", - "id": "ui_test_mount_rationale_1786" - }, - { - "label": "The early-exit when config is missing produces a toast, no task.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1813", - "community": 86, - "norm_label": "the early-exit when config is missing produces a toast, no task.", - "id": "ui_test_mount_rationale_1813" - }, - { - "label": "An exception from the clear sweep is caught + toasted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1822", - "community": 125, - "norm_label": "an exception from the clear sweep is caught + toasted.", - "id": "ui_test_mount_rationale_1822" - }, - { - "label": "Lightweight ``app`` stand-in carrying ``storage.tab``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1846", - "community": 158, - "norm_label": "lightweight ``app`` stand-in carrying ``storage.tab``.", - "id": "ui_test_mount_rationale_1846" - }, - { - "label": "Without a selected node the feed isn't started and returns ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1857", - "community": 33, - "norm_label": "without a selected node the feed isn't started and returns ``[]``.", - "id": "ui_test_mount_rationale_1857" - }, - { - "label": "The first call mounts a FolderFeed + RefreshCoordinator on tab storage.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1867", - "community": 50, - "norm_label": "the first call mounts a folderfeed + refreshcoordinator on tab storage.", - "id": "ui_test_mount_rationale_1867" - }, - { - "label": "When the feed's last_payload is set, entries are projected into FileListEntr", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1880", - "community": 86, - "norm_label": "when the feed's last_payload is set, entries are projected into filelistentr", - "id": "ui_test_mount_rationale_1880" - }, - { - "label": "The fetch is a no-op when RefreshCoordinator just walked the tree.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1922", - "community": 157, - "norm_label": "the fetch is a no-op when refreshcoordinator just walked the tree.", - "id": "ui_test_mount_rationale_1922" - }, - { - "label": "A successful scan records the refresh on the coordinator.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1939", - "community": 106, - "norm_label": "a successful scan records the refresh on the coordinator.", - "id": "ui_test_mount_rationale_1939" - }, - { - "label": "A scan failure returns ``None`` so the feed keeps polling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1958", - "community": 173, - "norm_label": "a scan failure returns ``none`` so the feed keeps polling.", - "id": "ui_test_mount_rationale_1958" - }, - { - "label": "A run with no sync-queue job still renders a dialog without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1974", - "community": 173, - "norm_label": "a run with no sync-queue job still renders a dialog without raising.", - "id": "ui_test_mount_rationale_1974" - }, - { - "label": "A run with a sync-queue job renders its state without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1983", - "community": 158, - "norm_label": "a run with a sync-queue job renders its state without raising.", - "id": "ui_test_mount_rationale_1983" - }, - { - "label": "Any exception raised by a per-kind builder is logged + swallowed.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2011", - "community": 69, - "norm_label": "any exception raised by a per-kind builder is logged + swallowed.", - "id": "ui_test_mount_rationale_2011" - }, - { - "label": "The relay payload pulls id+label from build_received_equipment_nodes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2024", - "community": 157, - "norm_label": "the relay payload pulls id+label from build_received_equipment_nodes.", - "id": "ui_test_mount_rationale_2024" - }, - { - "label": "An unknown relay id still produces a payload (best-effort label).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2040", - "community": 158, - "norm_label": "an unknown relay id still produces a payload (best-effort label).", - "id": "ui_test_mount_rationale_2040" - }, - { - "label": "A node id without an equipment/project split returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2047", - "community": 86, - "norm_label": "a node id without an equipment/project split returns ``{}``.", - "id": "ui_test_mount_rationale_2047" - }, - { - "label": "A missing parent dir returns 0 (no FS pre-check needed).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2053", - "community": 86, - "norm_label": "a missing parent dir returns 0 (no fs pre-check needed).", - "id": "ui_test_mount_rationale_2053" - }, - { - "label": "Only directory children whose names start with the prefix are counted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2058", - "community": 69, - "norm_label": "only directory children whose names start with the prefix are counted.", - "id": "ui_test_mount_rationale_2058" - }, - { - "label": "A corrupt creation.json yields {path, name}, never crashes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2067", - "community": 157, - "norm_label": "a corrupt creation.json yields {path, name}, never crashes.", - "id": "ui_test_mount_rationale_2067" - }, - { - "label": "When nas_sync.enqueue raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2080", - "community": 69, - "norm_label": "when nas_sync.enqueue raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_2080" - }, - { - "label": "When the clear helper raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2096", - "community": 106, - "norm_label": "when the clear helper raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_2096" - }, - { - "label": "The 0-file path reports ``already cleared`` rather than ``cleared N``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2112", - "community": 106, - "norm_label": "the 0-file path reports ``already cleared`` rather than ``cleared n``.", - "id": "ui_test_mount_rationale_2112" - }, - { - "label": "A clipboard write failure is caught and reported as a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2125", - "community": 173, - "norm_label": "a clipboard write failure is caught and reported as a negative toast.", - "id": "ui_test_mount_rationale_2125" - }, - { - "label": "A fake ``ui`` whose factories build recording stand-ins. Unlike ``_UiSpy``", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2162", - "community": 0, - "norm_label": "a fake ``ui`` whose factories build recording stand-ins. unlike ``_uispy``", - "id": "ui_test_mount_rationale_2162" - }, - { - "label": "No probe wired -> a failure result rather than a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2206", - "community": 69, - "norm_label": "no probe wired -> a failure result rather than a crash.", - "id": "ui_test_mount_rationale_2206" - }, - { - "label": "A reachable probe maps ok/latency into a Connected result.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2218", - "community": 157, - "norm_label": "a reachable probe maps ok/latency into a connected result.", - "id": "ui_test_mount_rationale_2218" - }, - { - "label": "An async probe is awaited before its dict is mapped.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2245", - "community": 180, - "norm_label": "an async probe is awaited before its dict is mapped.", - "id": "ui_test_mount_rationale_2245" - }, - { - "label": "A half-wired install names its first-failing gate as the next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2275", - "community": 69, - "norm_label": "a half-wired install names its first-failing gate as the next action.", - "id": "ui_test_mount_rationale_2275" - }, - { - "label": "A fully-satisfied install has no outstanding next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2282", - "community": 325, - "norm_label": "a fully-satisfied install has no outstanding next action.", - "id": "ui_test_mount_rationale_2282" - }, - { - "label": "No sync-state writer wired -> negative toast, no task spawned.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2306", - "community": 106, - "norm_label": "no sync-state writer wired -> negative toast, no task spawned.", - "id": "ui_test_mount_rationale_2306" - }, - { - "label": "A path with no enclosing run root surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2315", - "community": 14, - "norm_label": "a path with no enclosing run root surfaces a negative toast.", - "id": "ui_test_mount_rationale_2315" - }, - { - "label": "A resolvable file flips keep_local via the writer and fires on_done.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2326", - "community": 23, - "norm_label": "a resolvable file flips keep_local via the writer and fires on_done.", - "id": "ui_test_mount_rationale_2326" - }, - { - "label": "The ``keep_local`` action routes to ``_toggle_keep_local``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2381", - "community": 14, - "norm_label": "the ``keep_local`` action routes to ``_toggle_keep_local``.", - "id": "ui_test_mount_rationale_2381" - }, - { - "label": "On win32 the helper calls ``os.startfile`` and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2398", - "community": 170, - "norm_label": "on win32 the helper calls ``os.startfile`` and reports success.", - "id": "ui_test_mount_rationale_2398" - }, - { - "label": "No controller -> a negative toast and no dialog open.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2432", - "community": 180, - "norm_label": "no controller -> a negative toast and no dialog open.", - "id": "ui_test_mount_rationale_2432" - }, - { - "label": "A wired controller builds the modal and opens it (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2438", - "community": 180, - "norm_label": "a wired controller builds the modal and opens it (no raise).", - "id": "ui_test_mount_rationale_2438" - }, - { - "label": "The details dialog renders the session state plus pending/error lines.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2459", - "community": 300, - "norm_label": "the details dialog renders the session state plus pending/error lines.", - "id": "ui_test_mount_rationale_2459" - }, - { - "label": "A session not awaiting input cannot be resumed -> negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2483", - "community": 14, - "norm_label": "a session not awaiting input cannot be resumed -> negative toast.", - "id": "ui_test_mount_rationale_2483" - }, - { - "label": "A suspended session re-opens its escalation dialog with parked fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2492", - "community": 171, - "norm_label": "a suspended session re-opens its escalation dialog with parked fields.", - "id": "ui_test_mount_rationale_2492" - }, - { - "label": "The dialog's Submit handler calls ``controller.resume`` in the background.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2521", - "community": 23, - "norm_label": "the dialog's submit handler calls ``controller.resume`` in the background.", - "id": "ui_test_mount_rationale_2521" - }, - { - "label": "The dialog's Cancel handler routes through ``_cancel_session``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2553", - "community": 23, - "norm_label": "the dialog's cancel handler routes through ``_cancel_session``.", - "id": "ui_test_mount_rationale_2553" - }, - { - "label": "The \u00a79.4 dialog's Discard button cancels with discard_files=True.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2593", - "community": 170, - "norm_label": "the \u00a79.4 dialog's discard button cancels with discard_files=true.", - "id": "ui_test_mount_rationale_2593" - }, - { - "label": "The Keep-files button cancels with discard_files=False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2612", - "community": 171, - "norm_label": "the keep-files button cancels with discard_files=false.", - "id": "ui_test_mount_rationale_2612" - }, - { - "label": "A cancel failure is caught and toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2629", - "community": 172, - "norm_label": "a cancel failure is caught and toasted, not raised.", - "id": "ui_test_mount_rationale_2629" - }, - { - "label": "The Back button closes the dialog without cancelling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2645", - "community": 181, - "norm_label": "the back button closes the dialog without cancelling.", - "id": "ui_test_mount_rationale_2645" - }, - { - "label": "With a job row, the dialog renders each populated field line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2659", - "community": 171, - "norm_label": "with a job row, the dialog renders each populated field line.", - "id": "ui_test_mount_rationale_2659" - }, - { - "label": "Without a job row the dialog shows the 'no sync job' line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2687", - "community": 54, - "norm_label": "without a job row the dialog shows the 'no sync job' line.", - "id": "ui_test_mount_rationale_2687" - }, - { - "label": "No progress view on the wizard state -> the consumer returns at once.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2703", - "community": 23, - "norm_label": "no progress view on the wizard state -> the consumer returns at once.", - "id": "ui_test_mount_rationale_2703" - }, - { - "label": "An input_required frame opens the dialog; a done frame closes it.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2714", - "community": 23, - "norm_label": "an input_required frame opens the dialog; a done frame closes it.", - "id": "ui_test_mount_rationale_2714" - }, - { - "label": "A subscribe error is logged, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2751", - "community": 23, - "norm_label": "a subscribe error is logged, not raised.", - "id": "ui_test_mount_rationale_2751" - }, - { - "label": "Submitting a run with no template selected surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2791", - "community": 170, - "norm_label": "submitting a run with no template selected surfaces a negative toast.", - "id": "ui_test_mount_rationale_2791" - }, - { - "label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2802", - "community": 172, - "norm_label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "id": "ui_test_mount_rationale_2802" - }, - { - "label": "Non-EquipmentNode keys in the hierarchy are ignored; unknown root -> treated", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2831", - "community": 54, - "norm_label": "non-equipmentnode keys in the hierarchy are ignored; unknown root -> treated", - "id": "ui_test_mount_rationale_2831" - }, - { - "label": "The received_equipment kind routes to the relay-equipment builder.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2840", - "community": 181, - "norm_label": "the received_equipment kind routes to the relay-equipment builder.", - "id": "ui_test_mount_rationale_2840" - }, - { - "label": "A matching equipment id projects its config fields into the payload.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2856", - "community": 54, - "norm_label": "a matching equipment id projects its config fields into the payload.", - "id": "ui_test_mount_rationale_2856" - }, - { - "label": "A schema_version mismatch (read_catalogue -> None) yields ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2878", - "community": 54, - "norm_label": "a schema_version mismatch (read_catalogue -> none) yields ``[]``.", - "id": "ui_test_mount_rationale_2878" - }, - { - "label": "A raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2890", - "community": 50, - "norm_label": "a raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "id": "ui_test_mount_rationale_2890" - }, - { - "label": "A raising evaluator degrades to 'not ready' (banner stays up).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2912", - "community": 50, - "norm_label": "a raising evaluator degrades to 'not ready' (banner stays up).", - "id": "ui_test_mount_rationale_2912" - }, - { - "label": "An equipment id absent from config yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2925", - "community": 54, - "norm_label": "an equipment id absent from config yields ``{}``.", - "id": "ui_test_mount_rationale_2925" - }, - { - "label": "With no SYNCED rows the sweep clears nothing and toasts 'none'.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2933", - "community": 351, - "norm_label": "with no synced rows the sweep clears nothing and toasts 'none'.", - "id": "ui_test_mount_rationale_2933" - }, - { - "label": "A run root that can't yield a relative path surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2950", - "community": 54, - "norm_label": "a run root that can't yield a relative path surfaces a negative toast.", - "id": "ui_test_mount_rationale_2950" - }, - { - "label": "A failing ``controller.resume`` is caught + toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2968", - "community": 23, - "norm_label": "a failing ``controller.resume`` is caught + toasted, not raised.", - "id": "ui_test_mount_rationale_2968" - }, - { - "label": "An import/engine failure in the outer try yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2997", - "community": 172, - "norm_label": "an import/engine failure in the outer try yields ``{}``.", - "id": "ui_test_mount_rationale_2997" - }, - { - "label": "A staging-query failure degrades to an empty dock, not a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L3013", - "community": 181, - "norm_label": "a staging-query failure degrades to an empty dock, not a crash.", - "id": "ui_test_mount_rationale_3013" - }, - { - "label": "A bare entry defaults ``keep_local`` and ``tombstone`` to False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L114", - "community": 139, - "norm_label": "a bare entry defaults ``keep_local`` and ``tombstone`` to false.", - "id": "ui_test_file_list_rationale_114" - }, - { - "label": "Flipping ``keep_local`` is a modification (drives a re-render).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L121", - "community": 201, - "norm_label": "flipping ``keep_local`` is a modification (drives a re-render).", - "id": "ui_test_file_list_rationale_121" - }, - { - "label": "A file transitioning to a tombstone is a modification.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L129", - "community": 201, - "norm_label": "a file transitioning to a tombstone is a modification.", - "id": "ui_test_file_list_rationale_129" - }, - { - "label": "``FILE_CONTEXT_KEEP_LOCAL`` is a distinct discriminator value.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L137", - "community": 372, - "norm_label": "``file_context_keep_local`` is a distinct discriminator value.", - "id": "ui_test_file_list_rationale_137" - }, - { - "label": "The renderer wires the keep-local menu item and tombstone row. Exercises th", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L142", - "community": 373, - "norm_label": "the renderer wires the keep-local menu item and tombstone row. exercises th", - "id": "ui_test_file_list_rationale_142" - }, - { - "label": "The row whose path matches ``selected_path`` carries the selected fill.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L266", - "community": 147, - "norm_label": "the row whose path matches ``selected_path`` carries the selected fill.", - "id": "ui_test_file_list_rationale_266" - }, - { - "label": "A tombstone row carries the data-tombstone attr + dim/italic decoration.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L279", - "community": 147, - "norm_label": "a tombstone row carries the data-tombstone attr + dim/italic decoration.", - "id": "ui_test_file_list_rationale_279" - }, - { - "label": "Single-click selection fires ``on_select`` for files AND folders.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L288", - "community": 147, - "norm_label": "single-click selection fires ``on_select`` for files and folders.", - "id": "ui_test_file_list_rationale_288" - }, - { - "label": "Selection is opt-in: with no ``on_select`` the rows wire no click handler.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L301", - "community": 147, - "norm_label": "selection is opt-in: with no ``on_select`` the rows wire no click handler.", - "id": "ui_test_file_list_rationale_301" - }, - { - "label": "A bare entry defaults ``keep_local`` and ``tombstone`` to False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L80", - "community": 139, - "norm_label": "a bare entry defaults ``keep_local`` and ``tombstone`` to false.", - "id": "ui_test_file_list_rationale_80" - }, - { - "label": "Flipping ``keep_local`` is a modification (drives a re-render).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L87", - "community": 201, - "norm_label": "flipping ``keep_local`` is a modification (drives a re-render).", - "id": "ui_test_file_list_rationale_87" - }, - { - "label": "A file transitioning to a tombstone is a modification.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L95", - "community": 201, - "norm_label": "a file transitioning to a tombstone is a modification.", - "id": "ui_test_file_list_rationale_95" - }, - { - "label": "``FILE_CONTEXT_KEEP_LOCAL`` is a distinct discriminator value.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L103", - "community": 372, - "norm_label": "``file_context_keep_local`` is a distinct discriminator value.", - "id": "ui_test_file_list_rationale_103" - }, - { - "label": "The renderer wires the keep-local menu item and tombstone row. Exercises th", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L108", - "community": 373, - "norm_label": "the renderer wires the keep-local menu item and tombstone row. exercises th", - "id": "ui_test_file_list_rationale_108" - }, - { - "label": "An unknown sys.platform falls through to False so the toast can warn.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1395", - "community": 107, - "norm_label": "an unknown sys.platform falls through to false so the toast can warn.", - "id": "ui_test_mount_rationale_1395" - }, - { - "label": "Linux dispatches to xdg-open via subprocess.Popen.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1401", - "community": 131, - "norm_label": "linux dispatches to xdg-open via subprocess.popen.", - "id": "ui_test_mount_rationale_1401" - }, - { - "label": "macOS dispatches to the ``open`` command.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1415", - "community": 50, - "norm_label": "macos dispatches to the ``open`` command.", - "id": "ui_test_mount_rationale_1415" - }, - { - "label": "A subprocess failure is caught and surfaces False so the caller can toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1424", - "community": 125, - "norm_label": "a subprocess failure is caught and surfaces false so the caller can toast.", - "id": "ui_test_mount_rationale_1424" - }, - { - "label": "Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1448", - "community": 14, - "norm_label": "minimal nicegui surface stand-in: clipboard + navigate.to + notify.", - "id": "ui_test_mount_rationale_1448" - }, - { - "label": "``open_in_os`` action calls the platform opener and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1473", - "community": 14, - "norm_label": "``open_in_os`` action calls the platform opener and reports success.", - "id": "ui_test_mount_rationale_1473" - }, - { - "label": "When the opener returns False the action surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1485", - "community": 131, - "norm_label": "when the opener returns false the action surfaces a negative toast.", - "id": "ui_test_mount_rationale_1485" - }, - { - "label": "``copy_path`` writes the entry path to the NiceGUI clipboard.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1494", - "community": 33, - "norm_label": "``copy_path`` writes the entry path to the nicegui clipboard.", - "id": "ui_test_mount_rationale_1494" - }, - { - "label": "An unknown action verb is logged + toasted without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1502", - "community": 125, - "norm_label": "an unknown action verb is logged + toasted without raising.", - "id": "ui_test_mount_rationale_1502" - }, - { - "label": "An entry with no path triggers the early-return toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1509", - "community": 107, - "norm_label": "an entry with no path triggers the early-return toast.", - "id": "ui_test_mount_rationale_1509" - }, - { - "label": "Run any pending mount background tasks to completion.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1529", - "community": 50, - "norm_label": "run any pending mount background tasks to completion.", - "id": "ui_test_mount_rationale_1529" - }, - { - "label": "Force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1544", - "community": 86, - "norm_label": "force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "id": "ui_test_mount_rationale_1544" - }, - { - "label": "Force-sync without a wired NAS sync surfaces a negative toast (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1557", - "community": 33, - "norm_label": "force-sync without a wired nas sync surfaces a negative toast (no raise).", - "id": "ui_test_mount_rationale_1557" - }, - { - "label": "``view_log`` dispatches to the dialog opener helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1573", - "community": 33, - "norm_label": "``view_log`` dispatches to the dialog opener helper.", - "id": "ui_test_mount_rationale_1573" - }, - { - "label": "``clear_verified`` deletes the run directory via the local helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1592", - "community": 14, - "norm_label": "``clear_verified`` deletes the run directory via the local helper.", - "id": "ui_test_mount_rationale_1592" - }, - { - "label": "The early-exit when config is missing produces a toast, no task.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1644", - "community": 86, - "norm_label": "the early-exit when config is missing produces a toast, no task.", - "id": "ui_test_mount_rationale_1644" - }, - { - "label": "An exception from the clear sweep is caught + toasted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1653", - "community": 125, - "norm_label": "an exception from the clear sweep is caught + toasted.", - "id": "ui_test_mount_rationale_1653" - }, - { - "label": "Lightweight ``app`` stand-in carrying ``storage.tab``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1677", - "community": 0, - "norm_label": "lightweight ``app`` stand-in carrying ``storage.tab``.", - "id": "ui_test_mount_rationale_1677" - }, - { - "label": "Without a selected node the feed isn't started and returns ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1688", - "community": 33, - "norm_label": "without a selected node the feed isn't started and returns ``[]``.", - "id": "ui_test_mount_rationale_1688" - }, - { - "label": "The fetch is a no-op when RefreshCoordinator just walked the tree.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1753", - "community": 157, - "norm_label": "the fetch is a no-op when refreshcoordinator just walked the tree.", - "id": "ui_test_mount_rationale_1753" - }, - { - "label": "A successful scan records the refresh on the coordinator.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1770", - "community": 106, - "norm_label": "a successful scan records the refresh on the coordinator.", - "id": "ui_test_mount_rationale_1770" - }, - { - "label": "A scan failure returns ``None`` so the feed keeps polling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1789", - "community": 158, - "norm_label": "a scan failure returns ``none`` so the feed keeps polling.", - "id": "ui_test_mount_rationale_1789" - }, - { - "label": "A run with no sync-queue job still renders a dialog without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1805", - "community": 173, - "norm_label": "a run with no sync-queue job still renders a dialog without raising.", - "id": "ui_test_mount_rationale_1805" - }, - { - "label": "A run with a sync-queue job renders its state without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1814", - "community": 158, - "norm_label": "a run with a sync-queue job renders its state without raising.", - "id": "ui_test_mount_rationale_1814" - }, - { - "label": "Any exception raised by a per-kind builder is logged + swallowed.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1842", - "community": 69, - "norm_label": "any exception raised by a per-kind builder is logged + swallowed.", - "id": "ui_test_mount_rationale_1842" - }, - { - "label": "Only directory children whose names start with the prefix are counted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1889", - "community": 69, - "norm_label": "only directory children whose names start with the prefix are counted.", - "id": "ui_test_mount_rationale_1889" - }, - { - "label": "A corrupt creation.json yields {path, name}, never crashes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1898", - "community": 157, - "norm_label": "a corrupt creation.json yields {path, name}, never crashes.", - "id": "ui_test_mount_rationale_1898" - }, - { - "label": "When the clear helper raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1927", - "community": 69, - "norm_label": "when the clear helper raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_1927" - }, - { - "label": "A fake ``ui`` whose factories build recording stand-ins. Unlike ``_UiSpy``", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1993", - "community": 0, - "norm_label": "a fake ``ui`` whose factories build recording stand-ins. unlike ``_uispy``", - "id": "ui_test_mount_rationale_1993" - }, - { - "label": "No probe wired -> a failure result rather than a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2037", - "community": 69, - "norm_label": "no probe wired -> a failure result rather than a crash.", - "id": "ui_test_mount_rationale_2037" - }, - { - "label": "A reachable probe maps ok/latency into a Connected result.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2049", - "community": 157, - "norm_label": "a reachable probe maps ok/latency into a connected result.", - "id": "ui_test_mount_rationale_2049" - }, - { - "label": "An async probe is awaited before its dict is mapped.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2076", - "community": 180, - "norm_label": "an async probe is awaited before its dict is mapped.", - "id": "ui_test_mount_rationale_2076" - }, - { - "label": "A half-wired install names its first-failing gate as the next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2106", - "community": 69, - "norm_label": "a half-wired install names its first-failing gate as the next action.", - "id": "ui_test_mount_rationale_2106" - }, - { - "label": "A fully-satisfied install has no outstanding next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2113", - "community": 325, - "norm_label": "a fully-satisfied install has no outstanding next action.", - "id": "ui_test_mount_rationale_2113" - }, - { - "label": "No sync-state writer wired -> negative toast, no task spawned.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2137", - "community": 106, - "norm_label": "no sync-state writer wired -> negative toast, no task spawned.", - "id": "ui_test_mount_rationale_2137" - }, - { - "label": "A path with no enclosing run root surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2146", - "community": 14, - "norm_label": "a path with no enclosing run root surfaces a negative toast.", - "id": "ui_test_mount_rationale_2146" - }, - { - "label": "A resolvable file flips keep_local via the writer and fires on_done.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2157", - "community": 23, - "norm_label": "a resolvable file flips keep_local via the writer and fires on_done.", - "id": "ui_test_mount_rationale_2157" - }, - { - "label": "The ``keep_local`` action routes to ``_toggle_keep_local``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2212", - "community": 14, - "norm_label": "the ``keep_local`` action routes to ``_toggle_keep_local``.", - "id": "ui_test_mount_rationale_2212" - }, - { - "label": "On win32 the helper calls ``os.startfile`` and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2229", - "community": 170, - "norm_label": "on win32 the helper calls ``os.startfile`` and reports success.", - "id": "ui_test_mount_rationale_2229" - }, - { - "label": "No controller -> a negative toast and no dialog open.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2263", - "community": 180, - "norm_label": "no controller -> a negative toast and no dialog open.", - "id": "ui_test_mount_rationale_2263" - }, - { - "label": "A wired controller builds the modal and opens it (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2269", - "community": 180, - "norm_label": "a wired controller builds the modal and opens it (no raise).", - "id": "ui_test_mount_rationale_2269" - }, - { - "label": "The details dialog renders the session state plus pending/error lines.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2290", - "community": 300, - "norm_label": "the details dialog renders the session state plus pending/error lines.", - "id": "ui_test_mount_rationale_2290" - }, - { - "label": "A session not awaiting input cannot be resumed -> negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2314", - "community": 14, - "norm_label": "a session not awaiting input cannot be resumed -> negative toast.", - "id": "ui_test_mount_rationale_2314" - }, - { - "label": "A suspended session re-opens its escalation dialog with parked fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2323", - "community": 171, - "norm_label": "a suspended session re-opens its escalation dialog with parked fields.", - "id": "ui_test_mount_rationale_2323" - }, - { - "label": "The dialog's Submit handler calls ``controller.resume`` in the background.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2352", - "community": 23, - "norm_label": "the dialog's submit handler calls ``controller.resume`` in the background.", - "id": "ui_test_mount_rationale_2352" - }, - { - "label": "The dialog's Cancel handler routes through ``_cancel_session``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2384", - "community": 23, - "norm_label": "the dialog's cancel handler routes through ``_cancel_session``.", - "id": "ui_test_mount_rationale_2384" - }, - { - "label": "The \u00a79.4 dialog's Discard button cancels with discard_files=True.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2424", - "community": 170, - "norm_label": "the \u00a79.4 dialog's discard button cancels with discard_files=true.", - "id": "ui_test_mount_rationale_2424" - }, - { - "label": "The Keep-files button cancels with discard_files=False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2443", - "community": 171, - "norm_label": "the keep-files button cancels with discard_files=false.", - "id": "ui_test_mount_rationale_2443" - }, - { - "label": "A cancel failure is caught and toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2460", - "community": 172, - "norm_label": "a cancel failure is caught and toasted, not raised.", - "id": "ui_test_mount_rationale_2460" - }, - { - "label": "The Back button closes the dialog without cancelling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2476", - "community": 181, - "norm_label": "the back button closes the dialog without cancelling.", - "id": "ui_test_mount_rationale_2476" - }, - { - "label": "Without a job row the dialog shows the 'no sync job' line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2518", - "community": 54, - "norm_label": "without a job row the dialog shows the 'no sync job' line.", - "id": "ui_test_mount_rationale_2518" - }, - { - "label": "No progress view on the wizard state -> the consumer returns at once.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2534", - "community": 23, - "norm_label": "no progress view on the wizard state -> the consumer returns at once.", - "id": "ui_test_mount_rationale_2534" - }, - { - "label": "An input_required frame opens the dialog; a done frame closes it.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2545", - "community": 23, - "norm_label": "an input_required frame opens the dialog; a done frame closes it.", - "id": "ui_test_mount_rationale_2545" - }, - { - "label": "A subscribe error is logged, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2582", - "community": 23, - "norm_label": "a subscribe error is logged, not raised.", - "id": "ui_test_mount_rationale_2582" - }, - { - "label": "Submitting a run with no template selected surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2622", - "community": 170, - "norm_label": "submitting a run with no template selected surfaces a negative toast.", - "id": "ui_test_mount_rationale_2622" - }, - { - "label": "Non-EquipmentNode keys in the hierarchy are ignored; unknown root -> treated", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2662", - "community": 54, - "norm_label": "non-equipmentnode keys in the hierarchy are ignored; unknown root -> treated", - "id": "ui_test_mount_rationale_2662" - }, - { - "label": "The received_equipment kind routes to the relay-equipment builder.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2671", - "community": 181, - "norm_label": "the received_equipment kind routes to the relay-equipment builder.", - "id": "ui_test_mount_rationale_2671" - }, - { - "label": "A raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2721", - "community": 50, - "norm_label": "a raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "id": "ui_test_mount_rationale_2721" - }, - { - "label": "An equipment id absent from config yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2756", - "community": 54, - "norm_label": "an equipment id absent from config yields ``{}``.", - "id": "ui_test_mount_rationale_2756" - }, - { - "label": "With no SYNCED rows the sweep clears nothing and toasts 'none'.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2764", - "community": 351, - "norm_label": "with no synced rows the sweep clears nothing and toasts 'none'.", - "id": "ui_test_mount_rationale_2764" - }, - { - "label": "A run root that can't yield a relative path surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2781", - "community": 54, - "norm_label": "a run root that can't yield a relative path surfaces a negative toast.", - "id": "ui_test_mount_rationale_2781" - }, - { - "label": "A failing ``controller.resume`` is caught + toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2799", - "community": 23, - "norm_label": "a failing ``controller.resume`` is caught + toasted, not raised.", - "id": "ui_test_mount_rationale_2799" - }, - { - "label": "An import/engine failure in the outer try yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2828", - "community": 172, - "norm_label": "an import/engine failure in the outer try yields ``{}``.", - "id": "ui_test_mount_rationale_2828" - }, - { - "label": "A node id whose root is not in the hierarchy returns ``(None, False)``. Gua", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1232", - "community": 350, - "norm_label": "a node id whose root is not in the hierarchy returns ``(none, false)``. gua", - "id": "ui_test_mount_rationale_1232" - }, - { - "label": "An equipment node payload pulls fields from config.equipment[id].", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1254", - "community": 80, - "norm_label": "an equipment node payload pulls fields from config.equipment[id].", - "id": "ui_test_mount_rationale_1254" - }, - { - "label": "Asking for a node that isn't in config.equipment returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1272", - "community": 80, - "norm_label": "asking for a node that isn't in config.equipment returns ``{}``.", - "id": "ui_test_mount_rationale_1272" - }, - { - "label": "The run payload decodes creation.json into the metadata fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1298", - "community": 80, - "norm_label": "the run payload decodes creation.json into the metadata fields.", - "id": "ui_test_mount_rationale_1298" - }, - { - "label": "A run dir without a creation.json yields {path, name}, not crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1343", - "community": 33, - "norm_label": "a run dir without a creation.json yields {path, name}, not crash.", - "id": "ui_test_mount_rationale_1343" - }, - { - "label": "The selected-node fields end up on MainPageState for the renderer.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1352", - "community": 131, - "norm_label": "the selected-node fields end up on mainpagestate for the renderer.", - "id": "ui_test_mount_rationale_1352" - }, - { - "label": "An unknown sys.platform falls through to False so the toast can warn.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1370", - "community": 107, - "norm_label": "an unknown sys.platform falls through to false so the toast can warn.", - "id": "ui_test_mount_rationale_1370" - }, - { - "label": "Linux dispatches to xdg-open via subprocess.Popen.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1376", - "community": 131, - "norm_label": "linux dispatches to xdg-open via subprocess.popen.", - "id": "ui_test_mount_rationale_1376" - }, - { - "label": "macOS dispatches to the ``open`` command.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1390", - "community": 50, - "norm_label": "macos dispatches to the ``open`` command.", - "id": "ui_test_mount_rationale_1390" - }, - { - "label": "A subprocess failure is caught and surfaces False so the caller can toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1399", - "community": 125, - "norm_label": "a subprocess failure is caught and surfaces false so the caller can toast.", - "id": "ui_test_mount_rationale_1399" - }, - { - "label": "Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1423", - "community": 14, - "norm_label": "minimal nicegui surface stand-in: clipboard + navigate.to + notify.", - "id": "ui_test_mount_rationale_1423" - }, - { - "label": "When the opener returns False the action surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1460", - "community": 131, - "norm_label": "when the opener returns false the action surfaces a negative toast.", - "id": "ui_test_mount_rationale_1460" - }, - { - "label": "``copy_path`` writes the entry path to the NiceGUI clipboard.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1469", - "community": 33, - "norm_label": "``copy_path`` writes the entry path to the nicegui clipboard.", - "id": "ui_test_mount_rationale_1469" - }, - { - "label": "An unknown action verb is logged + toasted without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1477", - "community": 125, - "norm_label": "an unknown action verb is logged + toasted without raising.", - "id": "ui_test_mount_rationale_1477" - }, - { - "label": "Force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1519", - "community": 86, - "norm_label": "force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "id": "ui_test_mount_rationale_1519" - }, - { - "label": "Force-sync without a wired NAS sync surfaces a negative toast (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1532", - "community": 33, - "norm_label": "force-sync without a wired nas sync surfaces a negative toast (no raise).", - "id": "ui_test_mount_rationale_1532" - }, - { - "label": "The early-exit when config is missing keeps the action a no-op.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1539", - "community": 107, - "norm_label": "the early-exit when config is missing keeps the action a no-op.", - "id": "ui_test_mount_rationale_1539" - }, - { - "label": "``view_log`` dispatches to the dialog opener helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1548", - "community": 33, - "norm_label": "``view_log`` dispatches to the dialog opener helper.", - "id": "ui_test_mount_rationale_1548" - }, - { - "label": "An unknown action verb is reported but doesn't raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1558", - "community": 33, - "norm_label": "an unknown action verb is reported but doesn't raise.", - "id": "ui_test_mount_rationale_1558" - }, - { - "label": "``clear_verified`` deletes the run directory via the local helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1567", - "community": 14, - "norm_label": "``clear_verified`` deletes the run directory via the local helper.", - "id": "ui_test_mount_rationale_1567" - }, - { - "label": "The early-exit when config is missing produces a toast, no task.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1619", - "community": 86, - "norm_label": "the early-exit when config is missing produces a toast, no task.", - "id": "ui_test_mount_rationale_1619" - }, - { - "label": "An exception from the clear sweep is caught + toasted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1628", - "community": 125, - "norm_label": "an exception from the clear sweep is caught + toasted.", - "id": "ui_test_mount_rationale_1628" - }, - { - "label": "The first call mounts a FolderFeed + RefreshCoordinator on tab storage.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1673", - "community": 50, - "norm_label": "the first call mounts a folderfeed + refreshcoordinator on tab storage.", - "id": "ui_test_mount_rationale_1673" - }, - { - "label": "When the feed's last_payload is set, entries are projected into FileListEntr", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1686", - "community": 86, - "norm_label": "when the feed's last_payload is set, entries are projected into filelistentr", - "id": "ui_test_mount_rationale_1686" - }, - { - "label": "The fetch is a no-op when RefreshCoordinator just walked the tree.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1728", - "community": 157, - "norm_label": "the fetch is a no-op when refreshcoordinator just walked the tree.", - "id": "ui_test_mount_rationale_1728" - }, - { - "label": "A successful scan records the refresh on the coordinator.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1745", - "community": 106, - "norm_label": "a successful scan records the refresh on the coordinator.", - "id": "ui_test_mount_rationale_1745" - }, - { - "label": "A scan failure returns ``None`` so the feed keeps polling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1764", - "community": 173, - "norm_label": "a scan failure returns ``none`` so the feed keeps polling.", - "id": "ui_test_mount_rationale_1764" - }, - { - "label": "A run with no sync-queue job still renders a dialog without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1780", - "community": 173, - "norm_label": "a run with no sync-queue job still renders a dialog without raising.", - "id": "ui_test_mount_rationale_1780" - }, - { - "label": "The relay payload pulls id+label from build_received_equipment_nodes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1830", - "community": 158, - "norm_label": "the relay payload pulls id+label from build_received_equipment_nodes.", - "id": "ui_test_mount_rationale_1830" - }, - { - "label": "A node id without an equipment/project split returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1853", - "community": 86, - "norm_label": "a node id without an equipment/project split returns ``{}``.", - "id": "ui_test_mount_rationale_1853" - }, - { - "label": "A missing parent dir returns 0 (no FS pre-check needed).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1859", - "community": 86, - "norm_label": "a missing parent dir returns 0 (no fs pre-check needed).", - "id": "ui_test_mount_rationale_1859" - }, - { - "label": "A corrupt creation.json yields {path, name}, never crashes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1873", - "community": 157, - "norm_label": "a corrupt creation.json yields {path, name}, never crashes.", - "id": "ui_test_mount_rationale_1873" - }, - { - "label": "When nas_sync.enqueue raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1886", - "community": 69, - "norm_label": "when nas_sync.enqueue raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_1886" - }, - { - "label": "When the clear helper raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1902", - "community": 106, - "norm_label": "when the clear helper raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_1902" - }, - { - "label": "The 0-file path reports ``already cleared`` rather than ``cleared N``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1918", - "community": 106, - "norm_label": "the 0-file path reports ``already cleared`` rather than ``cleared n``.", - "id": "ui_test_mount_rationale_1918" - }, - { - "label": "A clipboard write failure is caught and reported as a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1931", - "community": 173, - "norm_label": "a clipboard write failure is caught and reported as a negative toast.", - "id": "ui_test_mount_rationale_1931" - }, - { - "label": "A fake ``ui`` whose factories build recording stand-ins. Unlike ``_UiSpy``", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1968", - "community": 0, - "norm_label": "a fake ``ui`` whose factories build recording stand-ins. unlike ``_uispy``", - "id": "ui_test_mount_rationale_1968" - }, - { - "label": "No probe wired -> a failure result rather than a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2012", - "community": 69, - "norm_label": "no probe wired -> a failure result rather than a crash.", - "id": "ui_test_mount_rationale_2012" - }, - { - "label": "A half-wired install names its first-failing gate as the next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2081", - "community": 69, - "norm_label": "a half-wired install names its first-failing gate as the next action.", - "id": "ui_test_mount_rationale_2081" - }, - { - "label": "A fully-satisfied install has no outstanding next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2088", - "community": 325, - "norm_label": "a fully-satisfied install has no outstanding next action.", - "id": "ui_test_mount_rationale_2088" - }, - { - "label": "A path with no enclosing run root surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2121", - "community": 14, - "norm_label": "a path with no enclosing run root surfaces a negative toast.", - "id": "ui_test_mount_rationale_2121" - }, - { - "label": "A resolvable file flips keep_local via the writer and fires on_done.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2132", - "community": 23, - "norm_label": "a resolvable file flips keep_local via the writer and fires on_done.", - "id": "ui_test_mount_rationale_2132" - }, - { - "label": "The ``keep_local`` action routes to ``_toggle_keep_local``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2187", - "community": 14, - "norm_label": "the ``keep_local`` action routes to ``_toggle_keep_local``.", - "id": "ui_test_mount_rationale_2187" - }, - { - "label": "No controller -> a negative toast and no dialog open.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2238", - "community": 180, - "norm_label": "no controller -> a negative toast and no dialog open.", - "id": "ui_test_mount_rationale_2238" - }, - { - "label": "A wired controller builds the modal and opens it (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2244", - "community": 180, - "norm_label": "a wired controller builds the modal and opens it (no raise).", - "id": "ui_test_mount_rationale_2244" - }, - { - "label": "The details dialog renders the session state plus pending/error lines.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2265", - "community": 300, - "norm_label": "the details dialog renders the session state plus pending/error lines.", - "id": "ui_test_mount_rationale_2265" - }, - { - "label": "A session not awaiting input cannot be resumed -> negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2289", - "community": 14, - "norm_label": "a session not awaiting input cannot be resumed -> negative toast.", - "id": "ui_test_mount_rationale_2289" - }, - { - "label": "A suspended session re-opens its escalation dialog with parked fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2298", - "community": 171, - "norm_label": "a suspended session re-opens its escalation dialog with parked fields.", - "id": "ui_test_mount_rationale_2298" - }, - { - "label": "The dialog's Submit handler calls ``controller.resume`` in the background.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2327", - "community": 23, - "norm_label": "the dialog's submit handler calls ``controller.resume`` in the background.", - "id": "ui_test_mount_rationale_2327" - }, - { - "label": "The dialog's Cancel handler routes through ``_cancel_session``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2359", - "community": 23, - "norm_label": "the dialog's cancel handler routes through ``_cancel_session``.", - "id": "ui_test_mount_rationale_2359" - }, - { - "label": "The \u00a79.4 dialog's Discard button cancels with discard_files=True.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2399", - "community": 170, - "norm_label": "the \u00a79.4 dialog's discard button cancels with discard_files=true.", - "id": "ui_test_mount_rationale_2399" - }, - { - "label": "The Keep-files button cancels with discard_files=False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2418", - "community": 171, - "norm_label": "the keep-files button cancels with discard_files=false.", - "id": "ui_test_mount_rationale_2418" - }, - { - "label": "A cancel failure is caught and toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2435", - "community": 172, - "norm_label": "a cancel failure is caught and toasted, not raised.", - "id": "ui_test_mount_rationale_2435" - }, - { - "label": "The Back button closes the dialog without cancelling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2451", - "community": 181, - "norm_label": "the back button closes the dialog without cancelling.", - "id": "ui_test_mount_rationale_2451" - }, - { - "label": "Without a job row the dialog shows the 'no sync job' line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2493", - "community": 54, - "norm_label": "without a job row the dialog shows the 'no sync job' line.", - "id": "ui_test_mount_rationale_2493" - }, - { - "label": "No progress view on the wizard state -> the consumer returns at once.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2509", - "community": 23, - "norm_label": "no progress view on the wizard state -> the consumer returns at once.", - "id": "ui_test_mount_rationale_2509" - }, - { - "label": "An input_required frame opens the dialog; a done frame closes it.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2520", - "community": 23, - "norm_label": "an input_required frame opens the dialog; a done frame closes it.", - "id": "ui_test_mount_rationale_2520" - }, - { - "label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2608", - "community": 172, - "norm_label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "id": "ui_test_mount_rationale_2608" - }, - { - "label": "Non-EquipmentNode keys in the hierarchy are ignored; unknown root -> treated", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2637", - "community": 54, - "norm_label": "non-equipmentnode keys in the hierarchy are ignored; unknown root -> treated", - "id": "ui_test_mount_rationale_2637" - }, - { - "label": "The received_equipment kind routes to the relay-equipment builder.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2646", - "community": 181, - "norm_label": "the received_equipment kind routes to the relay-equipment builder.", - "id": "ui_test_mount_rationale_2646" - }, - { - "label": "A raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2696", - "community": 50, - "norm_label": "a raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "id": "ui_test_mount_rationale_2696" - }, - { - "label": "With no SYNCED rows the sweep clears nothing and toasts 'none'.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2739", - "community": 351, - "norm_label": "with no synced rows the sweep clears nothing and toasts 'none'.", - "id": "ui_test_mount_rationale_2739" - }, - { - "label": "A failing ``controller.resume`` is caught + toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2774", - "community": 23, - "norm_label": "a failing ``controller.resume`` is caught + toasted, not raised.", - "id": "ui_test_mount_rationale_2774" - }, - { - "label": "An import/engine failure in the outer try yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2803", - "community": 172, - "norm_label": "an import/engine failure in the outer try yields ``{}``.", - "id": "ui_test_mount_rationale_2803" - }, - { - "label": "A staging-query failure degrades to an empty dock, not a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2819", - "community": 181, - "norm_label": "a staging-query failure degrades to an empty dock, not a crash.", - "id": "ui_test_mount_rationale_2819" - }, - { - "label": "Build a minimal duck-typed AppDependencies stand-in.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L30", - "community": 2, - "norm_label": "build a minimal duck-typed appdependencies stand-in.", - "id": "ui_test_mount_rationale_30" - }, - { - "label": "Chainable no-op stand-in for a NiceGUI element.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L80", - "community": 0, - "norm_label": "chainable no-op stand-in for a nicegui element.", - "id": "ui_test_mount_rationale_80" - }, - { - "label": "Records cards / labels and exposes a ``navigate.to`` spy.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L99", - "community": 0, - "norm_label": "records cards / labels and exposes a ``navigate.to`` spy.", - "id": "ui_test_mount_rationale_99" - }, - { - "label": "A ``ui`` whose element factories raise -- exercises render except paths.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L117", - "community": 0, - "norm_label": "a ``ui`` whose element factories raise -- exercises render except paths.", - "id": "ui_test_mount_rationale_117" - }, - { - "label": "Duck-typed CreationController for the create-flow helpers.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L129", - "community": 60, - "norm_label": "duck-typed creationcontroller for the create-flow helpers.", - "id": "ui_test_mount_rationale_129" - }, - { - "label": "Live-LIMS branch with the keyring password absent -> not ready.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L184", - "community": 2, - "norm_label": "live-lims branch with the keyring password absent -> not ready.", - "id": "ui_test_mount_rationale_184" - }, - { - "label": "A nas-mode device whose ``nas.remote`` is unset blocks ready.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L212", - "community": 2, - "norm_label": "a nas-mode device whose ``nas.remote`` is unset blocks ready.", - "id": "ui_test_mount_rationale_212" - }, - { - "label": "A configured nas remote absent from rclone.conf blocks ready.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L222", - "community": 2, - "norm_label": "a configured nas remote absent from rclone.conf blocks ready.", - "id": "ui_test_mount_rationale_222" - }, - { - "label": "Regression: LIMS satisfied via the offline catalogue (no keyring password) m", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L233", - "community": 2, - "norm_label": "regression: lims satisfied via the offline catalogue (no keyring password) m", - "id": "ui_test_mount_rationale_233" - }, - { - "label": "Redesign \u00a73.1: the orchestrator pipeline is unconditional.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L270", - "community": 2, - "norm_label": "redesign \u00a73.1: the orchestrator pipeline is unconditional.", - "id": "ui_test_mount_rationale_270" - }, - { - "label": "Real Config with one nas-mode equipment. ``offline_catalogue`` swaps the li", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L348", - "community": 2, - "norm_label": "real config with one nas-mode equipment. ``offline_catalogue`` swaps the li", - "id": "ui_test_mount_rationale_348" - }, - { - "label": "Redesign \u00a73.1: orchestrator pipeline is always on, but a missing staging_roo", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L460", - "community": 324, - "norm_label": "redesign \u00a73.1: orchestrator pipeline is always on, but a missing staging_roo", - "id": "ui_test_mount_rationale_460" - }, - { - "label": "Minimal stand-in for the NiceGUI ``ui`` object's navigate surface.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L507", - "community": 60, - "norm_label": "minimal stand-in for the nicegui ``ui`` object's navigate surface.", - "id": "ui_test_mount_rationale_507" - }, - { - "label": "A successful save persists, then hot-reloads the live components. The old b", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L515", - "community": 324, - "norm_label": "a successful save persists, then hot-reloads the live components. the old b", - "id": "ui_test_mount_rationale_515" - }, - { - "label": "Opt-in: a saved non-empty staging_root is created on save.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L592", - "community": 60, - "norm_label": "opt-in: a saved non-empty staging_root is created on save.", - "id": "ui_test_mount_rationale_592" - }, - { - "label": "Blank staging_root creates nothing -- the device is not a staging PC.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L607", - "community": 60, - "norm_label": "blank staging_root creates nothing -- the device is not a staging pc.", - "id": "ui_test_mount_rationale_607" - }, - { - "label": "An ensure_dir failure warns but keeps the persisted config.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L621", - "community": 60, - "norm_label": "an ensure_dir failure warns but keeps the persisted config.", - "id": "ui_test_mount_rationale_621" - }, - { - "label": "If the coordinator raises wholesale, the live config is still kept.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L648", - "community": 386, - "norm_label": "if the coordinator raises wholesale, the live config is still kept.", - "id": "ui_test_mount_rationale_648" - }, - { - "label": "Keyring-store stand-in that records the calls the handlers make.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L715", - "community": 0, - "norm_label": "keyring-store stand-in that records the calls the handlers make.", - "id": "ui_test_mount_rationale_715" - }, - { - "label": "A best-effort keyring build can fail; the handlers must not crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L754", - "community": 2, - "norm_label": "a best-effort keyring build can fail; the handlers must not crash.", - "id": "ui_test_mount_rationale_754" - }, - { - "label": "A raising keyring backend surfaces a toast, not an unhandled crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L763", - "community": 385, - "norm_label": "a raising keyring backend surfaces a toast, not an unhandled crash.", - "id": "ui_test_mount_rationale_763" - }, - { - "label": "Async ``list_projects`` stub for the live-LIMS picker path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L939", - "community": 0, - "norm_label": "async ``list_projects`` stub for the live-lims picker path.", - "id": "ui_test_mount_rationale_939" - }, - { - "label": "Both empty -> empty string. One present -> single param.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1185", - "community": 387, - "norm_label": "both empty -> empty string. one present -> single param.", - "id": "ui_test_mount_rationale_1185" - }, - { - "label": "Equipment / project / run / received_equipment all classify correctly.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1210", - "community": 80, - "norm_label": "equipment / project / run / received_equipment all classify correctly.", - "id": "ui_test_mount_rationale_1210" - }, - { - "label": "A node id whose root is not in the hierarchy returns ``(None, False)``. Gua", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1231", - "community": 350, - "norm_label": "a node id whose root is not in the hierarchy returns ``(none, false)``. gua", - "id": "ui_test_mount_rationale_1231" - }, - { - "label": "An equipment node payload pulls fields from config.equipment[id].", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1253", - "community": 80, - "norm_label": "an equipment node payload pulls fields from config.equipment[id].", - "id": "ui_test_mount_rationale_1253" - }, - { - "label": "Asking for a node that isn't in config.equipment returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1271", - "community": 80, - "norm_label": "asking for a node that isn't in config.equipment returns ``{}``.", - "id": "ui_test_mount_rationale_1271" - }, - { - "label": "The project payload counts Run_* and TestRun_* directories.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1278", - "community": 80, - "norm_label": "the project payload counts run_* and testrun_* directories.", - "id": "ui_test_mount_rationale_1278" - }, - { - "label": "A run dir without a creation.json yields {path, name}, not crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1342", - "community": 33, - "norm_label": "a run dir without a creation.json yields {path, name}, not crash.", - "id": "ui_test_mount_rationale_1342" - }, - { - "label": "The selected-node fields end up on MainPageState for the renderer.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1351", - "community": 131, - "norm_label": "the selected-node fields end up on mainpagestate for the renderer.", - "id": "ui_test_mount_rationale_1351" - }, - { - "label": "An unknown sys.platform falls through to False so the toast can warn.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1369", - "community": 107, - "norm_label": "an unknown sys.platform falls through to false so the toast can warn.", - "id": "ui_test_mount_rationale_1369" - }, - { - "label": "macOS dispatches to the ``open`` command.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1389", - "community": 50, - "norm_label": "macos dispatches to the ``open`` command.", - "id": "ui_test_mount_rationale_1389" - }, - { - "label": "A subprocess failure is caught and surfaces False so the caller can toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1398", - "community": 125, - "norm_label": "a subprocess failure is caught and surfaces false so the caller can toast.", - "id": "ui_test_mount_rationale_1398" - }, - { - "label": "Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1422", - "community": 14, - "norm_label": "minimal nicegui surface stand-in: clipboard + navigate.to + notify.", - "id": "ui_test_mount_rationale_1422" - }, - { - "label": "When the opener returns False the action surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1459", - "community": 131, - "norm_label": "when the opener returns false the action surfaces a negative toast.", - "id": "ui_test_mount_rationale_1459" - }, - { - "label": "An unknown action verb is logged + toasted without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1476", - "community": 125, - "norm_label": "an unknown action verb is logged + toasted without raising.", - "id": "ui_test_mount_rationale_1476" - }, - { - "label": "An entry with no path triggers the early-return toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1483", - "community": 107, - "norm_label": "an entry with no path triggers the early-return toast.", - "id": "ui_test_mount_rationale_1483" - }, - { - "label": "Run any pending mount background tasks to completion.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1503", - "community": 50, - "norm_label": "run any pending mount background tasks to completion.", - "id": "ui_test_mount_rationale_1503" - }, - { - "label": "Force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1518", - "community": 125, - "norm_label": "force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "id": "ui_test_mount_rationale_1518" - }, - { - "label": "Force-sync without a wired NAS sync surfaces a negative toast (no raise).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1531", - "community": 33, - "norm_label": "force-sync without a wired nas sync surfaces a negative toast (no raise).", - "id": "ui_test_mount_rationale_1531" - }, - { - "label": "The early-exit when config is missing keeps the action a no-op.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1538", - "community": 107, - "norm_label": "the early-exit when config is missing keeps the action a no-op.", - "id": "ui_test_mount_rationale_1538" - }, - { - "label": "``view_log`` dispatches to the dialog opener helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1547", - "community": 33, - "norm_label": "``view_log`` dispatches to the dialog opener helper.", - "id": "ui_test_mount_rationale_1547" - }, - { - "label": "``clear_verified`` deletes the run directory via the local helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1566", - "community": 14, - "norm_label": "``clear_verified`` deletes the run directory via the local helper.", - "id": "ui_test_mount_rationale_1566" - }, - { - "label": "An exception from the clear sweep is caught + toasted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1627", - "community": 125, - "norm_label": "an exception from the clear sweep is caught + toasted.", - "id": "ui_test_mount_rationale_1627" - }, - { - "label": "Lightweight ``app`` stand-in carrying ``storage.tab``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1651", - "community": 0, - "norm_label": "lightweight ``app`` stand-in carrying ``storage.tab``.", - "id": "ui_test_mount_rationale_1651" - }, - { - "label": "Without a selected node the feed isn't started and returns ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1662", - "community": 33, - "norm_label": "without a selected node the feed isn't started and returns ``[]``.", - "id": "ui_test_mount_rationale_1662" - }, - { - "label": "The first call mounts a FolderFeed + RefreshCoordinator on tab storage.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1672", - "community": 50, - "norm_label": "the first call mounts a folderfeed + refreshcoordinator on tab storage.", - "id": "ui_test_mount_rationale_1672" - }, - { - "label": "When the feed's last_payload is set, entries are projected into FileListEntr", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1685", - "community": 86, - "norm_label": "when the feed's last_payload is set, entries are projected into filelistentr", - "id": "ui_test_mount_rationale_1685" - }, - { - "label": "The fetch is a no-op when RefreshCoordinator just walked the tree.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1727", - "community": 86, - "norm_label": "the fetch is a no-op when refreshcoordinator just walked the tree.", - "id": "ui_test_mount_rationale_1727" - }, - { - "label": "A successful scan records the refresh on the coordinator.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1744", - "community": 106, - "norm_label": "a successful scan records the refresh on the coordinator.", - "id": "ui_test_mount_rationale_1744" - }, - { - "label": "A scan failure returns ``None`` so the feed keeps polling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1763", - "community": 173, - "norm_label": "a scan failure returns ``none`` so the feed keeps polling.", - "id": "ui_test_mount_rationale_1763" - }, - { - "label": "A run with no sync-queue job still renders a dialog without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1779", - "community": 173, - "norm_label": "a run with no sync-queue job still renders a dialog without raising.", - "id": "ui_test_mount_rationale_1779" - }, - { - "label": "A run with a sync-queue job renders its state without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1788", - "community": 158, - "norm_label": "a run with a sync-queue job renders its state without raising.", - "id": "ui_test_mount_rationale_1788" - }, - { - "label": "Any exception raised by a per-kind builder is logged + swallowed.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1816", - "community": 69, - "norm_label": "any exception raised by a per-kind builder is logged + swallowed.", - "id": "ui_test_mount_rationale_1816" - }, - { - "label": "The relay payload pulls id+label from build_received_equipment_nodes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1829", - "community": 158, - "norm_label": "the relay payload pulls id+label from build_received_equipment_nodes.", - "id": "ui_test_mount_rationale_1829" - }, - { - "label": "An unknown relay id still produces a payload (best-effort label).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1845", - "community": 158, - "norm_label": "an unknown relay id still produces a payload (best-effort label).", - "id": "ui_test_mount_rationale_1845" - }, - { - "label": "A node id without an equipment/project split returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1852", - "community": 86, - "norm_label": "a node id without an equipment/project split returns ``{}``.", - "id": "ui_test_mount_rationale_1852" - }, - { - "label": "A missing parent dir returns 0 (no FS pre-check needed).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1858", - "community": 69, - "norm_label": "a missing parent dir returns 0 (no fs pre-check needed).", - "id": "ui_test_mount_rationale_1858" - }, - { - "label": "Only directory children whose names start with the prefix are counted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1863", - "community": 69, - "norm_label": "only directory children whose names start with the prefix are counted.", - "id": "ui_test_mount_rationale_1863" - }, - { - "label": "A corrupt creation.json yields {path, name}, never crashes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1872", - "community": 157, - "norm_label": "a corrupt creation.json yields {path, name}, never crashes.", - "id": "ui_test_mount_rationale_1872" - }, - { - "label": "When nas_sync.enqueue raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1885", - "community": 69, - "norm_label": "when nas_sync.enqueue raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_1885" - }, - { - "label": "When the clear helper raises, the background task swallows + toasts.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1901", - "community": 106, - "norm_label": "when the clear helper raises, the background task swallows + toasts.", - "id": "ui_test_mount_rationale_1901" - }, - { - "label": "The 0-file path reports ``already cleared`` rather than ``cleared N``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1917", - "community": 106, - "norm_label": "the 0-file path reports ``already cleared`` rather than ``cleared n``.", - "id": "ui_test_mount_rationale_1917" - }, - { - "label": "A clipboard write failure is caught and reported as a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1930", - "community": 173, - "norm_label": "a clipboard write failure is caught and reported as a negative toast.", - "id": "ui_test_mount_rationale_1930" - }, - { - "label": "A fake ``ui`` whose factories build recording stand-ins. Unlike ``_UiSpy``", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1967", - "community": 0, - "norm_label": "a fake ``ui`` whose factories build recording stand-ins. unlike ``_uispy``", - "id": "ui_test_mount_rationale_1967" - }, - { - "label": "A reachable probe maps ok/latency into a Connected result.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2023", - "community": 157, - "norm_label": "a reachable probe maps ok/latency into a connected result.", - "id": "ui_test_mount_rationale_2023" - }, - { - "label": "An async probe is awaited before its dict is mapped.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2050", - "community": 180, - "norm_label": "an async probe is awaited before its dict is mapped.", - "id": "ui_test_mount_rationale_2050" - }, - { - "label": "A fully-satisfied install has no outstanding next action.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2087", - "community": 325, - "norm_label": "a fully-satisfied install has no outstanding next action.", - "id": "ui_test_mount_rationale_2087" - }, - { - "label": "No sync-state writer wired -> negative toast, no task spawned.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2111", - "community": 106, - "norm_label": "no sync-state writer wired -> negative toast, no task spawned.", - "id": "ui_test_mount_rationale_2111" - }, - { - "label": "A path with no enclosing run root surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2120", - "community": 14, - "norm_label": "a path with no enclosing run root surfaces a negative toast.", - "id": "ui_test_mount_rationale_2120" - }, - { - "label": "A resolvable file flips keep_local via the writer and fires on_done.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2131", - "community": 23, - "norm_label": "a resolvable file flips keep_local via the writer and fires on_done.", - "id": "ui_test_mount_rationale_2131" - }, - { - "label": "The ``keep_local`` action routes to ``_toggle_keep_local``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2186", - "community": 14, - "norm_label": "the ``keep_local`` action routes to ``_toggle_keep_local``.", - "id": "ui_test_mount_rationale_2186" - }, - { - "label": "On win32 the helper calls ``os.startfile`` and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2203", - "community": 170, - "norm_label": "on win32 the helper calls ``os.startfile`` and reports success.", - "id": "ui_test_mount_rationale_2203" - }, - { - "label": "No controller -> a negative toast and no dialog open.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2237", - "community": 180, - "norm_label": "no controller -> a negative toast and no dialog open.", - "id": "ui_test_mount_rationale_2237" - }, - { - "label": "The details dialog renders the session state plus pending/error lines.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2264", - "community": 300, - "norm_label": "the details dialog renders the session state plus pending/error lines.", - "id": "ui_test_mount_rationale_2264" - }, - { - "label": "A session not awaiting input cannot be resumed -> negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2288", - "community": 14, - "norm_label": "a session not awaiting input cannot be resumed -> negative toast.", - "id": "ui_test_mount_rationale_2288" - }, - { - "label": "A suspended session re-opens its escalation dialog with parked fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2297", - "community": 171, - "norm_label": "a suspended session re-opens its escalation dialog with parked fields.", - "id": "ui_test_mount_rationale_2297" - }, - { - "label": "The dialog's Cancel handler routes through ``_cancel_session``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2358", - "community": 23, - "norm_label": "the dialog's cancel handler routes through ``_cancel_session``.", - "id": "ui_test_mount_rationale_2358" - }, - { - "label": "The Keep-files button cancels with discard_files=False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2417", - "community": 171, - "norm_label": "the keep-files button cancels with discard_files=false.", - "id": "ui_test_mount_rationale_2417" - }, - { - "label": "A cancel failure is caught and toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2434", - "community": 172, - "norm_label": "a cancel failure is caught and toasted, not raised.", - "id": "ui_test_mount_rationale_2434" - }, - { - "label": "The Back button closes the dialog without cancelling.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2450", - "community": 181, - "norm_label": "the back button closes the dialog without cancelling.", - "id": "ui_test_mount_rationale_2450" - }, - { - "label": "With a job row, the dialog renders each populated field line.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2464", - "community": 171, - "norm_label": "with a job row, the dialog renders each populated field line.", - "id": "ui_test_mount_rationale_2464" - }, - { - "label": "No progress view on the wizard state -> the consumer returns at once.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2508", - "community": 23, - "norm_label": "no progress view on the wizard state -> the consumer returns at once.", - "id": "ui_test_mount_rationale_2508" - }, - { - "label": "Submitting a run with no template selected surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2596", - "community": 170, - "norm_label": "submitting a run with no template selected surfaces a negative toast.", - "id": "ui_test_mount_rationale_2596" - }, - { - "label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2607", - "community": 172, - "norm_label": "``_render_run_wizard`` wires templates/equipment into the run-wizard page.", - "id": "ui_test_mount_rationale_2607" - }, - { - "label": "Non-EquipmentNode keys in the hierarchy are ignored; unknown root -> treated", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2636", - "community": 54, - "norm_label": "non-equipmentnode keys in the hierarchy are ignored; unknown root -> treated", - "id": "ui_test_mount_rationale_2636" - }, - { - "label": "A matching equipment id projects its config fields into the payload.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2661", - "community": 54, - "norm_label": "a matching equipment id projects its config fields into the payload.", - "id": "ui_test_mount_rationale_2661" - }, - { - "label": "A schema_version mismatch (read_catalogue -> None) yields ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2683", - "community": 54, - "norm_label": "a schema_version mismatch (read_catalogue -> none) yields ``[]``.", - "id": "ui_test_mount_rationale_2683" - }, - { - "label": "A raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2695", - "community": 50, - "norm_label": "a raising ``app.storage.tab`` degrades to an in-memory feed (no tab).", - "id": "ui_test_mount_rationale_2695" - }, - { - "label": "A raising evaluator degrades to 'not ready' (banner stays up).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2717", - "community": 50, - "norm_label": "a raising evaluator degrades to 'not ready' (banner stays up).", - "id": "ui_test_mount_rationale_2717" - }, - { - "label": "An equipment id absent from config yields ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2730", - "community": 54, - "norm_label": "an equipment id absent from config yields ``{}``.", - "id": "ui_test_mount_rationale_2730" - }, - { - "label": "With no SYNCED rows the sweep clears nothing and toasts 'none'.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2738", - "community": 351, - "norm_label": "with no synced rows the sweep clears nothing and toasts 'none'.", - "id": "ui_test_mount_rationale_2738" - }, - { - "label": "A failing ``controller.resume`` is caught + toasted, not raised.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2773", - "community": 23, - "norm_label": "a failing ``controller.resume`` is caught + toasted, not raised.", - "id": "ui_test_mount_rationale_2773" - }, - { - "label": "A staging-query failure degrades to an empty dock, not a crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2818", - "community": 181, - "norm_label": "a staging-query failure degrades to an empty dock, not a crash.", - "id": "ui_test_mount_rationale_2818" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L484", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_484" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L523", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_523" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L463", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_463" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L502", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_502" - }, - { - "label": "Context manager rendering a framed, titled pane; yields the body element. U", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L86", - "community": 61, - "norm_label": "context manager rendering a framed, titled pane; yields the body element. u", - "id": "components_framed_pane_rationale_86" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L462", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_462" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L494", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_494" - }, - { - "label": "Render the rebuilt three-region file-explorer main window. GUI/Orchestrator", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L170", - "community": 81, - "norm_label": "render the rebuilt three-region file-explorer main window. gui/orchestrator", - "id": "pages_main_rationale_170" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L460", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_460" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L492", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_492" - }, - { - "label": "Mutable state for the metadata pane.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L30", - "community": 146, - "norm_label": "mutable state for the metadata pane.", - "id": "components_metadata_pane_rationale_30" - }, - { - "label": "Render the right-pane Metadata content for ``state.selected_node``. Dispatc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L43", - "community": 132, - "norm_label": "render the right-pane metadata content for ``state.selected_node``. dispatc", - "id": "components_metadata_pane_rationale_43" - }, - { - "label": "Render the file-list column header row (Name / Size / Modified / Status).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L212", - "community": 202, - "norm_label": "render the file-list column header row (name / size / modified / status).", - "id": "components_file_list_rationale_212" - }, - { - "label": "Render the centre-pane file list. Pure render function. Double-clicking a f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L172", - "community": 202, - "norm_label": "render the centre-pane file list. pure render function. double-clicking a f", - "id": "components_file_list_rationale_172" - }, - { - "label": "Render the file-list column header row (Name / Size / Modified / Status).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L210", - "community": 202, - "norm_label": "render the file-list column header row (name / size / modified / status).", - "id": "components_file_list_rationale_210" - }, - { - "label": "Result of comparing two successive folder-list snapshots.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L69", - "community": 201, - "norm_label": "result of comparing two successive folder-list snapshots.", - "id": "components_file_list_rationale_69" - }, - { - "label": "Return additions / removals / modifications between two snapshots. Pure fun", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L80", - "community": 201, - "norm_label": "return additions / removals / modifications between two snapshots. pure fun", - "id": "components_file_list_rationale_80" - }, - { - "label": "Return the CSS background + decoration fragment for one file-list row. Pure", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L119", - "community": 139, - "norm_label": "return the css background + decoration fragment for one file-list row. pure", - "id": "components_file_list_rationale_119" - }, - { - "label": "Render the centre-pane file list. Pure render function. Double-clicking a f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L169", - "community": 202, - "norm_label": "render the centre-pane file list. pure render function. double-clicking a f", - "id": "components_file_list_rationale_169" - }, - { - "label": "Render the file-list column header row (Name / Size / Modified / Status).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L207", - "community": 202, - "norm_label": "render the file-list column header row (name / size / modified / status).", - "id": "components_file_list_rationale_207" - }, - { - "label": "Build the LIMS-password Save / Clear handlers for the settings dialog. Cred", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L462", - "community": 77, - "norm_label": "build the lims-password save / clear handlers for the settings dialog. cred", - "id": "ui_mount_rationale_462" - }, - { - "label": "Run the rclone NAS-remote probe and adapt it for the inline panel. rclone.c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L516", - "community": 228, - "norm_label": "run the rclone nas-remote probe and adapt it for the inline panel. rclone.c", - "id": "ui_mount_rationale_516" - }, - { - "label": "Write ``updated`` via ``deps.save_config`` and hot-reload components. Retur", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L572", - "community": 77, - "norm_label": "write ``updated`` via ``deps.save_config`` and hot-reload components. retur", - "id": "ui_mount_rationale_572" - }, - { - "label": "Create the staging directory when the operator saved a non-empty path. ``st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L604", - "community": 77, - "norm_label": "create the staging directory when the operator saved a non-empty path. ``st", - "id": "ui_mount_rationale_604" - }, - { - "label": "Push ``updated`` into the running components (no tray relaunch). Wraps :fun", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L630", - "community": 77, - "norm_label": "push ``updated`` into the running components (no tray relaunch). wraps :fun", - "id": "ui_mount_rationale_630" - }, - { - "label": "True when nas-mode equipment exist but the ``nas:`` remote is unusable. rcl", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L647", - "community": 82, - "norm_label": "true when nas-mode equipment exist but the ``nas:`` remote is unusable. rcl", - "id": "ui_mount_rationale_647" - }, - { - "label": "Return True when the \u00a74.9 setup state is ``READY``. Delegates to :func:`api", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L671", - "community": 52, - "norm_label": "return true when the \u00a74.9 setup state is ``ready``. delegates to :func:`api", - "id": "ui_mount_rationale_671" - }, - { - "label": "Register / unregister platform autostart; return the real post-op state. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L703", - "community": 153, - "norm_label": "register / unregister platform autostart; return the real post-op state. re", - "id": "ui_mount_rationale_703" - }, - { - "label": "Return the (session_id, session) pairs the Operations panel shows. The \u00a79.5", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L762", - "community": 204, - "norm_label": "return the (session_id, session) pairs the operations panel shows. the \u00a79.5", - "id": "ui_mount_rationale_762" - }, - { - "label": "Return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L779", - "community": 204, - "norm_label": "return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "id": "ui_mount_rationale_779" - }, - { - "label": "Return the \u00a74.9.3 next-action string for the banner subline. Unlike :func:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L796", - "community": 52, - "norm_label": "return the \u00a74.9.3 next-action string for the banner subline. unlike :func:`", - "id": "ui_mount_rationale_796" - }, - { - "label": "Compose the ``?selected=...&right_pane=...`` query string for /main. Omits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L826", - "community": 209, - "norm_label": "compose the ``?selected=...&right_pane=...`` query string for /main. omits", - "id": "ui_mount_rationale_826" - }, - { - "label": "Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L859", - "community": 209, - "norm_label": "map a selected node id to ``(kind, is_received)``. mirrors the shape classi", - "id": "ui_mount_rationale_859" - }, - { - "label": "Build the metadata-pane payload for the selected node, by kind. Returns ``{", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L903", - "community": 151, - "norm_label": "build the metadata-pane payload for the selected node, by kind. returns ``{", - "id": "ui_mount_rationale_903" - }, - { - "label": "Project equipment-config fields into the owned-equipment payload.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L930", - "community": 151, - "norm_label": "project equipment-config fields into the owned-equipment payload.", - "id": "ui_mount_rationale_930" - }, - { - "label": "Return the relay-equipment payload (label, source_host).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L945", - "community": 151, - "norm_label": "return the relay-equipment payload (label, source_host).", - "id": "ui_mount_rationale_945" - }, - { - "label": "Derive a project payload from the on-disk project directory. ``node_id`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L959", - "community": 210, - "norm_label": "derive a project payload from the on-disk project directory. ``node_id`` is", - "id": "ui_mount_rationale_959" - }, - { - "label": "Count immediate child directories of ``parent`` whose names start with ``pre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L993", - "community": 210, - "norm_label": "count immediate child directories of ``parent`` whose names start with ``pre", - "id": "ui_mount_rationale_993" - }, - { - "label": "Decode the run's creation.json into the metadata-pane payload. Returns ``{}", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1008", - "community": 163, - "norm_label": "decode the run's creation.json into the metadata-pane payload. returns ``{}", - "id": "ui_mount_rationale_1008" - }, - { - "label": "Resolve a centre-list selection (file or folder) to a render payload. Phase", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1051", - "community": 163, - "norm_label": "resolve a centre-list selection (file or folder) to a render payload. phase", - "id": "ui_mount_rationale_1051" - }, - { - "label": "Aggregate a one-level folder scan into a folder-card payload (OQ-4/B). Phas", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1100", - "community": 163, - "norm_label": "aggregate a one-level folder scan into a folder-card payload (oq-4/b). phas", - "id": "ui_mount_rationale_1100" - }, - { - "label": "Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1141", - "community": 188, - "norm_label": "mount / rebind the per-tab folderfeed and return current entries. uses ``ap", - "id": "ui_mount_rationale_1141" - }, - { - "label": "FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1202", - "community": 188, - "norm_label": "folderfeed fetch hook. skips when the tree just walked. runs the synchronou", - "id": "ui_mount_rationale_1202" - }, - { - "label": "Force a fresh single-folder scan and prime the feed payload (OQ-1/A). The F", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1226", - "community": 55, - "norm_label": "force a fresh single-folder scan and prime the feed payload (oq-1/a). the f", - "id": "ui_mount_rationale_1226" - }, - { - "label": "Dispatch a per-run context action to its backend surface. Mirrors :func:`ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1259", - "community": 55, - "norm_label": "dispatch a per-run context action to its backend surface. mirrors :func:`ap", - "id": "ui_mount_rationale_1259" - }, - { - "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1317", - "community": 161, - "norm_label": "bulk-clear every staged run whose sync job is verified. wired from the file", - "id": "ui_mount_rationale_1317" - }, - { - "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1362", - "community": 161, - "norm_label": "handle ``open in os`` / ``copy path`` / ``keep local`` file actions.", - "id": "ui_mount_rationale_1362" - }, - { - "label": "Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1401", - "community": 55, - "norm_label": "flip a file's ``keep_local`` flag via the orchestrator's writer. operator-f", - "id": "ui_mount_rationale_1401" - }, - { - "label": "Launch the host OS's default opener for ``path``. Returns False on platform", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1444", - "community": 164, - "norm_label": "launch the host os's default opener for ``path``. returns false on platform", - "id": "ui_mount_rationale_1444" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1472", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the", - "id": "ui_mount_rationale_1472" - }, - { - "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1484", - "community": 28, - "norm_label": "open the in-flight operations panel (frontend \u00a79.5). builds a fresh snapsho", - "id": "ui_mount_rationale_1484" - }, - { - "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1508", - "community": 164, - "norm_label": "show a lightweight details/\"log\" dialog for one in-flight operation. the \u00a79", - "id": "ui_mount_rationale_1508" - }, - { - "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1542", - "community": 28, - "norm_label": "resume a suspended session by re-opening its \u00a79.1 input dialog (t5). reads", - "id": "ui_mount_rationale_1542" - }, - { - "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1574", - "community": 63, - "norm_label": "open the \u00a79.1 escalation dialog; submit resumes, cancel confirms (t5). subm", - "id": "ui_mount_rationale_1574" - }, - { - "label": "Resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1612", - "community": 28, - "norm_label": "resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "id": "ui_mount_rationale_1612" - }, - { - "label": "Open a NiceGUI dialog showing the run's sync-queue job state. The operator-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1662", - "community": 55, - "norm_label": "open a nicegui dialog showing the run's sync-queue job state. the operator-", - "id": "ui_mount_rationale_1662" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1710", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a", - "id": "ui_mount_rationale_1710" - }, - { - "label": "Return the configured templates directory, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1743", - "community": 40, - "norm_label": "return the configured templates directory, or ``none``.", - "id": "ui_mount_rationale_1743" - }, - { - "label": "List template directory names of ``template_type`` under templates_dir.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1751", - "community": 40, - "norm_label": "list template directory names of ``template_type`` under templates_dir.", - "id": "ui_mount_rationale_1751" - }, - { - "label": "Map each ``template_type`` template name to its parsed copier questions. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1768", - "community": 63, - "norm_label": "map each ``template_type`` template name to its parsed copier questions. re", - "id": "ui_mount_rationale_1768" - }, - { - "label": "Read the offline-catalogue projects (disconnected-workstation source). Read", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1801", - "community": 162, - "norm_label": "read the offline-catalogue projects (disconnected-workstation source). read", - "id": "ui_mount_rationale_1801" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1835", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv", - "id": "ui_mount_rationale_1835" - }, - { - "label": "Return the configured equipment IDs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1865", - "community": 63, - "norm_label": "return the configured equipment ids.", - "id": "ui_mount_rationale_1865" - }, - { - "label": "Await a controller session's pipeline task and return the final handle. ``c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1873", - "community": 63, - "norm_label": "await a controller session's pipeline task and return the final handle. ``c", - "id": "ui_mount_rationale_1873" - }, - { - "label": "Fold the controller's WS frames into the wizard's live phase bar (T2) and su", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1892", - "community": 40, - "norm_label": "fold the controller's ws frames into the wizard's live phase bar (t2) and su", - "id": "ui_mount_rationale_1892" - }, - { - "label": "Best-effort close of a NiceGUI dialog (no-op when ``None`` / test mode).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1935", - "community": 40, - "norm_label": "best-effort close of a nicegui dialog (no-op when ``none`` / test mode).", - "id": "ui_mount_rationale_1935" - }, - { - "label": "Build a ProjectCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1943", - "community": 63, - "norm_label": "build a projectcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1943" - }, - { - "label": "Build a RunCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1976", - "community": 99, - "norm_label": "build a runcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1976" - }, - { - "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2017", - "community": 99, - "norm_label": "drive a create_* call to completion and toast the outcome. when ``wizard_st", - "id": "ui_mount_rationale_2017" - }, - { - "label": "Run the validator audit, swallowing failures to a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2060", - "community": 99, - "norm_label": "run the validator audit, swallowing failures to a warn log.", - "id": "ui_mount_rationale_2060" - }, - { - "label": "Build the LIMS-password Save / Clear handlers for the settings dialog. Cred", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L427", - "community": 77, - "norm_label": "build the lims-password save / clear handlers for the settings dialog. cred", - "id": "ui_mount_rationale_427" - }, - { - "label": "Run the rclone NAS-remote probe and adapt it for the inline panel. rclone.c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L481", - "community": 228, - "norm_label": "run the rclone nas-remote probe and adapt it for the inline panel. rclone.c", - "id": "ui_mount_rationale_481" - }, - { - "label": "Write ``updated`` via ``deps.save_config`` and hot-reload components. Retur", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L537", - "community": 77, - "norm_label": "write ``updated`` via ``deps.save_config`` and hot-reload components. retur", - "id": "ui_mount_rationale_537" - }, - { - "label": "Create the staging directory when the operator saved a non-empty path. ``st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L569", - "community": 77, - "norm_label": "create the staging directory when the operator saved a non-empty path. ``st", - "id": "ui_mount_rationale_569" - }, - { - "label": "Push ``updated`` into the running components (no tray relaunch). Wraps :fun", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L595", - "community": 77, - "norm_label": "push ``updated`` into the running components (no tray relaunch). wraps :fun", - "id": "ui_mount_rationale_595" - }, - { - "label": "True when nas-mode equipment exist but the ``nas:`` remote is unusable. rcl", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L612", - "community": 82, - "norm_label": "true when nas-mode equipment exist but the ``nas:`` remote is unusable. rcl", - "id": "ui_mount_rationale_612" - }, - { - "label": "Return True when the \u00a74.9 setup state is ``READY``. Delegates to :func:`api", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L636", - "community": 52, - "norm_label": "return true when the \u00a74.9 setup state is ``ready``. delegates to :func:`api", - "id": "ui_mount_rationale_636" - }, - { - "label": "Register / unregister platform autostart; return the real post-op state. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L668", - "community": 153, - "norm_label": "register / unregister platform autostart; return the real post-op state. re", - "id": "ui_mount_rationale_668" - }, - { - "label": "Return the (session_id, session) pairs the Operations panel shows. The \u00a79.5", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L727", - "community": 204, - "norm_label": "return the (session_id, session) pairs the operations panel shows. the \u00a79.5", - "id": "ui_mount_rationale_727" - }, - { - "label": "Return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L744", - "community": 204, - "norm_label": "return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "id": "ui_mount_rationale_744" - }, - { - "label": "Return the \u00a74.9.3 next-action string for the banner subline. Unlike :func:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L761", - "community": 52, - "norm_label": "return the \u00a74.9.3 next-action string for the banner subline. unlike :func:`", - "id": "ui_mount_rationale_761" - }, - { - "label": "Compose the ``?selected=...&right_pane=...`` query string for /main. Omits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L791", - "community": 209, - "norm_label": "compose the ``?selected=...&right_pane=...`` query string for /main. omits", - "id": "ui_mount_rationale_791" - }, - { - "label": "Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L824", - "community": 209, - "norm_label": "map a selected node id to ``(kind, is_received)``. mirrors the shape classi", - "id": "ui_mount_rationale_824" - }, - { - "label": "Build the metadata-pane payload for the selected node, by kind. Returns ``{", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L868", - "community": 151, - "norm_label": "build the metadata-pane payload for the selected node, by kind. returns ``{", - "id": "ui_mount_rationale_868" - }, - { - "label": "Project equipment-config fields into the owned-equipment payload.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L895", - "community": 151, - "norm_label": "project equipment-config fields into the owned-equipment payload.", - "id": "ui_mount_rationale_895" - }, - { - "label": "Derive a project payload from the on-disk project directory. ``node_id`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L924", - "community": 210, - "norm_label": "derive a project payload from the on-disk project directory. ``node_id`` is", - "id": "ui_mount_rationale_924" - }, - { - "label": "Count immediate child directories of ``parent`` whose names start with ``pre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L958", - "community": 210, - "norm_label": "count immediate child directories of ``parent`` whose names start with ``pre", - "id": "ui_mount_rationale_958" - }, - { - "label": "Decode the run's creation.json into the metadata-pane payload. Returns ``{}", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L973", - "community": 163, - "norm_label": "decode the run's creation.json into the metadata-pane payload. returns ``{}", - "id": "ui_mount_rationale_973" - }, - { - "label": "Resolve a centre-list selection (file or folder) to a render payload. Phase", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1016", - "community": 163, - "norm_label": "resolve a centre-list selection (file or folder) to a render payload. phase", - "id": "ui_mount_rationale_1016" - }, - { - "label": "Aggregate a one-level folder scan into a folder-card payload (OQ-4/B). Phas", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1065", - "community": 163, - "norm_label": "aggregate a one-level folder scan into a folder-card payload (oq-4/b). phas", - "id": "ui_mount_rationale_1065" - }, - { - "label": "Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1106", - "community": 188, - "norm_label": "mount / rebind the per-tab folderfeed and return current entries. uses ``ap", - "id": "ui_mount_rationale_1106" - }, - { - "label": "FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1167", - "community": 188, - "norm_label": "folderfeed fetch hook. skips when the tree just walked. runs the synchronou", - "id": "ui_mount_rationale_1167" - }, - { - "label": "Force a fresh single-folder scan and prime the feed payload (OQ-1/A). The F", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1191", - "community": 55, - "norm_label": "force a fresh single-folder scan and prime the feed payload (oq-1/a). the f", - "id": "ui_mount_rationale_1191" - }, - { - "label": "Dispatch a per-run context action to its backend surface. Mirrors :func:`ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1224", - "community": 55, - "norm_label": "dispatch a per-run context action to its backend surface. mirrors :func:`ap", - "id": "ui_mount_rationale_1224" - }, - { - "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1282", - "community": 161, - "norm_label": "bulk-clear every staged run whose sync job is verified. wired from the file", - "id": "ui_mount_rationale_1282" - }, - { - "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1327", - "community": 161, - "norm_label": "handle ``open in os`` / ``copy path`` / ``keep local`` file actions.", - "id": "ui_mount_rationale_1327" - }, - { - "label": "Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1366", - "community": 55, - "norm_label": "flip a file's ``keep_local`` flag via the orchestrator's writer. operator-f", - "id": "ui_mount_rationale_1366" - }, - { - "label": "Launch the host OS's default opener for ``path``. Returns False on platform", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1409", - "community": 164, - "norm_label": "launch the host os's default opener for ``path``. returns false on platform", - "id": "ui_mount_rationale_1409" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1437", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the", - "id": "ui_mount_rationale_1437" - }, - { - "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1449", - "community": 28, - "norm_label": "open the in-flight operations panel (frontend \u00a79.5). builds a fresh snapsho", - "id": "ui_mount_rationale_1449" - }, - { - "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1473", - "community": 164, - "norm_label": "show a lightweight details/\"log\" dialog for one in-flight operation. the \u00a79", - "id": "ui_mount_rationale_1473" - }, - { - "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1507", - "community": 28, - "norm_label": "resume a suspended session by re-opening its \u00a79.1 input dialog (t5). reads", - "id": "ui_mount_rationale_1507" - }, - { - "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1539", - "community": 40, - "norm_label": "open the \u00a79.1 escalation dialog; submit resumes, cancel confirms (t5). subm", - "id": "ui_mount_rationale_1539" - }, - { - "label": "Resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1577", - "community": 28, - "norm_label": "resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "id": "ui_mount_rationale_1577" - }, - { - "label": "Cancel an in-flight session via the \u00a79.4 Discard / Keep dialog (T4). The op", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1586", - "community": 28, - "norm_label": "cancel an in-flight session via the \u00a79.4 discard / keep dialog (t4). the op", - "id": "ui_mount_rationale_1586" - }, - { - "label": "Open a NiceGUI dialog showing the run's sync-queue job state. The operator-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1627", - "community": 55, - "norm_label": "open a nicegui dialog showing the run's sync-queue job state. the operator-", - "id": "ui_mount_rationale_1627" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1675", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a", - "id": "ui_mount_rationale_1675" - }, - { - "label": "Return the configured templates directory, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1708", - "community": 40, - "norm_label": "return the configured templates directory, or ``none``.", - "id": "ui_mount_rationale_1708" - }, - { - "label": "List template directory names of ``template_type`` under templates_dir.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1716", - "community": 40, - "norm_label": "list template directory names of ``template_type`` under templates_dir.", - "id": "ui_mount_rationale_1716" - }, - { - "label": "Map each ``template_type`` template name to its parsed copier questions. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1733", - "community": 63, - "norm_label": "map each ``template_type`` template name to its parsed copier questions. re", - "id": "ui_mount_rationale_1733" - }, - { - "label": "Read the offline-catalogue projects (disconnected-workstation source). Read", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1766", - "community": 162, - "norm_label": "read the offline-catalogue projects (disconnected-workstation source). read", - "id": "ui_mount_rationale_1766" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1800", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv", - "id": "ui_mount_rationale_1800" - }, - { - "label": "Return the configured equipment IDs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1830", - "community": 63, - "norm_label": "return the configured equipment ids.", - "id": "ui_mount_rationale_1830" - }, - { - "label": "Await a controller session's pipeline task and return the final handle. ``c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1838", - "community": 63, - "norm_label": "await a controller session's pipeline task and return the final handle. ``c", - "id": "ui_mount_rationale_1838" - }, - { - "label": "Fold the controller's WS frames into the wizard's live phase bar (T2) and su", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1857", - "community": 40, - "norm_label": "fold the controller's ws frames into the wizard's live phase bar (t2) and su", - "id": "ui_mount_rationale_1857" - }, - { - "label": "Best-effort close of a NiceGUI dialog (no-op when ``None`` / test mode).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1900", - "community": 40, - "norm_label": "best-effort close of a nicegui dialog (no-op when ``none`` / test mode).", - "id": "ui_mount_rationale_1900" - }, - { - "label": "Build a ProjectCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1908", - "community": 63, - "norm_label": "build a projectcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1908" - }, - { - "label": "Build a RunCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1941", - "community": 99, - "norm_label": "build a runcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1941" - }, - { - "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1982", - "community": 99, - "norm_label": "drive a create_* call to completion and toast the outcome. when ``wizard_st", - "id": "ui_mount_rationale_1982" - }, - { - "label": "Run the validator audit, swallowing failures to a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2025", - "community": 99, - "norm_label": "run the validator audit, swallowing failures to a warn log.", - "id": "ui_mount_rationale_2025" - }, - { - "label": "Return the (session_id, session) pairs the Operations panel shows. The \u00a79.5", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L719", - "community": 204, - "norm_label": "return the (session_id, session) pairs the operations panel shows. the \u00a79.5", - "id": "ui_mount_rationale_719" - }, - { - "label": "Return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L736", - "community": 204, - "norm_label": "return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "id": "ui_mount_rationale_736" - }, - { - "label": "Return the \u00a74.9.3 next-action string for the banner subline. Unlike :func:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L753", - "community": 52, - "norm_label": "return the \u00a74.9.3 next-action string for the banner subline. unlike :func:`", - "id": "ui_mount_rationale_753" - }, - { - "label": "Compose the ``?selected=...&right_pane=...`` query string for /main. Omits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L783", - "community": 209, - "norm_label": "compose the ``?selected=...&right_pane=...`` query string for /main. omits", - "id": "ui_mount_rationale_783" - }, - { - "label": "Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L816", - "community": 209, - "norm_label": "map a selected node id to ``(kind, is_received)``. mirrors the shape classi", - "id": "ui_mount_rationale_816" - }, - { - "label": "Build the metadata-pane payload for the selected node, by kind. Returns ``{", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L860", - "community": 151, - "norm_label": "build the metadata-pane payload for the selected node, by kind. returns ``{", - "id": "ui_mount_rationale_860" - }, - { - "label": "Project equipment-config fields into the owned-equipment payload.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L887", - "community": 151, - "norm_label": "project equipment-config fields into the owned-equipment payload.", - "id": "ui_mount_rationale_887" - }, - { - "label": "Return the relay-equipment payload (label, source_host).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L902", - "community": 151, - "norm_label": "return the relay-equipment payload (label, source_host).", - "id": "ui_mount_rationale_902" - }, - { - "label": "Derive a project payload from the on-disk project directory. ``node_id`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L916", - "community": 210, - "norm_label": "derive a project payload from the on-disk project directory. ``node_id`` is", - "id": "ui_mount_rationale_916" - }, - { - "label": "Count immediate child directories of ``parent`` whose names start with ``pre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L950", - "community": 210, - "norm_label": "count immediate child directories of ``parent`` whose names start with ``pre", - "id": "ui_mount_rationale_950" - }, - { - "label": "Decode the run's creation.json into the metadata-pane payload. Returns ``{}", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L965", - "community": 163, - "norm_label": "decode the run's creation.json into the metadata-pane payload. returns ``{}", - "id": "ui_mount_rationale_965" - }, - { - "label": "Aggregate a one-level folder scan into a folder-card payload (OQ-4/B). Phas", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1057", - "community": 163, - "norm_label": "aggregate a one-level folder scan into a folder-card payload (oq-4/b). phas", - "id": "ui_mount_rationale_1057" - }, - { - "label": "Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1098", - "community": 188, - "norm_label": "mount / rebind the per-tab folderfeed and return current entries. uses ``ap", - "id": "ui_mount_rationale_1098" - }, - { - "label": "FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1159", - "community": 188, - "norm_label": "folderfeed fetch hook. skips when the tree just walked. runs the synchronou", - "id": "ui_mount_rationale_1159" - }, - { - "label": "Force a fresh single-folder scan and prime the feed payload (OQ-1/A). The F", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1183", - "community": 55, - "norm_label": "force a fresh single-folder scan and prime the feed payload (oq-1/a). the f", - "id": "ui_mount_rationale_1183" - }, - { - "label": "Dispatch a per-run context action to its backend surface. Mirrors :func:`ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1216", - "community": 55, - "norm_label": "dispatch a per-run context action to its backend surface. mirrors :func:`ap", - "id": "ui_mount_rationale_1216" - }, - { - "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1274", - "community": 161, - "norm_label": "bulk-clear every staged run whose sync job is verified. wired from the file", - "id": "ui_mount_rationale_1274" - }, - { - "label": "Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1358", - "community": 55, - "norm_label": "flip a file's ``keep_local`` flag via the orchestrator's writer. operator-f", - "id": "ui_mount_rationale_1358" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1429", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the", - "id": "ui_mount_rationale_1429" - }, - { - "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1441", - "community": 28, - "norm_label": "open the in-flight operations panel (frontend \u00a79.5). builds a fresh snapsho", - "id": "ui_mount_rationale_1441" - }, - { - "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1465", - "community": 164, - "norm_label": "show a lightweight details/\"log\" dialog for one in-flight operation. the \u00a79", - "id": "ui_mount_rationale_1465" - }, - { - "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1499", - "community": 28, - "norm_label": "resume a suspended session by re-opening its \u00a79.1 input dialog (t5). reads", - "id": "ui_mount_rationale_1499" - }, - { - "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1531", - "community": 40, - "norm_label": "open the \u00a79.1 escalation dialog; submit resumes, cancel confirms (t5). subm", - "id": "ui_mount_rationale_1531" - }, - { - "label": "Resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1569", - "community": 28, - "norm_label": "resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "id": "ui_mount_rationale_1569" - }, - { - "label": "Cancel an in-flight session via the \u00a79.4 Discard / Keep dialog (T4). The op", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1578", - "community": 28, - "norm_label": "cancel an in-flight session via the \u00a79.4 discard / keep dialog (t4). the op", - "id": "ui_mount_rationale_1578" - }, - { - "label": "Open a NiceGUI dialog showing the run's sync-queue job state. The operator-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1619", - "community": 55, - "norm_label": "open a nicegui dialog showing the run's sync-queue job state. the operator-", - "id": "ui_mount_rationale_1619" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1667", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a", - "id": "ui_mount_rationale_1667" - }, - { - "label": "Return the configured templates directory, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1700", - "community": 40, - "norm_label": "return the configured templates directory, or ``none``.", - "id": "ui_mount_rationale_1700" - }, - { - "label": "Map each ``template_type`` template name to its parsed copier questions. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1725", - "community": 63, - "norm_label": "map each ``template_type`` template name to its parsed copier questions. re", - "id": "ui_mount_rationale_1725" - }, - { - "label": "Read the offline-catalogue projects (disconnected-workstation source). Read", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1758", - "community": 162, - "norm_label": "read the offline-catalogue projects (disconnected-workstation source). read", - "id": "ui_mount_rationale_1758" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1792", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv", - "id": "ui_mount_rationale_1792" - }, - { - "label": "Return the configured equipment IDs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1822", - "community": 63, - "norm_label": "return the configured equipment ids.", - "id": "ui_mount_rationale_1822" - }, - { - "label": "Build a RunCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1933", - "community": 99, - "norm_label": "build a runcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1933" - }, - { - "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1974", - "community": 99, - "norm_label": "drive a create_* call to completion and toast the outcome. when ``wizard_st", - "id": "ui_mount_rationale_1974" - }, - { - "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1241", - "community": 161, - "norm_label": "bulk-clear every staged run whose sync job is verified. wired from the file", - "id": "ui_mount_rationale_1241" - }, - { - "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1286", - "community": 161, - "norm_label": "handle ``open in os`` / ``copy path`` / ``keep local`` file actions.", - "id": "ui_mount_rationale_1286" - }, - { - "label": "Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1325", - "community": 55, - "norm_label": "flip a file's ``keep_local`` flag via the orchestrator's writer. operator-f", - "id": "ui_mount_rationale_1325" - }, - { - "label": "Launch the host OS's default opener for ``path``. Returns False on platform", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1368", - "community": 164, - "norm_label": "launch the host os's default opener for ``path``. returns false on platform", - "id": "ui_mount_rationale_1368" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1396", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the", - "id": "ui_mount_rationale_1396" - }, - { - "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1408", - "community": 28, - "norm_label": "open the in-flight operations panel (frontend \u00a79.5). builds a fresh snapsho", - "id": "ui_mount_rationale_1408" - }, - { - "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1432", - "community": 164, - "norm_label": "show a lightweight details/\"log\" dialog for one in-flight operation. the \u00a79", - "id": "ui_mount_rationale_1432" - }, - { - "label": "Cancel an in-flight session via the \u00a79.4 Discard / Keep dialog (T4). The op", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1545", - "community": 28, - "norm_label": "cancel an in-flight session via the \u00a79.4 discard / keep dialog (t4). the op", - "id": "ui_mount_rationale_1545" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1634", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a", - "id": "ui_mount_rationale_1634" - }, - { - "label": "Map each ``template_type`` template name to its parsed copier questions. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1692", - "community": 63, - "norm_label": "map each ``template_type`` template name to its parsed copier questions. re", - "id": "ui_mount_rationale_1692" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1759", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv", - "id": "ui_mount_rationale_1759" - }, - { - "label": "Return the configured equipment IDs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1789", - "community": 63, - "norm_label": "return the configured equipment ids.", - "id": "ui_mount_rationale_1789" - }, - { - "label": "Await a controller session's pipeline task and return the final handle. ``c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1797", - "community": 63, - "norm_label": "await a controller session's pipeline task and return the final handle. ``c", - "id": "ui_mount_rationale_1797" - }, - { - "label": "Fold the controller's WS frames into the wizard's live phase bar (T2) and su", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1816", - "community": 40, - "norm_label": "fold the controller's ws frames into the wizard's live phase bar (t2) and su", - "id": "ui_mount_rationale_1816" - }, - { - "label": "Run the validator audit, swallowing failures to a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1984", - "community": 99, - "norm_label": "run the validator audit, swallowing failures to a warn log.", - "id": "ui_mount_rationale_1984" - }, - { - "label": "Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L999", - "community": 188, - "norm_label": "mount / rebind the per-tab folderfeed and return current entries. uses ``ap", - "id": "ui_mount_rationale_999" - }, - { - "label": "FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1060", - "community": 188, - "norm_label": "folderfeed fetch hook. skips when the tree just walked. runs the synchronou", - "id": "ui_mount_rationale_1060" - }, - { - "label": "Dispatch a per-run context action to its backend surface. Mirrors :func:`ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1084", - "community": 55, - "norm_label": "dispatch a per-run context action to its backend surface. mirrors :func:`ap", - "id": "ui_mount_rationale_1084" - }, - { - "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1142", - "community": 161, - "norm_label": "bulk-clear every staged run whose sync job is verified. wired from the file", - "id": "ui_mount_rationale_1142" - }, - { - "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1187", - "community": 161, - "norm_label": "handle ``open in os`` / ``copy path`` / ``keep local`` file actions.", - "id": "ui_mount_rationale_1187" - }, - { - "label": "Launch the host OS's default opener for ``path``. Returns False on platform", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1269", - "community": 164, - "norm_label": "launch the host os's default opener for ``path``. returns false on platform", - "id": "ui_mount_rationale_1269" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1297", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the", - "id": "ui_mount_rationale_1297" - }, - { - "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1309", - "community": 28, - "norm_label": "open the in-flight operations panel (frontend \u00a79.5). builds a fresh snapsho", - "id": "ui_mount_rationale_1309" - }, - { - "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1333", - "community": 164, - "norm_label": "show a lightweight details/\"log\" dialog for one in-flight operation. the \u00a79", - "id": "ui_mount_rationale_1333" - }, - { - "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1367", - "community": 28, - "norm_label": "resume a suspended session by re-opening its \u00a79.1 input dialog (t5). reads", - "id": "ui_mount_rationale_1367" - }, - { - "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1399", - "community": 40, - "norm_label": "open the \u00a79.1 escalation dialog; submit resumes, cancel confirms (t5). subm", - "id": "ui_mount_rationale_1399" - }, - { - "label": "Open a NiceGUI dialog showing the run's sync-queue job state. The operator-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1487", - "community": 55, - "norm_label": "open a nicegui dialog showing the run's sync-queue job state. the operator-", - "id": "ui_mount_rationale_1487" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1535", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a", - "id": "ui_mount_rationale_1535" - }, - { - "label": "Map each ``template_type`` template name to its parsed copier questions. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1593", - "community": 63, - "norm_label": "map each ``template_type`` template name to its parsed copier questions. re", - "id": "ui_mount_rationale_1593" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1660", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv", - "id": "ui_mount_rationale_1660" - }, - { - "label": "Return the configured equipment IDs.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1690", - "community": 63, - "norm_label": "return the configured equipment ids.", - "id": "ui_mount_rationale_1690" - }, - { - "label": "Await a controller session's pipeline task and return the final handle. ``c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1698", - "community": 63, - "norm_label": "await a controller session's pipeline task and return the final handle. ``c", - "id": "ui_mount_rationale_1698" - }, - { - "label": "Fold the controller's WS frames into the wizard's live phase bar (T2) and su", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1717", - "community": 40, - "norm_label": "fold the controller's ws frames into the wizard's live phase bar (t2) and su", - "id": "ui_mount_rationale_1717" - }, - { - "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1842", - "community": 99, - "norm_label": "drive a create_* call to completion and toast the outcome. when ``wizard_st", - "id": "ui_mount_rationale_1842" - }, - { - "label": "Run the validator audit, swallowing failures to a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1885", - "community": 99, - "norm_label": "run the validator audit, swallowing failures to a warn log.", - "id": "ui_mount_rationale_1885" - }, - { - "label": "Compose the ``?selected=...&right_pane=...`` query string for /main. Omits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L776", - "community": 209, - "norm_label": "compose the ``?selected=...&right_pane=...`` query string for /main. omits", - "id": "ui_mount_rationale_776" - }, - { - "label": "Map a selected node id to ``(kind, is_received)``. Mirrors the shape classi", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L797", - "community": 209, - "norm_label": "map a selected node id to ``(kind, is_received)``. mirrors the shape classi", - "id": "ui_mount_rationale_797" - }, - { - "label": "Build the metadata-pane payload for the selected node, by kind. Returns ``{", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L841", - "community": 151, - "norm_label": "build the metadata-pane payload for the selected node, by kind. returns ``{", - "id": "ui_mount_rationale_841" - }, - { - "label": "Return the relay-equipment payload (label, source_host).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L883", - "community": 151, - "norm_label": "return the relay-equipment payload (label, source_host).", - "id": "ui_mount_rationale_883" - }, - { - "label": "Derive a project payload from the on-disk project directory. ``node_id`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L897", - "community": 210, - "norm_label": "derive a project payload from the on-disk project directory. ``node_id`` is", - "id": "ui_mount_rationale_897" - }, - { - "label": "Count immediate child directories of ``parent`` whose names start with ``pre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L931", - "community": 210, - "norm_label": "count immediate child directories of ``parent`` whose names start with ``pre", - "id": "ui_mount_rationale_931" - }, - { - "label": "Decode the run's creation.json into the metadata-pane payload. Returns ``{}", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L946", - "community": 163, - "norm_label": "decode the run's creation.json into the metadata-pane payload. returns ``{}", - "id": "ui_mount_rationale_946" - }, - { - "label": "Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L980", - "community": 188, - "norm_label": "mount / rebind the per-tab folderfeed and return current entries. uses ``ap", - "id": "ui_mount_rationale_980" - }, - { - "label": "FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1041", - "community": 188, - "norm_label": "folderfeed fetch hook. skips when the tree just walked. runs the synchronou", - "id": "ui_mount_rationale_1041" - }, - { - "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1123", - "community": 161, - "norm_label": "bulk-clear every staged run whose sync job is verified. wired from the file", - "id": "ui_mount_rationale_1123" - }, - { - "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1168", - "community": 161, - "norm_label": "handle ``open in os`` / ``copy path`` / ``keep local`` file actions.", - "id": "ui_mount_rationale_1168" - }, - { - "label": "Flip a file's ``keep_local`` flag via the orchestrator's writer. Operator-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1207", - "community": 55, - "norm_label": "flip a file's ``keep_local`` flag via the orchestrator's writer. operator-f", - "id": "ui_mount_rationale_1207" - }, - { - "label": "Launch the host OS's default opener for ``path``. Returns False on platform", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1250", - "community": 164, - "norm_label": "launch the host os's default opener for ``path``. returns false on platform", - "id": "ui_mount_rationale_1250" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1278", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the", - "id": "ui_mount_rationale_1278" - }, - { - "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1290", - "community": 28, - "norm_label": "open the in-flight operations panel (frontend \u00a79.5). builds a fresh snapsho", - "id": "ui_mount_rationale_1290" - }, - { - "label": "Show a lightweight details/\"log\" dialog for one in-flight operation. The \u00a79", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1314", - "community": 164, - "norm_label": "show a lightweight details/\"log\" dialog for one in-flight operation. the \u00a79", - "id": "ui_mount_rationale_1314" - }, - { - "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1348", - "community": 28, - "norm_label": "resume a suspended session by re-opening its \u00a79.1 input dialog (t5). reads", - "id": "ui_mount_rationale_1348" - }, - { - "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1380", - "community": 40, - "norm_label": "open the \u00a79.1 escalation dialog; submit resumes, cancel confirms (t5). subm", - "id": "ui_mount_rationale_1380" - }, - { - "label": "Resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1418", - "community": 28, - "norm_label": "resolve the controller off ``deps`` and open the \u00a79.4 cancel dialog.", - "id": "ui_mount_rationale_1418" - }, - { - "label": "Cancel an in-flight session via the \u00a79.4 Discard / Keep dialog (T4). The op", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1427", - "community": 28, - "norm_label": "cancel an in-flight session via the \u00a79.4 discard / keep dialog (t4). the op", - "id": "ui_mount_rationale_1427" - }, - { - "label": "Open a NiceGUI dialog showing the run's sync-queue job state. The operator-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1468", - "community": 55, - "norm_label": "open a nicegui dialog showing the run's sync-queue job state. the operator-", - "id": "ui_mount_rationale_1468" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1516", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a", - "id": "ui_mount_rationale_1516" - }, - { - "label": "Return the configured templates directory, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1549", - "community": 40, - "norm_label": "return the configured templates directory, or ``none``.", - "id": "ui_mount_rationale_1549" - }, - { - "label": "List template directory names of ``template_type`` under templates_dir.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1557", - "community": 40, - "norm_label": "list template directory names of ``template_type`` under templates_dir.", - "id": "ui_mount_rationale_1557" - }, - { - "label": "Read the offline-catalogue projects (disconnected-workstation source). Read", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1607", - "community": 162, - "norm_label": "read the offline-catalogue projects (disconnected-workstation source). read", - "id": "ui_mount_rationale_1607" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1641", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv", - "id": "ui_mount_rationale_1641" - }, - { - "label": "Await a controller session's pipeline task and return the final handle. ``c", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1679", - "community": 63, - "norm_label": "await a controller session's pipeline task and return the final handle. ``c", - "id": "ui_mount_rationale_1679" - }, - { - "label": "Best-effort close of a NiceGUI dialog (no-op when ``None`` / test mode).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1741", - "community": 40, - "norm_label": "best-effort close of a nicegui dialog (no-op when ``none`` / test mode).", - "id": "ui_mount_rationale_1741" - }, - { - "label": "Build a ProjectCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1749", - "community": 63, - "norm_label": "build a projectcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1749" - }, - { - "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1823", - "community": 99, - "norm_label": "drive a create_* call to completion and toast the outcome. when ``wizard_st", - "id": "ui_mount_rationale_1823" - }, - { - "label": "Run the validator audit, swallowing failures to a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1866", - "community": 99, - "norm_label": "run the validator audit, swallowing failures to a warn log.", - "id": "ui_mount_rationale_1866" - }, - { - "label": "The three default chips on the left-tree filter strip (\u00a73.5.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L77", - "community": 81, - "norm_label": "the three default chips on the left-tree filter strip (\u00a73.5.4).", - "id": "pages_main_rationale_77" - }, - { - "label": "Translate a chip group state into a :class:`TreeFilters`.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L87", - "community": 81, - "norm_label": "translate a chip group state into a :class:`treefilters`.", - "id": "pages_main_rationale_87" - }, - { - "label": "Return the count text shown on the Problems tab. Frontend \u00a73.2: hard count", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L98", - "community": 81, - "norm_label": "return the count text shown on the problems tab. frontend \u00a73.2: hard count", - "id": "pages_main_rationale_98" - }, - { - "label": "Render the rebuilt three-region file-explorer main window. GUI/Orchestrator", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L158", - "community": 81, - "norm_label": "render the rebuilt three-region file-explorer main window. gui/orchestrator", - "id": "pages_main_rationale_158" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L448", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_448" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L480", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_480" - }, - { - "label": "test_framed_pane_yields_none_without_nicegui()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L50", - "community": 61, - "norm_label": "test_framed_pane_yields_none_without_nicegui()", - "id": "ui_test_framed_pane_test_framed_pane_yields_none_without_nicegui" - }, - { - "label": "test_framed_pane_with_count_yields_none_without_nicegui()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L56", - "community": 61, - "norm_label": "test_framed_pane_with_count_yields_none_without_nicegui()", - "id": "ui_test_framed_pane_test_framed_pane_with_count_yields_none_without_nicegui" - }, - { - "label": "test_framed_pane_nests_children_in_body_under_nicegui()", - "file_type": "code", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L61", - "community": 61, - "norm_label": "test_framed_pane_nests_children_in_body_under_nicegui()", - "id": "ui_test_framed_pane_test_framed_pane_nests_children_in_body_under_nicegui" - }, - { - "label": "Under a NiceGUI app context the card > header > body nesting holds and child", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L62", - "community": 61, - "norm_label": "under a nicegui app context the card > header > body nesting holds and child", - "id": "ui_test_framed_pane_rationale_62" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L446", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_446" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L478", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_478" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L440", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_440" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L472", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_472" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L434", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_434" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L466", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_466" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L428", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_428" - }, - { - "label": "Render state for the main page. GUI/Orchestrator Redesign \u00a74: the legacy tw", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L33", - "community": 81, - "norm_label": "render state for the main page. gui/orchestrator redesign \u00a74: the legacy tw", - "id": "pages_main_rationale_33" - }, - { - "label": "The three default chips on the left-tree filter strip (\u00a73.5.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L76", - "community": 81, - "norm_label": "the three default chips on the left-tree filter strip (\u00a73.5.4).", - "id": "pages_main_rationale_76" - }, - { - "label": "Translate a chip group state into a :class:`TreeFilters`.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L86", - "community": 81, - "norm_label": "translate a chip group state into a :class:`treefilters`.", - "id": "pages_main_rationale_86" - }, - { - "label": "Banner content for the setup-incomplete state (\u00a73.1.4). ``next_action`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L109", - "community": 81, - "norm_label": "banner content for the setup-incomplete state (\u00a73.1.4). ``next_action`` is", - "id": "pages_main_rationale_109" - }, - { - "label": "Render the rebuilt three-region file-explorer main window. GUI/Orchestrator", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L157", - "community": 81, - "norm_label": "render the rebuilt three-region file-explorer main window. gui/orchestrator", - "id": "pages_main_rationale_157" - }, - { - "label": "Render the centre-pane file list (Redesign \u00a74.3). Each row carries a right-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L427", - "community": 182, - "norm_label": "render the centre-pane file list (redesign \u00a74.3). each row carries a right-", - "id": "pages_main_rationale_427" - }, - { - "label": "Render the right Metadata / Problems pane (Redesign \u00a74.4).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L459", - "community": 192, - "norm_label": "render the right metadata / problems pane (redesign \u00a74.4).", - "id": "pages_main_rationale_459" - }, - { - "label": "Build a NiceGUI row containing the icon and optional retry counter. ``stric", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L162", - "community": 251, - "norm_label": "build a nicegui row containing the icon and optional retry counter. ``stric", - "id": "components_sync_status_icon_rationale_162" - }, - { - "label": "A bare entry defaults ``keep_local`` and ``tombstone`` to False.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L79", - "community": 139, - "norm_label": "a bare entry defaults ``keep_local`` and ``tombstone`` to false.", - "id": "ui_test_file_list_rationale_79" - }, - { - "label": "Flipping ``keep_local`` is a modification (drives a re-render).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L86", - "community": 201, - "norm_label": "flipping ``keep_local`` is a modification (drives a re-render).", - "id": "ui_test_file_list_rationale_86" - }, - { - "label": "A file transitioning to a tombstone is a modification.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L94", - "community": 201, - "norm_label": "a file transitioning to a tombstone is a modification.", - "id": "ui_test_file_list_rationale_94" - }, - { - "label": "``FILE_CONTEXT_KEEP_LOCAL`` is a distinct discriminator value.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L102", - "community": 372, - "norm_label": "``file_context_keep_local`` is a distinct discriminator value.", - "id": "ui_test_file_list_rationale_102" - }, - { - "label": "The renderer wires the keep-local menu item and tombstone row. Exercises th", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L107", - "community": 373, - "norm_label": "the renderer wires the keep-local menu item and tombstone row. exercises th", - "id": "ui_test_file_list_rationale_107" - }, - { - "label": "Build a NiceGUI row containing the icon and optional retry counter.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L161", - "community": 251, - "norm_label": "build a nicegui row containing the icon and optional retry counter.", - "id": "components_sync_status_icon_rationale_161" - }, - { - "label": "Compute icon + tooltip + retry-counter for a sync status. The ``retry_n``/`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L113", - "community": 205, - "norm_label": "compute icon + tooltip + retry-counter for a sync status. the ``retry_n``/`", - "id": "components_sync_status_icon_rationale_113" - }, - { - "label": "Build a NiceGUI row containing the icon and optional retry counter.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L140", - "community": 251, - "norm_label": "build a nicegui row containing the icon and optional retry counter.", - "id": "components_sync_status_icon_rationale_140" - }, - { - "label": "Render the centre-pane file list. Pure render function. Double-clicking a f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L118", - "community": 202, - "norm_label": "render the centre-pane file list. pure render function. double-clicking a f", - "id": "components_file_list_rationale_118" - }, - { - "label": "Render the file-list column header row (Name / Size / Modified / Status).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L156", - "community": 202, - "norm_label": "render the file-list column header row (name / size / modified / status).", - "id": "components_file_list_rationale_156" - }, - { - "label": "All shadows are navy-tinted (DESIGN.md \u00a704).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L82", - "community": 70, - "norm_label": "all shadows are navy-tinted (design.md \u00a704).", - "id": "ui_test_theme_rationale_82" - }, - { - "label": "The block opens with ``:root {`` per DESIGN.md \u00a707.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L95", - "community": 70, - "norm_label": "the block opens with ``:root {`` per design.md \u00a707.", - "id": "ui_test_theme_rationale_95" - }, - { - "label": "A body / heading / mono reset block follows the ``:root {}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L102", - "community": 70, - "norm_label": "a body / heading / mono reset block follows the ``:root {}``.", - "id": "ui_test_theme_rationale_102" - }, - { - "label": "In source layout, the resolver returns ``/assets/``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L111", - "community": 70, - "norm_label": "in source layout, the resolver returns ``/assets/``.", - "id": "ui_test_theme_rationale_111" - }, - { - "label": "Semantic tokens alias the Okabe-Ito palette per DESIGN.md \u00a701.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L43", - "community": 462, - "norm_label": "semantic tokens alias the okabe-ito palette per design.md \u00a701.", - "id": "ui_test_design_rationale_43" - }, - { - "label": "Frontend \u00a72.1.4: warning is canonically ``--oi-orange``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L52", - "community": 468, - "norm_label": "frontend \u00a72.1.4: warning is canonically ``--oi-orange``.", - "id": "ui_test_design_rationale_52" - }, - { - "label": "Frontend \u00a72.1.3 overrides DM Sans / DM Mono with IBM Plex / system mono.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L58", - "community": 470, - "norm_label": "frontend \u00a72.1.3 overrides dm sans / dm mono with ibm plex / system mono.", - "id": "ui_test_design_rationale_58" - }, - { - "label": "Type scale tokens are verbatim from DESIGN.md \u00a702.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L68", - "community": 458, - "norm_label": "type scale tokens are verbatim from design.md \u00a702.", - "id": "ui_test_design_rationale_68" - }, - { - "label": "Spacing tokens follow the 4px grid (DESIGN.md \u00a703).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L82", - "community": 465, - "norm_label": "spacing tokens follow the 4px grid (design.md \u00a703).", - "id": "ui_test_design_rationale_82" - }, - { - "label": "Border radius tokens (DESIGN.md \u00a704).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L99", - "community": 463, - "norm_label": "border radius tokens (design.md \u00a704).", - "id": "ui_test_design_rationale_99" - }, - { - "label": "All shadow definitions use ``rgba(0,54,96,...)`` (DESIGN.md \u00a704).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L108", - "community": 461, - "norm_label": "all shadow definitions use ``rgba(0,54,96,...)`` (design.md \u00a704).", - "id": "ui_test_design_rationale_108" - }, - { - "label": "Motion tokens (DESIGN.md \u00a707).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L115", - "community": 459, - "norm_label": "motion tokens (design.md \u00a707).", - "id": "ui_test_design_rationale_115" - }, - { - "label": "Series order is fixed (DESIGN.md absolute constraint).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L122", - "community": 457, - "norm_label": "series order is fixed (design.md absolute constraint).", - "id": "ui_test_design_rationale_122" - }, - { - "label": "Vermilion is reserved for the error / alert series (DESIGN.md \u00a706).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L136", - "community": 460, - "norm_label": "vermilion is reserved for the error / alert series (design.md \u00a706).", - "id": "ui_test_design_rationale_136" - }, - { - "label": "Frontend rules (DESIGN.md): series 5 is OI_BLUE but only after 4 prior series.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L142", - "community": 466, - "norm_label": "frontend rules (design.md): series 5 is oi_blue but only after 4 prior series.", - "id": "ui_test_design_rationale_142" - }, - { - "label": "Badge text variants are the documented darkened hexes (DESIGN.md \u00a705).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L153", - "community": 464, - "norm_label": "badge text variants are the documented darkened hexes (design.md \u00a705).", - "id": "ui_test_design_rationale_153" - }, - { - "label": "Alert text variants are the documented hexes (DESIGN.md \u00a705).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L165", - "community": 469, - "norm_label": "alert text variants are the documented hexes (design.md \u00a705).", - "id": "ui_test_design_rationale_165" - }, - { - "label": "``#F0E442`` is exposed as a token but never used for chrome. The chip strip", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L176", - "community": 467, - "norm_label": "``#f0e442`` is exposed as a token but never used for chrome. the chip strip", - "id": "ui_test_design_rationale_176" - }, - { - "label": "Register the design tokens with NiceGUI / Quasar at app start. Imports Nice", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L101", - "community": 39, - "norm_label": "register the design tokens with nicegui / quasar at app start. imports nice", - "id": "ui_theme_rationale_101" - }, - { - "label": "Return the absolute path to the bundled ``assets/`` directory. Resolves bot", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L123", - "community": 39, - "norm_label": "return the absolute path to the bundled ``assets/`` directory. resolves bot", - "id": "ui_theme_rationale_123" - }, - { - "label": "Mount the project's ``assets/`` directory at ``/assets``. Idempotent: a mod", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L138", - "community": 39, - "norm_label": "mount the project's ``assets/`` directory at ``/assets``. idempotent: a mod", - "id": "ui_theme_rationale_138" - }, - { - "label": "test_evaluate_setup_state_nas_keyring_missing()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L876", - "community": 160, - "norm_label": "test_evaluate_setup_state_nas_keyring_missing()", - "id": "unit_test_paths_test_evaluate_setup_state_nas_keyring_missing" - }, - { - "label": "test_evaluate_setup_state_nas_state_resolves_once_password_added()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L895", - "community": 160, - "norm_label": "test_evaluate_setup_state_nas_state_resolves_once_password_added()", - "id": "unit_test_paths_test_evaluate_setup_state_nas_state_resolves_once_password_added" - }, - { - "label": "test_setup_state_missing_for_no_nas_credential_lists_per_equipment()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L905", - "community": 160, - "norm_label": "test_setup_state_missing_for_no_nas_credential_lists_per_equipment()", - "id": "unit_test_paths_test_setup_state_missing_for_no_nas_credential_lists_per_equipment" - }, - { - "label": "test_setup_state_next_action_for_no_nas_credential()", - "file_type": "code", - "source_file": "tests/unit/test_paths.py", - "source_location": "L919", - "community": 75, - "norm_label": "test_setup_state_next_action_for_no_nas_credential()", - "id": "unit_test_paths_test_setup_state_next_action_for_no_nas_credential" - }, - { - "label": "Minimal orchestrator identity (Redesign \u00a73.1) for setup-state fixtures.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L71", - "community": 59, - "norm_label": "minimal orchestrator identity (redesign \u00a73.1) for setup-state fixtures.", - "id": "unit_test_paths_rationale_71" - }, - { - "label": "Construct a fully READY Config (paths + equipment + LIMS endpoint+email). R", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L81", - "community": 160, - "norm_label": "construct a fully ready config (paths + equipment + lims endpoint+email). r", - "id": "unit_test_paths_rationale_81" - }, - { - "label": "Return a fake HOME under tmp_path; route ``Path.home()`` to it.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L106", - "community": 489, - "norm_label": "return a fake home under tmp_path; route ``path.home()`` to it.", - "id": "unit_test_paths_rationale_106" - }, - { - "label": "The suggestion now nests under APP_NAME on every platform, so the test-mode", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L351", - "community": 76, - "norm_label": "the suggestion now nests under app_name on every platform, so the test-mode", - "id": "unit_test_paths_rationale_351" - }, - { - "label": "Unset / non-'1' values must leave the real OS dirs untouched.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L360", - "community": 76, - "norm_label": "unset / non-'1' values must leave the real os dirs untouched.", - "id": "unit_test_paths_rationale_360" - }, - { - "label": "Non-str input hits the isinstance guard, not the regex.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L474", - "community": 75, - "norm_label": "non-str input hits the isinstance guard, not the regex.", - "id": "unit_test_paths_rationale_474" - }, - { - "label": "Non-str input hits the isinstance guard, not the length / regex check.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L481", - "community": 75, - "norm_label": "non-str input hits the isinstance guard, not the length / regex check.", - "id": "unit_test_paths_rationale_481" - }, - { - "label": "Spec contract: input must already be canonical; no silent uppercasing.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L489", - "community": 75, - "norm_label": "spec contract: input must already be canonical; no silent uppercasing.", - "id": "unit_test_paths_rationale_489" - }, - { - "label": "The leaf is ISO 8601 with colons replaced by hyphens. \u00a73.1. Redesign \u00a73.4:", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L531", - "community": 176, - "norm_label": "the leaf is iso 8601 with colons replaced by hyphens. \u00a73.1. redesign \u00a73.4:", - "id": "unit_test_paths_rationale_531" - }, - { - "label": "Redesign \u00a73.4: experimental runs live under /Runs/Run_*.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L548", - "community": 176, - "norm_label": "redesign \u00a73.4: experimental runs live under /runs/run_*.", - "id": "unit_test_paths_rationale_548" - }, - { - "label": "Redesign \u00a73.4: two runs in the same minute resolve to the same path (Copier", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L561", - "community": 176, - "norm_label": "redesign \u00a73.4: two runs in the same minute resolve to the same path (copier", - "id": "unit_test_paths_rationale_561" - }, - { - "label": "A non-str project_name hits the isinstance guard.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L632", - "community": 176, - "norm_label": "a non-str project_name hits the isinstance guard.", - "id": "unit_test_paths_rationale_632" - }, - { - "label": "An empty-string project_name also hits the same guard.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L645", - "community": 176, - "norm_label": "an empty-string project_name also hits the same guard.", - "id": "unit_test_paths_rationale_645" - }, - { - "label": "Spaces and ordinary punctuation are fine -- the name is used verbatim.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L673", - "community": 256, - "norm_label": "spaces and ordinary punctuation are fine -- the name is used verbatim.", - "id": "unit_test_paths_rationale_673" - }, - { - "label": "The \u00a73.2 contract is 'used verbatim' -- no canonicalisation.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L709", - "community": 256, - "norm_label": "the \u00a73.2 contract is 'used verbatim' -- no canonicalisation.", - "id": "unit_test_paths_rationale_709" - }, - { - "label": "Only one path is empty -- still INCOMPLETE_MISSING_PATHS.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L733", - "community": 59, - "norm_label": "only one path is empty -- still incomplete_missing_paths.", - "id": "unit_test_paths_rationale_733" - }, - { - "label": "Only ``label`` gates orchestrator identity; a blank label trips it.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L760", - "community": 59, - "norm_label": "only ``label`` gates orchestrator identity; a blank label trips it.", - "id": "unit_test_paths_rationale_760" - }, - { - "label": "A staging root without a label still trips -- staging never substitutes.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L773", - "community": 59, - "norm_label": "a staging root without a label still trips -- staging never substitutes.", - "id": "unit_test_paths_rationale_773" - }, - { - "label": "staging_root is opt-in: a blank value does not block READY.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L789", - "community": 0, - "norm_label": "staging_root is opt-in: a blank value does not block ready.", - "id": "unit_test_paths_rationale_789" - }, - { - "label": "The orchestrator missing-field rollup no longer mentions staging_root.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L806", - "community": 59, - "norm_label": "the orchestrator missing-field rollup no longer mentions staging_root.", - "id": "unit_test_paths_rationale_806" - }, - { - "label": "Offline catalogue path satisfies the LIMS slot without endpoint+email.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L837", - "community": 59, - "norm_label": "offline catalogue path satisfies the lims slot without endpoint+email.", - "id": "unit_test_paths_rationale_837" - }, - { - "label": "endpoint+email present but keyring lacks the password -> INCOMPLETE_NO_LIMS.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L868", - "community": 160, - "norm_label": "endpoint+email present but keyring lacks the password -> incomplete_no_lims.", - "id": "unit_test_paths_rationale_868" - }, - { - "label": "Nas-mode equipment without its keyring entry gates with the new state.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L877", - "community": 160, - "norm_label": "nas-mode equipment without its keyring entry gates with the new state.", - "id": "unit_test_paths_rationale_877" - }, - { - "label": "A configured LIMS does not mask the missing NAS credential.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L884", - "community": 160, - "norm_label": "a configured lims does not mask the missing nas credential.", - "id": "unit_test_paths_rationale_884" - }, - { - "label": "Adding the keyring entry advances the state to the next gate.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L896", - "community": 160, - "norm_label": "adding the keyring entry advances the state to the next gate.", - "id": "unit_test_paths_rationale_896" - }, - { - "label": "The missing list names each equipment id whose keyring entry is absent.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L906", - "community": 160, - "norm_label": "the missing list names each equipment id whose keyring entry is absent.", - "id": "unit_test_paths_rationale_906" - }, - { - "label": "endpoint present but email empty -> INCOMPLETE_NO_LIMS (email is required).", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L929", - "community": 59, - "norm_label": "endpoint present but email empty -> incomplete_no_lims (email is required).", - "id": "unit_test_paths_rationale_929" - }, - { - "label": "Soft block: surfaces a banner, not a missing-field list.", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L981", - "community": 160, - "norm_label": "soft block: surfaces a banner, not a missing-field list.", - "id": "unit_test_paths_rationale_981" - }, - { - "label": "When config is None but state is INCOMPLETE_MISSING_PATHS, every paths field", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1019", - "community": 177, - "norm_label": "when config is none but state is incomplete_missing_paths, every paths field", - "id": "unit_test_paths_rationale_1019" - }, - { - "label": "When config is None but state is INCOMPLETE_NO_LIMS, the whole lims block is", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1030", - "community": 177, - "norm_label": "when config is none but state is incomplete_no_lims, the whole lims block is", - "id": "unit_test_paths_rationale_1030" - }, - { - "label": "endpoint+email both filled in but no offline catalogue -> the keyring-passwo", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1038", - "community": 59, - "norm_label": "endpoint+email both filled in but no offline catalogue -> the keyring-passwo", - "id": "unit_test_paths_rationale_1038" - }, - { - "label": "Defensive fallback: any value that isn't a recognized SetupState returns an", - "file_type": "rationale", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1064", - "community": 177, - "norm_label": "defensive fallback: any value that isn't a recognized setupstate returns an", - "id": "unit_test_paths_rationale_1064" - }, - { - "label": "Archived projects are hidden by default.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L715", - "community": 394, - "norm_label": "archived projects are hidden by default.", - "id": "ui_test_components_rationale_715" - }, - { - "label": "Deleted-from-LIMS rows always render (Frontend \u00a73.5.3).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L735", - "community": 393, - "norm_label": "deleted-from-lims rows always render (frontend \u00a73.5.3).", - "id": "ui_test_components_rationale_735" - }, - { - "label": "``RunNode.sync_status`` flows through to the resulting ``TreeNode``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L782", - "community": 326, - "norm_label": "``runnode.sync_status`` flows through to the resulting ``treenode``.", - "id": "ui_test_components_rationale_782" - }, - { - "label": "A ``cleared`` run row carries the cloud-icon URL and its sync_status. Opera", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L799", - "community": 326, - "norm_label": "a ``cleared`` run row carries the cloud-icon url and its sync_status. opera", - "id": "ui_test_components_rationale_799" - }, - { - "label": "Any non-``cleaned`` sync status (or unset) maps to the local-icon URL.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L824", - "community": 391, - "norm_label": "any non-``cleaned`` sync status (or unset) maps to the local-icon url.", - "id": "ui_test_components_rationale_824" - }, - { - "label": "Equipment and project rows render without the per-row sync icon.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L850", - "community": 327, - "norm_label": "equipment and project rows render without the per-row sync icon.", - "id": "ui_test_components_rationale_850" - }, - { - "label": "Each row carries a ``testid_kind`` matching the Playwright contract.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L886", - "community": 395, - "norm_label": "each row carries a ``testid_kind`` matching the playwright contract.", - "id": "ui_test_components_rationale_886" - }, - { - "label": "The ``default-header`` template carries the per-row anchors the Playwright f", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L910", - "community": 390, - "norm_label": "the ``default-header`` template carries the per-row anchors the playwright f", - "id": "ui_test_components_rationale_910" - }, - { - "label": "Each factory emits a dict (or NiceGUI element) without crashing. The factor", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L950", - "community": 392, - "norm_label": "each factory emits a dict (or nicegui element) without crashing. the factor", - "id": "ui_test_components_rationale_950" - }, - { - "label": "The pre-commit ``no-direct-ui-notify`` rule is mirrored in tests. Any call", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L983", - "community": 389, - "norm_label": "the pre-commit ``no-direct-ui-notify`` rule is mirrored in tests. any call", - "id": "ui_test_components_rationale_983" - }, - { - "label": "test_main_setup_banner_subline_tailored_for_nas_credentials()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L94", - "community": 397, - "norm_label": "test_main_setup_banner_subline_tailored_for_nas_credentials()", - "id": "ui_test_pages_test_main_setup_banner_subline_tailored_for_nas_credentials" - }, - { - "label": "test_settings_first_incomplete_resolves_nas_credentials()", - "file_type": "code", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L275", - "community": 396, - "norm_label": "test_settings_first_incomplete_resolves_nas_credentials()", - "id": "ui_test_pages_test_settings_first_incomplete_resolves_nas_credentials" - }, - { - "label": "test_is_setup_ready_false_when_nas_credential_missing()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L214", - "community": 2, - "norm_label": "test_is_setup_ready_false_when_nas_credential_missing()", - "id": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing" - }, - { - "label": "test_missing_sections_includes_nas_credentials_when_password_absent()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L385", - "community": 2, - "norm_label": "test_missing_sections_includes_nas_credentials_when_password_absent()", - "id": "ui_test_mount_test_missing_sections_includes_nas_credentials_when_password_absent" - }, - { - "label": "test_missing_sections_excludes_nas_credentials_when_password_present()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L394", - "community": 2, - "norm_label": "test_missing_sections_excludes_nas_credentials_when_password_present()", - "id": "ui_test_mount_test_missing_sections_excludes_nas_credentials_when_password_present" - }, - { - "label": "test_nas_credential_handlers_save_writes_under_nas_username()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L763", - "community": 2, - "norm_label": "test_nas_credential_handlers_save_writes_under_nas_username()", - "id": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username" - }, - { - "label": "test_nas_credential_handlers_clear_deletes_and_discards()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L779", - "community": 2, - "norm_label": "test_nas_credential_handlers_clear_deletes_and_discards()", - "id": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards" - }, - { - "label": "test_nas_credential_handlers_isolate_per_equipment_id()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L793", - "community": 2, - "norm_label": "test_nas_credential_handlers_isolate_per_equipment_id()", - "id": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id" - }, - { - "label": "test_nas_credential_handlers_tolerate_missing_keyring_store()", - "file_type": "code", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L806", - "community": 2, - "norm_label": "test_nas_credential_handlers_tolerate_missing_keyring_store()", - "id": "ui_test_mount_test_nas_credential_handlers_tolerate_missing_keyring_store" - }, - { - "label": "A registered nas-mode equipment without its keyring password blocks ready.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L215", - "community": 2, - "norm_label": "a registered nas-mode equipment without its keyring password blocks ready.", - "id": "ui_test_mount_rationale_215" - }, - { - "label": "Regression: LIMS satisfied via the offline catalogue (no keyring password) m", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L226", - "community": 2, - "norm_label": "regression: lims satisfied via the offline catalogue (no keyring password) m", - "id": "ui_test_mount_rationale_226" - }, - { - "label": "Redesign \u00a73.1: the orchestrator pipeline is unconditional.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L264", - "community": 2, - "norm_label": "redesign \u00a73.1: the orchestrator pipeline is unconditional.", - "id": "ui_test_mount_rationale_264" - }, - { - "label": "Real Config with one password-requiring nas-mode equipment. ``offline_catal", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L342", - "community": 2, - "norm_label": "real config with one password-requiring nas-mode equipment. ``offline_catal", - "id": "ui_test_mount_rationale_342" - }, - { - "label": "Minimal stand-in for the NiceGUI ``ui`` object's navigate surface.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L493", - "community": 60, - "norm_label": "minimal stand-in for the nicegui ``ui`` object's navigate surface.", - "id": "ui_test_mount_rationale_493" - }, - { - "label": "A successful save persists, then hot-reloads the live components. The old b", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L501", - "community": 324, - "norm_label": "a successful save persists, then hot-reloads the live components. the old b", - "id": "ui_test_mount_rationale_501" - }, - { - "label": "Opt-in: a saved non-empty staging_root is created on save.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L578", - "community": 60, - "norm_label": "opt-in: a saved non-empty staging_root is created on save.", - "id": "ui_test_mount_rationale_578" - }, - { - "label": "If the coordinator raises wholesale, the live config is still kept.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L634", - "community": 386, - "norm_label": "if the coordinator raises wholesale, the live config is still kept.", - "id": "ui_test_mount_rationale_634" - }, - { - "label": "Keyring-store stand-in that records the calls the handlers make.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L701", - "community": 0, - "norm_label": "keyring-store stand-in that records the calls the handlers make.", - "id": "ui_test_mount_rationale_701" - }, - { - "label": "A best-effort keyring build can fail; the handlers must not crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L740", - "community": 2, - "norm_label": "a best-effort keyring build can fail; the handlers must not crash.", - "id": "ui_test_mount_rationale_740" - }, - { - "label": "A raising keyring backend surfaces a toast, not an unhandled crash.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L749", - "community": 385, - "norm_label": "a raising keyring backend surfaces a toast, not an unhandled crash.", - "id": "ui_test_mount_rationale_749" - }, - { - "label": "Async ``list_projects`` stub for the live-LIMS picker path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L981", - "community": 0, - "norm_label": "async ``list_projects`` stub for the live-lims picker path.", - "id": "ui_test_mount_rationale_981" - }, - { - "label": "Both empty -> empty string. One present -> single param.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1227", - "community": 387, - "norm_label": "both empty -> empty string. one present -> single param.", - "id": "ui_test_mount_rationale_1227" - }, - { - "label": "Project names with spaces / special chars survive the round trip.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1235", - "community": 80, - "norm_label": "project names with spaces / special chars survive the round trip.", - "id": "ui_test_mount_rationale_1235" - }, - { - "label": "Equipment / project / run / received_equipment all classify correctly.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1252", - "community": 80, - "norm_label": "equipment / project / run / received_equipment all classify correctly.", - "id": "ui_test_mount_rationale_1252" - }, - { - "label": "A node id whose root is not in the hierarchy returns ``(None, False)``. Gua", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1273", - "community": 350, - "norm_label": "a node id whose root is not in the hierarchy returns ``(none, false)``. gua", - "id": "ui_test_mount_rationale_1273" - }, - { - "label": "Asking for a node that isn't in config.equipment returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1313", - "community": 80, - "norm_label": "asking for a node that isn't in config.equipment returns ``{}``.", - "id": "ui_test_mount_rationale_1313" - }, - { - "label": "The project payload counts Run_* and TestRun_* directories.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1320", - "community": 80, - "norm_label": "the project payload counts run_* and testrun_* directories.", - "id": "ui_test_mount_rationale_1320" - }, - { - "label": "The run payload decodes creation.json into the metadata fields.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1339", - "community": 80, - "norm_label": "the run payload decodes creation.json into the metadata fields.", - "id": "ui_test_mount_rationale_1339" - }, - { - "label": "Linux dispatches to xdg-open via subprocess.Popen.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1417", - "community": 131, - "norm_label": "linux dispatches to xdg-open via subprocess.popen.", - "id": "ui_test_mount_rationale_1417" - }, - { - "label": "macOS dispatches to the ``open`` command.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1431", - "community": 50, - "norm_label": "macos dispatches to the ``open`` command.", - "id": "ui_test_mount_rationale_1431" - }, - { - "label": "Minimal NiceGUI surface stand-in: clipboard + navigate.to + notify.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1464", - "community": 14, - "norm_label": "minimal nicegui surface stand-in: clipboard + navigate.to + notify.", - "id": "ui_test_mount_rationale_1464" - }, - { - "label": "``open_in_os`` action calls the platform opener and reports success.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1489", - "community": 14, - "norm_label": "``open_in_os`` action calls the platform opener and reports success.", - "id": "ui_test_mount_rationale_1489" - }, - { - "label": "When the opener returns False the action surfaces a negative toast.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1501", - "community": 131, - "norm_label": "when the opener returns false the action surfaces a negative toast.", - "id": "ui_test_mount_rationale_1501" - }, - { - "label": "``copy_path`` writes the entry path to the NiceGUI clipboard.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1510", - "community": 33, - "norm_label": "``copy_path`` writes the entry path to the nicegui clipboard.", - "id": "ui_test_mount_rationale_1510" - }, - { - "label": "Force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1560", - "community": 86, - "norm_label": "force-sync routes to ``deps.nas_sync.enqueue`` with the run path.", - "id": "ui_test_mount_rationale_1560" - }, - { - "label": "The early-exit when config is missing keeps the action a no-op.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1580", - "community": 107, - "norm_label": "the early-exit when config is missing keeps the action a no-op.", - "id": "ui_test_mount_rationale_1580" - }, - { - "label": "``view_log`` dispatches to the dialog opener helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1589", - "community": 33, - "norm_label": "``view_log`` dispatches to the dialog opener helper.", - "id": "ui_test_mount_rationale_1589" - }, - { - "label": "An unknown action verb is reported but doesn't raise.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1599", - "community": 33, - "norm_label": "an unknown action verb is reported but doesn't raise.", - "id": "ui_test_mount_rationale_1599" - }, - { - "label": "``clear_verified`` deletes the run directory via the local helper.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1608", - "community": 14, - "norm_label": "``clear_verified`` deletes the run directory via the local helper.", - "id": "ui_test_mount_rationale_1608" - }, - { - "label": "The bulk action clears every ``synced`` row and toasts the count.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1633", - "community": 14, - "norm_label": "the bulk action clears every ``synced`` row and toasts the count.", - "id": "ui_test_mount_rationale_1633" - }, - { - "label": "The early-exit when config is missing produces a toast, no task.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1660", - "community": 86, - "norm_label": "the early-exit when config is missing produces a toast, no task.", - "id": "ui_test_mount_rationale_1660" - }, - { - "label": "Lightweight ``app`` stand-in carrying ``storage.tab``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1693", - "community": 0, - "norm_label": "lightweight ``app`` stand-in carrying ``storage.tab``.", - "id": "ui_test_mount_rationale_1693" - }, - { - "label": "Without a selected node the feed isn't started and returns ``[]``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1704", - "community": 33, - "norm_label": "without a selected node the feed isn't started and returns ``[]``.", - "id": "ui_test_mount_rationale_1704" - }, - { - "label": "The first call mounts a FolderFeed + RefreshCoordinator on tab storage.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1714", - "community": 50, - "norm_label": "the first call mounts a folderfeed + refreshcoordinator on tab storage.", - "id": "ui_test_mount_rationale_1714" - }, - { - "label": "The fetch is a no-op when RefreshCoordinator just walked the tree.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1769", - "community": 157, - "norm_label": "the fetch is a no-op when refreshcoordinator just walked the tree.", - "id": "ui_test_mount_rationale_1769" - }, - { - "label": "A run with no sync-queue job still renders a dialog without raising.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1821", - "community": 173, - "norm_label": "a run with no sync-queue job still renders a dialog without raising.", - "id": "ui_test_mount_rationale_1821" - }, - { - "label": "An unknown relay id still produces a payload (best-effort label).", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1887", - "community": 158, - "norm_label": "an unknown relay id still produces a payload (best-effort label).", - "id": "ui_test_mount_rationale_1887" - }, - { - "label": "A node id without an equipment/project split returns ``{}``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1894", - "community": 86, - "norm_label": "a node id without an equipment/project split returns ``{}``.", - "id": "ui_test_mount_rationale_1894" - }, - { - "label": "Only directory children whose names start with the prefix are counted.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1905", - "community": 69, - "norm_label": "only directory children whose names start with the prefix are counted.", - "id": "ui_test_mount_rationale_1905" - }, - { - "label": "A corrupt creation.json yields {path, name}, never crashes.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1914", - "community": 157, - "norm_label": "a corrupt creation.json yields {path, name}, never crashes.", - "id": "ui_test_mount_rationale_1914" - }, - { - "label": "The 0-file path reports ``already cleared`` rather than ``cleared N``.", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1959", - "community": 106, - "norm_label": "the 0-file path reports ``already cleared`` rather than ``cleared n``.", - "id": "ui_test_mount_rationale_1959" - }, - { - "label": "test_can_advance_sync_mode_nas_requires_rclone_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L62", - "community": 242, - "norm_label": "test_can_advance_sync_mode_nas_requires_rclone_fields()", - "id": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_requires_rclone_fields" - }, - { - "label": "test_can_advance_sync_mode_stage_requires_staging_fields()", - "file_type": "code", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L69", - "community": 242, - "norm_label": "test_can_advance_sync_mode_stage_requires_staging_fields()", - "id": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_requires_staging_fields" - }, - { - "label": "test_build_equipment_sftp()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L140", - "community": 194, - "norm_label": "test_build_equipment_sftp()", - "id": "ui_test_dynamic_form_test_build_equipment_sftp" - }, - { - "label": "test_build_equipment_smb()", - "file_type": "code", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L147", - "community": 194, - "norm_label": "test_build_equipment_smb()", - "id": "ui_test_dynamic_form_test_build_equipment_smb" - }, - { - "label": "test_settings_nas_credentials.py", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L1", - "community": 250, - "norm_label": "test_settings_nas_credentials.py", - "id": "tests_unit_ui_test_settings_nas_credentials_py" - }, - { - "label": "_nas_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L25", - "community": 250, - "norm_label": "_nas_equipment()", - "id": "ui_test_settings_nas_credentials_nas_equipment" - }, - { - "label": "_stage_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L41", - "community": 250, - "norm_label": "_stage_equipment()", - "id": "ui_test_settings_nas_credentials_stage_equipment" - }, - { - "label": "_config_with()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L56", - "community": 250, - "norm_label": "_config_with()", - "id": "ui_test_settings_nas_credentials_config_with" - }, - { - "label": "_testids()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L64", - "community": 250, - "norm_label": "_testids()", - "id": "ui_test_settings_nas_credentials_testids" - }, - { - "label": "test_sections_omit_nas_credentials_without_password_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L77", - "community": 250, - "norm_label": "test_sections_omit_nas_credentials_without_password_equipment()", - "id": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment" - }, - { - "label": "test_sections_insert_nas_credentials_after_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L85", - "community": 250, - "norm_label": "test_sections_insert_nas_credentials_after_equipment()", - "id": "ui_test_settings_nas_credentials_test_sections_insert_nas_credentials_after_equipment" - }, - { - "label": "test_section_renders_one_row_per_password_equipment()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L99", - "community": 250, - "norm_label": "test_section_renders_one_row_per_password_equipment()", - "id": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment" - }, - { - "label": "test_section_nav_entry_present_when_password_equipment_exists()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L118", - "community": 250, - "norm_label": "test_section_nav_entry_present_when_password_equipment_exists()", - "id": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists" - }, - { - "label": "test_section_nav_entry_absent_for_stage_only_config()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L130", - "community": 250, - "norm_label": "test_section_nav_entry_absent_for_stage_only_config()", - "id": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config" - }, - { - "label": "test_present_password_opens_set_state_with_clear_action()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L141", - "community": 250, - "norm_label": "test_present_password_opens_set_state_with_clear_action()", - "id": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action" - }, - { - "label": "test_handlers_factory_called_per_equipment_id()", - "file_type": "code", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L155", - "community": 250, - "norm_label": "test_handlers_factory_called_per_equipment_id()", - "id": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id" - }, - { - "label": "Tests for the Settings NAS-credentials section (rclone-only migration). The sec", - "file_type": "rationale", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L1", - "community": 250, - "norm_label": "tests for the settings nas-credentials section (rclone-only migration). the sec", - "id": "ui_test_settings_nas_credentials_rationale_1" - }, - { - "label": "The default code path is a no-op: no env var, no rewrite.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L307", - "community": 108, - "norm_label": "the default code path is a no-op: no env var, no rewrite.", - "id": "config_test_loader_rationale_307" - }, - { - "label": "A truthy env value rewrites every id with the canonical prefix.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L314", - "community": 108, - "norm_label": "a truthy env value rewrites every id with the canonical prefix.", - "id": "config_test_loader_rationale_314" - }, - { - "label": "An already-``TEST_``-prefixed id must NOT be re-prefixed.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L329", - "community": 108, - "norm_label": "an already-``test_``-prefixed id must not be re-prefixed.", - "id": "config_test_loader_rationale_329" - }, - { - "label": "The transformed config still passes Config.model_validate.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L359", - "community": 108, - "norm_label": "the transformed config still passes config.model_validate.", - "id": "config_test_loader_rationale_359" - }, - { - "label": "Every accepted spelling flips the loader on (case-insensitive).", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L377", - "community": 108, - "norm_label": "every accepted spelling flips the loader on (case-insensitive).", - "id": "config_test_loader_rationale_377" - }, - { - "label": "Falsy / unrecognized values leave the loaded config untouched.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L389", - "community": 108, - "norm_label": "falsy / unrecognized values leave the loaded config untouched.", - "id": "config_test_loader_rationale_389" - }, - { - "label": "An absent env var (not just empty) leaves the config untouched.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L398", - "community": 108, - "norm_label": "an absent env var (not just empty) leaves the config untouched.", - "id": "config_test_loader_rationale_398" - }, - { - "label": "``apply_test_mode_prefix`` itself ignores the env var. The env-var check is", - "file_type": "rationale", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L407", - "community": 108, - "norm_label": "``apply_test_mode_prefix`` itself ignores the env var. the env-var check is", - "id": "config_test_loader_rationale_407" - }, - { - "label": "_sftp_transport_dict()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L48", - "community": 4, - "norm_label": "_sftp_transport_dict()", - "id": "config_test_models_sftp_transport_dict" - }, - { - "label": "_smb_transport_dict()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L59", - "community": 212, - "norm_label": "_smb_transport_dict()", - "id": "config_test_models_smb_transport_dict" - }, - { - "label": "test_sftp_transport_minimal()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L388", - "community": 4, - "norm_label": "test_sftp_transport_minimal()", - "id": "config_test_models_test_sftp_transport_minimal" - }, - { - "label": "test_sftp_transport_rejects_missing_host()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L395", - "community": 4, - "norm_label": "test_sftp_transport_rejects_missing_host()", - "id": "config_test_models_test_sftp_transport_rejects_missing_host" - }, - { - "label": "test_sftp_transport_rejects_empty_user()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L402", - "community": 4, - "norm_label": "test_sftp_transport_rejects_empty_user()", - "id": "config_test_models_test_sftp_transport_rejects_empty_user" - }, - { - "label": "test_sftp_transport_rejects_empty_remote_path()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L409", - "community": 4, - "norm_label": "test_sftp_transport_rejects_empty_remote_path()", - "id": "config_test_models_test_sftp_transport_rejects_empty_remote_path" - }, - { - "label": "test_sftp_transport_rejects_out_of_range_port()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L416", - "community": 4, - "norm_label": "test_sftp_transport_rejects_out_of_range_port()", - "id": "config_test_models_test_sftp_transport_rejects_out_of_range_port" - }, - { - "label": "test_sftp_transport_rejects_wrong_type_tag()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L423", - "community": 4, - "norm_label": "test_sftp_transport_rejects_wrong_type_tag()", - "id": "config_test_models_test_sftp_transport_rejects_wrong_type_tag" - }, - { - "label": "test_smb_transport_minimal()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L435", - "community": 212, - "norm_label": "test_smb_transport_minimal()", - "id": "config_test_models_test_smb_transport_minimal" - }, - { - "label": "test_smb_transport_accepts_optional_domain_and_subpath()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L443", - "community": 212, - "norm_label": "test_smb_transport_accepts_optional_domain_and_subpath()", - "id": "config_test_models_test_smb_transport_accepts_optional_domain_and_subpath" - }, - { - "label": "test_smb_transport_rejects_missing_share()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L452", - "community": 212, - "norm_label": "test_smb_transport_rejects_missing_share()", - "id": "config_test_models_test_smb_transport_rejects_missing_share" - }, - { - "label": "test_requires_keyring_password_true_for_sftp_and_smb()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L464", - "community": 212, - "norm_label": "test_requires_keyring_password_true_for_sftp_and_smb()", - "id": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb" - }, - { - "label": "test_requires_keyring_password_false_for_none()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L471", - "community": 212, - "norm_label": "test_requires_keyring_password_false_for_none()", - "id": "config_test_models_test_requires_keyring_password_false_for_none" - }, - { - "label": "test_equipment_transport_discriminates_on_type_sftp()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L480", - "community": 4, - "norm_label": "test_equipment_transport_discriminates_on_type_sftp()", - "id": "config_test_models_test_equipment_transport_discriminates_on_type_sftp" - }, - { - "label": "test_equipment_transport_discriminates_on_type_smb()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L485", - "community": 212, - "norm_label": "test_equipment_transport_discriminates_on_type_smb()", - "id": "config_test_models_test_equipment_transport_discriminates_on_type_smb" - }, - { - "label": "test_equipment_transport_rejects_unknown_type()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L495", - "community": 4, - "norm_label": "test_equipment_transport_rejects_unknown_type()", - "id": "config_test_models_test_equipment_transport_rejects_unknown_type" - }, - { - "label": "test_orchestrator_staging_transport_smb_mount()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L507", - "community": 378, - "norm_label": "test_orchestrator_staging_transport_smb_mount()", - "id": "config_test_models_test_orchestrator_staging_transport_smb_mount" - }, - { - "label": "test_orchestrator_staging_transport_file_transfer()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L514", - "community": 378, - "norm_label": "test_orchestrator_staging_transport_file_transfer()", - "id": "config_test_models_test_orchestrator_staging_transport_file_transfer" - }, - { - "label": "test_orchestrator_staging_transport_rejects_unknown_type()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L521", - "community": 378, - "norm_label": "test_orchestrator_staging_transport_rejects_unknown_type()", - "id": "config_test_models_test_orchestrator_staging_transport_rejects_unknown_type" - }, - { - "label": "test_equipment_orchestrator_staging_transport_optional()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L599", - "community": 4, - "norm_label": "test_equipment_orchestrator_staging_transport_optional()", - "id": "config_test_models_test_equipment_orchestrator_staging_transport_optional" - }, - { - "label": "_orch_staging_transport_dict()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L609", - "community": 4, - "norm_label": "_orch_staging_transport_dict()", - "id": "config_test_models_orch_staging_transport_dict" - }, - { - "label": "test_sync_mode_nas_requires_transport_block()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L622", - "community": 4, - "norm_label": "test_sync_mode_nas_requires_transport_block()", - "id": "config_test_models_test_sync_mode_nas_requires_transport_block" - }, - { - "label": "test_sync_mode_nas_forbids_orchestrator_staging_transport()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L631", - "community": 4, - "norm_label": "test_sync_mode_nas_forbids_orchestrator_staging_transport()", - "id": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport" - }, - { - "label": "test_sync_mode_stage_requires_orchestrator_staging_transport()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L640", - "community": 4, - "norm_label": "test_sync_mode_stage_requires_orchestrator_staging_transport()", - "id": "config_test_models_test_sync_mode_stage_requires_orchestrator_staging_transport" - }, - { - "label": "test_sync_mode_stage_forbids_transport_block()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L649", - "community": 4, - "norm_label": "test_sync_mode_stage_forbids_transport_block()", - "id": "config_test_models_test_sync_mode_stage_forbids_transport_block" - }, - { - "label": "test_sync_mode_stage_with_only_orchestrator_transport_is_valid()", - "file_type": "code", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L659", - "community": 4, - "norm_label": "test_sync_mode_stage_with_only_orchestrator_transport_is_valid()", - "id": "config_test_models_test_sync_mode_stage_with_only_orchestrator_transport_is_valid" - }, - { - "label": "Minimal valid rclone_sftp transport block.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L49", - "community": 4, - "norm_label": "minimal valid rclone_sftp transport block.", - "id": "config_test_models_rationale_49" - }, - { - "label": "Build a valid EquipmentConfig dict with sensible defaults.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L74", - "community": 4, - "norm_label": "build a valid equipmentconfig dict with sensible defaults.", - "id": "config_test_models_rationale_74" - }, - { - "label": "Full Config dict mirroring the \u00a79 example. Used by round-trip tests.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L85", - "community": 212, - "norm_label": "full config dict mirroring the \u00a79 example. used by round-trip tests.", - "id": "config_test_models_rationale_85" - }, - { - "label": "The operator-free quiescence redesign drops the per-equipment completeness-s", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L568", - "community": 4, - "norm_label": "the operator-free quiescence redesign drops the per-equipment completeness-s", - "id": "config_test_models_rationale_568" - }, - { - "label": "Build a stage-mode EquipmentConfig from a dict, dump it, compare.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L686", - "community": 4, - "norm_label": "build a stage-mode equipmentconfig from a dict, dump it, compare.", - "id": "config_test_models_rationale_686" - }, - { - "label": "Redesign \u00a73.1: the ``enabled`` toggle is removed; ``label`` and ``staging_ro", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L904", - "community": 493, - "norm_label": "redesign \u00a73.1: the ``enabled`` toggle is removed; ``label`` and ``staging_ro", - "id": "config_test_models_rationale_904" - }, - { - "label": "Redesign \u00a73.1: the ``enabled`` toggle is removed; old configs that carry it", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L955", - "community": 492, - "norm_label": "redesign \u00a73.1: the ``enabled`` toggle is removed; old configs that carry it", - "id": "config_test_models_rationale_955" - }, - { - "label": "They can be empty at load time (the setup-incomplete gate trips, not the Pyd", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L971", - "community": 494, - "norm_label": "they can be empty at load time (the setup-incomplete gate trips, not the pyd", - "id": "config_test_models_rationale_971" - }, - { - "label": "Build a Config from a \u00a79-shaped dict, dump it, and compare. ``model_dump()`", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1010", - "community": 212, - "norm_label": "build a config from a \u00a79-shaped dict, dump it, and compare. ``model_dump()`", - "id": "config_test_models_rationale_1010" - }, - { - "label": "A ``None`` config (fresh install) yields a default Config + the device.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1045", - "community": 261, - "norm_label": "a ``none`` config (fresh install) yields a default config + the device.", - "id": "config_test_models_rationale_1045" - }, - { - "label": "Appending keeps prior equipment and other config sections, unmutated.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1053", - "community": 261, - "norm_label": "appending keeps prior equipment and other config sections, unmutated.", - "id": "config_test_models_rationale_1053" - }, - { - "label": "A device whose id already exists raises ConfigError, not a silent merge.", - "file_type": "rationale", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1070", - "community": 261, - "norm_label": "a device whose id already exists raises configerror, not a silent merge.", - "id": "config_test_models_rationale_1070" - }, - { - "label": "test_transport_type_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L173", - "community": 73, - "norm_label": "test_transport_type_values()", - "id": "constants_test_enums_test_transport_type_values" - }, - { - "label": "test_orchestrator_transport_type_values()", - "file_type": "code", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L219", - "community": 73, - "norm_label": "test_orchestrator_transport_type_values()", - "id": "constants_test_enums_test_orchestrator_transport_type_values" - }, - { - "label": "test_keyring_username_nas_template_literal()", - "file_type": "code", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L23", - "community": 289, - "norm_label": "test_keyring_username_nas_template_literal()", - "id": "constants_test_keyring_test_keyring_username_nas_template_literal" - }, - { - "label": "test_keyring_nas_username_formats_template()", - "file_type": "code", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L28", - "community": 289, - "norm_label": "test_keyring_nas_username_formats_template()", - "id": "constants_test_keyring_test_keyring_nas_username_formats_template" - }, - { - "label": "test_keyring_nas_username_handles_various_ids()", - "file_type": "code", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L33", - "community": 289, - "norm_label": "test_keyring_nas_username_handles_various_ids()", - "id": "constants_test_keyring_test_keyring_nas_username_handles_various_ids" - }, - { - "label": "test_check_nas_passwords_present_returns_only_populated_ids()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L194", - "community": 43, - "norm_label": "test_check_nas_passwords_present_returns_only_populated_ids()", - "id": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids" - }, - { - "label": "test_check_nas_passwords_present_handles_none_store_and_config()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L208", - "community": 43, - "norm_label": "test_check_nas_passwords_present_handles_none_store_and_config()", - "id": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config" - }, - { - "label": "test_make_equipment_probe_short_circuits_when_password_missing()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L214", - "community": 43, - "norm_label": "test_make_equipment_probe_short_circuits_when_password_missing()", - "id": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing" - }, - { - "label": "test_make_equipment_probe_targets_remote_root_with_colon()", - "file_type": "code", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L237", - "community": 43, - "norm_label": "test_make_equipment_probe_targets_remote_root_with_colon()", - "id": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon" - }, - { - "label": "Trivial in-memory keyring backend, mirroring the keyring-store tests.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L45", - "community": 43, - "norm_label": "trivial in-memory keyring backend, mirroring the keyring-store tests.", - "id": "tray_test_dependencies_rationale_45" - }, - { - "label": "The settings GUI persists the LIMS password through deps.keyring_store.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L73", - "community": 22, - "norm_label": "the settings gui persists the lims password through deps.keyring_store.", - "id": "tray_test_dependencies_rationale_73" - }, - { - "label": "``deps.nas_sync`` must be a :class:`NASSyncClient`, not a bare queue. Regre", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L83", - "community": 0, - "norm_label": "``deps.nas_sync`` must be a :class:`nassyncclient`, not a bare queue. regre", - "id": "tray_test_dependencies_rationale_83" - }, - { - "label": "The probe must look up the password under KEYRING_USERNAME_LIMS. Regression", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L121", - "community": 43, - "norm_label": "the probe must look up the password under keyring_username_lims. regression", - "id": "tray_test_dependencies_rationale_121" - }, - { - "label": "The LIMS client's keyring provider resolves the stored password.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L140", - "community": 43, - "norm_label": "the lims client's keyring provider resolves the stored password.", - "id": "tray_test_dependencies_rationale_140" - }, - { - "label": "Build a two-equipment nas-mode config for the NAS-presence tests.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L160", - "community": 43, - "norm_label": "build a two-equipment nas-mode config for the nas-presence tests.", - "id": "tray_test_dependencies_rationale_160" - }, - { - "label": "Missing keyring entry must not spawn rclone.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L217", - "community": 43, - "norm_label": "missing keyring entry must not spawn rclone.", - "id": "tray_test_dependencies_rationale_217" - }, - { - "label": "The probe must call ``rclone about :`` (spec, not bare name). Regre", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L240", - "community": 43, - "norm_label": "the probe must call ``rclone about :`` (spec, not bare name). regre", - "id": "tray_test_dependencies_rationale_240" - }, - { - "label": "Stub the real logging reconfigure so tests don't churn global handlers. Ret", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L41", - "community": 101, - "norm_label": "stub the real logging reconfigure so tests don't churn global handlers. ret", - "id": "tray_test_live_reload_rationale_41" - }, - { - "label": "Stub controller / nas_sync / poller recording ``apply_config`` calls.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L87", - "community": 0, - "norm_label": "stub controller / nas_sync / poller recording ``apply_config`` calls.", - "id": "tray_test_live_reload_rationale_87" - }, - { - "label": "Fresh-built nas_sync / poller stub with async init / start.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L107", - "community": 0, - "norm_label": "fresh-built nas_sync / poller stub with async init / start.", - "id": "tray_test_live_reload_rationale_107" - }, - { - "label": "Build a deps bundle whose config-dependent components already exist.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L121", - "community": 101, - "norm_label": "build a deps bundle whose config-dependent components already exist.", - "id": "tray_test_live_reload_rationale_121" - }, - { - "label": "One component raising must not abort the rest, and config still lands.", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L157", - "community": 101, - "norm_label": "one component raising must not abort the rest, and config still lands.", - "id": "tray_test_live_reload_rationale_157" - }, - { - "label": "On a first save the absent components are built and their async bring-up is", - "file_type": "rationale", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L229", - "community": 101, - "norm_label": "on a first save the absent components are built and their async bring-up is", - "id": "tray_test_live_reload_rationale_229" - }, - { - "label": "test_compute_setup_state_returns_incomplete_no_nas_credential()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L103", - "community": 95, - "norm_label": "test_compute_setup_state_returns_incomplete_no_nas_credential()", - "id": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential" - }, - { - "label": "test_get_setup_status_lists_missing_nas_credential_per_equipment()", - "file_type": "code", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L109", - "community": 95, - "norm_label": "test_get_setup_status_lists_missing_nas_credential_per_equipment()", - "id": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment" - }, - { - "label": "``_ready_config`` minus the LIMS slot, for exercising the LIMS gate.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L57", - "community": 0, - "norm_label": "``_ready_config`` minus the lims slot, for exercising the lims gate.", - "id": "api_test_setup_rationale_57" - }, - { - "label": "Equipment with a password-requiring transport but no keyring entry gates.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L104", - "community": 95, - "norm_label": "equipment with a password-requiring transport but no keyring entry gates.", - "id": "api_test_setup_rationale_104" - }, - { - "label": "Each non-soft INCOMPLETE_* state returns a 503 with the right code.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L122", - "community": 95, - "norm_label": "each non-soft incomplete_* state returns a 503 with the right code.", - "id": "api_test_setup_rationale_122" - }, - { - "label": "Minimal in-memory controller for routing tests.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L54", - "community": 135, - "norm_label": "minimal in-memory controller for routing tests.", - "id": "api_test_sessions_rationale_54" - }, - { - "label": "Posting without ``kind`` discriminator must 422.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L339", - "community": 135, - "norm_label": "posting without ``kind`` discriminator must 422.", - "id": "api_test_sessions_rationale_339" - }, - { - "label": "When config has no equipment the setup gate blocks /tree.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L117", - "community": 94, - "norm_label": "when config has no equipment the setup gate blocks /tree.", - "id": "api_test_browse_rationale_117" - }, - { - "label": "``TestRuns`` directory under a project surfaces as ``test_runs`` list.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L185", - "community": 12, - "norm_label": "``testruns`` directory under a project surfaces as ``test_runs`` list.", - "id": "api_test_browse_rationale_185" - }, - { - "label": "A creation.json that is present but malformed surfaces as 422.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L205", - "community": 12, - "norm_label": "a creation.json that is present but malformed surfaces as 422.", - "id": "api_test_browse_rationale_205" - }, - { - "label": "Run with creation.json but no README.md returns readme: null.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L226", - "community": 12, - "norm_label": "run with creation.json but no readme.md returns readme: null.", - "id": "api_test_browse_rationale_226" - }, - { - "label": "Path-confinement guard: only the configured local_root / staging_root / temp", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L289", - "community": 12, - "norm_label": "path-confinement guard: only the configured local_root / staging_root / temp", - "id": "api_test_browse_rationale_289" - }, - { - "label": "A minimal sync-queue job row for the run-log tests.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L311", - "community": 0, - "norm_label": "a minimal sync-queue job row for the run-log tests.", - "id": "api_test_browse_rationale_311" - }, - { - "label": "Sync-queue stub serving ``get_by_run_path`` for the log endpoint.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L327", - "community": 0, - "norm_label": "sync-queue stub serving ``get_by_run_path`` for the log endpoint.", - "id": "api_test_browse_rationale_327" - }, - { - "label": "A staged run's sync-queue job state is surfaced as the log.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L339", - "community": 12, - "norm_label": "a staged run's sync-queue job state is surfaced as the log.", - "id": "api_test_browse_rationale_339" - }, - { - "label": "A failed job row's ``last_error`` / ``attempts`` / ``verify_passes`` / ``nas", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L362", - "community": 12, - "norm_label": "a failed job row's ``last_error`` / ``attempts`` / ``verify_passes`` / ``nas", - "id": "api_test_browse_rationale_362" - }, - { - "label": "A run with no sync-queue job returns an empty history + 'none' state.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L395", - "community": 12, - "norm_label": "a run with no sync-queue job returns an empty history + 'none' state.", - "id": "api_test_browse_rationale_395" - }, - { - "label": "A run directory that does not exist returns 404 ``session_not_found``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L413", - "community": 12, - "norm_label": "a run directory that does not exist returns 404 ``session_not_found``.", - "id": "api_test_browse_rationale_413" - }, - { - "label": "The nested dict surfaces both owned and received-equipment roots with their", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L434", - "community": 12, - "norm_label": "the nested dict surfaces both owned and received-equipment roots with their", - "id": "api_test_browse_rationale_434" - }, - { - "label": "``scan_folder_sync`` shares the same shape as the route handler.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L469", - "community": 12, - "norm_label": "``scan_folder_sync`` shares the same shape as the route handler.", - "id": "api_test_browse_rationale_469" - }, - { - "label": "A missing folder raises the same 404 HTTPException the route does.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L488", - "community": 12, - "norm_label": "a missing folder raises the same 404 httpexception the route does.", - "id": "api_test_browse_rationale_488" - }, - { - "label": "Create a run dir with a creation.json so it is recognised as a run.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L509", - "community": 12, - "norm_label": "create a run dir with a creation.json so it is recognised as a run.", - "id": "api_test_browse_rationale_509" - }, - { - "label": "Write a sync_state.json with the given per-file records.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L518", - "community": 12, - "norm_label": "write a sync_state.json with the given per-file records.", - "id": "api_test_browse_rationale_518" - }, - { - "label": "A file on disk but absent from sync_state.json reads as ``acquiring``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L540", - "community": 12, - "norm_label": "a file on disk but absent from sync_state.json reads as ``acquiring``.", - "id": "api_test_browse_rationale_540" - }, - { - "label": "A recorded file with verified_at null + on disk reads as ``syncing``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L553", - "community": 12, - "norm_label": "a recorded file with verified_at null + on disk reads as ``syncing``.", - "id": "api_test_browse_rationale_553" - }, - { - "label": "A recorded+verified file still on disk reads as ``synced``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L567", - "community": 12, - "norm_label": "a recorded+verified file still on disk reads as ``synced``.", - "id": "api_test_browse_rationale_567" - }, - { - "label": "A cleared run lists verified-but-absent files as ``on_nas`` tombstones.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L584", - "community": 12, - "norm_label": "a cleared run lists verified-but-absent files as ``on_nas`` tombstones.", - "id": "api_test_browse_rationale_584" - }, - { - "label": "A keep_local file carries the flag alongside its sync status.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L607", - "community": 12, - "norm_label": "a keep_local file carries the flag alongside its sync status.", - "id": "api_test_browse_rationale_607" - }, - { - "label": "The tree run-node sync_status is the sync_state.json rollup, not creation.json.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L631", - "community": 12, - "norm_label": "the tree run-node sync_status is the sync_state.json rollup, not creation.json.", - "id": "api_test_browse_rationale_631" - }, - { - "label": "A cleared run rolls up to ``cleared`` in the tree.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L647", - "community": 12, - "norm_label": "a cleared run rolls up to ``cleared`` in the tree.", - "id": "api_test_browse_rationale_647" - }, - { - "label": "In-memory sync-queue stub recording ``enqueue`` calls (force-sync).", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L42", - "community": 0, - "norm_label": "in-memory sync-queue stub recording ``enqueue`` calls (force-sync).", - "id": "api_test_staging_router_rationale_42" - }, - { - "label": "Write a minimal ``creation.json`` so a dir reads as a real run. The ``POST", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L91", - "community": 0, - "norm_label": "write a minimal ``creation.json`` so a dir reads as a real run. the ``post", - "id": "api_test_staging_router_rationale_91" - }, - { - "label": "Write a fully-verified ``sync_state.json`` so the run rolls up to ``synced``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L141", - "community": 35, - "norm_label": "write a fully-verified ``sync_state.json`` so the run rolls up to ``synced``.", - "id": "api_test_staging_router_rationale_141" - }, - { - "label": "A run with no queue job and no directory clears to zeros.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L297", - "community": 35, - "norm_label": "a run with no queue job and no directory clears to zeros.", - "id": "api_test_staging_router_rationale_297" - }, - { - "label": "The bulk endpoint clears every fully-``synced`` run and reports paths.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L315", - "community": 35, - "norm_label": "the bulk endpoint clears every fully-``synced`` run and reports paths.", - "id": "api_test_staging_router_rationale_315" - }, - { - "label": "No verified rows -> empty cleared_paths, no error.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L341", - "community": 35, - "norm_label": "no verified rows -> empty cleared_paths, no error.", - "id": "api_test_staging_router_rationale_341" - }, - { - "label": "A deps without a config raises the standard 503.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L352", - "community": 94, - "norm_label": "a deps without a config raises the standard 503.", - "id": "api_test_staging_router_rationale_352" - }, - { - "label": "The endpoint flips ``keep_local`` in the run's ``sync_state.json``.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L367", - "community": 35, - "norm_label": "the endpoint flips ``keep_local`` in the run's ``sync_state.json``.", - "id": "api_test_staging_router_rationale_367" - }, - { - "label": "Setting ``keep_local`` False after True clears the flag on disk.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L390", - "community": 35, - "norm_label": "setting ``keep_local`` false after true clears the flag on disk.", - "id": "api_test_staging_router_rationale_390" - }, - { - "label": "A deps without a ``sync_state_writer`` raises the standard 503.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L408", - "community": 35, - "norm_label": "a deps without a ``sync_state_writer`` raises the standard 503.", - "id": "api_test_staging_router_rationale_408" - }, - { - "label": "A deps without a config raises the standard 503.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L422", - "community": 94, - "norm_label": "a deps without a config raises the standard 503.", - "id": "api_test_staging_router_rationale_422" - }, - { - "label": "The request model forbids unknown fields.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L434", - "community": 35, - "norm_label": "the request model forbids unknown fields.", - "id": "api_test_staging_router_rationale_434" - }, - { - "label": "A path outside the configured roots is rejected before any write. Operator-", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L448", - "community": 35, - "norm_label": "a path outside the configured roots is rejected before any write. operator-", - "id": "api_test_staging_router_rationale_448" - }, - { - "label": "A dir under an allowed root but without a creation.json is not a run.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L469", - "community": 35, - "norm_label": "a dir under an allowed root but without a creation.json is not a run.", - "id": "api_test_staging_router_rationale_469" - }, - { - "label": "The writer mkdir's the .exlab-wizard/ dir -- a real run with only a creation", - "file_type": "rationale", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L487", - "community": 35, - "norm_label": "the writer mkdir's the .exlab-wizard/ dir -- a real run with only a creation", - "id": "api_test_staging_router_rationale_487" - }, - { - "label": "Connecting to /problems/events emits a snapshot frame immediately.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L259", - "community": 121, - "norm_label": "connecting to /problems/events emits a snapshot frame immediately.", - "id": "api_test_problems_rationale_259" - }, - { - "label": "Without an audit channel the WebSocket closes with 1011.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L281", - "community": 121, - "norm_label": "without an audit channel the websocket closes with 1011.", - "id": "api_test_problems_rationale_281" - }, - { - "label": "``POST /problems/refresh`` invokes audit and publishes to the channel.", - "file_type": "rationale", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L302", - "community": 121, - "norm_label": "``post /problems/refresh`` invokes audit and publishes to the channel.", - "id": "api_test_problems_rationale_302" - }, - { - "label": "_StubKeyring", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L124", - "community": 1, - "norm_label": "_stubkeyring", - "id": "sync_test_nas_client_extra_stubkeyring" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L127", - "community": 1, - "norm_label": ".__init__()", - "id": "sync_test_nas_client_extra_stubkeyring_init" - }, - { - "label": ".get_password()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L130", - "community": 1, - "norm_label": ".get_password()", - "id": "sync_test_nas_client_extra_stubkeyring_get_password" - }, - { - "label": "test_build_transport_driver_sftp()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L135", - "community": 1, - "norm_label": "test_build_transport_driver_sftp()", - "id": "sync_test_nas_client_extra_test_build_transport_driver_sftp" - }, - { - "label": "test_build_transport_driver_smb()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L154", - "community": 1, - "norm_label": "test_build_transport_driver_smb()", - "id": "sync_test_nas_client_extra_test_build_transport_driver_smb" - }, - { - "label": "test_verifier_mismatch_first_failure_then_pass()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L780", - "community": 1, - "norm_label": "test_verifier_mismatch_first_failure_then_pass()", - "id": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass" - }, - { - "label": "test_verifier_mismatch_second_failure_terminal()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L831", - "community": 1, - "norm_label": "test_verifier_mismatch_second_failure_terminal()", - "id": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal" - }, - { - "label": "test_build_transport_driver_rejects_unknown_type()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L945", - "community": 1, - "norm_label": "test_build_transport_driver_rejects_unknown_type()", - "id": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type" - }, - { - "label": "test_partial_batch_credits_verified_files_in_sync_state()", - "file_type": "code", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1026", - "community": 1, - "norm_label": "test_partial_batch_credits_verified_files_in_sync_state()", - "id": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state" - }, - { - "label": "Minimal keyring stub returning a fixed password by username.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L125", - "community": 1, - "norm_label": "minimal keyring stub returning a fixed password by username.", - "id": "sync_test_nas_client_extra_rationale_125" - }, - { - "label": "A first hash-mismatch from the transport re-queues without backoff. The fir", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L181", - "community": 1, - "norm_label": "a first hash-mismatch from the transport re-queues without backoff. the fir", - "id": "sync_test_nas_client_extra_rationale_181" - }, - { - "label": "A second consecutive hash-mismatch terminates FAILED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L238", - "community": 1, - "norm_label": "a second consecutive hash-mismatch terminates failed.", - "id": "sync_test_nas_client_extra_rationale_238" - }, - { - "label": "``retain_cache=False`` removes the entire run directory after CLEANED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L276", - "community": 1, - "norm_label": "``retain_cache=false`` removes the entire run directory after cleaned.", - "id": "sync_test_nas_client_extra_rationale_276" - }, - { - "label": "``retain_cache=True`` deletes data files but keeps ``.exlab-wizard/``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L312", - "community": 1, - "norm_label": "``retain_cache=true`` deletes data files but keeps ``.exlab-wizard/``.", - "id": "sync_test_nas_client_extra_rationale_312" - }, - { - "label": "``nas_cleanup.enabled=False`` -> job stays VERIFIED, no cleanup.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L350", - "community": 1, - "norm_label": "``nas_cleanup.enabled=false`` -> job stays verified, no cleanup.", - "id": "sync_test_nas_client_extra_rationale_350" - }, - { - "label": "Job lands in CLEANUP_ELIGIBLE when min_verify_passes > current passes.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L388", - "community": 1, - "norm_label": "job lands in cleanup_eligible when min_verify_passes > current passes.", - "id": "sync_test_nas_client_extra_rationale_388" - }, - { - "label": "A failing remote_stat keeps the job in CLEANUP_ELIGIBLE, not CLEANED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L424", - "community": 1, - "norm_label": "a failing remote_stat keeps the job in cleanup_eligible, not cleaned.", - "id": "sync_test_nas_client_extra_rationale_424" - }, - { - "label": "Build an un-init'd client for direct ``_delete_local`` calls.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L466", - "community": 1, - "norm_label": "build an un-init'd client for direct ``_delete_local`` calls.", - "id": "sync_test_nas_client_extra_rationale_466" - }, - { - "label": "A directory holding only deleted files is pruned (deepest-first); a parent s", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L505", - "community": 1, - "norm_label": "a directory holding only deleted files is pruned (deepest-first); a parent s", - "id": "sync_test_nas_client_extra_rationale_505" - }, - { - "label": "A directory symlink inside the run is left untouched -- its target's content", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L538", - "community": 1, - "norm_label": "a directory symlink inside the run is left untouched -- its target's content", - "id": "sync_test_nas_client_extra_rationale_538" - }, - { - "label": "A ``keep_local`` file survives even when ``retain_cache=False``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L564", - "community": 1, - "norm_label": "a ``keep_local`` file survives even when ``retain_cache=false``.", - "id": "sync_test_nas_client_extra_rationale_564" - }, - { - "label": "With ``retain_cache=False`` and no kept files the run dir is removed.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L583", - "community": 1, - "norm_label": "with ``retain_cache=false`` and no kept files the run dir is removed.", - "id": "sync_test_nas_client_extra_rationale_583" - }, - { - "label": "A full cleanup pass stamps ``cleared_at`` in ``sync_state.json``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L595", - "community": 1, - "norm_label": "a full cleanup pass stamps ``cleared_at`` in ``sync_state.json``.", - "id": "sync_test_nas_client_extra_rationale_595" - }, - { - "label": "A file flagged ``keep_local`` survives the cleanup sweep.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L635", - "community": 1, - "norm_label": "a file flagged ``keep_local`` survives the cleanup sweep.", - "id": "sync_test_nas_client_extra_rationale_635" - }, - { - "label": "Cleanup does not run while a tracked file remains unverified. A pre-existin", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L678", - "community": 1, - "norm_label": "cleanup does not run while a tracked file remains unverified. a pre-existin", - "id": "sync_test_nas_client_extra_rationale_678" - }, - { - "label": "A run dir deleted between enqueue and worker pick -> FAILED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L735", - "community": 1, - "norm_label": "a run dir deleted between enqueue and worker pick -> failed.", - "id": "sync_test_nas_client_extra_rationale_735" - }, - { - "label": "A rclone-check mismatch retries once, then passes.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L781", - "community": 1, - "norm_label": "a rclone-check mismatch retries once, then passes.", - "id": "sync_test_nas_client_extra_rationale_781" - }, - { - "label": "Two consecutive verifier mismatches terminate FAILED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L832", - "community": 1, - "norm_label": "two consecutive verifier mismatches terminate failed.", - "id": "sync_test_nas_client_extra_rationale_832" - }, - { - "label": "When no factory is injected, the client builds the per-equipment driver. We", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L872", - "community": 1, - "norm_label": "when no factory is injected, the client builds the per-equipment driver. we", - "id": "sync_test_nas_client_extra_rationale_872" - }, - { - "label": "Helper returns ``None`` when ``creation.paths.nas`` is the empty string.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L930", - "community": 0, - "norm_label": "helper returns ``none`` when ``creation.paths.nas`` is the empty string.", - "id": "sync_test_nas_client_extra_rationale_930" - }, - { - "label": "An unknown transport type raises ValueError from the helper.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L946", - "community": 1, - "norm_label": "an unknown transport type raises valueerror from the helper.", - "id": "sync_test_nas_client_extra_rationale_946" - }, - { - "label": "``_mark_synced`` is a no-op when ``creation.json`` doesn't exist.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L964", - "community": 1, - "norm_label": "``_mark_synced`` is a no-op when ``creation.json`` doesn't exist.", - "id": "sync_test_nas_client_extra_rationale_964" - }, - { - "label": "``_delete_local`` is a no-op when the run directory is already gone.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L982", - "community": 1, - "norm_label": "``_delete_local`` is a no-op when the run directory is already gone.", - "id": "sync_test_nas_client_extra_rationale_982" - }, - { - "label": "If neither ``creation.paths.local`` nor ``run_path`` contains a configured e", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L996", - "community": 0, - "norm_label": "if neither ``creation.paths.local`` nor ``run_path`` contains a configured e", - "id": "sync_test_nas_client_extra_rationale_996" - }, - { - "label": "A batch where one file fails verification still credits the others in ``sync", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1027", - "community": 1, - "norm_label": "a batch where one file fails verification still credits the others in ``sync", - "id": "sync_test_nas_client_extra_rationale_1027" - }, - { - "label": "A fully-successful batch credits every verified file in sync_state.json.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1084", - "community": 1, - "norm_label": "a fully-successful batch credits every verified file in sync_state.json.", - "id": "sync_test_nas_client_extra_rationale_1084" - }, - { - "label": "test_rclone_push_forwards_env()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L123", - "community": 68, - "norm_label": "test_rclone_push_forwards_env()", - "id": "sync_test_transports_test_rclone_push_forwards_env" - }, - { - "label": "test_obscure_returns_stdout_stripped()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L247", - "community": 425, - "norm_label": "test_obscure_returns_stdout_stripped()", - "id": "sync_test_transports_test_obscure_returns_stdout_stripped" - }, - { - "label": "test_obscure_missing_binary_raises_auth()", - "file_type": "code", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L257", - "community": 425, - "norm_label": "test_obscure_missing_binary_raises_auth()", - "id": "sync_test_transports_test_obscure_missing_binary_raises_auth" - }, - { - "label": "Install the rclone stub under ``tmp_path/bin`` and prepend to PATH.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L34", - "community": 495, - "norm_label": "install the rclone stub under ``tmp_path/bin`` and prepend to path.", - "id": "sync_test_transports_rationale_34" - }, - { - "label": "Tell the stub to append every invocation's argv to a log file.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L48", - "community": 496, - "norm_label": "tell the stub to append every invocation's argv to a log file.", - "id": "sync_test_transports_rationale_48" - }, - { - "label": "Return the recorded argv lists, in invocation order.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L55", - "community": 68, - "norm_label": "return the recorded argv lists, in invocation order.", - "id": "sync_test_transports_rationale_55" - }, - { - "label": "A missing binary raises :class:`TransportError`, not a retry result.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L117", - "community": 68, - "norm_label": "a missing binary raises :class:`transporterror`, not a retry result.", - "id": "sync_test_transports_rationale_117" - }, - { - "label": "``env`` arrives in the subprocess; ``mask_for_log`` redacts the password. T", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L129", - "community": 68, - "norm_label": "``env`` arrives in the subprocess; ``mask_for_log`` redacts the password. t", - "id": "sync_test_transports_rationale_129" - }, - { - "label": "Re-enqueueing a FAILED row resets it back to QUEUED.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L405", - "community": 8, - "norm_label": "re-enqueueing a failed row resets it back to queued.", - "id": "sync_test_nas_client_rationale_405" - }, - { - "label": "Enqueueing twice for the same path returns the same job id.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L438", - "community": 8, - "norm_label": "enqueueing twice for the same path returns the same job id.", - "id": "sync_test_nas_client_rationale_438" - }, - { - "label": "``_mark_cleaned`` flips ``creation.json.sync_status`` to ``\"cleaned\"``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L490", - "community": 8, - "norm_label": "``_mark_cleaned`` flips ``creation.json.sync_status`` to ``\"cleaned\"``.", - "id": "sync_test_nas_client_rationale_490" - }, - { - "label": "With ``retain_cache=False`` the cache dir is gone; ``_mark_cleaned`` no-ops.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L512", - "community": 8, - "norm_label": "with ``retain_cache=false`` the cache dir is gone; ``_mark_cleaned`` no-ops.", - "id": "sync_test_nas_client_rationale_512" - }, - { - "label": "``enqueue(run, files=[...])`` stores the subset on the queue row.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L537", - "community": 8, - "norm_label": "``enqueue(run, files=[...])`` stores the subset on the queue row.", - "id": "sync_test_nas_client_rationale_537" - }, - { - "label": "A terminal (FAILED) job is re-armed in QUEUED with a fresh file subset.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L567", - "community": 8, - "norm_label": "a terminal (failed) job is re-armed in queued with a fresh file subset.", - "id": "sync_test_nas_client_rationale_567" - }, - { - "label": "An active (QUEUED) job is left untouched when re-enqueued with new files.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L602", - "community": 8, - "norm_label": "an active (queued) job is left untouched when re-enqueued with new files.", - "id": "sync_test_nas_client_rationale_602" - }, - { - "label": "A live config swap rebuilds the equipment lookup in place.", - "file_type": "rationale", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L637", - "community": 8, - "norm_label": "a live config swap rebuilds the equipment lookup in place.", - "id": "sync_test_nas_client_rationale_637" - }, - { - "label": "Read run-relative paths from a ``--files-from`` tempfile.", - "file_type": "rationale", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L30", - "community": 1, - "norm_label": "read run-relative paths from a ``--files-from`` tempfile.", - "id": "sync_helpers_rationale_30" - }, - { - "label": "Check factory whose closure declares every file equal. Returns a closure co", - "file_type": "rationale", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L41", - "community": 1, - "norm_label": "check factory whose closure declares every file equal. returns a closure co", - "id": "sync_helpers_rationale_41" - }, - { - "label": "Check factory whose closure flags ``corrupt_rel`` as ``differ``. Every othe", - "file_type": "rationale", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L62", - "community": 1, - "norm_label": "check factory whose closure flags ``corrupt_rel`` as ``differ``. every othe", - "id": "sync_helpers_rationale_62" - }, - { - "label": "test_rclone_env.py", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L1", - "community": 111, - "norm_label": "test_rclone_env.py", - "id": "tests_unit_sync_transports_test_rclone_env_py" - }, - { - "label": "test_build_rclone_env_sftp_emits_all_keys()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L36", - "community": 1, - "norm_label": "test_build_rclone_env_sftp_emits_all_keys()", - "id": "transports_test_rclone_env_test_build_rclone_env_sftp_emits_all_keys" - }, - { - "label": "test_build_rclone_env_smb_minimal_omits_domain()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L59", - "community": 111, - "norm_label": "test_build_rclone_env_smb_minimal_omits_domain()", - "id": "transports_test_rclone_env_test_build_rclone_env_smb_minimal_omits_domain" - }, - { - "label": "test_build_rclone_env_smb_with_domain_includes_domain_key()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L83", - "community": 111, - "norm_label": "test_build_rclone_env_smb_with_domain_includes_domain_key()", - "id": "transports_test_rclone_env_test_build_rclone_env_smb_with_domain_includes_domain_key" - }, - { - "label": "test_pass_env_keys_for_names_only_the_password_key()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L100", - "community": 111, - "norm_label": "test_pass_env_keys_for_names_only_the_password_key()", - "id": "transports_test_rclone_env_test_pass_env_keys_for_names_only_the_password_key" - }, - { - "label": "_Keyring", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L111", - "community": 111, - "norm_label": "_keyring", - "id": "transports_test_rclone_env_keyring" - }, - { - "label": ".__init__()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L114", - "community": 111, - "norm_label": ".__init__()", - "id": "transports_test_rclone_env_keyring_init" - }, - { - "label": ".get_password()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L117", - "community": 111, - "norm_label": ".get_password()", - "id": "transports_test_rclone_env_keyring_get_password" - }, - { - "label": "_BrokenKeyring", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L122", - "community": 111, - "norm_label": "_brokenkeyring", - "id": "transports_test_rclone_env_brokenkeyring" - }, - { - "label": ".get_password()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L125", - "community": 111, - "norm_label": ".get_password()", - "id": "transports_test_rclone_env_brokenkeyring_get_password" - }, - { - "label": "_equipment()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L131", - "community": 111, - "norm_label": "_equipment()", - "id": "transports_test_rclone_env_equipment" - }, - { - "label": "test_resolve_env_raises_auth_when_keyring_store_is_none()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L157", - "community": 111, - "norm_label": "test_resolve_env_raises_auth_when_keyring_store_is_none()", - "id": "transports_test_rclone_env_test_resolve_env_raises_auth_when_keyring_store_is_none" - }, - { - "label": "test_resolve_env_raises_auth_when_password_is_none()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L164", - "community": 111, - "norm_label": "test_resolve_env_raises_auth_when_password_is_none()", - "id": "transports_test_rclone_env_test_resolve_env_raises_auth_when_password_is_none" - }, - { - "label": "test_resolve_env_raises_auth_when_password_is_empty_string()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L171", - "community": 111, - "norm_label": "test_resolve_env_raises_auth_when_password_is_empty_string()", - "id": "transports_test_rclone_env_test_resolve_env_raises_auth_when_password_is_empty_string" - }, - { - "label": "test_resolve_env_raises_auth_when_keyring_backend_explodes()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L178", - "community": 111, - "norm_label": "test_resolve_env_raises_auth_when_keyring_backend_explodes()", - "id": "transports_test_rclone_env_test_resolve_env_raises_auth_when_keyring_backend_explodes" - }, - { - "label": "Unit tests for ``build_rclone_env`` and ``_resolve_env_for_equipment``. The new", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L1", - "community": 111, - "norm_label": "unit tests for ``build_rclone_env`` and ``_resolve_env_for_equipment``. the new", - "id": "transports_test_rclone_env_rationale_1" - }, - { - "label": "The only secret in build_rclone_env's output is _PASS.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L101", - "community": 111, - "norm_label": "the only secret in build_rclone_env's output is _pass.", - "id": "transports_test_rclone_env_rationale_101" - }, - { - "label": "In-memory keyring stub used by the AUTH-path tests below.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L112", - "community": 111, - "norm_label": "in-memory keyring stub used by the auth-path tests below.", - "id": "transports_test_rclone_env_rationale_112" - }, - { - "label": "Keyring stub whose ``get_password`` raises an exception.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L123", - "community": 111, - "norm_label": "keyring stub whose ``get_password`` raises an exception.", - "id": "transports_test_rclone_env_rationale_123" - }, - { - "label": "A keyring backend failure must surface as AUTH with the real cause attached.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L179", - "community": 111, - "norm_label": "a keyring backend failure must surface as auth with the real cause attached.", - "id": "transports_test_rclone_env_rationale_179" - }, - { - "label": "test_run_subprocess_forwards_env()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L28", - "community": 167, - "norm_label": "test_run_subprocess_forwards_env()", - "id": "transports_test_run_test_run_subprocess_forwards_env" - }, - { - "label": "test_run_subprocess_preserves_existing_environ()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L38", - "community": 167, - "norm_label": "test_run_subprocess_preserves_existing_environ()", - "id": "transports_test_run_test_run_subprocess_preserves_existing_environ" - }, - { - "label": "test_run_subprocess_pipes_stdin_payload()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L56", - "community": 167, - "norm_label": "test_run_subprocess_pipes_stdin_payload()", - "id": "transports_test_run_test_run_subprocess_pipes_stdin_payload" - }, - { - "label": "test_run_subprocess_masks_named_env_in_debug_log()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L66", - "community": 167, - "norm_label": "test_run_subprocess_masks_named_env_in_debug_log()", - "id": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log" - }, - { - "label": "test_run_subprocess_omits_env_log_when_env_is_none()", - "file_type": "code", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L86", - "community": 167, - "norm_label": "test_run_subprocess_omits_env_log_when_env_is_none()", - "id": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none" - }, - { - "label": "An env-dict entry must surface in the child process' environment.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L29", - "community": 167, - "norm_label": "an env-dict entry must surface in the child process' environment.", - "id": "transports_test_run_rationale_29" - }, - { - "label": "Caller-supplied env is *merged* over ``os.environ`` -- it does not replace it.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L39", - "community": 167, - "norm_label": "caller-supplied env is *merged* over ``os.environ`` -- it does not replace it.", - "id": "transports_test_run_rationale_39" - }, - { - "label": "A bytes payload is fed to stdin and closed.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L57", - "community": 167, - "norm_label": "a bytes payload is fed to stdin and closed.", - "id": "transports_test_run_rationale_57" - }, - { - "label": "``mask_for_log`` redacts the listed env keys from the debug log line.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L67", - "community": 167, - "norm_label": "``mask_for_log`` redacts the listed env keys from the debug log line.", - "id": "transports_test_run_rationale_67" - }, - { - "label": "No env block in the log when the caller passes ``env=None``.", - "file_type": "rationale", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L87", - "community": 167, - "norm_label": "no env block in the log when the caller passes ``env=none``.", - "id": "transports_test_run_rationale_87" - }, - { - "label": "_transport()", - "file_type": "code", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L60", - "community": 30, - "norm_label": "_transport()", - "id": "orchestrator_test_quiescence_poller_transport" - }, - { - "label": "In-memory NAS-sync stub recording per-file enqueue calls.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L42", - "community": 30, - "norm_label": "in-memory nas-sync stub recording per-file enqueue calls.", - "id": "orchestrator_test_quiescence_poller_rationale_42" - }, - { - "label": "Build a Config with an optional staging root and a nas-mode equipment.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L76", - "community": 30, - "norm_label": "build a config with an optional staging root and a nas-mode equipment.", - "id": "orchestrator_test_quiescence_poller_rationale_76" - }, - { - "label": "Create a run-leaf directory mirroring the \u00a713.2 staging layout.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L102", - "community": 30, - "norm_label": "create a run-leaf directory mirroring the \u00a713.2 staging layout.", - "id": "orchestrator_test_quiescence_poller_rationale_102" - }, - { - "label": "A file is enqueued only after its signature settles for the window.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L129", - "community": 30, - "norm_label": "a file is enqueued only after its signature settles for the window.", - "id": "orchestrator_test_quiescence_poller_rationale_129" - }, - { - "label": "A signature change resets ``first_seen``; the window restarts.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L151", - "community": 30, - "norm_label": "a signature change resets ``first_seen``; the window restarts.", - "id": "orchestrator_test_quiescence_poller_rationale_151" - }, - { - "label": "A run holding only ignore-glob files never enqueues.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L177", - "community": 30, - "norm_label": "a run holding only ignore-glob files never enqueues.", - "id": "orchestrator_test_quiescence_poller_rationale_177" - }, - { - "label": "A quiet non-ignored file enqueues even when ignored files coexist.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L193", - "community": 30, - "norm_label": "a quiet non-ignored file enqueues even when ignored files coexist.", - "id": "orchestrator_test_quiescence_poller_rationale_193" - }, - { - "label": "A sweep finds runs under staging_root AND under nas-mode local_root.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L213", - "community": 30, - "norm_label": "a sweep finds runs under staging_root and under nas-mode local_root.", - "id": "orchestrator_test_quiescence_poller_rationale_213" - }, - { - "label": "A ``stage``-mode equipment sharing one ``local_root`` with a ``nas``-mode eq", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L235", - "community": 30, - "norm_label": "a ``stage``-mode equipment sharing one ``local_root`` with a ``nas``-mode eq", - "id": "orchestrator_test_quiescence_poller_rationale_235" - }, - { - "label": "A quiet file already synced at its current signature is skipped.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L286", - "community": 30, - "norm_label": "a quiet file already synced at its current signature is skipped.", - "id": "orchestrator_test_quiescence_poller_rationale_286" - }, - { - "label": "A file modified after its recorded sync re-enters the eligible set.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L310", - "community": 30, - "norm_label": "a file modified after its recorded sync re-enters the eligible set.", - "id": "orchestrator_test_quiescence_poller_rationale_310" - }, - { - "label": "A run with a mix of synced + modified files enqueues only the dirty one.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L333", - "community": 30, - "norm_label": "a run with a mix of synced + modified files enqueues only the dirty one.", - "id": "orchestrator_test_quiescence_poller_rationale_333" - }, - { - "label": "start()/stop() can be called repeatedly without error.", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L364", - "community": 30, - "norm_label": "start()/stop() can be called repeatedly without error.", - "id": "orchestrator_test_quiescence_poller_rationale_364" - }, - { - "label": "A live quiescence-window change takes effect on the next sweep. poll_once r", - "file_type": "rationale", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L387", - "community": 30, - "norm_label": "a live quiescence-window change takes effect on the next sweep. poll_once r", - "id": "orchestrator_test_quiescence_poller_rationale_387" - }, - { - "label": "In-memory sync client that records per-file enqueue + serves status/list_all.", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L54", - "community": 13, - "norm_label": "in-memory sync client that records per-file enqueue + serves status/list_all.", - "id": "integration_test_orchestrator_lifecycle_rationale_54" - }, - { - "label": "A staged run is enqueued only once its files settle for the window.", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L117", - "community": 13, - "norm_label": "a staged run is enqueued only once its files settle for the window.", - "id": "integration_test_orchestrator_lifecycle_rationale_117" - }, - { - "label": "A quiet file recorded in sync_state.json at its current signature is not re-", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L135", - "community": 13, - "norm_label": "a quiet file recorded in sync_state.json at its current signature is not re-", - "id": "integration_test_orchestrator_lifecycle_rationale_135" - }, - { - "label": "``GET /staging`` reports the run with its ``sync_state.json`` rollup.", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L171", - "community": 13, - "norm_label": "``get /staging`` reports the run with its ``sync_state.json`` rollup.", - "id": "integration_test_orchestrator_lifecycle_rationale_171" - }, - { - "label": "``POST /staging/.../clear`` deletes a fully-``synced`` run's data files, ret", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L188", - "community": 13, - "norm_label": "``post /staging/.../clear`` deletes a fully-``synced`` run's data files, ret", - "id": "integration_test_orchestrator_lifecycle_rationale_188" - }, - { - "label": "A run that is not fully ``synced`` cannot be cleared.", - "file_type": "rationale", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L211", - "community": 13, - "norm_label": "a run that is not fully ``synced`` cannot be cleared.", - "id": "integration_test_orchestrator_lifecycle_rationale_211" - }, - { - "label": "test_remote_hash_mismatch_triggers_retry()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L349", - "community": 37, - "norm_label": "test_remote_hash_mismatch_triggers_retry()", - "id": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry" - }, - { - "label": "test_remote_hashsum_probe_failure_does_not_skip_verify()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L422", - "community": 37, - "norm_label": "test_remote_hashsum_probe_failure_does_not_skip_verify()", - "id": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify" - }, - { - "label": "test_remote_hash_mismatch_terminal()", - "file_type": "code", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L489", - "community": 37, - "norm_label": "test_remote_hash_mismatch_terminal()", - "id": "integration_test_nas_sync_test_remote_hash_mismatch_terminal" - }, - { - "label": "Minimal keyring stub returning a fixed password for every username. The new", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L54", - "community": 37, - "norm_label": "minimal keyring stub returning a fixed password for every username. the new", - "id": "integration_test_nas_sync_rationale_54" - }, - { - "label": "Install the rclone stub on PATH for the test.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L72", - "community": 37, - "norm_label": "install the rclone stub on path for the test.", - "id": "integration_test_nas_sync_rationale_72" - }, - { - "label": "Poll ``queue.get_by_id`` until ``state`` is in ``targets`` or timeout.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L149", - "community": 37, - "norm_label": "poll ``queue.get_by_id`` until ``state`` is in ``targets`` or timeout.", - "id": "integration_test_nas_sync_rationale_149" - }, - { - "label": "Enqueue -> RUNNING -> AWAITING_VERIFY -> VERIFIED -> CLEANED. Uses the Pyth", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L166", - "community": 37, - "norm_label": "enqueue -> running -> awaiting_verify -> verified -> cleaned. uses the pyth", - "id": "integration_test_nas_sync_rationale_166" - }, - { - "label": "A run path with ```` is gated; sync_status -> blocked_by_validation.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L240", - "community": 37, - "norm_label": "a run path with ```` is gated; sync_status -> blocked_by_validation.", - "id": "integration_test_nas_sync_rationale_240" - }, - { - "label": "The stub returns ``auth_error`` -> queue row terminates FAILED.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L279", - "community": 37, - "norm_label": "the stub returns ``auth_error`` -> queue row terminates failed.", - "id": "integration_test_nas_sync_rationale_279" - }, - { - "label": "``force_verify`` runs a manifest pass against the local subtree.", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L310", - "community": 37, - "norm_label": "``force_verify`` runs a manifest pass against the local subtree.", - "id": "integration_test_nas_sync_rationale_310" - }, - { - "label": "A first ``rclone check`` mismatch retries the transport phase once. The inj", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L354", - "community": 37, - "norm_label": "a first ``rclone check`` mismatch retries the transport phase once. the inj", - "id": "integration_test_nas_sync_rationale_354" - }, - { - "label": "A ``rclone check`` TransportError must NOT promote the job to VERIFIED. The", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L427", - "community": 37, - "norm_label": "a ``rclone check`` transporterror must not promote the job to verified. the", - "id": "integration_test_nas_sync_rationale_427" - }, - { - "label": "Poller sweep -> per-file enqueue -> drive -> verify -> sync_state.json recor", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L552", - "community": 37, - "norm_label": "poller sweep -> per-file enqueue -> drive -> verify -> sync_state.json recor", - "id": "integration_test_nas_sync_rationale_552" - }, - { - "label": "Full Phase 5 path: poller sweep -> enqueue -> verify -> SYNCED rollup -> cle", - "file_type": "rationale", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L626", - "community": 37, - "norm_label": "full phase 5 path: poller sweep -> enqueue -> verify -> synced rollup -> cle", - "id": "integration_test_nas_sync_rationale_626" - }, - { - "label": "Construct a minimal Config with one equipment configured.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L68", - "community": 140, - "norm_label": "construct a minimal config with one equipment configured.", - "id": "controller_test_creation_flow_rationale_68" - }, - { - "label": "Wait for the session task to finish and return the final state dict.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L178", - "community": 141, - "norm_label": "wait for the session task to finish and return the final state dict.", - "id": "controller_test_creation_flow_rationale_178" - }, - { - "label": "Project creation walks every state and emits a current-version creation.json.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L195", - "community": 140, - "norm_label": "project creation walks every state and emits a current-version creation.json.", - "id": "controller_test_creation_flow_rationale_195" - }, - { - "label": "Redesign \u00a73.4: two creations on the same instrument within the same minute r", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L249", - "community": 141, - "norm_label": "redesign \u00a73.4: two creations on the same instrument within the same minute r", - "id": "controller_test_creation_flow_rationale_249" - }, - { - "label": "A run whose parent project name is not a safe path segment (\u00a73.2) is rejecte", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L385", - "community": 483, - "norm_label": "a run whose parent project name is not a safe path segment (\u00a73.2) is rejecte", - "id": "controller_test_creation_flow_rationale_385" - }, - { - "label": "When a plugin raises PluginInputRequired, controller emits the event and res", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L432", - "community": 141, - "norm_label": "when a plugin raises plugininputrequired, controller emits the event and res", - "id": "controller_test_creation_flow_rationale_432" - }, - { - "label": "A cancel with ``discard_files=True`` deletes the partial directory.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L503", - "community": 415, - "norm_label": "a cancel with ``discard_files=true`` deletes the partial directory.", - "id": "controller_test_creation_flow_rationale_503" - }, - { - "label": "A cancel with ``discard_files=False`` leaves the partial directory.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L541", - "community": 410, - "norm_label": "a cancel with ``discard_files=false`` leaves the partial directory.", - "id": "controller_test_creation_flow_rationale_541" - }, - { - "label": "A rendered file containing ```` must trip the post-validate gate.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L565", - "community": 141, - "norm_label": "a rendered file containing ```` must trip the post-validate gate.", - "id": "controller_test_creation_flow_rationale_565" - }, - { - "label": "T1 (\u00a7C1): the production ``ReadmeGenerator`` -- injected by ``tray.dependenc", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L695", - "community": 403, - "norm_label": "t1 (\u00a7c1): the production ``readmegenerator`` -- injected by ``tray.dependenc", - "id": "controller_test_creation_flow_rationale_695" - }, - { - "label": "A template-required README field missing from ``readme_extra`` must trigger", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L771", - "community": 409, - "norm_label": "a template-required readme field missing from ``readme_extra`` must trigger", - "id": "controller_test_creation_flow_rationale_771" - }, - { - "label": "When ``readme_extra`` supplies a non-empty value for a required field the va", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L807", - "community": 141, - "norm_label": "when ``readme_extra`` supplies a non-empty value for a required field the va", - "id": "controller_test_creation_flow_rationale_807" - }, - { - "label": "When the operator cancels the input-required prompt (host returns ``aborted=", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L851", - "community": 405, - "norm_label": "when the operator cancels the input-required prompt (host returns ``aborted=", - "id": "controller_test_creation_flow_rationale_851" - }, - { - "label": "``_cleanup`` swallows compose-path errors gracefully.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L909", - "community": 406, - "norm_label": "``_cleanup`` swallows compose-path errors gracefully.", - "id": "controller_test_creation_flow_rationale_909" - }, - { - "label": "``_cleanup`` removes the destination directory when ``discard_files=True``.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L932", - "community": 408, - "norm_label": "``_cleanup`` removes the destination directory when ``discard_files=true``.", - "id": "controller_test_creation_flow_rationale_932" - }, - { - "label": "A config.yaml-required README field missing from ``readme_extra`` must trigg", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L949", - "community": 413, - "norm_label": "a config.yaml-required readme field missing from ``readme_extra`` must trigg", - "id": "controller_test_creation_flow_rationale_949" - }, - { - "label": "A Copier render failure (e.g. dst exists) transitions the session to ``FAILE", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L975", - "community": 412, - "norm_label": "a copier render failure (e.g. dst exists) transitions the session to ``faile", - "id": "controller_test_creation_flow_rationale_975" - }, - { - "label": "The controller writes ``equipment.json`` under ``//.exlab-wiz", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1003", - "community": 307, - "norm_label": "the controller writes ``equipment.json`` under ``//.exlab-wiz", - "id": "controller_test_creation_flow_rationale_1003" - }, - { - "label": "The best-effort log appender writes to the equipment cache dir.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1026", - "community": 333, - "norm_label": "the best-effort log appender writes to the equipment cache dir.", - "id": "controller_test_creation_flow_rationale_1026" - }, - { - "label": "A run inherits its LIMS identity from the parent project's creation.json (Ba", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1042", - "community": 307, - "norm_label": "a run inherits its lims identity from the parent project's creation.json (ba", - "id": "controller_test_creation_flow_rationale_1042" - }, - { - "label": "If ``cancel`` is invoked on a session that has not yet started a pipeline ta", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1066", - "community": 411, - "norm_label": "if ``cancel`` is invoked on a session that has not yet started a pipeline ta", - "id": "controller_test_creation_flow_rationale_1066" - }, - { - "label": "Resume against a session that has no resume queue raises.", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1086", - "community": 414, - "norm_label": "resume against a session that has no resume queue raises.", - "id": "controller_test_creation_flow_rationale_1086" - }, - { - "label": "``subscribe`` initializes ``event_queue`` if the session opened with none (d", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1107", - "community": 404, - "norm_label": "``subscribe`` initializes ``event_queue`` if the session opened with none (d", - "id": "controller_test_creation_flow_rationale_1107" - }, - { - "label": "When :class:`PluginHost` returns ``aborted=True``, the controller transition", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1131", - "community": 402, - "norm_label": "when :class:`pluginhost` returns ``aborted=true``, the controller transition", - "id": "controller_test_creation_flow_rationale_1131" - }, - { - "label": "The ``_required_field_ids`` helper must skip non-dict entries in the templat", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1176", - "community": 407, - "norm_label": "the ``_required_field_ids`` helper must skip non-dict entries in the templat", - "id": "controller_test_creation_flow_rationale_1176" - }, - { - "label": "A run whose parent project folder has no readable creation.json still produc", - "file_type": "rationale", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1192", - "community": 141, - "norm_label": "a run whose parent project folder has no readable creation.json still produc", - "id": "controller_test_creation_flow_rationale_1192" - }, - { - "label": "Build a FastAPI app with the real controller + validator wired.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L81", - "community": 10, - "norm_label": "build a fastapi app with the real controller + validator wired.", - "id": "api_test_full_flow_rationale_81" - }, - { - "label": "End-to-end: POST /sessions -> session reaches DONE -> creation.json on disk.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L117", - "community": 175, - "norm_label": "end-to-end: post /sessions -> session reaches done -> creation.json on disk.", - "id": "api_test_full_flow_rationale_117" - }, - { - "label": "Each non-soft INCOMPLETE_* state surfaces the right next_action.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L181", - "community": 175, - "norm_label": "each non-soft incomplete_* state surfaces the right next_action.", - "id": "api_test_full_flow_rationale_181" - }, - { - "label": "POST /sessions returns 503 + setup_incomplete in non-soft INCOMPLETE_* states.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L215", - "community": 175, - "norm_label": "post /sessions returns 503 + setup_incomplete in non-soft incomplete_* states.", - "id": "api_test_full_flow_rationale_215" - }, - { - "label": "The soft block does not gate POST /sessions per \u00a74.9.4.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L239", - "community": 10, - "norm_label": "the soft block does not gate post /sessions per \u00a74.9.4.", - "id": "api_test_full_flow_rationale_239" - }, - { - "label": "``POST /problems/refresh`` invokes Validator.audit and returns the count.", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L291", - "community": 175, - "norm_label": "``post /problems/refresh`` invokes validator.audit and returns the count.", - "id": "api_test_full_flow_rationale_291" - }, - { - "label": "End-to-end WebSocket stream of phase frames. Uses the synchronous TestClien", - "file_type": "rationale", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L367", - "community": 10, - "norm_label": "end-to-end websocket stream of phase frames. uses the synchronous testclien", - "id": "api_test_full_flow_rationale_367" - }, - { - "label": "_dump_env()", - "file_type": "code", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L124", - "community": 203, - "norm_label": "_dump_env()", - "id": "fixtures_stub_rclone_dump_env" - }, - { - "label": "_require_env()", - "file_type": "code", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L135", - "community": 203, - "norm_label": "_require_env()", - "id": "fixtures_stub_rclone_require_env" - }, - { - "label": "Return ``(local, remote_spec)`` from a ``rclone copy`` argv.", - "file_type": "rationale", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L55", - "community": 203, - "norm_label": "return ``(local, remote_spec)`` from a ``rclone copy`` argv.", - "id": "fixtures_stub_rclone_rationale_55" - }, - { - "label": "Return True if ``arg`` is the value-half of a ``--flag value`` pair.", - "file_type": "rationale", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L67", - "community": 203, - "norm_label": "return true if ``arg`` is the value-half of a ``--flag value`` pair.", - "id": "fixtures_stub_rclone_rationale_67" - }, - { - "label": "Write `` `` per file in ``--files-from`` to ``--combined``. `", - "file_type": "rationale", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L85", - "community": 203, - "norm_label": "write `` `` per file in ``--files-from`` to ``--combined``. `", - "id": "fixtures_stub_rclone_rationale_85" - }, - { - "label": "Return the value following ``flag`` in ``argv`` or ``None``.", - "file_type": "rationale", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L114", - "community": 203, - "norm_label": "return the value following ``flag`` in ``argv`` or ``none``.", - "id": "fixtures_stub_rclone_rationale_114" - }, - { - "label": "When ``STUB_RCLONE_ENV_DUMP`` is set, write the rclone-prefixed env.", - "file_type": "rationale", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L125", - "community": 203, - "norm_label": "when ``stub_rclone_env_dump`` is set, write the rclone-prefixed env.", - "id": "fixtures_stub_rclone_rationale_125" - }, - { - "label": "Enforce ``STUB_RCLONE_REQUIRE_ENV``; return 0 if satisfied else 3. Confirms", - "file_type": "rationale", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L136", - "community": 203, - "norm_label": "enforce ``stub_rclone_require_env``; return 0 if satisfied else 3. confirms", - "id": "fixtures_stub_rclone_rationale_136" - }, - { - "label": "_pick_radio()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L86", - "community": 185, - "norm_label": "_pick_radio()", - "id": "e2e_test_flow_00_full_lifecycle_pick_radio" - }, - { - "label": "Select a Quasar ``ui.radio`` option by its label within the group.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L87", - "community": 185, - "norm_label": "select a quasar ``ui.radio`` option by its label within the group.", - "id": "e2e_test_flow_00_full_lifecycle_rationale_87" - }, - { - "label": "Click a stepper-navigation button scoped to its step container. The Next /", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L100", - "community": 185, - "norm_label": "click a stepper-navigation button scoped to its step container. the next /", - "id": "e2e_test_flow_00_full_lifecycle_rationale_100" - }, - { - "label": "Advance the project wizard from ``step_id`` via its Next button.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L112", - "community": 185, - "norm_label": "advance the project wizard from ``step_id`` via its next button.", - "id": "e2e_test_flow_00_full_lifecycle_rationale_112" - }, - { - "label": "Advance the run wizard from ``step_id`` via its Next button.", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L117", - "community": 185, - "norm_label": "advance the run wizard from ``step_id`` via its next button.", - "id": "e2e_test_flow_00_full_lifecycle_rationale_117" - }, - { - "label": "Navigate to a NiceGUI page, tolerating a transient ERR_ABORTED. NiceGUI's c", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L122", - "community": 185, - "norm_label": "navigate to a nicegui page, tolerating a transient err_aborted. nicegui's c", - "id": "e2e_test_flow_00_full_lifecycle_rationale_122" - }, - { - "label": "Yield a started :class:`ProdServer` rooted at a fresh tmp HOME. The keyring", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L147", - "community": 270, - "norm_label": "yield a started :class:`prodserver` rooted at a fresh tmp home. the keyring", - "id": "e2e_test_flow_00_full_lifecycle_rationale_147" - }, - { - "label": "test_nas_credential_gate_set_test_and_clear()", - "file_type": "code", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L179", - "community": 291, - "norm_label": "test_nas_credential_gate_set_test_and_clear()", - "id": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear" - }, - { - "label": "Write a config.yaml with one nas-mode equipment under the tmp HOME. LIMS is", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L47", - "community": 0, - "norm_label": "write a config.yaml with one nas-mode equipment under the tmp home. lims is", - "id": "e2e_test_flow_27_nas_credential_settings_rationale_47" - }, - { - "label": "Spawn the production wizard seeded with a credential-less nas equipment. Yi", - "file_type": "rationale", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L106", - "community": 291, - "norm_label": "spawn the production wizard seeded with a credential-less nas equipment. yi", - "id": "e2e_test_flow_27_nas_credential_settings_rationale_106" - }, - { - "label": "transport_type()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L44", - "community": 150, - "norm_label": "transport_type()", - "id": "page_objects_wizard_equipment_page_transport_type" - }, - { - "label": "sftp_host()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L49", - "community": 150, - "norm_label": "sftp_host()", - "id": "page_objects_wizard_equipment_page_sftp_host" - }, - { - "label": "sftp_user()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L53", - "community": 150, - "norm_label": "sftp_user()", - "id": "page_objects_wizard_equipment_page_sftp_user" - }, - { - "label": "sftp_remote_path()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L57", - "community": 150, - "norm_label": "sftp_remote_path()", - "id": "page_objects_wizard_equipment_page_sftp_remote_path" - }, - { - "label": "smb_host()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L62", - "community": 150, - "norm_label": "smb_host()", - "id": "page_objects_wizard_equipment_page_smb_host" - }, - { - "label": "smb_share()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L66", - "community": 150, - "norm_label": "smb_share()", - "id": "page_objects_wizard_equipment_page_smb_share" - }, - { - "label": "smb_user()", - "file_type": "code", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L70", - "community": 150, - "norm_label": "smb_user()", - "id": "page_objects_wizard_equipment_page_smb_user" - }, - { - "label": "_password_required_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L447", - "community": 187, - "norm_label": "_password_required_equipment()", - "id": "exlab_wizard_paths_password_required_equipment" - }, - { - "label": "_nas_slot_satisfied()", - "file_type": "code", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L466", - "community": 187, - "norm_label": "_nas_slot_satisfied()", - "id": "exlab_wizard_paths_nas_slot_satisfied" - }, - { - "label": "Return True when every nas-mode equipment has its keyring password. Rclone-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L471", - "community": 187, - "norm_label": "return true when every nas-mode equipment has its keyring password. rclone-", - "id": "exlab_wizard_paths_rationale_471" - }, - { - "label": "Evaluate the \u00a74.9.1 setup state. Order of gates (first-failing wins):", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L490", - "community": 59, - "norm_label": "evaluate the \u00a74.9.1 setup state. order of gates (first-failing wins):", - "id": "exlab_wizard_paths_rationale_490" - }, - { - "label": "Return True when this device has an orchestrator label. Only ``label`` is r", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L534", - "community": 187, - "norm_label": "return true when this device has an orchestrator label. only ``label`` is r", - "id": "exlab_wizard_paths_rationale_534" - }, - { - "label": "Translate a state into ``{field, reason}`` dicts for ``/api/v1/setup/status``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L550", - "community": 177, - "norm_label": "translate a state into ``{field, reason}`` dicts for ``/api/v1/setup/status``.", - "id": "exlab_wizard_paths_rationale_550" - }, - { - "label": "Per-equipment missing-keyring rows for ``INCOMPLETE_NO_NAS_CREDENTIAL``. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L583", - "community": 187, - "norm_label": "per-equipment missing-keyring rows for ``incomplete_no_nas_credential``. re", - "id": "exlab_wizard_paths_rationale_583" - }, - { - "label": "Only ``label`` is required; ``staging_root`` is opt-in (see gate).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L602", - "community": 177, - "norm_label": "only ``label`` is required; ``staging_root`` is opt-in (see gate).", - "id": "exlab_wizard_paths_rationale_602" - }, - { - "label": "Return the ``.exlab-wizard/`` subdirectory for a run or project root.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L674", - "community": 3, - "norm_label": "return the ``.exlab-wizard/`` subdirectory for a run or project root.", - "id": "exlab_wizard_paths_rationale_674" - }, - { - "label": "Return the ``readme_fields.json`` path under a run or project directory.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L689", - "community": 491, - "norm_label": "return the ``readme_fields.json`` path under a run or project directory.", - "id": "exlab_wizard_paths_rationale_689" - }, - { - "label": "True if ``name`` is an experimental-run directory. Note: ``RUN_DIR_PREFIX``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L699", - "community": 71, - "norm_label": "true if ``name`` is an experimental-run directory. note: ``run_dir_prefix``", - "id": "exlab_wizard_paths_rationale_699" - }, - { - "label": "True if ``name`` is a test-run directory.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L709", - "community": 11, - "norm_label": "true if ``name`` is a test-run directory.", - "id": "exlab_wizard_paths_rationale_709" - }, - { - "label": "Return ``Run_`` or ``TestRun_``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L714", - "community": 56, - "norm_label": "return ``run_`` or ``testrun_``.", - "id": "exlab_wizard_paths_rationale_714" - }, - { - "label": "Assemble a validated :class:`EquipmentConfig` from raw form fields. Redesig", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L54", - "community": 194, - "norm_label": "assemble a validated :class:`equipmentconfig` from raw form fields. redesig", - "id": "ui_equipment_form_rationale_54" - }, - { - "label": "_nas_credential_handlers()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L486", - "community": 77, - "norm_label": "_nas_credential_handlers()", - "id": "ui_mount_nas_credential_handlers" - }, - { - "label": "_nas_credential_missing()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L668", - "community": 82, - "norm_label": "_nas_credential_missing()", - "id": "ui_mount_nas_credential_missing" - }, - { - "label": "Build the LIMS-password Save / Clear handlers for the settings dialog. Cred", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L433", - "community": 77, - "norm_label": "build the lims-password save / clear handlers for the settings dialog. cred", - "id": "ui_mount_rationale_433" - }, - { - "label": "Build the NAS-password Save / Clear handlers for one equipment. Rclone-only", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L489", - "community": 77, - "norm_label": "build the nas-password save / clear handlers for one equipment. rclone-only", - "id": "ui_mount_rationale_489" - }, - { - "label": "Run the rclone equipment probe for ``equipment_id`` and adapt it. Resolves", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L544", - "community": 228, - "norm_label": "run the rclone equipment probe for ``equipment_id`` and adapt it. resolves", - "id": "ui_mount_rationale_544" - }, - { - "label": "Write ``updated`` via ``deps.save_config`` and hot-reload components. Retur", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L594", - "community": 77, - "norm_label": "write ``updated`` via ``deps.save_config`` and hot-reload components. retur", - "id": "ui_mount_rationale_594" - }, - { - "label": "Create the staging directory when the operator saved a non-empty path. ``st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L626", - "community": 77, - "norm_label": "create the staging directory when the operator saved a non-empty path. ``st", - "id": "ui_mount_rationale_626" - }, - { - "label": "Push ``updated`` into the running components (no tray relaunch). Wraps :fun", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L652", - "community": 77, - "norm_label": "push ``updated`` into the running components (no tray relaunch). wraps :fun", - "id": "ui_mount_rationale_652" - }, - { - "label": "True when a password-requiring nas-mode equipment lacks its keyring entry.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L669", - "community": 82, - "norm_label": "true when a password-requiring nas-mode equipment lacks its keyring entry.", - "id": "ui_mount_rationale_669" - }, - { - "label": "Return True when the \u00a74.9 setup state is ``READY``. Delegates to :func:`api", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L690", - "community": 52, - "norm_label": "return true when the \u00a74.9 setup state is ``ready``. delegates to :func:`api", - "id": "ui_mount_rationale_690" - }, - { - "label": "Register / unregister platform autostart; return the real post-op state. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L722", - "community": 153, - "norm_label": "register / unregister platform autostart; return the real post-op state. re", - "id": "ui_mount_rationale_722" - }, - { - "label": "Return the (session_id, session) pairs the Operations panel shows. The \u00a79.5", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L773", - "community": 204, - "norm_label": "return the (session_id, session) pairs the operations panel shows. the \u00a79.5", - "id": "ui_mount_rationale_773" - }, - { - "label": "Return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L790", - "community": 204, - "norm_label": "return ``(panel_count, input_required, active)`` operation counts. ``panel_", - "id": "ui_mount_rationale_790" - }, - { - "label": "Return the \u00a74.9.3 next-action string for the banner subline. Unlike :func:`", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L807", - "community": 52, - "norm_label": "return the \u00a74.9.3 next-action string for the banner subline. unlike :func:`", - "id": "ui_mount_rationale_807" - }, - { - "label": "Compose the ``?selected=...&right_pane=...`` query string for /main. Omits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L830", - "community": 209, - "norm_label": "compose the ``?selected=...&right_pane=...`` query string for /main. omits", - "id": "ui_mount_rationale_830" - }, - { - "label": "Project equipment-config fields into the owned-equipment payload.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L922", - "community": 151, - "norm_label": "project equipment-config fields into the owned-equipment payload.", - "id": "ui_mount_rationale_922" - }, - { - "label": "Derive a project payload from the on-disk project directory. ``node_id`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L951", - "community": 210, - "norm_label": "derive a project payload from the on-disk project directory. ``node_id`` is", - "id": "ui_mount_rationale_951" - }, - { - "label": "Count immediate child directories of ``parent`` whose names start with ``pre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L985", - "community": 210, - "norm_label": "count immediate child directories of ``parent`` whose names start with ``pre", - "id": "ui_mount_rationale_985" - }, - { - "label": "Mount / rebind the per-tab FolderFeed and return current entries. Uses ``ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1034", - "community": 188, - "norm_label": "mount / rebind the per-tab folderfeed and return current entries. uses ``ap", - "id": "ui_mount_rationale_1034" - }, - { - "label": "FolderFeed fetch hook. Skips when the tree just walked. Runs the synchronou", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1095", - "community": 188, - "norm_label": "folderfeed fetch hook. skips when the tree just walked. runs the synchronou", - "id": "ui_mount_rationale_1095" - }, - { - "label": "Dispatch a per-run context action to its backend surface. Mirrors :func:`ap", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1119", - "community": 55, - "norm_label": "dispatch a per-run context action to its backend surface. mirrors :func:`ap", - "id": "ui_mount_rationale_1119" - }, - { - "label": "Bulk-clear every staged run whose sync job is verified. Wired from the file", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1177", - "community": 161, - "norm_label": "bulk-clear every staged run whose sync job is verified. wired from the file", - "id": "ui_mount_rationale_1177" - }, - { - "label": "Handle ``Open in OS`` / ``Copy path`` / ``Keep local`` file actions.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1222", - "community": 161, - "norm_label": "handle ``open in os`` / ``copy path`` / ``keep local`` file actions.", - "id": "ui_mount_rationale_1222" - }, - { - "label": "Launch the host OS's default opener for ``path``. Returns False on platform", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1304", - "community": 164, - "norm_label": "launch the host os's default opener for ``path``. returns false on platform", - "id": "ui_mount_rationale_1304" - }, - { - "label": "Build the Operations-panel rows from the live session store (T3). Uses the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1332", - "community": 28, - "norm_label": "build the operations-panel rows from the live session store (t3). uses the", - "id": "ui_mount_rationale_1332" - }, - { - "label": "Open the in-flight Operations panel (Frontend \u00a79.5). Builds a fresh snapsho", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1344", - "community": 28, - "norm_label": "open the in-flight operations panel (frontend \u00a79.5). builds a fresh snapsho", - "id": "ui_mount_rationale_1344" - }, - { - "label": "Resume a suspended session by re-opening its \u00a79.1 input dialog (T5). Reads", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1402", - "community": 28, - "norm_label": "resume a suspended session by re-opening its \u00a79.1 input dialog (t5). reads", - "id": "ui_mount_rationale_1402" - }, - { - "label": "Open the \u00a79.1 escalation dialog; Submit resumes, Cancel confirms (T5). Subm", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1434", - "community": 40, - "norm_label": "open the \u00a79.1 escalation dialog; submit resumes, cancel confirms (t5). subm", - "id": "ui_mount_rationale_1434" - }, - { - "label": "Return the settings sections the operator still needs to fill in. Mirrors a", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1570", - "community": 82, - "norm_label": "return the settings sections the operator still needs to fill in. mirrors a", - "id": "ui_mount_rationale_1570" - }, - { - "label": "Return the configured templates directory, or ``None``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1603", - "community": 40, - "norm_label": "return the configured templates directory, or ``none``.", - "id": "ui_mount_rationale_1603" - }, - { - "label": "List template directory names of ``template_type`` under templates_dir.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1611", - "community": 40, - "norm_label": "list template directory names of ``template_type`` under templates_dir.", - "id": "ui_mount_rationale_1611" - }, - { - "label": "Map each ``template_type`` template name to its parsed copier questions. Re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1628", - "community": 63, - "norm_label": "map each ``template_type`` template name to its parsed copier questions. re", - "id": "ui_mount_rationale_1628" - }, - { - "label": "Read the offline-catalogue projects (disconnected-workstation source). Read", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1661", - "community": 162, - "norm_label": "read the offline-catalogue projects (disconnected-workstation source). read", - "id": "ui_mount_rationale_1661" - }, - { - "label": "Return the LIMS projects backing the project wizard's picker. Tries the liv", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1695", - "community": 162, - "norm_label": "return the lims projects backing the project wizard's picker. tries the liv", - "id": "ui_mount_rationale_1695" - }, - { - "label": "Build a RunCreateRequest from the wizard state and run it.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1836", - "community": 99, - "norm_label": "build a runcreaterequest from the wizard state and run it.", - "id": "ui_mount_rationale_1836" - }, - { - "label": "Drive a create_* call to completion and toast the outcome. When ``wizard_st", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1877", - "community": 99, - "norm_label": "drive a create_* call to completion and toast the outcome. when ``wizard_st", - "id": "ui_mount_rationale_1877" - }, - { - "label": "Run the validator audit, swallowing failures to a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1920", - "community": 99, - "norm_label": "run the validator audit, swallowing failures to a warn log.", - "id": "ui_mount_rationale_1920" - }, - { - "label": "Mutable state for the in-flight Add-Equipment wizard.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L50", - "community": 260, - "norm_label": "mutable state for the in-flight add-equipment wizard.", - "id": "pages_wizard_equipment_rationale_50" - }, - { - "label": "Return True if the active step has the data it needs to advance. Pure funct", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L85", - "community": 229, - "norm_label": "return true if the active step has the data it needs to advance. pure funct", - "id": "pages_wizard_equipment_rationale_85" - }, - { - "label": "Build the final EquipmentConfig from the wizard's state. Raises a pydantic", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L122", - "community": 229, - "norm_label": "build the final equipmentconfig from the wizard's state. raises a pydantic", - "id": "pages_wizard_equipment_rationale_122" - }, - { - "label": "Render the self-contained Add-Equipment wizard. Next / Back navigation is h", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L155", - "community": 260, - "norm_label": "render the self-contained add-equipment wizard. next / back navigation is h", - "id": "pages_wizard_equipment_rationale_155" - }, - { - "label": "_password_requiring_nas_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L60", - "community": 248, - "norm_label": "_password_requiring_nas_equipment()", - "id": "pages_settings_password_requiring_nas_equipment" - }, - { - "label": "_render_nas_credentials_section()", - "file_type": "code", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L839", - "community": 248, - "norm_label": "_render_nas_credentials_section()", - "id": "pages_settings_render_nas_credentials_section" - }, - { - "label": "Return nas-mode equipment whose transport sources a keyring password. Share", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L61", - "community": 248, - "norm_label": "return nas-mode equipment whose transport sources a keyring password. share", - "id": "pages_settings_rationale_61" - }, - { - "label": "Return the visible section ids for ``config``. The NAS-credentials section", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L79", - "community": 248, - "norm_label": "return the visible section ids for ``config``. the nas-credentials section", - "id": "pages_settings_rationale_79" - }, - { - "label": "Mutable state for the dialog.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L99", - "community": 421, - "norm_label": "mutable state for the dialog.", - "id": "pages_settings_rationale_99" - }, - { - "label": "Return the first section ID in canonical order that's incomplete. The dynam", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L108", - "community": 420, - "norm_label": "return the first section id in canonical order that's incomplete. the dynam", - "id": "pages_settings_rationale_108" - }, - { - "label": "Compute the *Save all* button label, including the badge count.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L129", - "community": 220, - "norm_label": "compute the *save all* button label, including the badge count.", - "id": "pages_settings_rationale_129" - }, - { - "label": "Return ``True`` when the sidebar should decorate ``section``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L139", - "community": 220, - "norm_label": "return ``true`` when the sidebar should decorate ``section``.", - "id": "pages_settings_rationale_139" - }, - { - "label": "Return ``True`` when ``section`` has uncommitted edits.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L145", - "community": 220, - "norm_label": "return ``true`` when ``section`` has uncommitted edits.", - "id": "pages_settings_rationale_145" - }, - { - "label": "Return the editable deep-copy draft the settings dialog mutates. ``None`` (", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L151", - "community": 178, - "norm_label": "return the editable deep-copy draft the settings dialog mutates. ``none`` (", - "id": "pages_settings_rationale_151" - }, - { - "label": "Re-validate a mutated draft into a clean :class:`Config`. The dialog's two-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L162", - "community": 178, - "norm_label": "re-validate a mutated draft into a clean :class:`config`. the dialog's two-", - "id": "pages_settings_rationale_162" - }, - { - "label": "Return the credential-row state seeding the LIMS password field. A password", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L180", - "community": 310, - "norm_label": "return the credential-row state seeding the lims password field. a password", - "id": "pages_settings_rationale_180" - }, - { - "label": "Render the settings dialog. ``config`` is the live ``config.yaml`` model (o", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L211", - "community": 220, - "norm_label": "render the settings dialog. ``config`` is the live ``config.yaml`` model (o", - "id": "pages_settings_rationale_211" - }, - { - "label": "Reusable chip / list editor bound to a draft string list (T7 / T10). Mutate", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L401", - "community": 230, - "norm_label": "reusable chip / list editor bound to a draft string list (t7 / t10). mutate", - "id": "pages_settings_rationale_401" - }, - { - "label": "Render the content for a single section, bound to ``draft``. Every scalar f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L492", - "community": 230, - "norm_label": "render the content for a single section, bound to ``draft``. every scalar f", - "id": "pages_settings_rationale_492" - }, - { - "label": "Render the equipment list + a full add-equipment sub-form. Adding an entry", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L713", - "community": 230, - "norm_label": "render the equipment list + a full add-equipment sub-form. adding an entry", - "id": "pages_settings_rationale_713" - }, - { - "label": "Render one keyring-credential row + Test-connection panel per equipment. Rc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L847", - "community": 248, - "norm_label": "render one keyring-credential row + test-connection panel per equipment. rc", - "id": "pages_settings_rationale_847" - }, - { - "label": "RcloneSftpTransport", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L227", - "community": 0, - "norm_label": "rclonesftptransport", - "id": "config_models_rclonesftptransport" - }, - { - "label": "RcloneSmbTransport", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L247", - "community": 111, - "norm_label": "rclonesmbtransport", - "id": "config_models_rclonesmbtransport" - }, - { - "label": "transport_requires_keyring_password()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L276", - "community": 212, - "norm_label": "transport_requires_keyring_password()", - "id": "config_models_transport_requires_keyring_password" - }, - { - "label": "OrchestratorStagingTransport", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L288", - "community": 378, - "norm_label": "orchestratorstagingtransport", - "id": "config_models_orchestratorstagingtransport" - }, - { - "label": "_sync_mode_dictates_transport()", - "file_type": "code", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L345", - "community": 38, - "norm_label": "_sync_mode_dictates_transport()", - "id": "config_models_sync_mode_dictates_transport" - }, - { - "label": "Return ``datetime.time`` for a strict zero-padded ``HH:MM`` string. The wiz", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L74", - "community": 38, - "norm_label": "return ``datetime.time`` for a strict zero-padded ``hh:mm`` string. the wiz", - "id": "config_models_rationale_74" - }, - { - "label": "``paths:`` block. Templates / plugins / equipment-first local root.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L98", - "community": 0, - "norm_label": "``paths:`` block. templates / plugins / equipment-first local root.", - "id": "config_models_rationale_98" - }, - { - "label": "``lims:`` block. Read-only LIMS endpoint plus offline catalogue path.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L113", - "community": 0, - "norm_label": "``lims:`` block. read-only lims endpoint plus offline catalogue path.", - "id": "config_models_rationale_113" - }, - { - "label": "One operator-defined extra README field. Backend Spec \u00a79, \u00a710.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L129", - "community": 4, - "norm_label": "one operator-defined extra readme field. backend spec \u00a79, \u00a710.", - "id": "config_models_rationale_129" - }, - { - "label": "``readme:`` block. Lab-policy fields layered on top of the core set.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L170", - "community": 38, - "norm_label": "``readme:`` block. lab-policy fields layered on top of the core set.", - "id": "config_models_rationale_170" - }, - { - "label": "One ``{days, from, to}`` window. Backend Spec \u00a79.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L183", - "community": 89, - "norm_label": "one ``{days, from, to}`` window. backend spec \u00a79.", - "id": "config_models_rationale_183" - }, - { - "label": "``bandwidth:`` sub-block on a transport.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L206", - "community": 1, - "norm_label": "``bandwidth:`` sub-block on a transport.", - "id": "config_models_rationale_206" - }, - { - "label": "``transport:`` block for SFTP over SSH with password auth. The wizard invok", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L228", - "community": 0, - "norm_label": "``transport:`` block for sftp over ssh with password auth. the wizard invok", - "id": "config_models_rationale_228" - }, - { - "label": "``transport:`` block for an SMB share with password auth. The wizard invoke", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L248", - "community": 111, - "norm_label": "``transport:`` block for an smb share with password auth. the wizard invoke", - "id": "config_models_rationale_248" - }, - { - "label": "Return True when ``transport`` sources its credential from the keyring. Bot", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L277", - "community": 212, - "norm_label": "return true when ``transport`` sources its credential from the keyring. bot", - "id": "config_models_rationale_277" - }, - { - "label": "``orchestrator_staging_transport:`` -- staging hop only. Backend Spec \u00a713.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L289", - "community": 378, - "norm_label": "``orchestrator_staging_transport:`` -- staging hop only. backend spec \u00a713.", - "id": "config_models_rationale_289" - }, - { - "label": "One ``equipment:`` list entry. Backend Spec \u00a79. ``sync_mode`` (Redesign Spe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L308", - "community": 0, - "norm_label": "one ``equipment:`` list entry. backend spec \u00a79. ``sync_mode`` (redesign spe", - "id": "config_models_rationale_308" - }, - { - "label": "``nas_cleanup:`` block. Local-copy retention after NAS verify.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L376", - "community": 37, - "norm_label": "``nas_cleanup:`` block. local-copy retention after nas verify.", - "id": "config_models_rationale_376" - }, - { - "label": "``logging:`` block. Central app-log rotation + level.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L392", - "community": 19, - "norm_label": "``logging:`` block. central app-log rotation + level.", - "id": "config_models_rationale_392" - }, - { - "label": "``operators:`` block. Optional case-sensitive allowlist.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L423", - "community": 38, - "norm_label": "``operators:`` block. optional case-sensitive allowlist.", - "id": "config_models_rationale_423" - }, - { - "label": "``validator:`` block. Content-scan tuning. Backend Spec \u00a78.1.1, \u00a711.8.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L455", - "community": 211, - "norm_label": "``validator:`` block. content-scan tuning. backend spec \u00a78.1.1, \u00a711.8.", - "id": "config_models_rationale_455" - }, - { - "label": "``plugins:`` block. Master opt-in for network-declaring plugins.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L480", - "community": 423, - "norm_label": "``plugins:`` block. master opt-in for network-declaring plugins.", - "id": "config_models_rationale_480" - }, - { - "label": "``sync:`` block. NAS sync engine kill-switch + retry / quiescence policy.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L497", - "community": 292, - "norm_label": "``sync:`` block. nas sync engine kill-switch + retry / quiescence policy.", - "id": "config_models_rationale_497" - }, - { - "label": "``orchestrator.staging_cleanup:`` sub-block. Backend Spec \u00a713.7.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L514", - "community": 13, - "norm_label": "``orchestrator.staging_cleanup:`` sub-block. backend spec \u00a713.7.", - "id": "config_models_rationale_514" - }, - { - "label": "``orchestrator:`` block. Backend Spec \u00a79, \u00a713. GUI/Orchestrator Redesign \u00a73", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L530", - "community": 0, - "norm_label": "``orchestrator:`` block. backend spec \u00a79, \u00a713. gui/orchestrator redesign \u00a73", - "id": "config_models_rationale_530" - }, - { - "label": "Top-level ``config.yaml`` model. Mirrors \u00a79 verbatim.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L555", - "community": 0, - "norm_label": "top-level ``config.yaml`` model. mirrors \u00a79 verbatim.", - "id": "config_models_rationale_555" - }, - { - "label": "Return a copy of ``config`` with ``equipment`` appended. The single place t", - "file_type": "rationale", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L593", - "community": 261, - "norm_label": "return a copy of ``config`` with ``equipment`` appended. the single place t", - "id": "config_models_rationale_593" - }, - { - "label": "TransportType", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L159", - "community": 78, - "norm_label": "transporttype", - "id": "constants_enums_transporttype" - }, - { - "label": "OrchestratorTransportType", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L214", - "community": 29, - "norm_label": "orchestratortransporttype", - "id": "constants_enums_orchestratortransporttype" - }, - { - "label": "How NAS staging directories are eventually purged. Backend Spec \u00a713.7.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L188", - "community": 29, - "norm_label": "how nas staging directories are eventually purged. backend spec \u00a713.7.", - "id": "constants_enums_rationale_188" - }, - { - "label": "Plugin invocation outcome reported by the host. Backend Spec \u00a76.2.4.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L195", - "community": 21, - "norm_label": "plugin invocation outcome reported by the host. backend spec \u00a76.2.4.", - "id": "constants_enums_rationale_195" - }, - { - "label": "Whether a creation.json describes a project root or a run directory. Stored", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L205", - "community": 29, - "norm_label": "whether a creation.json describes a project root or a run directory. stored", - "id": "constants_enums_rationale_205" - }, - { - "label": "How the orchestrator delivered run data to the staging area. Distinct from", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L215", - "community": 29, - "norm_label": "how the orchestrator delivered run data to the staging area. distinct from", - "id": "constants_enums_rationale_215" - }, - { - "label": "Allowed input types for README field declarations. Backend Spec \u00a710.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L226", - "community": 29, - "norm_label": "allowed input types for readme field declarations. backend spec \u00a710.", - "id": "constants_enums_rationale_226" - }, - { - "label": "Day-of-week values for NAS sync bandwidth windows. Backend Spec \u00a77.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L236", - "community": 29, - "norm_label": "day-of-week values for nas sync bandwidth windows. backend spec \u00a77.1.", - "id": "constants_enums_rationale_236" - }, - { - "label": "Whether a wizard session creates a project root or a run directory. Mirrors", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L248", - "community": 29, - "norm_label": "whether a wizard session creates a project root or a run directory. mirrors", - "id": "constants_enums_rationale_248" - }, - { - "label": "Outcome of a session-store transition. Backend Spec \u00a74.7.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L260", - "community": 29, - "norm_label": "outcome of a session-store transition. backend spec \u00a74.7.", - "id": "constants_enums_rationale_260" - }, - { - "label": "Kind discriminator for validator audit scopes. Backend Spec \u00a78.1. Values ma", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L267", - "community": 29, - "norm_label": "kind discriminator for validator audit scopes. backend spec \u00a78.1. values ma", - "id": "constants_enums_rationale_267" - }, - { - "label": "Normalized platform tag used for OS-conditional path dispatch.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L297", - "community": 29, - "norm_label": "normalized platform tag used for os-conditional path dispatch.", - "id": "constants_enums_rationale_297" - }, - { - "label": "Next action returned by ``paths.setup_state_next_action``. Backend Spec \u00a74.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L305", - "community": 29, - "norm_label": "next action returned by ``paths.setup_state_next_action``. backend spec \u00a74.", - "id": "constants_enums_rationale_305" - }, - { - "label": "In-process state of a NAS sync job handle as observed by callers. Distinct", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L319", - "community": 29, - "norm_label": "in-process state of a nas sync job handle as observed by callers. distinct", - "id": "constants_enums_rationale_319" - }, - { - "label": "Origin of a plugin record. Backend Spec \u00a76.1.1.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L331", - "community": 29, - "norm_label": "origin of a plugin record. backend spec \u00a76.1.1.", - "id": "constants_enums_rationale_331" - }, - { - "label": "UI-layer project status displayed in the tree view. Distinct from :class:`L", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L338", - "community": 79, - "norm_label": "ui-layer project status displayed in the tree view. distinct from :class:`l", - "id": "constants_enums_rationale_338" - }, - { - "label": "keyring_nas_username()", - "file_type": "code", - "source_file": "src/exlab_wizard/constants/keyring.py", - "source_location": "L26", - "community": 43, - "norm_label": "keyring_nas_username()", - "id": "constants_keyring_keyring_nas_username" - }, - { - "label": "Return the keyring username for the given equipment's NAS credential. Equip", - "file_type": "rationale", - "source_file": "src/exlab_wizard/constants/keyring.py", - "source_location": "L27", - "community": 43, - "norm_label": "return the keyring username for the given equipment's nas credential. equip", - "id": "constants_keyring_rationale_27" - }, - { - "label": "Server-only loop. Boots the FastAPI server, prints the published port, waits", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L358", - "community": 110, - "norm_label": "server-only loop. boots the fastapi server, prints the published port, waits", - "id": "tray_main_rationale_358" - }, - { - "label": "``exlab-wizard-tray`` entry point. The main thread runs pystray; the FastAP", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L391", - "community": 110, - "norm_label": "``exlab-wizard-tray`` entry point. the main thread runs pystray; the fastap", - "id": "tray_main_rationale_391" - }, - { - "label": "_nas_keyring_password()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L624", - "community": 43, - "norm_label": "_nas_keyring_password()", - "id": "tray_dependencies_nas_keyring_password" - }, - { - "label": "_check_nas_passwords_present()", - "file_type": "code", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L643", - "community": 43, - "norm_label": "_check_nas_passwords_present()", - "id": "tray_dependencies_check_nas_passwords_present" - }, - { - "label": "Return a populated :class:`AppDependencies` for the live tray. Every per-co", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L48", - "community": 22, - "norm_label": "return a populated :class:`appdependencies` for the live tray. every per-co", - "id": "tray_dependencies_rationale_48" - }, - { - "label": "Push a freshly saved ``config.yaml`` into the running components. Replaces", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L168", - "community": 101, - "norm_label": "push a freshly saved ``config.yaml`` into the running components. replaces", - "id": "tray_dependencies_rationale_168" - }, - { - "label": "Return the ``(endpoint, email)`` pair that defines a LIMS client. Trailing", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L271", - "community": 101, - "norm_label": "return the ``(endpoint, email)`` pair that defines a lims client. trailing", - "id": "tray_dependencies_rationale_271" - }, - { - "label": "Re-derive the plugin-host status counters after a rebuild. Mirrors the boot", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L283", - "community": 101, - "norm_label": "re-derive the plugin-host status counters after a rebuild. mirrors the boot", - "id": "tray_dependencies_rationale_283" - }, - { - "label": "Rebuild ``deps.lims_client`` for a changed endpoint / email. Builds a fresh", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L298", - "community": 22, - "norm_label": "rebuild ``deps.lims_client`` for a changed endpoint / email. builds a fresh", - "id": "tray_dependencies_rationale_298" - }, - { - "label": "Reconfigure the NAS-sync client in place, or build it fresh. Returns ``True", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L319", - "community": 22, - "norm_label": "reconfigure the nas-sync client in place, or build it fresh. returns ``true", - "id": "tray_dependencies_rationale_319" - }, - { - "label": "Reconfigure the quiescence poller in place, or build it fresh. Returns ``Tr", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L350", - "community": 22, - "norm_label": "reconfigure the quiescence poller in place, or build it fresh. returns ``tr", - "id": "tray_dependencies_rationale_350" - }, - { - "label": "Schedule ``nas_sync.init()`` / ``poller.start()`` on the running loop. Used", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L378", - "community": 22, - "norm_label": "schedule ``nas_sync.init()`` / ``poller.start()`` on the running loop. used", - "id": "tray_dependencies_rationale_378" - }, - { - "label": "Run ``coro`` on the running loop, logging failures; no-op if loop-less.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L403", - "community": 22, - "norm_label": "run ``coro`` on the running loop, logging failures; no-op if loop-less.", - "id": "tray_dependencies_rationale_403" - }, - { - "label": "Run ``fn(*args, **kwargs)`` swallowing exceptions with a WARN log.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L416", - "community": 22, - "norm_label": "run ``fn(*args, **kwargs)`` swallowing exceptions with a warn log.", - "id": "tray_dependencies_rationale_416" - }, - { - "label": "Derive ``(validator_config, equipment_roots, staging_root)`` from config. S", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L443", - "community": 22, - "norm_label": "derive ``(validator_config, equipment_roots, staging_root)`` from config. s", - "id": "tray_dependencies_rationale_443" - }, - { - "label": "Build the LIMS/NAS secret store with an optional fallback passphrase. When", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L560", - "community": 22, - "norm_label": "build the lims/nas secret store with an optional fallback passphrase. when", - "id": "tray_dependencies_rationale_560" - }, - { - "label": "Return the stored LIMS password, or ``None`` if absent/unavailable. The cre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L577", - "community": 22, - "norm_label": "return the stored lims password, or ``none`` if absent/unavailable. the cre", - "id": "tray_dependencies_rationale_577" - }, - { - "label": "Return the stored NAS password for ``equipment_id`` or ``None``. The creden", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L625", - "community": 43, - "norm_label": "return the stored nas password for ``equipment_id`` or ``none``. the creden", - "id": "tray_dependencies_rationale_625" - }, - { - "label": "Return the set of nas-mode equipment ids that have a keyring entry. Rclone-", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L644", - "community": 43, - "norm_label": "return the set of nas-mode equipment ids that have a keyring entry. rclone-", - "id": "tray_dependencies_rationale_644" - }, - { - "label": "Build the ``deps.equipment_probe`` callable. Rclone-only NAS sync migration", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L668", - "community": 43, - "norm_label": "build the ``deps.equipment_probe`` callable. rclone-only nas sync migration", - "id": "tray_dependencies_rationale_668" - }, - { - "label": "Build the :class:`NASSyncClient` -- the public NAS-sync surface. The client", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L757", - "community": 22, - "norm_label": "build the :class:`nassyncclient` -- the public nas-sync surface. the client", - "id": "tray_dependencies_rationale_757" - }, - { - "label": "Build the orchestrator-only ``sync_state.json`` writer. Operator-free per-f", - "file_type": "rationale", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L804", - "community": 22, - "norm_label": "build the orchestrator-only ``sync_state.json`` writer. operator-free per-f", - "id": "tray_dependencies_rationale_804" - }, - { - "label": "nas_password_present()", - "file_type": "code", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L51", - "community": 82, - "norm_label": "nas_password_present()", - "id": "api_dependencies_nas_password_present" - }, - { - "label": "Return ``app.state.dependencies`` or raise a structured 503. A missing depe", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L76", - "community": 82, - "norm_label": "return ``app.state.dependencies`` or raise a structured 503. a missing depe", - "id": "api_dependencies_rationale_76" - }, - { - "label": "Return ``deps.controller`` or raise a structured 503. Used by the routes th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L96", - "community": 82, - "norm_label": "return ``deps.controller`` or raise a structured 503. used by the routes th", - "id": "api_dependencies_rationale_96" - }, - { - "label": "``GET /setup/status`` response. Backend Spec \u00a74.9.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L73", - "community": 112, - "norm_label": "``get /setup/status`` response. backend spec \u00a74.9.3.", - "id": "api_setup_rationale_73" - }, - { - "label": "``POST /setup/test-lims`` request body. Either reference the currently-conf", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L84", - "community": 112, - "norm_label": "``post /setup/test-lims`` request body. either reference the currently-conf", - "id": "api_setup_rationale_84" - }, - { - "label": "``POST /setup/test-equipment`` request body. Rclone-only NAS sync migration", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L100", - "community": 112, - "norm_label": "``post /setup/test-equipment`` request body. rclone-only nas sync migration", - "id": "api_setup_rationale_100" - }, - { - "label": "Common ``ok``/``reason`` payload for the diagnostics endpoints.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L116", - "community": 112, - "norm_label": "common ``ok``/``reason`` payload for the diagnostics endpoints.", - "id": "api_setup_rationale_116" - }, - { - "label": "``POST /setup/autostart`` request body. Backend Spec \u00a74.9.5 step 0.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L134", - "community": 112, - "norm_label": "``post /setup/autostart`` request body. backend spec \u00a74.9.5 step 0.", - "id": "api_setup_rationale_134" - }, - { - "label": "``POST /setup/autostart`` response.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L142", - "community": 112, - "norm_label": "``post /setup/autostart`` response.", - "id": "api_setup_rationale_142" - }, - { - "label": "Evaluate the \u00a74.9.1 state for the app's current dependencies. The dependenc", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L156", - "community": 95, - "norm_label": "evaluate the \u00a74.9.1 state for the app's current dependencies. the dependenc", - "id": "api_setup_rationale_156" - }, - { - "label": "Return True when ``state`` should gate creation flows. Per \u00a74.9.4 the soft", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L173", - "community": 331, - "norm_label": "return true when ``state`` should gate creation flows. per \u00a74.9.4 the soft", - "id": "api_setup_rationale_173" - }, - { - "label": "FastAPI dependency that gates a route on setup state. Looks up the app's bo", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L183", - "community": 331, - "norm_label": "fastapi dependency that gates a route on setup state. looks up the app's bo", - "id": "api_setup_rationale_183" - }, - { - "label": "Construct the ``/setup/*`` router. Always-available endpoints.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L222", - "community": 94, - "norm_label": "construct the ``/setup/*`` router. always-available endpoints.", - "id": "api_setup_rationale_222" - }, - { - "label": "Build a ``ProbeResult`` from a probe's plain-dict return value. Wired throu", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L313", - "community": 112, - "norm_label": "build a ``proberesult`` from a probe's plain-dict return value. wired throu", - "id": "api_setup_rationale_313" - }, - { - "label": "Resolve the equipment to probe by id through ``deps.config``. Rclone-only N", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L330", - "community": 112, - "norm_label": "resolve the equipment to probe by id through ``deps.config``. rclone-only n", - "id": "api_setup_rationale_330" - }, - { - "label": "Invoke a probe that may be sync or async; await the result. The probes are", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L349", - "community": 112, - "norm_label": "invoke a probe that may be sync or async; await the result. the probes are", - "id": "api_setup_rationale_349" - }, - { - "label": "Build the FastAPI app. Backend Spec \u00a74.6. ``config``: optional pre-loaded `", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L261", - "community": 94, - "norm_label": "build the fastapi app. backend spec \u00a74.6. ``config``: optional pre-loaded `", - "id": "api_app_rationale_261" - }, - { - "label": "Background task that re-runs the validator audit every interval. Diffs the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L340", - "community": 67, - "norm_label": "background task that re-runs the validator audit every interval. diffs the", - "id": "api_app_rationale_340" - }, - { - "label": "Return ``(added, removed, changed)`` keyed on ``(rule, offending_path)``. T", - "file_type": "rationale", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L384", - "community": 67, - "norm_label": "return ``(added, removed, changed)`` keyed on ``(rule, offending_path)``. t", - "id": "api_app_rationale_384" - }, - { - "label": "_remote_name_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L117", - "community": 111, - "norm_label": "_remote_name_for()", - "id": "sync_nas_client_remote_name_for" - }, - { - "label": "_build_target_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L128", - "community": 3, - "norm_label": "_build_target_for()", - "id": "sync_nas_client_build_target_for" - }, - { - "label": "_resolve_env_for_equipment()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L143", - "community": 111, - "norm_label": "_resolve_env_for_equipment()", - "id": "sync_nas_client_resolve_env_for_equipment" - }, - { - "label": "_build_transport_driver()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L189", - "community": 1, - "norm_label": "_build_transport_driver()", - "id": "sync_nas_client_build_transport_driver" - }, - { - "label": "._reconcile_synced_files()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L846", - "community": 3, - "norm_label": "._reconcile_synced_files()", - "id": "sync_nas_client_nassyncclient_reconcile_synced_files" - }, - { - "label": "Lightweight handle returned by :meth:`NASSyncClient.enqueue`. ``job_id`` is", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L99", - "community": 3, - "norm_label": "lightweight handle returned by :meth:`nassyncclient.enqueue`. ``job_id`` is", - "id": "sync_nas_client_rationale_99" - }, - { - "label": "Return the inline rclone remote name used for ``equipment``. The remote nam", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L118", - "community": 111, - "norm_label": "return the inline rclone remote name used for ``equipment``. the remote nam", - "id": "sync_nas_client_rationale_118" - }, - { - "label": "Compose the rclone destination string for a run directory.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L133", - "community": 3, - "norm_label": "compose the rclone destination string for a run directory.", - "id": "sync_nas_client_rationale_133" - }, - { - "label": "Look up the password, obscure it, build the rclone env. Returns ``(env, mas", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L147", - "community": 111, - "norm_label": "look up the password, obscure it, build the rclone env. returns ``(env, mas", - "id": "sync_nas_client_rationale_147" - }, - { - "label": "Return a ``(driver, push_callable, check_callable)`` triple. Both supported", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L193", - "community": 1, - "norm_label": "return a ``(driver, push_callable, check_callable)`` triple. both supported", - "id": "sync_nas_client_rationale_193" - }, - { - "label": "Durable, per-equipment NAS sync queue with Pre-Sync Gate. Backend Spec \u00a77.1", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L258", - "community": 8, - "norm_label": "durable, per-equipment nas sync queue with pre-sync gate. backend spec \u00a77.1", - "id": "sync_nas_client_rationale_258" - }, - { - "label": "Swap the cached config + equipment map in place (no relaunch). The ``eq", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L314", - "community": 8, - "norm_label": "swap the cached config + equipment map in place (no relaunch). the ``eq", - "id": "sync_nas_client_rationale_314" - }, - { - "label": "Open the queue and start the worker task. Backend Spec \u00a77.1.2.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L329", - "community": 8, - "norm_label": "open the queue and start the worker task. backend spec \u00a77.1.2.", - "id": "sync_nas_client_rationale_329" - }, - { - "label": "Stop the worker and close the queue DB. Idempotent.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L335", - "community": 3, - "norm_label": "stop the worker and close the queue db. idempotent.", - "id": "sync_nas_client_rationale_335" - }, - { - "label": "Pre-Sync Gate -> if hard-tier finding without override, mark ``sync_stat", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L352", - "community": 3, - "norm_label": "pre-sync gate -> if hard-tier finding without override, mark ``sync_stat", - "id": "sync_nas_client_rationale_352" - }, - { - "label": "Return the queue state of the job for ``run_path``. ``\"none\"`` when no", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L442", - "community": 8, - "norm_label": "return the queue state of the job for ``run_path``. ``\"none\"`` when no", - "id": "sync_nas_client_rationale_442" - }, - { - "label": "Re-arm a ``FAILED`` job. Backend Spec \u00a77.1.5 (Problems-tab Retry).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L453", - "community": 8, - "norm_label": "re-arm a ``failed`` job. backend spec \u00a77.1.5 (problems-tab retry).", - "id": "sync_nas_client_rationale_453" - }, - { - "label": "Re-run ``rclone check --download`` against the configured remote. Used", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L458", - "community": 3, - "norm_label": "re-run ``rclone check --download`` against the configured remote. used", - "id": "sync_nas_client_rationale_458" - }, - { - "label": "Pick the next due job and drive it through the state machine.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L503", - "community": 8, - "norm_label": "pick the next due job and drive it through the state machine.", - "id": "sync_nas_client_rationale_503" - }, - { - "label": "Return the next QUEUED row whose backoff has passed (or None).", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L523", - "community": 8, - "norm_label": "return the next queued row whose backoff has passed (or none).", - "id": "sync_nas_client_rationale_523" - }, - { - "label": "Drive ``job`` from QUEUED through one transport+verify pass. Worker sem", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L534", - "community": 3, - "norm_label": "drive ``job`` from queued through one transport+verify pass. worker sem", - "id": "sync_nas_client_rationale_534" - }, - { - "label": "Resolve the push callable for ``equipment.transport``. Tests can inject", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L755", - "community": 3, - "norm_label": "resolve the push callable for ``equipment.transport``. tests can inject", - "id": "sync_nas_client_rationale_755" - }, - { - "label": "Resolve the ``rclone check`` callable for ``equipment.transport``. Test", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L767", - "community": 3, - "norm_label": "resolve the ``rclone check`` callable for ``equipment.transport``. test", - "id": "sync_nas_client_rationale_767" - }, - { - "label": "Compute the SHA-256 hex digest of each file in ``files``. Slot A of the", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L784", - "community": 3, - "norm_label": "compute the sha-256 hex digest of each file in ``files``. slot a of the", - "id": "sync_nas_client_rationale_784" - }, - { - "label": "Translate a transport failure into a queue update.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L823", - "community": 3, - "norm_label": "translate a transport failure into a queue update.", - "id": "sync_nas_client_rationale_823" - }, - { - "label": "Credit every individually-verified file in ``sync_state.json``. Per-fil", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L852", - "community": 3, - "norm_label": "credit every individually-verified file in ``sync_state.json``. per-fil", - "id": "sync_nas_client_rationale_852" - }, - { - "label": "Return the ``(st_size, st_mtime_ns)`` signature for ``path``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L913", - "community": 670, - "norm_label": "return the ``(st_size, st_mtime_ns)`` signature for ``path``.", - "id": "sync_nas_client_rationale_913" - }, - { - "label": "Write a transport ``--files-from`` list and return its path. One run-re", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L922", - "community": 671, - "norm_label": "write a transport ``--files-from`` list and return its path. one run-re", - "id": "sync_nas_client_rationale_922" - }, - { - "label": "Apply the \u00a77.1.6 interlocks; if all pass, run the cleanup. Operator-fre", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L941", - "community": 3, - "norm_label": "apply the \u00a77.1.6 interlocks; if all pass, run the cleanup. operator-fre", - "id": "sync_nas_client_rationale_941" - }, - { - "label": "Delete ``run_path`` data files honoring ``retain_cache`` and ``keep_local``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1007", - "community": 3, - "norm_label": "delete ``run_path`` data files honoring ``retain_cache`` and ``keep_local``.", - "id": "sync_nas_client_rationale_1007" - }, - { - "label": "Return the equipment id for a run path. Prefers an explicit equipment i", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1024", - "community": 3, - "norm_label": "return the equipment id for a run path. prefers an explicit equipment i", - "id": "sync_nas_client_rationale_1024" - }, - { - "label": "Return the recorded NAS-side path from a creation payload.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1047", - "community": 672, - "norm_label": "return the recorded nas-side path from a creation payload.", - "id": "sync_nas_client_rationale_1047" - }, - { - "label": "Mutate ``creation.json`` ``sync_status`` to ``blocked_by_validation``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1051", - "community": 3, - "norm_label": "mutate ``creation.json`` ``sync_status`` to ``blocked_by_validation``.", - "id": "sync_nas_client_rationale_1051" - }, - { - "label": "Mutate ``creation.json`` ``sync_status`` to ``synced``. Backend Spec \u00a77.1.4.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1060", - "community": 3, - "norm_label": "mutate ``creation.json`` ``sync_status`` to ``synced``. backend spec \u00a77.1.4.", - "id": "sync_nas_client_rationale_1060" - }, - { - "label": "Mutate ``creation.json`` ``sync_status`` to ``cleaned``. Backend Spec \u00a77.1.10.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1073", - "community": 3, - "norm_label": "mutate ``creation.json`` ``sync_status`` to ``cleaned``. backend spec \u00a77.1.10.", - "id": "sync_nas_client_rationale_1073" - }, - { - "label": "Run ``rclone check --download`` over ``files_from`` and translate. Rais", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L118", - "community": 293, - "norm_label": "run ``rclone check --download`` over ``files_from`` and translate. rais", - "id": "sync_verifier_rationale_118" - }, - { - "label": "build_rclone_env()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L135", - "community": 111, - "norm_label": "build_rclone_env()", - "id": "transports_rclone_build_rclone_env" - }, - { - "label": "pass_env_keys_for()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L173", - "community": 111, - "norm_label": "pass_env_keys_for()", - "id": "transports_rclone_pass_env_keys_for" - }, - { - "label": "obscure()", - "file_type": "code", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L188", - "community": 425, - "norm_label": "obscure()", - "id": "transports_rclone_obscure" - }, - { - "label": "Map a (returncode, stderr) into a :class:`TransportErrorKind`. Auth failure", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L70", - "community": 104, - "norm_label": "map a (returncode, stderr) into a :class:`transporterrorkind`. auth failure", - "id": "transports_rclone_rationale_70" - }, - { - "label": "Parsed result of a ``rclone check --combined`` run. The combined-output for", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L94", - "community": 232, - "norm_label": "parsed result of a ``rclone check --combined`` run. the combined-output for", - "id": "transports_rclone_rationale_94" - }, - { - "label": "Outcome of ``rclone about --json``. Surfaces as the equipment-prob", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L117", - "community": 232, - "norm_label": "outcome of ``rclone about --json``. surfaces as the equipment-prob", - "id": "transports_rclone_rationale_117" - }, - { - "label": "Return the env-key tuple that must be redacted from subprocess logs. The on", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L174", - "community": 111, - "norm_label": "return the env-key tuple that must be redacted from subprocess logs. the on", - "id": "transports_rclone_rationale_174" - }, - { - "label": "Return the rclone-obscured form of ``password``. rclone refuses raw passwor", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L189", - "community": 425, - "norm_label": "return the rclone-obscured form of ``password``. rclone refuses raw passwor", - "id": "transports_rclone_rationale_189" - }, - { - "label": "rclone transport driver. Backend Spec \u00a77.1.3.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L221", - "community": 68, - "norm_label": "rclone transport driver. backend spec \u00a77.1.3.", - "id": "transports_rclone_rationale_221" - }, - { - "label": "Run ``rclone copy --checksum`` from ``local`` to ``remote``. ``remote``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L236", - "community": 104, - "norm_label": "run ``rclone copy --checksum`` from ``local`` to ``remote``. ``remote``", - "id": "transports_rclone_rationale_236" - }, - { - "label": "Run ``rclone check --download --files-from --combined`` over ``files_from``.", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L286", - "community": 104, - "norm_label": "run ``rclone check --download --files-from --combined`` over ``files_from``.", - "id": "transports_rclone_rationale_286" - }, - { - "label": "Run ``rclone about --json`` -- the equipment probe. Used by th", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L365", - "community": 104, - "norm_label": "run ``rclone about --json`` -- the equipment probe. used by th", - "id": "transports_rclone_rationale_365" - }, - { - "label": "Parse ``rclone check --combined`` output into a :class:`CheckResult`. Each", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L401", - "community": 232, - "norm_label": "parse ``rclone check --combined`` output into a :class:`checkresult`. each", - "id": "transports_rclone_rationale_401" - }, - { - "label": "Launch ``cmd`` and return ``(returncode, stdout, stderr)`` as text. ``env``", - "file_type": "rationale", - "source_file": "src/exlab_wizard/sync/transports/_run.py", - "source_location": "L36", - "community": 167, - "norm_label": "launch ``cmd`` and return ``(returncode, stdout, stderr)`` as text. ``env``", - "id": "transports_run_rationale_36" - }, - { - "label": "`rclone_sftp` transport", - "file_type": "document", - "source_file": "tests/docker/README.md", - "source_location": "L87", - "community": 145, - "norm_label": "`rclone_sftp` transport", - "id": "docker_readme_rclone_sftp_transport" - }, - { - "label": "`rclone_smb` transport", - "file_type": "document", - "source_file": "tests/docker/README.md", - "source_location": "L103", - "community": 145, - "norm_label": "`rclone_smb` transport", - "id": "docker_readme_rclone_smb_transport" - }, - { - "label": "NAS Credentials", - "file_type": "document", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L55", - "community": 266, - "norm_label": "nas credentials", - "id": "docs_ux_interactions_nas_credentials" - }, - { - "label": "7.1.3 Transport drivers", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L63", - "community": 45, - "norm_label": "7.1.3 transport drivers", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_3_transport_drivers" - }, - { - "label": "7.1.4 Hash verification", - "file_type": "document", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L73", - "community": 45, - "norm_label": "7.1.4 hash verification", - "id": "design_spec_sections_07_sync_and_database_integration_7_1_4_hash_verification" - } - ], - "links": [ - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_exlab_error_is_subclass_of_exception" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_exlab_error_can_be_raised_and_caught" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_config_error_is_subclass_of_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_config_error_can_be_raised_and_caught" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_validation_error_is_subclass_of_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_validation_error_can_be_raised_and_caught" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_template_load_error_is_subclass_of_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_template_load_error_can_be_raised_and_caught" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_plugin_error_is_subclass_of_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_plugin_error_can_be_raised_and_caught" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_keyring_unavailable_error_is_subclass_of_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_keyring_unavailable_error_can_be_raised_and_caught" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_setup_incomplete_error_is_subclass_of_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_setup_incomplete_error_can_be_raised_and_caught" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_template_core_field_redeclared_is_subclass_of_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_template_core_field_redeclared_is_also_subclass_of_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_template_core_field_redeclared_can_be_caught_as_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_template_core_field_redeclared_can_be_caught_as_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_plugin_input_required_is_subclass_of_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_plugin_input_required_sets_fields_attribute" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_plugin_input_required_accepts_empty_fields_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_plugin_input_required_reason_property_returns_message_string" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_plugin_input_required_str_equals_reason" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_plugin_input_required_can_be_raised_and_caught" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_plugin_input_required_can_be_caught_as_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_schema_major_mismatch_is_subclass_of_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_schema_major_mismatch_sets_expected_major_attribute" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_schema_major_mismatch_sets_found_attribute" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_schema_major_mismatch_str_contains_expected_and_found" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_schema_major_mismatch_can_be_raised_and_caught" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_schema_major_mismatch_can_be_caught_as_exlab_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_all_lists_every_public_exception_class" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_errors_py", - "target": "unit_test_errors_test_all_entries_resolve_to_module_attributes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_errors.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_errors_rationale_1", - "target": "tests_unit_test_errors_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L39", - "weight": 1.0, - "source": "unit_test_errors_test_exlab_error_can_be_raised_and_caught", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L54", - "weight": 1.0, - "source": "unit_test_errors_test_config_error_can_be_raised_and_caught", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L63", - "weight": 1.0, - "source": "unit_test_errors_test_validation_error_can_be_raised_and_caught", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L72", - "weight": 1.0, - "source": "unit_test_errors_test_template_load_error_can_be_raised_and_caught", - "target": "exlab_wizard_errors_templateloaderror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L81", - "weight": 1.0, - "source": "unit_test_errors_test_plugin_error_can_be_raised_and_caught", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L90", - "weight": 1.0, - "source": "unit_test_errors_test_keyring_unavailable_error_can_be_raised_and_caught", - "target": "exlab_wizard_errors_keyringunavailableerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L99", - "weight": 1.0, - "source": "unit_test_errors_test_setup_incomplete_error_can_be_raised_and_caught", - "target": "exlab_wizard_errors_setupincompleteerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L118", - "weight": 1.0, - "source": "unit_test_errors_test_template_core_field_redeclared_can_be_caught_as_template_load_error", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L123", - "weight": 1.0, - "source": "unit_test_errors_test_template_core_field_redeclared_can_be_caught_as_exlab_error", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L137", - "weight": 1.0, - "source": "unit_test_errors_test_plugin_input_required_sets_fields_attribute", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L142", - "weight": 1.0, - "source": "unit_test_errors_test_plugin_input_required_accepts_empty_fields_list", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L147", - "weight": 1.0, - "source": "unit_test_errors_test_plugin_input_required_reason_property_returns_message_string", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L153", - "weight": 1.0, - "source": "unit_test_errors_test_plugin_input_required_str_equals_reason", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L159", - "weight": 1.0, - "source": "unit_test_errors_test_plugin_input_required_can_be_raised_and_caught", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L166", - "weight": 1.0, - "source": "unit_test_errors_test_plugin_input_required_can_be_caught_as_exlab_error", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L179", - "weight": 1.0, - "source": "unit_test_errors_test_schema_major_mismatch_sets_expected_major_attribute", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L184", - "weight": 1.0, - "source": "unit_test_errors_test_schema_major_mismatch_sets_found_attribute", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L189", - "weight": 1.0, - "source": "unit_test_errors_test_schema_major_mismatch_str_contains_expected_and_found", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L197", - "weight": 1.0, - "source": "unit_test_errors_test_schema_major_mismatch_can_be_raised_and_caught", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_errors.py", - "source_location": "L204", - "weight": 1.0, - "source": "unit_test_errors_test_schema_major_mismatch_can_be_caught_as_exlab_error", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_fake_home" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_config_path_macos" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_config_path_windows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_config_path_linux_with_xdg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_config_path_linux_without_xdg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_state_path_macos" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_state_path_windows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_state_path_linux_with_xdg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_state_path_linux_without_xdg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_cache_path_macos" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_cache_path_windows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_cache_path_linux_with_xdg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_cache_path_linux_without_xdg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_central_log_path_macos" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_central_log_path_windows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_central_log_path_linux_with_xdg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L251", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_os_central_log_path_linux_without_xdg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_suggested_staging_root_linux_fallback" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_suggested_staging_root_linux_honors_xdg_data_home" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_suggested_staging_root_macos" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L293", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_suggested_staging_root_windows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L316", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_test_mode_suffixes_os_config_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_test_mode_suffixes_os_state_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_test_mode_suffixes_os_cache_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_test_mode_suffixes_os_central_log_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_test_mode_suffixes_suggested_staging_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_test_mode_off_does_not_suffix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_ensure_dir_creates_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_ensure_dir_idempotent_when_exists" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_ensure_state_dir_creates_state_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L404", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_ensure_central_log_dir_creates_parent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_accepts_canonical" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L426", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_accepts_other_canonical_examples" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L430", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_lowercase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_hyphen" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L440", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_leading_digit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L445", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_space" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L450", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_non_ascii" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L455", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_too_long" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L463", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_accepts_max_length" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L468", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L473", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L480", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_int" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L488", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_canonicalize_equipment_id_does_not_mutate_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L506", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_run_path_experimental" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L518", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_run_path_test" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L530", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_run_path_strftime_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L547", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_run_path_experimental_under_runs_subdir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L560", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L581", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_run_path_rejects_invalid_equipment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L592", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_run_path_rejects_unsafe_project_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L603", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_project_path_basic" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L613", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_project_path_rejects_invalid_equipment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L622", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_project_path_rejects_unsafe_project_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L631", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_run_path_rejects_non_str_project_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L644", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_run_path_rejects_empty_project_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L657", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_compose_project_path_rejects_non_str_project_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L672", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_validate_project_name_accepts_human_readable_names" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L696", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_validate_project_name_rejects_unsafe_names" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L702", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_validate_project_name_rejects_overlong_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L708", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_validate_project_name_does_not_mutate_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L719", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_no_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L723", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_missing_paths" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L732", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L746", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_no_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L759", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_no_orchestrator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L772", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L788", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L805", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L822", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_no_lims" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L836", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L856", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_lims_unreachable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L863", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_ready" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L867", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_keyring_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L877", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_nas_remote_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L903", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_incomplete_when_nas_remote_blank" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L911", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_incomplete_when_remote_not_in_rclone_conf" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L921", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_ready_when_remote_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L883", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L943", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_for_no_nas_remote_reports_remote_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L956", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_next_action_for_no_nas_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L928", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L959", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_next_action_table" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L968", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_when_no_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L976", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_when_ready" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L980", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_when_lims_unreachable_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L985", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_for_paths_lists_each_unset" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L996", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_for_no_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1001", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1018", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_for_missing_paths_with_none_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1029", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_for_no_lims_with_none_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1037", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1063", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_unrecognized_state_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_1", - "target": "tests_unit_test_paths_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L876", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_nas_keyring_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L895", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_evaluate_setup_state_nas_state_resolves_once_password_added" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L905", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_missing_for_no_nas_credential_lists_per_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L919", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_paths_py", - "target": "unit_test_paths_test_setup_state_next_action_for_no_nas_credential" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_ready_config", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L726", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_missing_paths", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L740", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L767", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_orchestrator", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L782", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L799", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L815", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L830", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_lims", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L849", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L937", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1009", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1051", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_53", - "target": "unit_test_paths_make_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L727", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_missing_paths", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L741", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L754", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_equipment", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L831", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_lims", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L850", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L938", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1010", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1052", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_65", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L74", - "weight": 1.0, - "source": "unit_test_paths_make_orchestrator", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_71", - "target": "unit_test_paths_make_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L857", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_lims_unreachable", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L864", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_ready", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L869", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_keyring_missing", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L977", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_state_missing_when_ready", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L982", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_state_missing_when_lims_unreachable_returns_empty", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L997", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_equipment", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_75", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L90", - "weight": 1.0, - "source": "unit_test_paths_ready_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L95", - "weight": 1.0, - "source": "unit_test_paths_ready_config", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L97", - "weight": 1.0, - "source": "unit_test_paths_ready_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L98", - "weight": 1.0, - "source": "unit_test_paths_ready_config", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_nas_keyring_missing", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L885", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L897", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_nas_state_resolves_once_password_added", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L909", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_nas_credential_lists_per_equipment", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_81", - "target": "unit_test_paths_ready_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_104", - "target": "unit_test_paths_fake_home" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_106", - "target": "unit_test_paths_fake_home" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L131", - "weight": 1.0, - "source": "unit_test_paths_test_os_config_path_macos", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L139", - "weight": 1.0, - "source": "unit_test_paths_test_os_config_path_windows", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L147", - "weight": 1.0, - "source": "unit_test_paths_test_os_config_path_linux_with_xdg", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L153", - "weight": 1.0, - "source": "unit_test_paths_test_os_config_path_linux_without_xdg", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L164", - "weight": 1.0, - "source": "unit_test_paths_test_os_state_path_macos", - "target": "exlab_wizard_paths_os_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L172", - "weight": 1.0, - "source": "unit_test_paths_test_os_state_path_windows", - "target": "exlab_wizard_paths_os_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L180", - "weight": 1.0, - "source": "unit_test_paths_test_os_state_path_linux_with_xdg", - "target": "exlab_wizard_paths_os_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L186", - "weight": 1.0, - "source": "unit_test_paths_test_os_state_path_linux_without_xdg", - "target": "exlab_wizard_paths_os_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L197", - "weight": 1.0, - "source": "unit_test_paths_test_os_cache_path_macos", - "target": "exlab_wizard_paths_os_cache_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L205", - "weight": 1.0, - "source": "unit_test_paths_test_os_cache_path_windows", - "target": "exlab_wizard_paths_os_cache_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L213", - "weight": 1.0, - "source": "unit_test_paths_test_os_cache_path_linux_with_xdg", - "target": "exlab_wizard_paths_os_cache_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L219", - "weight": 1.0, - "source": "unit_test_paths_test_os_cache_path_linux_without_xdg", - "target": "exlab_wizard_paths_os_cache_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L230", - "weight": 1.0, - "source": "unit_test_paths_test_os_central_log_path_macos", - "target": "exlab_wizard_paths_os_central_log_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L238", - "weight": 1.0, - "source": "unit_test_paths_test_os_central_log_path_windows", - "target": "exlab_wizard_paths_os_central_log_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L248", - "weight": 1.0, - "source": "unit_test_paths_test_os_central_log_path_linux_with_xdg", - "target": "exlab_wizard_paths_os_central_log_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L256", - "weight": 1.0, - "source": "unit_test_paths_test_os_central_log_path_linux_without_xdg", - "target": "exlab_wizard_paths_os_central_log_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L273", - "weight": 1.0, - "source": "unit_test_paths_test_suggested_staging_root_linux_fallback", - "target": "exlab_wizard_paths_suggested_staging_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L282", - "weight": 1.0, - "source": "unit_test_paths_test_suggested_staging_root_linux_honors_xdg_data_home", - "target": "exlab_wizard_paths_suggested_staging_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L290", - "weight": 1.0, - "source": "unit_test_paths_test_suggested_staging_root_macos", - "target": "exlab_wizard_paths_suggested_staging_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L300", - "weight": 1.0, - "source": "unit_test_paths_test_suggested_staging_root_windows", - "target": "exlab_wizard_paths_suggested_staging_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L322", - "weight": 1.0, - "source": "unit_test_paths_test_test_mode_suffixes_os_config_path", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L329", - "weight": 1.0, - "source": "unit_test_paths_test_test_mode_suffixes_os_state_path", - "target": "exlab_wizard_paths_os_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L336", - "weight": 1.0, - "source": "unit_test_paths_test_test_mode_suffixes_os_cache_path", - "target": "exlab_wizard_paths_os_cache_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L345", - "weight": 1.0, - "source": "unit_test_paths_test_test_mode_suffixes_os_central_log_path", - "target": "exlab_wizard_paths_os_central_log_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_345", - "target": "unit_test_paths_test_test_mode_suffixes_suggested_staging_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L356", - "weight": 1.0, - "source": "unit_test_paths_test_test_mode_suffixes_suggested_staging_root", - "target": "exlab_wizard_paths_suggested_staging_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_351", - "target": "unit_test_paths_test_test_mode_suffixes_suggested_staging_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_354", - "target": "unit_test_paths_test_test_mode_off_does_not_suffix" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L363", - "weight": 1.0, - "source": "unit_test_paths_test_test_mode_off_does_not_suffix", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_360", - "target": "unit_test_paths_test_test_mode_off_does_not_suffix" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L381", - "weight": 1.0, - "source": "unit_test_paths_test_ensure_dir_creates_missing", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L390", - "weight": 1.0, - "source": "unit_test_paths_test_ensure_dir_idempotent_when_exists", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L399", - "weight": 1.0, - "source": "unit_test_paths_test_ensure_state_dir_creates_state_dir", - "target": "exlab_wizard_paths_ensure_state_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L401", - "weight": 1.0, - "source": "unit_test_paths_test_ensure_state_dir_creates_state_dir", - "target": "exlab_wizard_paths_os_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L408", - "weight": 1.0, - "source": "unit_test_paths_test_ensure_central_log_dir_creates_parent", - "target": "exlab_wizard_paths_ensure_central_log_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L410", - "weight": 1.0, - "source": "unit_test_paths_test_ensure_central_log_dir_creates_parent", - "target": "exlab_wizard_paths_os_central_log_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L419", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_accepts_canonical", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L427", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_accepts_other_canonical_examples", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L432", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_rejects_lowercase", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L437", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_rejects_hyphen", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L442", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_rejects_leading_digit", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L447", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_rejects_space", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L452", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_rejects_non_ascii", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L458", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_rejects_too_long", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L465", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_accepts_max_length", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L470", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_rejects_empty", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L468", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_468", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L476", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_rejects_none", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L474", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_474", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_none" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L475", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_475", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_int" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L483", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_rejects_int", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L481", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_481", - "target": "unit_test_paths_test_canonicalize_equipment_id_rejects_int" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L483", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_483", - "target": "unit_test_paths_test_canonicalize_equipment_id_does_not_mutate_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L491", - "weight": 1.0, - "source": "unit_test_paths_test_canonicalize_equipment_id_does_not_mutate_input", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_489", - "target": "unit_test_paths_test_canonicalize_equipment_id_does_not_mutate_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L507", - "weight": 1.0, - "source": "unit_test_paths_test_compose_run_path_experimental", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L519", - "weight": 1.0, - "source": "unit_test_paths_test_compose_run_path_test", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_525", - "target": "unit_test_paths_test_compose_run_path_strftime_format" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L536", - "weight": 1.0, - "source": "unit_test_paths_test_compose_run_path_strftime_format", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L531", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_531", - "target": "unit_test_paths_test_compose_run_path_strftime_format" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L542", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_542", - "target": "unit_test_paths_test_compose_run_path_experimental_under_runs_subdir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L549", - "weight": 1.0, - "source": "unit_test_paths_test_compose_run_path_experimental_under_runs_subdir", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L548", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_548", - "target": "unit_test_paths_test_compose_run_path_experimental_under_runs_subdir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L555", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_555", - "target": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L563", - "weight": 1.0, - "source": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L561", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_561", - "target": "unit_test_paths_test_compose_run_path_same_minute_collision_returns_same_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L583", - "weight": 1.0, - "source": "unit_test_paths_test_compose_run_path_rejects_invalid_equipment_id", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L594", - "weight": 1.0, - "source": "unit_test_paths_test_compose_run_path_rejects_unsafe_project_name", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L604", - "weight": 1.0, - "source": "unit_test_paths_test_compose_project_path_basic", - "target": "exlab_wizard_paths_compose_project_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L615", - "weight": 1.0, - "source": "unit_test_paths_test_compose_project_path_rejects_invalid_equipment_id", - "target": "exlab_wizard_paths_compose_project_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L624", - "weight": 1.0, - "source": "unit_test_paths_test_compose_project_path_rejects_unsafe_project_name", - "target": "exlab_wizard_paths_compose_project_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L626", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_626", - "target": "unit_test_paths_test_compose_run_path_rejects_non_str_project_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L634", - "weight": 1.0, - "source": "unit_test_paths_test_compose_run_path_rejects_non_str_project_name", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L632", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_632", - "target": "unit_test_paths_test_compose_run_path_rejects_non_str_project_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L639", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_639", - "target": "unit_test_paths_test_compose_run_path_rejects_empty_project_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L647", - "weight": 1.0, - "source": "unit_test_paths_test_compose_run_path_rejects_empty_project_name", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L645", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_645", - "target": "unit_test_paths_test_compose_run_path_rejects_empty_project_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L659", - "weight": 1.0, - "source": "unit_test_paths_test_compose_project_path_rejects_non_str_project_name", - "target": "exlab_wizard_paths_compose_project_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L667", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_667", - "target": "unit_test_paths_test_validate_project_name_accepts_human_readable_names" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L675", - "weight": 1.0, - "source": "unit_test_paths_test_validate_project_name_accepts_human_readable_names", - "target": "exlab_wizard_paths_validate_project_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L676", - "weight": 1.0, - "source": "unit_test_paths_test_validate_project_name_accepts_human_readable_names", - "target": "exlab_wizard_paths_project_name_violations" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L673", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_673", - "target": "unit_test_paths_test_validate_project_name_accepts_human_readable_names" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L698", - "weight": 1.0, - "source": "unit_test_paths_test_validate_project_name_rejects_unsafe_names", - "target": "exlab_wizard_paths_validate_project_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L699", - "weight": 1.0, - "source": "unit_test_paths_test_validate_project_name_rejects_unsafe_names", - "target": "exlab_wizard_paths_project_name_violations" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L704", - "weight": 1.0, - "source": "unit_test_paths_test_validate_project_name_rejects_overlong_name", - "target": "exlab_wizard_paths_validate_project_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L703", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_703", - "target": "unit_test_paths_test_validate_project_name_does_not_mutate_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L711", - "weight": 1.0, - "source": "unit_test_paths_test_validate_project_name_does_not_mutate_input", - "target": "exlab_wizard_paths_validate_project_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L709", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_709", - "target": "unit_test_paths_test_validate_project_name_does_not_mutate_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L720", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_config", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L725", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_missing_paths", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L729", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_missing_paths", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L727", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_727", - "target": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L735", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L743", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L733", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_733", - "target": "unit_test_paths_test_evaluate_setup_state_missing_paths_partial" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L748", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_equipment", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L756", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_equipment", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L754", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_754", - "target": "unit_test_paths_test_evaluate_setup_state_no_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L762", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_orchestrator", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L769", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_orchestrator", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L760", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_760", - "target": "unit_test_paths_test_evaluate_setup_state_no_orchestrator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L767", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_767", - "target": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L777", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L783", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L785", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L773", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_773", - "target": "unit_test_paths_test_evaluate_setup_state_no_orchestrator_when_only_staging_set" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L783", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_783", - "target": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L793", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L798", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L800", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L795", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L802", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L789", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_789", - "target": "unit_test_paths_test_evaluate_setup_state_blank_staging_root_is_allowed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L801", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_801", - "target": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L810", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L816", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L818", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L806", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_806", - "target": "unit_test_paths_test_setup_state_missing_for_no_orchestrator_lists_only_label" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L824", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_lims", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L829", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_lims", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L829", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_lims", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L833", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_no_lims", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L835", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_835", - "target": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L839", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L844", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L851", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L853", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L837", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_837", - "target": "unit_test_paths_test_evaluate_setup_state_lims_via_offline_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L859", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_lims_unreachable", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L864", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_ready", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L869", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_869", - "target": "unit_test_paths_test_evaluate_setup_state_keyring_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L871", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_keyring_missing", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L868", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_868", - "target": "unit_test_paths_test_evaluate_setup_state_keyring_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L906", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_incomplete_when_nas_remote_blank", - "target": "unit_test_paths_nas_remote_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L915", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_incomplete_when_remote_not_in_rclone_conf", - "target": "unit_test_paths_nas_remote_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L925", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_ready_when_remote_present", - "target": "unit_test_paths_nas_remote_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L933", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state", - "target": "unit_test_paths_nas_remote_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L947", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_nas_remote_reports_remote_field", - "target": "unit_test_paths_nas_remote_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_878", - "target": "unit_test_paths_nas_remote_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L891", - "weight": 1.0, - "source": "unit_test_paths_nas_remote_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L899", - "weight": 1.0, - "source": "unit_test_paths_nas_remote_config", - "target": "config_models_nasconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L904", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_904", - "target": "unit_test_paths_test_setup_incomplete_when_nas_remote_blank" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L906", - "weight": 1.0, - "source": "unit_test_paths_test_setup_incomplete_when_nas_remote_blank", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L912", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_912", - "target": "unit_test_paths_test_setup_incomplete_when_remote_not_in_rclone_conf" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L914", - "weight": 1.0, - "source": "unit_test_paths_test_setup_incomplete_when_remote_not_in_rclone_conf", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L922", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_922", - "target": "unit_test_paths_test_setup_ready_when_remote_present" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L924", - "weight": 1.0, - "source": "unit_test_paths_test_setup_ready_when_remote_present", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L932", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_932", - "target": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L886", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L884", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_884", - "target": "unit_test_paths_test_evaluate_setup_state_nas_state_precedes_lims_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L944", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_944", - "target": "unit_test_paths_test_setup_state_missing_for_no_nas_remote_reports_remote_field" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L947", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_nas_remote_reports_remote_field", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L960", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_next_action_for_no_nas_remote", - "target": "exlab_wizard_paths_setup_state_next_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L966", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_966", - "target": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L931", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L936", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L978", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L940", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L929", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_929", - "target": "unit_test_paths_test_evaluate_setup_state_endpoint_only_missing_email" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L960", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_next_action_table", - "target": "exlab_wizard_paths_setup_state_next_action" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L969", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_when_no_config", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L977", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_when_ready", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1021", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_1021", - "target": "unit_test_paths_test_setup_state_missing_when_lims_unreachable_returns_empty" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L982", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_when_lims_unreachable_returns_empty", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L981", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_981", - "target": "unit_test_paths_test_setup_state_missing_when_lims_unreachable_returns_empty" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L987", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_paths_lists_each_unset", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L989", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_paths_lists_each_unset", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L997", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_equipment", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L1003", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L1008", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L1012", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_lists_endpoint_email", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1059", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_1059", - "target": "unit_test_paths_test_setup_state_missing_for_missing_paths_with_none_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L1022", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_missing_paths_with_none_config", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1019", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_1019", - "target": "unit_test_paths_test_setup_state_missing_for_missing_paths_with_none_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1070", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_1070", - "target": "unit_test_paths_test_setup_state_missing_for_no_lims_with_none_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L1033", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_with_none_config", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1030", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_1030", - "target": "unit_test_paths_test_setup_state_missing_for_no_lims_with_none_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1078", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_1078", - "target": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L1041", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L1046", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L1054", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1038", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_1038", - "target": "unit_test_paths_test_setup_state_missing_for_no_lims_flags_keyring_when_endpoint_email_set" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_1104", - "target": "unit_test_paths_test_setup_state_missing_unrecognized_state_returns_empty" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L1077", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_unrecognized_state_returns_empty", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L1064", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_1064", - "target": "unit_test_paths_test_setup_state_missing_unrecognized_state_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_main.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_main_py", - "target": "unit_test_main_test_main_returns_zero" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_main.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_test_main_py", - "target": "unit_test_main_test_main_prints_hint" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_main.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_main_rationale_1", - "target": "tests_unit_test_main_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_can_advance_template_step_requires_selection" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_can_advance_variables_step_always_true" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_can_advance_preview_step_blocks_on_validator_findings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_can_advance_confirm_step_always_true" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_can_advance_default_step_is_project_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_can_advance_readme_blocks_on_partial_core_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_preview_path_segments_experimental_uses_run_prefix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_preview_path_segments_test_uses_testrun_prefix_and_folder" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_render_run_wizard_experimental_with_choices_does_not_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_render_run_wizard_test_with_choices_does_not_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_render_run_wizard_with_empty_choices_does_not_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_run_page_py", - "target": "ui_test_wizard_run_page_test_wizard_run_step_titles_cover_every_step" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_run_page_rationale_1", - "target": "tests_unit_ui_test_wizard_run_page_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L35", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_can_advance_template_step_requires_selection", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L42", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_can_advance_variables_step_always_true", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L47", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_can_advance_preview_step_blocks_on_validator_findings", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L54", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_can_advance_confirm_step_always_true", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L59", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_can_advance_default_step_is_project_equipment", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L69", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_can_advance_readme_blocks_on_partial_core_fields", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L82", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L87", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", - "target": "pages_wizard_run_title_text" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L88", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", - "target": "pages_wizard_run_primary_button_color" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L90", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_state_run_kind_is_bound_and_drives_helpers", - "target": "pages_wizard_run_primary_button_label" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L99", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_preview_path_segments_experimental_uses_run_prefix", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L100", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_preview_path_segments_experimental_uses_run_prefix", - "target": "pages_wizard_run_preview_path_segments" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L110", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_preview_path_segments_test_uses_testrun_prefix_and_folder", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L115", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_preview_path_segments_test_uses_testrun_prefix_and_folder", - "target": "pages_wizard_run_preview_path_segments" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L127", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_render_run_wizard_experimental_with_choices_does_not_raise", - "target": "pages_wizard_run_render_run_wizard" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L128", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_render_run_wizard_experimental_with_choices_does_not_raise", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L137", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_render_run_wizard_test_with_choices_does_not_raise", - "target": "pages_wizard_run_render_run_wizard" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L138", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_render_run_wizard_test_with_choices_does_not_raise", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L147", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_render_run_wizard_with_empty_choices_does_not_raise", - "target": "pages_wizard_run_render_run_wizard" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_run_page.py", - "source_location": "L148", - "weight": 1.0, - "source": "ui_test_wizard_run_page_test_render_run_wizard_with_empty_choices_does_not_raise", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_walk" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_by_testid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_texts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_file_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_test_selected_file_card_title_maps_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_test_file_sub_card_renders_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_test_tombstone_file_sub_card_omits_size_and_notes_on_nas" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_test_folder_sub_card_renders_count_no_size" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_test_folder_sub_card_tolerates_degraded_scan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_test_sub_card_appends_after_empty_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_test_sub_card_appends_after_populated_node" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_metadata_pane_py", - "target": "ui_test_metadata_pane_test_no_sub_card_without_selected_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_rationale_1", - "target": "tests_unit_ui_test_metadata_pane_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_by_testid", - "target": "ui_test_metadata_pane_walk" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_texts", - "target": "ui_test_metadata_pane_walk" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_file_sub_card_renders_fields", - "target": "ui_test_metadata_pane_by_testid" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_tombstone_file_sub_card_omits_size_and_notes_on_nas", - "target": "ui_test_metadata_pane_by_testid" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_folder_sub_card_renders_count_no_size", - "target": "ui_test_metadata_pane_by_testid" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_folder_sub_card_tolerates_degraded_scan", - "target": "ui_test_metadata_pane_by_testid" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_sub_card_appends_after_empty_state", - "target": "ui_test_metadata_pane_by_testid" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_sub_card_appends_after_populated_node", - "target": "ui_test_metadata_pane_by_testid" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_no_sub_card_without_selected_file", - "target": "ui_test_metadata_pane_by_testid" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_file_sub_card_renders_fields", - "target": "ui_test_metadata_pane_texts" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_tombstone_file_sub_card_omits_size_and_notes_on_nas", - "target": "ui_test_metadata_pane_texts" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_folder_sub_card_renders_count_no_size", - "target": "ui_test_metadata_pane_texts" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_folder_sub_card_tolerates_degraded_scan", - "target": "ui_test_metadata_pane_texts" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_sub_card_appends_after_populated_node", - "target": "ui_test_metadata_pane_texts" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_file_sub_card_renders_fields", - "target": "ui_test_metadata_pane_file_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_tombstone_file_sub_card_omits_size_and_notes_on_nas", - "target": "ui_test_metadata_pane_file_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_sub_card_appends_after_empty_state", - "target": "ui_test_metadata_pane_file_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_test_sub_card_appends_after_populated_node", - "target": "ui_test_metadata_pane_file_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L55", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_selected_file_card_title_maps_kind", - "target": "components_metadata_pane_selected_file_card_title" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L67", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_file_sub_card_renders_fields", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L68", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_file_sub_card_renders_fields", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L83", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_tombstone_file_sub_card_omits_size_and_notes_on_nas", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L84", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_tombstone_file_sub_card_omits_size_and_notes_on_nas", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L106", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_folder_sub_card_renders_count_no_size", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L107", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_folder_sub_card_renders_count_no_size", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_rationale_123", - "target": "ui_test_metadata_pane_test_folder_sub_card_tolerates_degraded_scan" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L128", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_folder_sub_card_tolerates_degraded_scan", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L129", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_folder_sub_card_tolerates_degraded_scan", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_rationale_120", - "target": "ui_test_metadata_pane_test_folder_sub_card_tolerates_degraded_scan" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_rationale_145", - "target": "ui_test_metadata_pane_test_sub_card_appends_after_empty_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L143", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_sub_card_appends_after_empty_state", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L144", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_sub_card_appends_after_empty_state", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_rationale_142", - "target": "ui_test_metadata_pane_test_sub_card_appends_after_empty_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_rationale_153", - "target": "ui_test_metadata_pane_test_sub_card_appends_after_populated_node" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L152", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_sub_card_appends_after_populated_node", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L158", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_sub_card_appends_after_populated_node", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_metadata_pane_rationale_150", - "target": "ui_test_metadata_pane_test_sub_card_appends_after_populated_node" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L167", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_no_sub_card_without_selected_file", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_metadata_pane.py", - "source_location": "L168", - "weight": 1.0, - "source": "ui_test_metadata_pane_test_no_sub_card_without_selected_file", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_mode_badge_test_uses_warning_token" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_mode_badge_experimental_uses_navy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_mode_badge_none_falls_back_to_navy_with_placeholder" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_mode_badge_accepts_label_override" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_test_run_badge_uses_orange_aa_text" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_override_badge_active_uses_sky_aa_text" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_override_badge_inactive_uses_muted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_pending_uses_muted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_synced_uses_success" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_failed_uses_danger" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_blocked_uses_warning" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_override_uses_info" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_cleaned_uses_success_with_cloud_icon" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_acquiring_uses_muted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_syncing_uses_info" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_on_nas_uses_muted_cloud" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_retrying_with_counter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_status_unknown_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L178", - "weight": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_sync_legend_entries_cover_every_state", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_session_progress_phase_order_is_canonical" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_apply_frame_advances_phase_and_marks_predecessors_done" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_apply_frame_progress_sets_plugin_sub_row" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_apply_frame_done_completes_all_phases" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_apply_frame_ignores_unknown_kinds_and_phases" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_session_progress_active_phase_marked" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_session_progress_plugin_sub_row_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_credential_field_states_default_to_not_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_credential_field_set_state_offers_replace_and_clear" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_credential_field_editing_offers_save_and_cancel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_begin_edit_from_not_set_enters_editing_remembering_not_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_begin_edit_from_set_remembers_set_as_resting" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_cancel_edit_returns_to_remembered_resting_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L318", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_cancel_edit_from_fresh_edit_returns_to_not_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_commit_edit_with_value_transitions_to_set_and_signals_save" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L333", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_commit_edit_with_empty_value_stays_editing_and_skips_save" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_clear_credential_returns_to_not_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_connection_panel_hidden_when_no_result" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_connection_panel_visible_after_result" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L371", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_connection_panel_failure_color_is_danger" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L381", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_connection_panel_stale_appends_disclaimer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_filter_chips_initial_state_respects_default_on" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_filter_chips_toggle_flips_membership" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L412", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_filter_chips_list_active_preserves_definition_order" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L426", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_status_bar_segment_normal_uses_muted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L432", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_status_bar_segment_warning_prefix_glyph" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L440", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_status_bar_segment_danger_prefix_glyph" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L453", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_operations_modal_columns_match_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L502", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L535", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_operations_modal_state_glyph_known_states" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L541", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_operation_row_from_session_maps_state_buckets_and_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_collect_default_values_seeds_from_declared_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_input_required_dialog_builds_without_raising" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L629", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_bandwidth_window_validates_from_before_to" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L636", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_bandwidth_window_passes_when_correct" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L643", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_bandwidth_overlap_detected_for_shared_day_and_time" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_bandwidth_no_overlap_for_disjoint_days" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L660", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_validation_summary_hard_findings_use_warning" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L667", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_validation_summary_override_takes_priority" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L679", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_validation_summary_first_two_excerpts_returned_in_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L693", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_validation_summary_override_line_includes_attribution" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L714", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_tree_filter_archived_default_off_hides_archived" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L725", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_tree_filter_archived_chip_on_shows_archived" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L734", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_tree_filter_deleted_always_shown" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L745", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_tree_filter_test_runs_chip_off_hides_test_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L753", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_tree_build_nodes_yields_canonical_kinds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L766", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_tree_test_run_carries_test_badge" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L781", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_tree_run_node_propagates_sync_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L798", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L823", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L849", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L888", - "weight": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_to_nicegui_nodes_carries_sync_title", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L912", - "weight": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_build_tree_seeds_selected_node", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L930", - "weight": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_build_tree_no_selection_leaves_selected_unset", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L871", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L885", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L909", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_slot_template_emits_testid_data_node_id_and_context_menus" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L949", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_factories_smoke_outside_nicegui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L982", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_components_py", - "target": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_1", - "target": "tests_unit_ui_test_components_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_38", - "target": "ui_test_components_test_mode_badge_test_uses_warning_token" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_46", - "target": "ui_test_components_test_mode_badge_experimental_uses_navy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_53", - "target": "ui_test_components_test_mode_badge_none_falls_back_to_navy_with_placeholder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_61", - "target": "ui_test_components_test_mode_badge_accepts_label_override" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_73", - "target": "ui_test_components_test_test_run_badge_uses_orange_aa_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_81", - "target": "ui_test_components_test_override_badge_active_uses_sky_aa_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_89", - "target": "ui_test_components_test_override_badge_inactive_uses_muted" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_117", - "target": "ui_test_components_test_sync_status_blocked_uses_warning" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_129", - "target": "ui_test_components_test_sync_status_cleaned_uses_success_with_cloud_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_137", - "target": "ui_test_components_test_sync_status_acquiring_uses_muted" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_146", - "target": "ui_test_components_test_sync_status_syncing_uses_info" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_155", - "target": "ui_test_components_test_sync_status_on_nas_uses_muted_cloud" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_164", - "target": "ui_test_components_test_sync_status_retrying_with_counter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_172", - "target": "ui_test_components_test_sync_status_unknown_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L179", - "weight": 1.0, - "source": "ui_test_components_rationale_179", - "target": "ui_test_components_test_sync_legend_entries_cover_every_state", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L201", - "weight": 1.0, - "source": "ui_test_components_rationale_201", - "target": "ui_test_components_test_session_progress_phase_order_is_canonical", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_184", - "target": "ui_test_components_test_session_progress_phase_order_is_canonical" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L249", - "weight": 1.0, - "source": "ui_test_components_rationale_249", - "target": "ui_test_components_test_session_progress_active_phase_marked", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_232", - "target": "ui_test_components_test_session_progress_active_phase_marked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L262", - "weight": 1.0, - "source": "ui_test_components_rationale_262", - "target": "ui_test_components_test_session_progress_plugin_sub_row_present", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_245", - "target": "ui_test_components_test_session_progress_plugin_sub_row_present" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L309", - "weight": 1.0, - "source": "ui_test_components_rationale_309", - "target": "ui_test_components_test_begin_edit_from_not_set_enters_editing_remembering_not_set", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L292", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_292", - "target": "ui_test_components_test_begin_edit_from_not_set_enters_editing_remembering_not_set" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L319", - "weight": 1.0, - "source": "ui_test_components_rationale_319", - "target": "ui_test_components_test_begin_edit_from_set_remembers_set_as_resting", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_302", - "target": "ui_test_components_test_begin_edit_from_set_remembers_set_as_resting" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L351", - "weight": 1.0, - "source": "ui_test_components_rationale_351", - "target": "ui_test_components_test_commit_edit_with_empty_value_stays_editing_and_skips_save", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_334", - "target": "ui_test_components_test_commit_edit_with_empty_value_stays_editing_and_skips_save" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L471", - "weight": 1.0, - "source": "ui_test_components_rationale_471", - "target": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L454", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_454", - "target": "ui_test_components_test_banner_stack_shows_visible_and_overflow_split" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L520", - "weight": 1.0, - "source": "ui_test_components_rationale_520", - "target": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L503", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_503", - "target": "ui_test_components_test_operations_modal_sort_suspended_first_oldest_first" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L603", - "weight": 1.0, - "source": "ui_test_components_test_collect_default_values_seeds_from_declared_defaults", - "target": "components_input_required_dialog_collect_default_values" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L610", - "weight": 1.0, - "source": "ui_test_components_test_input_required_dialog_builds_without_raising", - "target": "components_input_required_dialog_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L737", - "weight": 1.0, - "source": "ui_test_components_rationale_737", - "target": "ui_test_components_test_tree_filter_archived_default_off_hides_archived", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L720", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_720", - "target": "ui_test_components_test_tree_filter_archived_default_off_hides_archived" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L715", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_715", - "target": "ui_test_components_test_tree_filter_archived_default_off_hides_archived" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L757", - "weight": 1.0, - "source": "ui_test_components_rationale_757", - "target": "ui_test_components_test_tree_filter_deleted_always_shown", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L740", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_740", - "target": "ui_test_components_test_tree_filter_deleted_always_shown" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L735", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_735", - "target": "ui_test_components_test_tree_filter_deleted_always_shown" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L804", - "weight": 1.0, - "source": "ui_test_components_rationale_804", - "target": "ui_test_components_test_tree_run_node_propagates_sync_status", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L787", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_787", - "target": "ui_test_components_test_tree_run_node_propagates_sync_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L782", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_782", - "target": "ui_test_components_test_tree_run_node_propagates_sync_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L821", - "weight": 1.0, - "source": "ui_test_components_rationale_821", - "target": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L804", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_804", - "target": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L799", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_799", - "target": "ui_test_components_test_to_nicegui_nodes_cleared_run_uses_cloud_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L846", - "weight": 1.0, - "source": "ui_test_components_rationale_846", - "target": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L829", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_829", - "target": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L824", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_824", - "target": "ui_test_components_test_to_nicegui_nodes_local_run_uses_local_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L872", - "weight": 1.0, - "source": "ui_test_components_rationale_872", - "target": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L855", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_855", - "target": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L850", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_850", - "target": "ui_test_components_test_to_nicegui_nodes_equipment_and_project_have_no_sync_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L889", - "weight": 1.0, - "source": "ui_test_components_rationale_889", - "target": "ui_test_components_test_to_nicegui_nodes_carries_sync_title", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L913", - "weight": 1.0, - "source": "ui_test_components_rationale_913", - "target": "ui_test_components_test_build_tree_seeds_selected_node", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L931", - "weight": 1.0, - "source": "ui_test_components_rationale_931", - "target": "ui_test_components_test_build_tree_no_selection_leaves_selected_unset", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L949", - "weight": 1.0, - "source": "ui_test_components_rationale_949", - "target": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L877", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_877", - "target": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L872", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_872", - "target": "ui_test_components_test_equipment_node_relay_flag_emits_received_equipment_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L963", - "weight": 1.0, - "source": "ui_test_components_rationale_963", - "target": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L891", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_891", - "target": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L886", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_886", - "target": "ui_test_components_test_to_nicegui_nodes_emits_testid_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L987", - "weight": 1.0, - "source": "ui_test_components_rationale_987", - "target": "ui_test_components_test_slot_template_emits_testid_data_node_id_and_context_menus", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L915", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_915", - "target": "ui_test_components_test_slot_template_emits_testid_data_node_id_and_context_menus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L910", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_910", - "target": "ui_test_components_test_slot_template_emits_testid_data_node_id_and_context_menus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L1027", - "weight": 1.0, - "source": "ui_test_components_rationale_1027", - "target": "ui_test_components_test_factories_smoke_outside_nicegui", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L955", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_955", - "target": "ui_test_components_test_factories_smoke_outside_nicegui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L950", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_950", - "target": "ui_test_components_test_factories_smoke_outside_nicegui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L1060", - "weight": 1.0, - "source": "ui_test_components_rationale_1060", - "target": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L988", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_988", - "target": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_components.py", - "source_location": "L983", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_components_rationale_983", - "target": "ui_test_components_test_no_stray_ui_notify_calls_in_ui_package" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L13", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_card_style_uses_surface_border_shadow_radius_tokens" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_card_style_ends_with_semicolon_for_safe_concatenation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_card_style_carries_literal_fallbacks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_header_style_is_tinted_strip_with_rule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_body_style_scrolls" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_framed_pane_yields_body_and_nests_children" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_framed_pane_card_carries_testid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L77", - "weight": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_framed_pane_applies_card_classes", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L89", - "weight": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_framed_pane_no_card_classes_by_default", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_framed_pane_renders_header_extra_in_strip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_framed_pane_rationale_1", - "target": "tests_unit_ui_test_framed_pane_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_framed_pane_yields_none_without_nicegui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_framed_pane_with_count_yields_none_without_nicegui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_framed_pane_py", - "target": "ui_test_framed_pane_test_framed_pane_nests_children_in_body_under_nicegui" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L14", - "weight": 1.0, - "source": "ui_test_framed_pane_test_card_style_uses_surface_border_shadow_radius_tokens", - "target": "components_framed_pane_card_style" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_framed_pane_rationale_25", - "target": "ui_test_framed_pane_test_card_style_ends_with_semicolon_for_safe_concatenation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L27", - "weight": 1.0, - "source": "ui_test_framed_pane_test_card_style_ends_with_semicolon_for_safe_concatenation", - "target": "components_framed_pane_card_style" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_framed_pane_rationale_31", - "target": "ui_test_framed_pane_test_card_style_carries_literal_fallbacks" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L32", - "weight": 1.0, - "source": "ui_test_framed_pane_test_card_style_carries_literal_fallbacks", - "target": "components_framed_pane_card_style" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L38", - "weight": 1.0, - "source": "ui_test_framed_pane_test_header_style_is_tinted_strip_with_rule", - "target": "components_framed_pane_header_style" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L45", - "weight": 1.0, - "source": "ui_test_framed_pane_test_body_style_scrolls", - "target": "components_framed_pane_body_style" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_framed_pane_rationale_51", - "target": "ui_test_framed_pane_test_framed_pane_yields_body_and_nests_children" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L60", - "weight": 1.0, - "source": "ui_test_framed_pane_test_framed_pane_yields_body_and_nests_children", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_framed_pane_rationale_67", - "target": "ui_test_framed_pane_test_framed_pane_card_carries_testid" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L68", - "weight": 1.0, - "source": "ui_test_framed_pane_test_framed_pane_card_carries_testid", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L78", - "weight": 1.0, - "source": "ui_test_framed_pane_rationale_78", - "target": "ui_test_framed_pane_test_framed_pane_applies_card_classes", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L80", - "weight": 1.0, - "source": "ui_test_framed_pane_test_framed_pane_applies_card_classes", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L90", - "weight": 1.0, - "source": "ui_test_framed_pane_rationale_90", - "target": "ui_test_framed_pane_test_framed_pane_no_card_classes_by_default", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L91", - "weight": 1.0, - "source": "ui_test_framed_pane_test_framed_pane_no_card_classes_by_default", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L99", - "weight": 1.0, - "source": "ui_test_framed_pane_rationale_99", - "target": "ui_test_framed_pane_test_framed_pane_renders_header_extra_in_strip", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L90", - "weight": 1.0, - "source": "ui_test_framed_pane_test_framed_pane_renders_header_extra_in_strip", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_framed_pane_rationale_78", - "target": "ui_test_framed_pane_test_framed_pane_renders_header_extra_in_strip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_framed_pane_rationale_51", - "target": "ui_test_framed_pane_test_framed_pane_yields_none_without_nicegui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_welcome_card_spec_default_autostart_on" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_welcome_card_three_bullets" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_default_chips_match_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_chip_state_to_tree_filters_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_problems_badge_simple_count_when_no_soft" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_problems_badge_compound_when_soft_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_setup_incomplete_banner_uses_warning" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_setup_banner_subline_tailored_for_rclone_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L116", - "weight": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_search_hierarchy", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L129", - "weight": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_chip_state_to_tree_filters_threads_search", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L137", - "weight": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_count_search_results_counts_projects_and_runs", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L146", - "weight": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_count_search_results_narrows_with_query", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L155", - "weight": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_count_search_results_zero_on_no_match", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L166", - "weight": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_density_card_class_maps_compact", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_project_seven_steps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_project_can_advance_blocks_until_lims_picked" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_project_can_advance_blocks_until_template_picked" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_project_readme_requires_core_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_project_preview_blocks_with_validator_findings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_project_preview_blocks_with_low_disk" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_project_preview_blocks_when_plugin_host_unhealthy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_project_preview_passes_when_clear" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_run_six_steps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_run_test_mode_title" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_run_experimental_mode_title" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_run_test_button_uses_warning_color" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_run_experimental_button_uses_primary_color" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_run_preview_test_path_highlights" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_run_preview_experimental_no_test_marker" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_run_can_advance_blocks_until_project_and_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_wizard_run_readme_blocks_until_core_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_settings_nine_sections_includes_operators" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_settings_first_incomplete_returns_canonical_first" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_settings_first_incomplete_resolves_nas_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_settings_save_button_label_setup_incomplete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_settings_save_button_label_no_changes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L293", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_settings_save_button_label_with_count_badge" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L298", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_settings_section_warning_only_for_incomplete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_sample_findings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L336", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_filter_default_shows_hard_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_filter_show_soft_when_chip_on" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_filter_search_path_substring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_filter_scope_filters_by_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L364", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_override_reason_min_length" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L372", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_override_reason_max_length" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L381", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_override_reason_accepts_valid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L387", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_override_reason_trims_whitespace" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_near_limit_flag" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_empty_state_default" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L406", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_empty_state_with_hidden_soft_count" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L412", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_empty_state_with_active_filter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_problems_chip_definitions_match_spec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_1", - "target": "tests_unit_ui_test_pages_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_main_setup_banner_subline_tailored_for_nas_credentials" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_pages_py", - "target": "ui_test_pages_test_settings_first_incomplete_resolves_nas_credentials" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L33", - "weight": 1.0, - "source": "ui_test_pages_rationale_33", - "target": "ui_test_pages_test_welcome_card_spec_default_autostart_on", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_26", - "target": "ui_test_pages_test_welcome_card_spec_default_autostart_on" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L44", - "weight": 1.0, - "source": "ui_test_pages_rationale_44", - "target": "ui_test_pages_test_welcome_card_three_bullets", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_37", - "target": "ui_test_pages_test_welcome_card_three_bullets" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L64", - "weight": 1.0, - "source": "ui_test_pages_rationale_64", - "target": "ui_test_pages_test_main_default_chips_match_spec", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_57", - "target": "ui_test_pages_test_main_default_chips_match_spec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L74", - "weight": 1.0, - "source": "ui_test_pages_rationale_74", - "target": "ui_test_pages_test_main_chip_state_to_tree_filters_round_trip", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_67", - "target": "ui_test_pages_test_main_chip_state_to_tree_filters_round_trip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L94", - "weight": 1.0, - "source": "ui_test_pages_rationale_94", - "target": "ui_test_pages_test_main_setup_incomplete_banner_uses_warning", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_87", - "target": "ui_test_pages_test_main_setup_incomplete_banner_uses_warning" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L102", - "weight": 1.0, - "source": "ui_test_pages_rationale_102", - "target": "ui_test_pages_test_main_setup_banner_subline_tailored_for_rclone_remote", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_95", - "target": "ui_test_pages_test_main_setup_banner_subline_tailored_for_rclone_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L141", - "weight": 1.0, - "source": "ui_test_pages_test_main_count_search_results_counts_projects_and_runs", - "target": "ui_test_pages_search_hierarchy", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L150", - "weight": 1.0, - "source": "ui_test_pages_test_main_count_search_results_narrows_with_query", - "target": "ui_test_pages_search_hierarchy", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L162", - "weight": 1.0, - "source": "ui_test_pages_test_main_count_search_results_zero_on_no_match", - "target": "ui_test_pages_search_hierarchy", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L117", - "weight": 1.0, - "source": "ui_test_pages_rationale_117", - "target": "ui_test_pages_search_hierarchy", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L130", - "weight": 1.0, - "source": "ui_test_pages_rationale_130", - "target": "ui_test_pages_test_main_chip_state_to_tree_filters_threads_search", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L138", - "weight": 1.0, - "source": "ui_test_pages_rationale_138", - "target": "ui_test_pages_test_main_count_search_results_counts_projects_and_runs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L141", - "weight": 1.0, - "source": "ui_test_pages_test_main_count_search_results_counts_projects_and_runs", - "target": "components_tree_build_nodes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L147", - "weight": 1.0, - "source": "ui_test_pages_rationale_147", - "target": "ui_test_pages_test_main_count_search_results_narrows_with_query", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L150", - "weight": 1.0, - "source": "ui_test_pages_test_main_count_search_results_narrows_with_query", - "target": "components_tree_build_nodes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L156", - "weight": 1.0, - "source": "ui_test_pages_rationale_156", - "target": "ui_test_pages_test_main_count_search_results_zero_on_no_match", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L162", - "weight": 1.0, - "source": "ui_test_pages_test_main_count_search_results_zero_on_no_match", - "target": "components_tree_build_nodes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L167", - "weight": 1.0, - "source": "ui_test_pages_rationale_167", - "target": "ui_test_pages_test_main_density_card_class_maps_compact", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L181", - "weight": 1.0, - "source": "ui_test_pages_rationale_181", - "target": "ui_test_pages_test_wizard_project_seven_steps", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_110", - "target": "ui_test_pages_test_wizard_project_seven_steps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L189", - "weight": 1.0, - "source": "ui_test_pages_rationale_189", - "target": "ui_test_pages_test_wizard_project_can_advance_blocks_until_lims_picked", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_118", - "target": "ui_test_pages_test_wizard_project_can_advance_blocks_until_lims_picked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L220", - "weight": 1.0, - "source": "ui_test_pages_rationale_220", - "target": "ui_test_pages_test_wizard_project_preview_blocks_with_low_disk", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_149", - "target": "ui_test_pages_test_wizard_project_preview_blocks_with_low_disk" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L268", - "weight": 1.0, - "source": "ui_test_pages_rationale_268", - "target": "ui_test_pages_test_wizard_run_test_button_uses_warning_color", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_197", - "target": "ui_test_pages_test_wizard_run_test_button_uses_warning_color" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L282", - "weight": 1.0, - "source": "ui_test_pages_rationale_282", - "target": "ui_test_pages_test_wizard_run_preview_test_path_highlights", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_211", - "target": "ui_test_pages_test_wizard_run_preview_test_path_highlights" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L327", - "weight": 1.0, - "source": "ui_test_pages_rationale_327", - "target": "ui_test_pages_test_settings_nine_sections_includes_operators", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_256", - "target": "ui_test_pages_test_settings_nine_sections_includes_operators" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L340", - "weight": 1.0, - "source": "ui_test_pages_rationale_340", - "target": "ui_test_pages_test_settings_first_incomplete_returns_canonical_first", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_269", - "target": "ui_test_pages_test_settings_first_incomplete_returns_canonical_first" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L347", - "weight": 1.0, - "source": "ui_test_pages_rationale_347", - "target": "ui_test_pages_test_settings_first_incomplete_resolves_nas_remote", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_276", - "target": "ui_test_pages_test_settings_first_incomplete_resolves_nas_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_test_problems_filter_default_shows_hard_only", - "target": "ui_test_pages_sample_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_test_problems_filter_show_soft_when_chip_on", - "target": "ui_test_pages_sample_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_test_problems_filter_search_path_substring", - "target": "ui_test_pages_sample_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_test_problems_filter_scope_filters_by_equipment", - "target": "ui_test_pages_sample_findings" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L408", - "weight": 1.0, - "source": "ui_test_pages_rationale_408", - "target": "ui_test_pages_test_problems_filter_default_shows_hard_only", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_337", - "target": "ui_test_pages_test_problems_filter_default_shows_hard_only" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L436", - "weight": 1.0, - "source": "ui_test_pages_rationale_436", - "target": "ui_test_pages_test_problems_override_reason_min_length", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L365", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_365", - "target": "ui_test_pages_test_problems_override_reason_min_length" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L444", - "weight": 1.0, - "source": "ui_test_pages_rationale_444", - "target": "ui_test_pages_test_problems_override_reason_max_length", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L373", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_373", - "target": "ui_test_pages_test_problems_override_reason_max_length" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L459", - "weight": 1.0, - "source": "ui_test_pages_rationale_459", - "target": "ui_test_pages_test_problems_override_reason_trims_whitespace", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L388", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_388", - "target": "ui_test_pages_test_problems_override_reason_trims_whitespace" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L466", - "weight": 1.0, - "source": "ui_test_pages_rationale_466", - "target": "ui_test_pages_test_problems_near_limit_flag", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_395", - "target": "ui_test_pages_test_problems_near_limit_flag" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L490", - "weight": 1.0, - "source": "ui_test_pages_rationale_490", - "target": "ui_test_pages_test_problems_chip_definitions_match_spec", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L419", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_419", - "target": "ui_test_pages_test_problems_chip_definitions_match_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_deps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_fluent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_is_setup_ready_false_when_deps_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_is_setup_ready_false_when_config_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_is_setup_ready_false_when_lims_unreachable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_is_setup_ready_true_when_all_satisfied" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unset" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unavailable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_main_state_marks_incomplete_without_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_main_state_sources_problems_counts_from_audit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_main_state_always_on_orchestrator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L281", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_operation_counts_zero_without_controller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_missing_sections_when_deps_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_missing_sections_when_config_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L322", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_missing_sections_with_paths_unset" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_missing_sections_with_keyring_absent_reports_lims" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L336", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_missing_sections_empty_when_fully_configured" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L341", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L390", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_missing_sections_includes_nas_remote_when_remote_unavailable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L399", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_missing_sections_includes_nas_remote_when_remote_unset" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L407", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_missing_sections_excludes_nas_remote_when_remote_available" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L408", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_raisingvalidator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L414", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_okvalidator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_safe_audit_returns_empty_list_when_validator_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L426", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_safe_audit_swallows_validator_exception" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L434", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_safe_audit_forwards_validator_output" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L492", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_navspy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L500", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_persist_config_writes_and_applies_live" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L523", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_persist_config_returns_false_when_no_saver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L535", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_persist_config_returns_false_when_saver_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L552", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L575", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_persist_config_creates_staging_root_when_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L590", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L604", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L630", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L674", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_show_toast_positive_and_negative_never_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L681", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_show_toast_swallows_notification_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L700", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_recordingkeyringstore" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L721", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_credential_handlers_save_writes_under_lims_username" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L730", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_credential_handlers_clear_deletes_under_lims_username" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L739", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L748", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L819", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_apply_autostart_noop_when_deps_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L823", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_apply_autostart_noop_when_toggle_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L827", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_apply_autostart_invokes_toggle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L834", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_apply_autostart_returns_real_registration_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L843", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_apply_autostart_swallows_toggle_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L860", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_templates_dir_none_when_deps_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L864", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_templates_dir_none_when_config_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L868", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_templates_dir_none_when_unset" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L872", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_templates_dir_returns_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L877", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_equipment_ids_empty_without_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L881", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_equipment_ids_lists_configured_ids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L893", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_template_names_empty_without_templates_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L897", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_template_names_lists_summary_names" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L909", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_template_names_swallows_scan_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L929", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_projects_empty_without_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L933", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_projects_empty_without_catalogue_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L937", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_projects_empty_when_catalogue_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L942", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_projects_reads_offline_catalogue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L963", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_projects_swallows_read_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L980", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_fakelimsclient" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L996", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_projects_uses_live_lims" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1010", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1017", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1052", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_template_questions_map_empty_without_templates_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1056", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_template_questions_map_resolves_questions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1077", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_template_questions_map_skips_unresolvable_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_await_session_awaits_pending_task" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_await_session_without_pending_task" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_creation_navigates_home_on_done" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_creation_reports_failure_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_creation_swallows_create_exception" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_submit_project_toasts_when_controller_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_submit_project_toasts_without_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_submit_project_builds_request_and_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_submit_run_toasts_when_controller_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_submit_run_builds_request_and_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_main_query_omits_empty_params" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_main_query_url_encodes_special_chars" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_main_query_includes_file_q_density" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_main_query_omits_empty_phase4_params" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_main_query_encodes_file_path_and_search" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_classify_node_returns_none_for_empty_selection" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1251", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_classify_node_discriminates_kinds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_classify_node_rejects_unknown_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_metadata_payload_returns_empty_when_node_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1383", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1392", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_main_state_threads_selection_into_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1392", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_main_state_threads_file_search_density" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1413", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_selected_file_resolves_file_by_path_match" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1439", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_selected_file_none_for_empty_or_missing_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_selected_file_tombstone_omits_size" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1467", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_selected_file_folder_delegates_to_aggregate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_selected_folder_degrades_on_scan_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1522", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_refresh_selected_folder_primes_feed_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1536", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_refresh_selected_folder_noop_when_path_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1542", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_refresh_selected_folder_swallows_scan_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1408", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1416", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1430", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_in_os_darwin_invokes_open" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1439", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1455", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_clipboardspy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1463", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_uispy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1486", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1498", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1509", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1517", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1524", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1535", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_stubnassync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1559", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1572", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1579", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1586", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1598", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1605", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1688", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_stubtabstorage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1692", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1703", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1711", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1724", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1766", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1783", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1802", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1820", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1829", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1855", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1868", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1886", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1893", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1899", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1904", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_count_dir_children_filters_by_prefix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1913", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1924", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1940", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1956", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1969", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1951", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_dialogstub" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1966", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2010", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2017", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_nas_test_connection_unavailable_when_config_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2022", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_nas_test_connection_success_maps_latency" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2039", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_nas_test_connection_failure_maps_reason" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2049", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2060", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_nas_test_connection_swallows_probe_exception" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2075", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_setup_next_action_none_when_deps_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2079", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2086", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_setup_next_action_none_when_ready" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2092", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_setup_next_action_swallows_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_toggle_keep_local_no_writer_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_toggle_keep_local_writer_failure_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_file_context_action_keep_local_dispatches" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_in_os_win32_invokes_startfile" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_store_with_running_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_operation_rows_maps_panel_sessions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_operations_modal_no_controller_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2242", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_operations_modal_opens_with_controller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_operation_details_session_not_found_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_operation_details_renders_state_and_pending" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2287", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_resume_operation_no_pending_input_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_resume_operation_opens_input_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2355", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_input_required_dialog_cancel_routes_to_cancel_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2384", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_cancel_operation_no_controller_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_cancel_operation_routes_to_cancel_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2397", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2416", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2433", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_cancel_session_swallows_controller_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2449", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_cancel_session_back_button_closes_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2463", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_log_dialog_renders_row_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2491", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2507", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_consume_session_progress_early_return_without_progress" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2518", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2553", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_consume_session_progress_swallows_stream_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2571", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_close_dialog_none_is_noop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2575", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_close_dialog_calls_close" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2581", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_close_dialog_swallows_close_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2595", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_submit_run_toasts_without_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2606", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_render_run_wizard_builds_page" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2635", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_classify_node_skips_non_equipment_hierarchy_keys" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2642", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_metadata_payload_received_equipment_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2655", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_metadata_payload_unknown_kind_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2660", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_metadata_for_owned_equipment_projects_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2680", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2694", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2714", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2729", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_metadata_for_owned_equipment_no_match_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2752", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2770", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2799", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_template_questions_map_swallows_outer_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1", - "target": "tests_unit_ui_test_mount_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L425", - "weight": 1.0, - "source": "ui_test_mount_rationale_425", - "target": "tests_unit_ui_test_mount_py", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L596", - "weight": 1.0, - "source": "ui_test_mount_rationale_596", - "target": "tests_unit_ui_test_mount_py", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1683", - "weight": 1.0, - "source": "ui_test_mount_rationale_1683", - "target": "tests_unit_ui_test_mount_py", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_fakeui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_boomui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L445", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_staging_state_when_staging_root_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L460", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_staging_state_none_when_no_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L464", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_staging_state_returns_empty_rows_on_query_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L656", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_render_unavailable_renders_headline_and_subline" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L663", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_render_unavailable_swallows_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1544", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_drain_background" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1630", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1659", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1666", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2735", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2815", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_build_staging_state_query_failure_returns_empty_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L385", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_missing_sections_includes_nas_credentials_when_password_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_missing_sections_excludes_nas_credentials_when_password_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L763", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L779", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L793", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L806", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_mount_py", - "target": "ui_test_mount_test_nas_credential_handlers_tolerate_missing_keyring_store" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_config_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_lims_unreachable", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_true_when_all_satisfied", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unset", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unavailable", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_main_state_marks_incomplete_without_config", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L258", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_main_state_sources_problems_counts_from_audit", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_main_state_always_on_orchestrator", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_when_config_none", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_with_paths_unset", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_with_keyring_absent_reports_lims", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_empty_when_fully_configured", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_includes_nas_remote_when_remote_unavailable", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L400", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_includes_nas_remote_when_remote_unset", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L410", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_excludes_nas_remote_when_remote_available", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L423", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_safe_audit_returns_empty_list_when_validator_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L427", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_safe_audit_swallows_validator_exception", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L436", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_safe_audit_forwards_validator_output", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L511", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_writes_and_applies_live", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L527", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_returns_false_when_no_saver", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L544", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L564", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L582", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_creates_staging_root_when_set", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L596", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L641", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L723", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_credential_handlers_save_writes_under_lims_username", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L732", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_credential_handlers_clear_deletes_under_lims_username", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L742", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L752", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L824", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_apply_autostart_noop_when_toggle_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L829", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_apply_autostart_invokes_toggle", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L837", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_apply_autostart_returns_real_registration_state", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L851", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_apply_autostart_swallows_toggle_failure", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L865", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_templates_dir_none_when_config_none", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L869", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_templates_dir_none_when_unset", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L873", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_templates_dir_returns_path", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_equipment_ids_empty_without_config", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L882", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_equipment_ids_lists_configured_ids", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L894", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_names_empty_without_templates_dir", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L905", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_names_lists_summary_names", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L920", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_names_swallows_scan_failure", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L930", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_empty_without_config", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L934", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_empty_without_catalogue_path", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L938", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_empty_when_catalogue_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L952", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_reads_offline_catalogue", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L974", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_swallows_read_failure", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L998", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_uses_live_lims", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1012", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1028", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1053", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_questions_map_empty_without_templates_dir", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1073", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_questions_map_resolves_questions", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1093", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_project_toasts_when_controller_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_project_toasts_without_template", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_project_builds_request_and_runs", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_run_toasts_when_controller_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_run_builds_request_and_runs", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_returns_empty_when_node_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1373", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1388", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_main_state_threads_selection_into_state", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_main_state_threads_file_search_density", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1428", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_selected_file_resolves_file_by_path_match", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1442", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_selected_file_none_for_empty_or_missing_path", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1460", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_selected_file_tombstone_omits_size", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1484", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_selected_file_folder_delegates_to_aggregate", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1506", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_selected_folder_degrades_on_scan_failure", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1532", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_refresh_selected_folder_primes_feed_payload", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1539", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_refresh_selected_folder_noop_when_path_none", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1556", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_refresh_selected_folder_swallows_scan_failure", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1562", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1574", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1581", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_no_config_toasts_negative", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1592", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1600", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1616", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1706", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1718", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1755", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1778", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1797", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1811", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1823", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1844", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1864", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1933", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1949", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1962", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2012", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2018", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_unavailable_when_config_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2030", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_success_maps_latency", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2040", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_failure_maps_reason", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2055", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2065", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_swallows_probe_exception", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2081", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2088", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_setup_next_action_none_when_ready", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_setup_next_action_swallows_failure", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_toggle_keep_local_no_writer_toasts", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_toggle_keep_local_writer_failure_toasts", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_file_context_action_keep_local_dispatches", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_operations_modal_no_controller_toasts", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_cancel_operation_no_controller_toasts", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2478", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_log_dialog_renders_row_fields", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2598", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_run_toasts_without_template", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_render_run_wizard_builds_page", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2650", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_received_equipment_kind", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2656", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_unknown_kind_returns_empty", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2690", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2705", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2725", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2765", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2811", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_questions_map_swallows_outer_failure", - "target": "ui_test_mount_deps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_31", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_staging_state_when_staging_root_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L461", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_staging_state_none_when_no_config", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L467", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_staging_state_returns_empty_rows_on_query_failure", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1661", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1675", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2746", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2826", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_staging_state_query_failure_returns_empty_rows", - "target": "ui_test_mount_deps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_30", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_includes_nas_credentials_when_password_absent", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_excludes_nas_credentials_when_password_present", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L768", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L784", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L796", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L808", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_credential_handlers_tolerate_missing_keyring_store", - "target": "ui_test_mount_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_main_state_always_on_orchestrator", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_with_paths_unset", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_with_keyring_absent_reports_lims", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_empty_when_fully_configured", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L581", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_creates_staging_root_when_set", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L595", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L620", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L869", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_templates_dir_none_when_unset", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L873", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_templates_dir_returns_path", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L883", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_equipment_ids_lists_configured_ids", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L905", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_names_lists_summary_names", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L920", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_names_swallows_scan_failure", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L934", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_empty_without_catalogue_path", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L938", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_empty_when_catalogue_missing", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L952", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_reads_offline_catalogue", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L974", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_swallows_read_failure", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L998", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_uses_live_lims", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1012", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1029", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1073", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_questions_map_resolves_questions", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1093", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_questions_map_skips_unresolvable_template", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_project_toasts_without_template", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_project_builds_request_and_runs", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_run_builds_request_and_runs", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1303", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1372", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1387", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1484", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_selected_file_folder_delegates_to_aggregate", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1506", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_selected_folder_degrades_on_scan_failure", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1532", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_refresh_selected_folder_primes_feed_payload", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1556", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_refresh_selected_folder_swallows_scan_failure", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1562", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1574", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1592", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1600", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1616", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1864", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1888", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1895", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1933", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1949", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1962", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2598", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_run_toasts_without_template", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_render_run_wizard_builds_page", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2650", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_received_equipment_kind", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2656", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_unknown_kind_returns_empty", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2690", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2811", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_template_questions_map_swallows_outer_failure", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L449", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_staging_state_when_staging_root_missing", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L468", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_staging_state_returns_empty_rows_on_query_failure", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1675", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2746", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts", - "target": "ui_test_mount_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2826", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_staging_state_query_failure_returns_empty_rows", - "target": "ui_test_mount_config" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fluent", - "target": "ui_test_mount_fluent_props" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fluent", - "target": "ui_test_mount_fluent_style" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fluent", - "target": "ui_test_mount_fluent_classes" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fluent", - "target": "ui_test_mount_fluent_enter" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fluent", - "target": "ui_test_mount_fluent_exit" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1951", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogstub", - "target": "ui_test_mount_fluent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1988", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui_card", - "target": "ui_test_mount_fluent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1991", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui_row", - "target": "ui_test_mount_fluent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1995", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui_label", - "target": "ui_test_mount_fluent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1998", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui_icon", - "target": "ui_test_mount_fluent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2002", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui_button", - "target": "ui_test_mount_fluent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_81", - "target": "ui_test_mount_fluent" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "routers_browse_folderresponse" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakeui_card", - "target": "ui_test_mount_fluent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakeui_label", - "target": "ui_test_mount_fluent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_80", - "target": "ui_test_mount_fluent" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fluent", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakecontroller", - "target": "ui_test_mount_fakecontroller_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakecontroller", - "target": "ui_test_mount_fakecontroller_status" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakecontroller", - "target": "ui_test_mount_fakecontroller_create_project" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakecontroller", - "target": "ui_test_mount_fakecontroller_create_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_await_session_awaits_pending_task", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_await_session_without_pending_task", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_creation_navigates_home_on_done", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_creation_reports_failure_state", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_creation_swallows_create_exception", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_project_toasts_without_template", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_project_builds_request_and_runs", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_run_builds_request_and_runs", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2597", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_run_toasts_without_template", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L100", - "weight": 1.0, - "source": "ui_test_mount_rationale_100", - "target": "ui_test_mount_fakecontroller", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "routers_browse_folderresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_130", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_129", - "target": "ui_test_mount_fakecontroller" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakecontroller", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakecontroller_create_run", - "target": "ui_test_mount_fakecontroller_create_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L155", - "weight": 1.0, - "source": "ui_test_mount_rationale_155", - "target": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_185", - "target": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_184", - "target": "ui_test_mount_test_is_setup_ready_false_when_keyring_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_lims_unreachable", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_true_when_all_satisfied", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unset", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L183", - "weight": 1.0, - "source": "ui_test_mount_rationale_183", - "target": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unset", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_213", - "target": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unset" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_212", - "target": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unset" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unavailable", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L193", - "weight": 1.0, - "source": "ui_test_mount_rationale_193", - "target": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unavailable", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_223", - "target": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unavailable" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_222", - "target": "ui_test_mount_test_is_setup_ready_false_when_nas_remote_unavailable" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L204", - "weight": 1.0, - "source": "ui_test_mount_rationale_204", - "target": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_234", - "target": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_233", - "target": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_226", - "target": "ui_test_mount_test_is_setup_ready_true_with_offline_catalogue_lims" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L241", - "weight": 1.0, - "source": "ui_test_mount_rationale_241", - "target": "ui_test_mount_test_build_main_state_always_on_orchestrator", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_271", - "target": "ui_test_mount_test_build_main_state_always_on_orchestrator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_270", - "target": "ui_test_mount_test_build_main_state_always_on_orchestrator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L264", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_264", - "target": "ui_test_mount_test_build_main_state_always_on_orchestrator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", - "target": "ui_test_mount_dialogstub_open" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L284", - "weight": 1.0, - "source": "ui_test_mount_test_operation_counts_distinguishes_panel_active_and_input_required", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L392", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_includes_nas_remote_when_remote_unavailable", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_includes_nas_remote_when_remote_unset", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L411", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_excludes_nas_remote_when_remote_available", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2012", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2030", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_success_maps_latency", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2041", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_failure_maps_reason", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2055", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2065", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_test_connection_swallows_probe_exception", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2081", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2088", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_setup_next_action_none_when_ready", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_setup_next_action_swallows_failure", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2725", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L319", - "weight": 1.0, - "source": "ui_test_mount_rationale_319", - "target": "ui_test_mount_nas_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 1.0, - "source": "ui_test_mount_nas_config", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L365", - "weight": 1.0, - "source": "ui_test_mount_nas_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L368", - "weight": 1.0, - "source": "ui_test_mount_nas_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L381", - "weight": 1.0, - "source": "ui_test_mount_nas_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L386", - "weight": 1.0, - "source": "ui_test_mount_nas_config", - "target": "config_models_nasconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_349", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_348", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L387", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_includes_nas_credentials_when_password_absent", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_missing_sections_excludes_nas_credentials_when_password_present", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_342", - "target": "ui_test_mount_nas_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L373", - "weight": 1.0, - "source": "ui_test_mount_nas_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L409", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_raisingvalidator", - "target": "ui_test_mount_raisingvalidator_audit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L427", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_safe_audit_swallows_validator_exception", - "target": "ui_test_mount_raisingvalidator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "routers_browse_folderresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_raisingvalidator", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L415", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_okvalidator", - "target": "ui_test_mount_okvalidator_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_okvalidator", - "target": "ui_test_mount_okvalidator_audit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L436", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_safe_audit_forwards_validator_output", - "target": "ui_test_mount_okvalidator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "routers_browse_folderresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_okvalidator", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L495", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_navspy", - "target": "ui_test_mount_navspy_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L507", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_writes_and_applies_live", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L524", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_returns_false_when_no_saver", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L536", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_returns_false_when_saver_raises", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L556", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_warns_when_saver_returns_awaitable", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L584", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_creates_staging_root_when_set", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L598", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L623", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_creation_navigates_home_on_done", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_creation_reports_failure_state", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_creation_swallows_create_exception", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_project_toasts_when_controller_missing", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_project_toasts_without_template", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_project_builds_request_and_runs", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_run_toasts_when_controller_missing", - "target": "ui_test_mount_navspy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_run_builds_request_and_runs", - "target": "ui_test_mount_navspy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L438", - "weight": 1.0, - "source": "ui_test_mount_rationale_438", - "target": "ui_test_mount_navspy", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "routers_browse_folderresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L508", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_508", - "target": "ui_test_mount_navspy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L507", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_507", - "target": "ui_test_mount_navspy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_493", - "target": "ui_test_mount_navspy" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_navspy", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L446", - "weight": 1.0, - "source": "ui_test_mount_rationale_446", - "target": "ui_test_mount_test_persist_config_writes_and_applies_live", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L516", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_516", - "target": "ui_test_mount_test_persist_config_writes_and_applies_live" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L515", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_515", - "target": "ui_test_mount_test_persist_config_writes_and_applies_live" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L501", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_501", - "target": "ui_test_mount_test_persist_config_writes_and_applies_live" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L523", - "weight": 1.0, - "source": "ui_test_mount_rationale_523", - "target": "ui_test_mount_test_persist_config_creates_staging_root_when_set", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_593", - "target": "ui_test_mount_test_persist_config_creates_staging_root_when_set" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L592", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_592", - "target": "ui_test_mount_test_persist_config_creates_staging_root_when_set" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L578", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_578", - "target": "ui_test_mount_test_persist_config_creates_staging_root_when_set" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L538", - "weight": 1.0, - "source": "ui_test_mount_rationale_538", - "target": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L608", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_608", - "target": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_607", - "target": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_593", - "target": "ui_test_mount_test_persist_config_does_not_create_staging_root_when_blank" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L552", - "weight": 1.0, - "source": "ui_test_mount_rationale_552", - "target": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L622", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_622", - "target": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_621", - "target": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_607", - "target": "ui_test_mount_test_persist_config_staging_dir_failure_is_non_fatal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L579", - "weight": 1.0, - "source": "ui_test_mount_rationale_579", - "target": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_649", - "target": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L648", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_648", - "target": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L634", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_634", - "target": "ui_test_mount_test_apply_live_config_falls_back_to_setting_config" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L703", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_recordingkeyringstore", - "target": "ui_test_mount_recordingkeyringstore_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L708", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_recordingkeyringstore", - "target": "ui_test_mount_recordingkeyringstore_set_password" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L714", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_recordingkeyringstore", - "target": "ui_test_mount_recordingkeyringstore_delete_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L722", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_credential_handlers_save_writes_under_lims_username", - "target": "ui_test_mount_recordingkeyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L731", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_credential_handlers_clear_deletes_under_lims_username", - "target": "ui_test_mount_recordingkeyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L751", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", - "target": "ui_test_mount_recordingkeyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L632", - "weight": 1.0, - "source": "ui_test_mount_rationale_632", - "target": "ui_test_mount_recordingkeyringstore", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "routers_browse_folderresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L716", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_716", - "target": "ui_test_mount_recordingkeyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L715", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_715", - "target": "ui_test_mount_recordingkeyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L766", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", - "target": "ui_test_mount_recordingkeyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L782", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", - "target": "ui_test_mount_recordingkeyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L794", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_nas_credential_handlers_isolate_per_equipment_id", - "target": "ui_test_mount_recordingkeyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L701", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_701", - "target": "ui_test_mount_recordingkeyringstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_recordingkeyringstore", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L671", - "weight": 1.0, - "source": "ui_test_mount_rationale_671", - "target": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L755", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_755", - "target": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L754", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_754", - "target": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L740", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_740", - "target": "ui_test_mount_test_lims_credential_handlers_tolerate_missing_keyring_store" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L680", - "weight": 1.0, - "source": "ui_test_mount_rationale_680", - "target": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L764", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_764", - "target": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L763", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_763", - "target": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L749", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_749", - "target": "ui_test_mount_test_lims_credential_handlers_swallow_backend_errors" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L983", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakelimsclient", - "target": "ui_test_mount_fakelimsclient_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L988", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakelimsclient", - "target": "ui_test_mount_fakelimsclient_list_projects" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L997", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_uses_live_lims", - "target": "ui_test_mount_fakelimsclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1011", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_skips_live_lims_when_unreachable", - "target": "ui_test_mount_fakelimsclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1027", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_lims_projects_falls_back_to_catalogue_on_live_failure", - "target": "ui_test_mount_fakelimsclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L856", - "weight": 1.0, - "source": "ui_test_mount_rationale_856", - "target": "ui_test_mount_fakelimsclient", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "routers_browse_folderresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L940", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_940", - "target": "ui_test_mount_fakelimsclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L939", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_939", - "target": "ui_test_mount_fakelimsclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L981", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_981", - "target": "ui_test_mount_fakelimsclient" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakelimsclient", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1102", - "weight": 1.0, - "source": "ui_test_mount_rationale_1102", - "target": "ui_test_mount_test_build_main_query_omits_empty_params", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1186", - "target": "ui_test_mount_test_build_main_query_omits_empty_params" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1185", - "target": "ui_test_mount_test_build_main_query_omits_empty_params" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1227", - "target": "ui_test_mount_test_build_main_query_omits_empty_params" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1110", - "weight": 1.0, - "source": "ui_test_mount_rationale_1110", - "target": "ui_test_mount_test_build_main_query_url_encodes_special_chars", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1194", - "target": "ui_test_mount_test_build_main_query_url_encodes_special_chars" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1193", - "target": "ui_test_mount_test_build_main_query_url_encodes_special_chars" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1235", - "target": "ui_test_mount_test_build_main_query_url_encodes_special_chars" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1122", - "weight": 1.0, - "source": "ui_test_mount_rationale_1122", - "target": "ui_test_mount_test_build_main_query_includes_file_q_density", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1206", - "target": "ui_test_mount_test_build_main_query_includes_file_q_density" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1131", - "weight": 1.0, - "source": "ui_test_mount_rationale_1131", - "target": "ui_test_mount_test_build_main_query_omits_empty_phase4_params", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1215", - "target": "ui_test_mount_test_build_main_query_omits_empty_phase4_params" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1217", - "target": "ui_test_mount_test_build_main_query_omits_empty_phase4_params" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1136", - "weight": 1.0, - "source": "ui_test_mount_rationale_1136", - "target": "ui_test_mount_test_build_main_query_encodes_file_path_and_search", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1220", - "target": "ui_test_mount_test_build_main_query_encodes_file_path_and_search" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1222", - "target": "ui_test_mount_test_build_main_query_encodes_file_path_and_search" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1150", - "weight": 1.0, - "source": "ui_test_mount_rationale_1150", - "target": "ui_test_mount_test_classify_node_discriminates_kinds", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1234", - "target": "ui_test_mount_test_classify_node_discriminates_kinds" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1236", - "target": "ui_test_mount_test_classify_node_discriminates_kinds" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1211", - "target": "ui_test_mount_test_classify_node_discriminates_kinds" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1210", - "target": "ui_test_mount_test_classify_node_discriminates_kinds" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1252", - "target": "ui_test_mount_test_classify_node_discriminates_kinds" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1171", - "weight": 1.0, - "source": "ui_test_mount_rationale_1171", - "target": "ui_test_mount_test_classify_node_rejects_unknown_root", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1255", - "target": "ui_test_mount_test_classify_node_rejects_unknown_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1257", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1257", - "target": "ui_test_mount_test_classify_node_rejects_unknown_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1232", - "target": "ui_test_mount_test_classify_node_rejects_unknown_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1231", - "target": "ui_test_mount_test_classify_node_rejects_unknown_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1273", - "target": "ui_test_mount_test_classify_node_rejects_unknown_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1193", - "weight": 1.0, - "source": "ui_test_mount_rationale_1193", - "target": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1277", - "target": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1279", - "target": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1254", - "target": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1253", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1253", - "target": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1295", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1295", - "target": "ui_test_mount_test_build_metadata_payload_owned_equipment_reads_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1211", - "weight": 1.0, - "source": "ui_test_mount_rationale_1211", - "target": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1295", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1295", - "target": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1297", - "target": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1272", - "target": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1271", - "target": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1313", - "target": "ui_test_mount_test_build_metadata_payload_unknown_equipment_id_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1218", - "weight": 1.0, - "source": "ui_test_mount_rationale_1218", - "target": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1302", - "target": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1304", - "target": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1279", - "target": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1278", - "target": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1320", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1320", - "target": "ui_test_mount_test_build_metadata_payload_project_scans_run_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1237", - "weight": 1.0, - "source": "ui_test_mount_rationale_1237", - "target": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1355", - "weight": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1361", - "weight": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1364", - "weight": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1368", - "weight": 1.0, - "source": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json", - "target": "api_schemas_pathsblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1321", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1321", - "target": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1323", - "target": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1298", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1298", - "target": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1297", - "target": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1339", - "target": "ui_test_mount_test_build_metadata_payload_run_parses_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1282", - "weight": 1.0, - "source": "ui_test_mount_rationale_1282", - "target": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1366", - "target": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1368", - "target": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1343", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1343", - "target": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1342", - "target": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1384", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1384", - "target": "ui_test_mount_test_build_metadata_payload_run_missing_creation_returns_path_only" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1291", - "weight": 1.0, - "source": "ui_test_mount_rationale_1291", - "target": "ui_test_mount_test_build_main_state_threads_selection_into_state", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1375", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1375", - "target": "ui_test_mount_test_build_main_state_threads_selection_into_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1377", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1377", - "target": "ui_test_mount_test_build_main_state_threads_selection_into_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1352", - "target": "ui_test_mount_test_build_main_state_threads_selection_into_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1351", - "target": "ui_test_mount_test_build_main_state_threads_selection_into_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1393", - "target": "ui_test_mount_test_build_main_state_threads_selection_into_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1307", - "weight": 1.0, - "source": "ui_test_mount_rationale_1307", - "target": "ui_test_mount_test_build_main_state_threads_file_search_density", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1391", - "target": "ui_test_mount_test_build_main_state_threads_file_search_density" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1393", - "target": "ui_test_mount_test_build_main_state_threads_file_search_density" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1328", - "weight": 1.0, - "source": "ui_test_mount_rationale_1328", - "target": "ui_test_mount_test_build_selected_file_resolves_file_by_path_match", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1418", - "weight": 1.0, - "source": "ui_test_mount_test_build_selected_file_resolves_file_by_path_match", - "target": "components_file_list_filelistentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1433", - "weight": 1.0, - "source": "ui_test_mount_test_build_selected_file_resolves_file_by_path_match", - "target": "pages_staging_format_bytes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1412", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1412", - "target": "ui_test_mount_test_build_selected_file_resolves_file_by_path_match" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1414", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1414", - "target": "ui_test_mount_test_build_selected_file_resolves_file_by_path_match" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1354", - "weight": 1.0, - "source": "ui_test_mount_rationale_1354", - "target": "ui_test_mount_test_build_selected_file_none_for_empty_or_missing_path", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1441", - "weight": 1.0, - "source": "ui_test_mount_test_build_selected_file_none_for_empty_or_missing_path", - "target": "components_file_list_filelistentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1438", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1438", - "target": "ui_test_mount_test_build_selected_file_none_for_empty_or_missing_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1440", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1440", - "target": "ui_test_mount_test_build_selected_file_none_for_empty_or_missing_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1363", - "weight": 1.0, - "source": "ui_test_mount_rationale_1363", - "target": "ui_test_mount_test_build_selected_file_tombstone_omits_size", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1451", - "weight": 1.0, - "source": "ui_test_mount_test_build_selected_file_tombstone_omits_size", - "target": "components_file_list_filelistentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1447", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1447", - "target": "ui_test_mount_test_build_selected_file_tombstone_omits_size" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1449", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1449", - "target": "ui_test_mount_test_build_selected_file_tombstone_omits_size" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1384", - "weight": 1.0, - "source": "ui_test_mount_rationale_1384", - "target": "ui_test_mount_test_build_selected_file_folder_delegates_to_aggregate", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1483", - "weight": 1.0, - "source": "ui_test_mount_test_build_selected_file_folder_delegates_to_aggregate", - "target": "components_file_list_filelistentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1468", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1468", - "target": "ui_test_mount_test_build_selected_file_folder_delegates_to_aggregate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1470", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1470", - "target": "ui_test_mount_test_build_selected_file_folder_delegates_to_aggregate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1411", - "weight": 1.0, - "source": "ui_test_mount_rationale_1411", - "target": "ui_test_mount_test_build_selected_folder_degrades_on_scan_failure", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1495", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1495", - "target": "ui_test_mount_test_build_selected_folder_degrades_on_scan_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1497", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1497", - "target": "ui_test_mount_test_build_selected_folder_degrades_on_scan_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1439", - "weight": 1.0, - "source": "ui_test_mount_rationale_1439", - "target": "ui_test_mount_test_refresh_selected_folder_primes_feed_payload", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1523", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1523", - "target": "ui_test_mount_test_refresh_selected_folder_primes_feed_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1525", - "target": "ui_test_mount_test_refresh_selected_folder_primes_feed_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1457", - "weight": 1.0, - "source": "ui_test_mount_rationale_1457", - "target": "ui_test_mount_test_refresh_selected_folder_noop_when_path_none", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1541", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1541", - "target": "ui_test_mount_test_refresh_selected_folder_noop_when_path_none" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1535", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1535", - "target": "ui_test_mount_test_refresh_selected_folder_noop_when_path_none" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1537", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1537", - "target": "ui_test_mount_test_refresh_selected_folder_noop_when_path_none" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1465", - "weight": 1.0, - "source": "ui_test_mount_rationale_1465", - "target": "ui_test_mount_test_refresh_selected_folder_swallows_scan_failure", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1549", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1549", - "target": "ui_test_mount_test_refresh_selected_folder_swallows_scan_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1543", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1543", - "target": "ui_test_mount_test_refresh_selected_folder_swallows_scan_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1545", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1545", - "target": "ui_test_mount_test_refresh_selected_folder_swallows_scan_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1484", - "weight": 1.0, - "source": "ui_test_mount_rationale_1484", - "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1568", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1568", - "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1562", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1562", - "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1564", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1564", - "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1395", - "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1370", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1370", - "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1369", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1369", - "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1411", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1411", - "target": "ui_test_mount_test_open_in_os_returns_false_on_unhandled_platform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1490", - "weight": 1.0, - "source": "ui_test_mount_rationale_1490", - "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1574", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1574", - "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1568", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1568", - "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1570", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1570", - "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1401", - "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1376", - "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1375", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1375", - "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1417", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1417", - "target": "ui_test_mount_test_open_in_os_linux_invokes_xdg_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1504", - "weight": 1.0, - "source": "ui_test_mount_rationale_1504", - "target": "ui_test_mount_test_open_in_os_darwin_invokes_open", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1588", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1588", - "target": "ui_test_mount_test_open_in_os_darwin_invokes_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1582", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1582", - "target": "ui_test_mount_test_open_in_os_darwin_invokes_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1584", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1584", - "target": "ui_test_mount_test_open_in_os_darwin_invokes_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1415", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1415", - "target": "ui_test_mount_test_open_in_os_darwin_invokes_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1390", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1390", - "target": "ui_test_mount_test_open_in_os_darwin_invokes_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1389", - "target": "ui_test_mount_test_open_in_os_darwin_invokes_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1431", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1431", - "target": "ui_test_mount_test_open_in_os_darwin_invokes_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1513", - "weight": 1.0, - "source": "ui_test_mount_rationale_1513", - "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1597", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1597", - "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1591", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1591", - "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1593", - "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1424", - "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1399", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1399", - "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1398", - "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1440", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1440", - "target": "ui_test_mount_test_open_in_os_returns_false_when_popen_raises" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1456", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_clipboardspy", - "target": "ui_test_mount_clipboardspy_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_clipboardspy", - "target": "ui_test_mount_clipboardspy_write" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1468", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_uispy_init", - "target": "ui_test_mount_clipboardspy" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "routers_browse_folderresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_clipboardspy", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_uispy", - "target": "ui_test_mount_uispy_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_uispy", - "target": "ui_test_mount_uispy_getattr" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1492", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1503", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1511", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1519", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_file_context_action_unknown_action_no_raise", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1526", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_file_context_action_empty_path_toasts_negative", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1563", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1575", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1582", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_no_config_toasts_negative", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1601", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1617", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1822", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1843", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1934", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1950", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1963", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1978", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_file_context_action_clipboard_failure_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_toggle_keep_local_no_writer_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_toggle_keep_local_writer_failure_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_file_context_action_keep_local_dispatches", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_operations_modal_no_controller_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_operations_modal_opens_with_controller", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_operation_details_session_not_found_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2292", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_resume_operation_no_pending_input_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_resume_operation_opens_input_dialog", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2346", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2373", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_input_required_dialog_cancel_routes_to_cancel_session", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2385", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_cancel_operation_no_controller_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_cancel_operation_routes_to_cancel_session", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2515", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_consume_session_progress_early_return_without_progress", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2544", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2567", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_consume_session_progress_swallows_stream_failure", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2600", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_submit_run_toasts_without_template", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2622", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_render_run_wizard_builds_page", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2763", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2792", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure", - "target": "ui_test_mount_uispy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1537", - "weight": 1.0, - "source": "ui_test_mount_rationale_1537", - "target": "ui_test_mount_uispy", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "routers_browse_folderresponse" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1650", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1662", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1676", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception", - "target": "ui_test_mount_uispy" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2746", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts", - "target": "ui_test_mount_uispy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1621", - "target": "ui_test_mount_uispy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1615", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1615", - "target": "ui_test_mount_uispy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1617", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1617", - "target": "ui_test_mount_uispy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1448", - "target": "ui_test_mount_uispy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1423", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1423", - "target": "ui_test_mount_uispy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1422", - "target": "ui_test_mount_uispy" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1464", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1464", - "target": "ui_test_mount_uispy" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_uispy", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1562", - "weight": 1.0, - "source": "ui_test_mount_rationale_1562", - "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1646", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1646", - "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1640", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1640", - "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1642", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1642", - "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1473", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1473", - "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1448", - "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1447", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1447", - "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1489", - "target": "ui_test_mount_test_file_context_action_open_in_os_dispatches_to_helper" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1574", - "weight": 1.0, - "source": "ui_test_mount_rationale_1574", - "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1658", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1658", - "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1652", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1652", - "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1654", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1654", - "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1485", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1485", - "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1460", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1460", - "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1459", - "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1501", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1501", - "target": "ui_test_mount_test_file_context_action_open_in_os_failure_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1583", - "weight": 1.0, - "source": "ui_test_mount_rationale_1583", - "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1667", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1667", - "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1661", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1661", - "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1663", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1663", - "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1494", - "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1469", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1469", - "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1468", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1468", - "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1510", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1510", - "target": "ui_test_mount_test_file_context_action_copy_path_writes_clipboard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1591", - "weight": 1.0, - "source": "ui_test_mount_rationale_1591", - "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1675", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1675", - "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1669", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1669", - "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1671", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1671", - "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1502", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1502", - "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1477", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1477", - "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1476", - "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1518", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1518", - "target": "ui_test_mount_test_file_context_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1598", - "weight": 1.0, - "source": "ui_test_mount_rationale_1598", - "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1682", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1682", - "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1676", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1676", - "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1678", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1678", - "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1509", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1509", - "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1484", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1484", - "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1483", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1483", - "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1525", - "target": "ui_test_mount_test_file_context_action_empty_path_toasts_negative" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1536", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_stubnassync", - "target": "ui_test_mount_stubnassync_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1539", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_stubnassync", - "target": "ui_test_mount_stubnassync_enqueue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1561", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", - "target": "ui_test_mount_stubnassync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "routers_browse_folderresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubnassync", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1618", - "weight": 1.0, - "source": "ui_test_mount_rationale_1618", - "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1717", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1717", - "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1711", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1711", - "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1713", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1713", - "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1544", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1544", - "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1519", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1519", - "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1518", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1518", - "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1560", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1560", - "target": "ui_test_mount_test_run_staging_action_force_sync_invokes_nas_sync_enqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1631", - "weight": 1.0, - "source": "ui_test_mount_rationale_1631", - "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1730", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1730", - "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1724", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1724", - "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1726", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1726", - "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1557", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1557", - "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1532", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1532", - "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1531", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1531", - "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1573", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1573", - "target": "ui_test_mount_test_run_staging_action_force_sync_missing_nas_sync_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1638", - "weight": 1.0, - "source": "ui_test_mount_rationale_1638", - "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1737", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1737", - "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1731", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1731", - "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1733", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1733", - "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1564", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1564", - "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1539", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1539", - "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1538", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1538", - "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1580", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1580", - "target": "ui_test_mount_test_run_staging_action_no_config_toasts_negative" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1647", - "weight": 1.0, - "source": "ui_test_mount_rationale_1647", - "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1746", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1746", - "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1740", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1740", - "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1742", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1742", - "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1573", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1573", - "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1548", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1548", - "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1547", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1547", - "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1589", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1589", - "target": "ui_test_mount_test_run_staging_action_view_log_invokes_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1657", - "weight": 1.0, - "source": "ui_test_mount_rationale_1657", - "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1756", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1756", - "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1750", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1750", - "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1752", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1752", - "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1583", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1583", - "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1558", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1558", - "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1557", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1557", - "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1599", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1599", - "target": "ui_test_mount_test_run_staging_action_unknown_action_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1666", - "weight": 1.0, - "source": "ui_test_mount_rationale_1666", - "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1765", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1765", - "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1759", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1759", - "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1761", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1761", - "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1592", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1592", - "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1567", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1567", - "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1566", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1566", - "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1608", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1608", - "target": "ui_test_mount_test_run_staging_action_clear_verified_invokes_clear" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1688", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_stubtabstorage", - "target": "dict" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "routers_browse_folderresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubtabstorage", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L436", - "weight": 1.0, - "source": "validator_test_engine_creation_test_creation_validation_input_defaults", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L49", - "weight": 1.0, - "source": "cache_test_creation_writer_build_minimal_payload", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L98", - "weight": 1.0, - "source": "api_test_sessions_stubcontroller_resume", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L55", - "weight": 1.0, - "source": "api_test_schemas_minimal_creation_json", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L225", - "weight": 1.0, - "source": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L101", - "weight": 1.0, - "source": "plugins_test_host_isolation_ctx", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L109", - "weight": 1.0, - "source": "fixtures_mock_lims_make_mock_lims_app", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1825", - "weight": 1.0, - "source": "ui_mount_submit_project", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1857", - "weight": 1.0, - "source": "ui_mount_submit_run", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L124", - "weight": 1.0, - "source": "components_sync_status_icon_sync_status_props", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L480", - "weight": 1.0, - "source": "pages_main_render_right_pane", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L259", - "weight": 1.0, - "source": "validator_engine_validator_init", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L292", - "weight": 1.0, - "source": "validator_engine_validator_reconfigure", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L352", - "weight": 1.0, - "source": "validator_engine_validator_validate_creation", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L601", - "weight": 1.0, - "source": "plugins_host_pluginhost_run_one", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L121", - "weight": 1.0, - "source": "plugins_worker_build_context", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L302", - "weight": 1.0, - "source": "plugins_worker_serialize_change", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L430", - "weight": 1.0, - "source": "readme_generator_system_fields_dict", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L451", - "weight": 1.0, - "source": "readme_generator_build_front_matter", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L486", - "weight": 1.0, - "source": "readme_generator_build_readme_fields", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L347", - "weight": 1.0, - "source": "controller_creation_creationcontroller_resume", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L827", - "weight": 1.0, - "source": "controller_creation_creationcontroller_render", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L855", - "weight": 1.0, - "source": "controller_creation_creationcontroller_plugin_pass", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L998", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1151", - "weight": 1.0, - "source": "controller_creation_creationcontroller_post_validate", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1228", - "weight": 1.0, - "source": "controller_creation_format_error", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L214", - "weight": 1.0, - "source": "controller_metadata_assembly_build_creation_json", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L377", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L134", - "weight": 1.0, - "source": "api_errors_build_error_envelope", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L185", - "weight": 1.0, - "source": "api_errors_exlab_validation_handler", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L288", - "weight": 1.0, - "source": "routers_sessions_build_project_request", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L306", - "weight": 1.0, - "source": "routers_sessions_build_run_request", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L396", - "weight": 1.0, - "source": "config_test_models_test_sftp_transport_rejects_missing_host", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L403", - "weight": 1.0, - "source": "config_test_models_test_sftp_transport_rejects_empty_user", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L410", - "weight": 1.0, - "source": "config_test_models_test_sftp_transport_rejects_empty_remote_path", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L417", - "weight": 1.0, - "source": "config_test_models_test_sftp_transport_rejects_out_of_range_port", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L424", - "weight": 1.0, - "source": "config_test_models_test_sftp_transport_rejects_wrong_type_tag", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L444", - "weight": 1.0, - "source": "config_test_models_test_smb_transport_accepts_optional_domain_and_subpath", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L453", - "weight": 1.0, - "source": "config_test_models_test_smb_transport_rejects_missing_share", - "target": "dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/_run.py", - "source_location": "L60", - "weight": 1.0, - "source": "transports_run_run_subprocess", - "target": "dict" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1695", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_stubapp", - "target": "ui_test_mount_stubapp_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1705", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1717", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1733", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1699", - "weight": 1.0, - "source": "ui_test_mount_rationale_1699", - "target": "ui_test_mount_stubapp", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "routers_browse_folderresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1850", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1850", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1844", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1844", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1846", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1846", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1677", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1677", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1652", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1652", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1651", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1651", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1693", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1693", - "target": "ui_test_mount_stubapp" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_stubapp", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1710", - "weight": 1.0, - "source": "ui_test_mount_rationale_1710", - "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1861", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1861", - "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1855", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1855", - "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1857", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1857", - "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1688", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1688", - "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1663", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1663", - "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1662", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1662", - "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1704", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1704", - "target": "ui_test_mount_test_drive_folder_feed_returns_empty_when_no_selection" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1674", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", - "target": "ui_test_mount_dialogstub_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1720", - "weight": 1.0, - "source": "ui_test_mount_rationale_1720", - "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1871", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1871", - "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1865", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1865", - "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1867", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1867", - "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1698", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1698", - "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1673", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1673", - "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1672", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1672", - "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1714", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1714", - "target": "ui_test_mount_test_drive_folder_feed_creates_feed_on_first_render" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1690", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", - "target": "ui_test_mount_dialogstub_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1733", - "weight": 1.0, - "source": "ui_test_mount_rationale_1733", - "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1735", - "weight": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", - "target": "routers_browse_folderresponse" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1738", - "weight": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries", - "target": "routers_browse_folderentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1884", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1884", - "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1878", - "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1880", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1880", - "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1711", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1711", - "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1686", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1686", - "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1685", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1685", - "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1727", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1727", - "target": "ui_test_mount_test_drive_folder_feed_converts_cached_payload_to_entries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1775", - "weight": 1.0, - "source": "ui_test_mount_rationale_1775", - "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1926", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1926", - "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1920", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1920", - "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1922", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1922", - "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1753", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1753", - "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1728", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1728", - "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1727", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1727", - "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1769", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1769", - "target": "ui_test_mount_test_fetch_folder_async_skips_when_coord_says_skip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1792", - "weight": 1.0, - "source": "ui_test_mount_rationale_1792", - "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1943", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1943", - "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1937", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1937", - "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1939", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1939", - "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1770", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1770", - "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1745", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1745", - "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1744", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1744", - "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1786", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1786", - "target": "ui_test_mount_test_fetch_folder_async_records_refresh_on_success" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1811", - "weight": 1.0, - "source": "ui_test_mount_rationale_1811", - "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1962", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1962", - "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1956", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1956", - "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1958", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1958", - "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1789", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1789", - "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1764", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1764", - "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1763", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1763", - "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1805", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1805", - "target": "ui_test_mount_test_fetch_folder_async_swallows_helper_exceptions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1827", - "weight": 1.0, - "source": "ui_test_mount_rationale_1827", - "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1978", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1978", - "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1972", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1972", - "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1974", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1974", - "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1805", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1805", - "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1780", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1780", - "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1779", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1779", - "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1821", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1821", - "target": "ui_test_mount_test_open_log_dialog_no_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1836", - "weight": 1.0, - "source": "ui_test_mount_rationale_1836", - "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1987", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1987", - "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1981", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1981", - "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1983", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1983", - "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1814", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1814", - "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1789", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1789", - "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1788", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1788", - "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1830", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1830", - "target": "ui_test_mount_test_open_log_dialog_with_queue_job_renders_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1864", - "weight": 1.0, - "source": "ui_test_mount_rationale_1864", - "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2015", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2015", - "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2009", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2009", - "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2011", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2011", - "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1842", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1842", - "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1817", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1817", - "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1816", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1816", - "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1858", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1858", - "target": "ui_test_mount_test_build_metadata_payload_returns_empty_on_builder_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1877", - "weight": 1.0, - "source": "ui_test_mount_rationale_1877", - "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2028", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2028", - "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2022", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2022", - "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2024", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2024", - "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1855", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1855", - "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1830", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1830", - "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1829", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1829", - "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1871", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1871", - "target": "ui_test_mount_test_metadata_for_relay_equipment_emits_id_label_source_host" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1893", - "weight": 1.0, - "source": "ui_test_mount_rationale_1893", - "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2044", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2044", - "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2038", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2038", - "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2040", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2040", - "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1871", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1871", - "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1846", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1846", - "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1845", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1845", - "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1887", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1887", - "target": "ui_test_mount_test_metadata_for_relay_equipment_unknown_id_falls_back" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1900", - "weight": 1.0, - "source": "ui_test_mount_rationale_1900", - "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2051", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2051", - "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2045", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2045", - "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2047", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2047", - "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1878", - "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1853", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1853", - "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1852", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1852", - "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1894", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1894", - "target": "ui_test_mount_test_metadata_for_project_returns_empty_for_single_segment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1906", - "weight": 1.0, - "source": "ui_test_mount_rationale_1906", - "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2057", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2057", - "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2051", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2051", - "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2053", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2053", - "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1884", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1884", - "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1859", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1859", - "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1858", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1858", - "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1900", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1900", - "target": "ui_test_mount_test_count_dir_children_returns_zero_for_missing_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1911", - "weight": 1.0, - "source": "ui_test_mount_rationale_1911", - "target": "ui_test_mount_test_count_dir_children_filters_by_prefix", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2062", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2062", - "target": "ui_test_mount_test_count_dir_children_filters_by_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2056", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2056", - "target": "ui_test_mount_test_count_dir_children_filters_by_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2058", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2058", - "target": "ui_test_mount_test_count_dir_children_filters_by_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1889", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1889", - "target": "ui_test_mount_test_count_dir_children_filters_by_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1864", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1864", - "target": "ui_test_mount_test_count_dir_children_filters_by_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1863", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1863", - "target": "ui_test_mount_test_count_dir_children_filters_by_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1905", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1905", - "target": "ui_test_mount_test_count_dir_children_filters_by_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1920", - "weight": 1.0, - "source": "ui_test_mount_rationale_1920", - "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2071", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2071", - "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2065", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2065", - "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2067", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2067", - "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1898", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1898", - "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1873", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1873", - "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1872", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1872", - "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1914", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1914", - "target": "ui_test_mount_test_metadata_for_run_returns_partial_on_decode_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1933", - "weight": 1.0, - "source": "ui_test_mount_rationale_1933", - "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2084", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2084", - "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2078", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2078", - "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2080", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2080", - "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1911", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1911", - "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1886", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1886", - "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1885", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1885", - "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1927", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1927", - "target": "ui_test_mount_test_run_staging_action_force_sync_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1949", - "weight": 1.0, - "source": "ui_test_mount_rationale_1949", - "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2100", - "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2094", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2094", - "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2096", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2096", - "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1927", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1927", - "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1902", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1902", - "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1901", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1901", - "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1943", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1943", - "target": "ui_test_mount_test_run_staging_action_clear_verified_exception_path_no_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1965", - "weight": 1.0, - "source": "ui_test_mount_rationale_1965", - "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2116", - "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2110", - "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2112", - "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1943", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1943", - "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1918", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1918", - "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1917", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1917", - "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1959", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1959", - "target": "ui_test_mount_test_run_staging_action_clear_verified_zero_files_branch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1978", - "weight": 1.0, - "source": "ui_test_mount_rationale_1978", - "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2129", - "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2123", - "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2125", - "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1956", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1956", - "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1931", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1931", - "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1930", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1930", - "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1972", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1972", - "target": "ui_test_mount_test_file_context_action_clipboard_failure_toasts" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1952", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogstub", - "target": "ui_test_mount_dialogstub_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1957", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogstub", - "target": "ui_test_mount_dialogstub_open" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1961", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogstub", - "target": "ui_test_mount_dialogstub_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1983", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui_dialog", - "target": "ui_test_mount_dialogstub" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2220", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1302", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1302", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1302", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1302", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1687", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1687", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogstub", - "target": "routers_browse_folderresponse" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_store_with_running_session", - "target": "ui_test_mount_dialogstub_open" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2696", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error", - "target": "ui_test_mount_dialogstub_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1514", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_drain_background", - "target": "ui_test_mount_dialogstub_close" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1975", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui", - "target": "ui_test_mount_dialogui_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1982", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui", - "target": "ui_test_mount_dialogui_dialog" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1987", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui", - "target": "ui_test_mount_dialogui_card" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1990", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui", - "target": "ui_test_mount_dialogui_row" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1993", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui", - "target": "ui_test_mount_dialogui_label" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1997", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui", - "target": "ui_test_mount_dialogui_icon" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2000", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_dialogui", - "target": "ui_test_mount_dialogui_button" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_operation_details_renders_state_and_pending", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2405", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2441", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_cancel_session_swallows_controller_failure", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2451", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_cancel_session_back_button_closes_dialog", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2477", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_log_dialog_renders_row_fields", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2015", - "weight": 1.0, - "source": "ui_test_mount_rationale_2015", - "target": "ui_test_mount_dialogui", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2220", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1302", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1302", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1302", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1302", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1687", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1687", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_dialogui", - "target": "routers_browse_folderresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2166", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2160", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2162", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1993", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1993", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1968", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1968", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1967", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1967", - "target": "ui_test_mount_dialogui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2059", - "weight": 1.0, - "source": "ui_test_mount_rationale_2059", - "target": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2210", - "target": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2204", - "target": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2206", - "target": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2037", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2037", - "target": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2012", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2012", - "target": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2011", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2011", - "target": "ui_test_mount_test_nas_test_connection_unavailable_when_probe_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2071", - "weight": 1.0, - "source": "ui_test_mount_rationale_2071", - "target": "ui_test_mount_test_nas_test_connection_success_maps_latency", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2222", - "target": "ui_test_mount_test_nas_test_connection_success_maps_latency" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2216", - "target": "ui_test_mount_test_nas_test_connection_success_maps_latency" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2218", - "target": "ui_test_mount_test_nas_test_connection_success_maps_latency" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2049", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2049", - "target": "ui_test_mount_test_nas_test_connection_success_maps_latency" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2024", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2024", - "target": "ui_test_mount_test_nas_test_connection_success_maps_latency" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2023", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2023", - "target": "ui_test_mount_test_nas_test_connection_success_maps_latency" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2098", - "weight": 1.0, - "source": "ui_test_mount_rationale_2098", - "target": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2249", - "target": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2243", - "target": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2245", - "target": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2076", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2076", - "target": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2051", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2051", - "target": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2050", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2050", - "target": "ui_test_mount_test_nas_test_connection_awaits_coroutine_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2128", - "weight": 1.0, - "source": "ui_test_mount_rationale_2128", - "target": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2279", - "target": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2273", - "target": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2275", - "target": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2106", - "target": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2081", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2081", - "target": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2080", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2080", - "target": "ui_test_mount_test_setup_next_action_returns_action_for_incomplete_setup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2135", - "weight": 1.0, - "source": "ui_test_mount_rationale_2135", - "target": "ui_test_mount_test_setup_next_action_none_when_ready", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2286", - "target": "ui_test_mount_test_setup_next_action_none_when_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2280", - "target": "ui_test_mount_test_setup_next_action_none_when_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2282", - "target": "ui_test_mount_test_setup_next_action_none_when_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2113", - "target": "ui_test_mount_test_setup_next_action_none_when_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2088", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2088", - "target": "ui_test_mount_test_setup_next_action_none_when_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2087", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2087", - "target": "ui_test_mount_test_setup_next_action_none_when_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2159", - "weight": 1.0, - "source": "ui_test_mount_rationale_2159", - "target": "ui_test_mount_test_toggle_keep_local_no_writer_toasts", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2310", - "target": "ui_test_mount_test_toggle_keep_local_no_writer_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2304", - "target": "ui_test_mount_test_toggle_keep_local_no_writer_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2306", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2306", - "target": "ui_test_mount_test_toggle_keep_local_no_writer_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2137", - "target": "ui_test_mount_test_toggle_keep_local_no_writer_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2112", - "target": "ui_test_mount_test_toggle_keep_local_no_writer_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2111", - "target": "ui_test_mount_test_toggle_keep_local_no_writer_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2168", - "weight": 1.0, - "source": "ui_test_mount_rationale_2168", - "target": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2319", - "target": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2313", - "target": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2315", - "target": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2146", - "target": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2121", - "target": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2120", - "target": "ui_test_mount_test_toggle_keep_local_file_not_in_run_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2179", - "weight": 1.0, - "source": "ui_test_mount_rationale_2179", - "target": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2330", - "target": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2324", - "target": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2326", - "target": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2157", - "target": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2132", - "target": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2131", - "target": "ui_test_mount_test_toggle_keep_local_invokes_writer_and_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2234", - "weight": 1.0, - "source": "ui_test_mount_rationale_2234", - "target": "ui_test_mount_test_file_context_action_keep_local_dispatches", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2385", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2385", - "target": "ui_test_mount_test_file_context_action_keep_local_dispatches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2379", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2379", - "target": "ui_test_mount_test_file_context_action_keep_local_dispatches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2381", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2381", - "target": "ui_test_mount_test_file_context_action_keep_local_dispatches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2212", - "target": "ui_test_mount_test_file_context_action_keep_local_dispatches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2187", - "target": "ui_test_mount_test_file_context_action_keep_local_dispatches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2186", - "target": "ui_test_mount_test_file_context_action_keep_local_dispatches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2251", - "weight": 1.0, - "source": "ui_test_mount_rationale_2251", - "target": "ui_test_mount_test_open_in_os_win32_invokes_startfile", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2402", - "target": "ui_test_mount_test_open_in_os_win32_invokes_startfile" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2396", - "target": "ui_test_mount_test_open_in_os_win32_invokes_startfile" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2398", - "target": "ui_test_mount_test_open_in_os_win32_invokes_startfile" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2229", - "target": "ui_test_mount_test_open_in_os_win32_invokes_startfile" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2204", - "target": "ui_test_mount_test_open_in_os_win32_invokes_startfile" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2203", - "target": "ui_test_mount_test_open_in_os_win32_invokes_startfile" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_build_operation_rows_maps_panel_sessions", - "target": "ui_test_mount_store_with_running_session" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_open_operations_modal_opens_with_controller", - "target": "ui_test_mount_store_with_running_session" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2222", - "weight": 1.0, - "source": "ui_test_mount_store_with_running_session", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2285", - "weight": 1.0, - "source": "ui_test_mount_rationale_2285", - "target": "ui_test_mount_test_open_operations_modal_no_controller_toasts", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2436", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2436", - "target": "ui_test_mount_test_open_operations_modal_no_controller_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2430", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2430", - "target": "ui_test_mount_test_open_operations_modal_no_controller_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2432", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2432", - "target": "ui_test_mount_test_open_operations_modal_no_controller_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2263", - "target": "ui_test_mount_test_open_operations_modal_no_controller_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2238", - "target": "ui_test_mount_test_open_operations_modal_no_controller_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2237", - "target": "ui_test_mount_test_open_operations_modal_no_controller_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2291", - "weight": 1.0, - "source": "ui_test_mount_rationale_2291", - "target": "ui_test_mount_test_open_operations_modal_opens_with_controller", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2442", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2442", - "target": "ui_test_mount_test_open_operations_modal_opens_with_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2436", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2436", - "target": "ui_test_mount_test_open_operations_modal_opens_with_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2438", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2438", - "target": "ui_test_mount_test_open_operations_modal_opens_with_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2269", - "target": "ui_test_mount_test_open_operations_modal_opens_with_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2244", - "target": "ui_test_mount_test_open_operations_modal_opens_with_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2243", - "target": "ui_test_mount_test_open_operations_modal_opens_with_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2312", - "weight": 1.0, - "source": "ui_test_mount_rationale_2312", - "target": "ui_test_mount_test_open_operation_details_renders_state_and_pending", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2463", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2463", - "target": "ui_test_mount_test_open_operation_details_renders_state_and_pending" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2457", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2457", - "target": "ui_test_mount_test_open_operation_details_renders_state_and_pending" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2459", - "target": "ui_test_mount_test_open_operation_details_renders_state_and_pending" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2290", - "target": "ui_test_mount_test_open_operation_details_renders_state_and_pending" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2265", - "target": "ui_test_mount_test_open_operation_details_renders_state_and_pending" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2264", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2264", - "target": "ui_test_mount_test_open_operation_details_renders_state_and_pending" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2336", - "weight": 1.0, - "source": "ui_test_mount_rationale_2336", - "target": "ui_test_mount_test_resume_operation_no_pending_input_toasts", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2487", - "target": "ui_test_mount_test_resume_operation_no_pending_input_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2481", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2481", - "target": "ui_test_mount_test_resume_operation_no_pending_input_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2483", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2483", - "target": "ui_test_mount_test_resume_operation_no_pending_input_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2314", - "target": "ui_test_mount_test_resume_operation_no_pending_input_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2289", - "target": "ui_test_mount_test_resume_operation_no_pending_input_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2288", - "target": "ui_test_mount_test_resume_operation_no_pending_input_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2345", - "weight": 1.0, - "source": "ui_test_mount_rationale_2345", - "target": "ui_test_mount_test_resume_operation_opens_input_dialog", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2496", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2496", - "target": "ui_test_mount_test_resume_operation_opens_input_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2490", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2490", - "target": "ui_test_mount_test_resume_operation_opens_input_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2492", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2492", - "target": "ui_test_mount_test_resume_operation_opens_input_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2323", - "target": "ui_test_mount_test_resume_operation_opens_input_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2298", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2298", - "target": "ui_test_mount_test_resume_operation_opens_input_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2297", - "target": "ui_test_mount_test_resume_operation_opens_input_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2374", - "weight": 1.0, - "source": "ui_test_mount_rationale_2374", - "target": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2525", - "target": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2346", - "weight": 1.0, - "source": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2519", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2519", - "target": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2521", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2521", - "target": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2352", - "target": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2327", - "target": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2326", - "target": "ui_test_mount_test_open_input_required_dialog_submit_resumes_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2406", - "weight": 1.0, - "source": "ui_test_mount_rationale_2406", - "target": "ui_test_mount_test_open_input_required_dialog_cancel_routes_to_cancel_session", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2557", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2557", - "target": "ui_test_mount_test_open_input_required_dialog_cancel_routes_to_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2551", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2551", - "target": "ui_test_mount_test_open_input_required_dialog_cancel_routes_to_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2553", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2553", - "target": "ui_test_mount_test_open_input_required_dialog_cancel_routes_to_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2384", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2384", - "target": "ui_test_mount_test_open_input_required_dialog_cancel_routes_to_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2359", - "target": "ui_test_mount_test_open_input_required_dialog_cancel_routes_to_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2358", - "target": "ui_test_mount_test_open_input_required_dialog_cancel_routes_to_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2446", - "weight": 1.0, - "source": "ui_test_mount_rationale_2446", - "target": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2597", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2597", - "target": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2406", - "weight": 1.0, - "source": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2591", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2591", - "target": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2593", - "target": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2424", - "target": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2399", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2399", - "target": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2398", - "target": "ui_test_mount_test_cancel_session_discard_calls_controller_cancel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2465", - "weight": 1.0, - "source": "ui_test_mount_rationale_2465", - "target": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2616", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2616", - "target": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2425", - "weight": 1.0, - "source": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2610", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2610", - "target": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2612", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2612", - "target": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2443", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2443", - "target": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2418", - "target": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2417", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2417", - "target": "ui_test_mount_test_cancel_session_keep_files_calls_controller_cancel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2482", - "weight": 1.0, - "source": "ui_test_mount_rationale_2482", - "target": "ui_test_mount_test_cancel_session_swallows_controller_failure", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2633", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2633", - "target": "ui_test_mount_test_cancel_session_swallows_controller_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2442", - "weight": 1.0, - "source": "ui_test_mount_test_cancel_session_swallows_controller_failure", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2627", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2627", - "target": "ui_test_mount_test_cancel_session_swallows_controller_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2629", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2629", - "target": "ui_test_mount_test_cancel_session_swallows_controller_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2460", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2460", - "target": "ui_test_mount_test_cancel_session_swallows_controller_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2435", - "target": "ui_test_mount_test_cancel_session_swallows_controller_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2434", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2434", - "target": "ui_test_mount_test_cancel_session_swallows_controller_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2498", - "weight": 1.0, - "source": "ui_test_mount_rationale_2498", - "target": "ui_test_mount_test_cancel_session_back_button_closes_dialog", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2649", - "target": "ui_test_mount_test_cancel_session_back_button_closes_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2643", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2643", - "target": "ui_test_mount_test_cancel_session_back_button_closes_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2645", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2645", - "target": "ui_test_mount_test_cancel_session_back_button_closes_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2476", - "target": "ui_test_mount_test_cancel_session_back_button_closes_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2451", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2451", - "target": "ui_test_mount_test_cancel_session_back_button_closes_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2450", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2450", - "target": "ui_test_mount_test_cancel_session_back_button_closes_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2512", - "weight": 1.0, - "source": "ui_test_mount_rationale_2512", - "target": "ui_test_mount_test_open_log_dialog_renders_row_fields", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2663", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2663", - "target": "ui_test_mount_test_open_log_dialog_renders_row_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2657", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2657", - "target": "ui_test_mount_test_open_log_dialog_renders_row_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2659", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2659", - "target": "ui_test_mount_test_open_log_dialog_renders_row_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2490", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2490", - "target": "ui_test_mount_test_open_log_dialog_renders_row_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2465", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2465", - "target": "ui_test_mount_test_open_log_dialog_renders_row_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2464", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2464", - "target": "ui_test_mount_test_open_log_dialog_renders_row_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2540", - "weight": 1.0, - "source": "ui_test_mount_rationale_2540", - "target": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2691", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2691", - "target": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2685", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2685", - "target": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2687", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2687", - "target": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2518", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2518", - "target": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2493", - "target": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2492", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2492", - "target": "ui_test_mount_test_open_log_dialog_no_row_renders_empty_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2556", - "weight": 1.0, - "source": "ui_test_mount_rationale_2556", - "target": "ui_test_mount_test_consume_session_progress_early_return_without_progress", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2707", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2707", - "target": "ui_test_mount_test_consume_session_progress_early_return_without_progress" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2515", - "weight": 1.0, - "source": "ui_test_mount_test_consume_session_progress_early_return_without_progress", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2701", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2701", - "target": "ui_test_mount_test_consume_session_progress_early_return_without_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2703", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2703", - "target": "ui_test_mount_test_consume_session_progress_early_return_without_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2534", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2534", - "target": "ui_test_mount_test_consume_session_progress_early_return_without_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2509", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2509", - "target": "ui_test_mount_test_consume_session_progress_early_return_without_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2508", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2508", - "target": "ui_test_mount_test_consume_session_progress_early_return_without_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2567", - "weight": 1.0, - "source": "ui_test_mount_rationale_2567", - "target": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2718", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2718", - "target": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2544", - "weight": 1.0, - "source": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2712", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2712", - "target": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2714", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2714", - "target": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2545", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2545", - "target": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2520", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2520", - "target": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2519", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2519", - "target": "ui_test_mount_test_consume_session_progress_opens_dialog_then_closes_on_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2604", - "weight": 1.0, - "source": "ui_test_mount_rationale_2604", - "target": "ui_test_mount_test_consume_session_progress_swallows_stream_failure", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2755", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2755", - "target": "ui_test_mount_test_consume_session_progress_swallows_stream_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2567", - "weight": 1.0, - "source": "ui_test_mount_test_consume_session_progress_swallows_stream_failure", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2749", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2749", - "target": "ui_test_mount_test_consume_session_progress_swallows_stream_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2751", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2751", - "target": "ui_test_mount_test_consume_session_progress_swallows_stream_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2582", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2582", - "target": "ui_test_mount_test_consume_session_progress_swallows_stream_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2557", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2557", - "target": "ui_test_mount_test_consume_session_progress_swallows_stream_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2556", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2556", - "target": "ui_test_mount_test_consume_session_progress_swallows_stream_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2644", - "weight": 1.0, - "source": "ui_test_mount_rationale_2644", - "target": "ui_test_mount_test_submit_run_toasts_without_template", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2795", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2795", - "target": "ui_test_mount_test_submit_run_toasts_without_template" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2789", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2789", - "target": "ui_test_mount_test_submit_run_toasts_without_template" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2791", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2791", - "target": "ui_test_mount_test_submit_run_toasts_without_template" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2622", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2622", - "target": "ui_test_mount_test_submit_run_toasts_without_template" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2597", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2597", - "target": "ui_test_mount_test_submit_run_toasts_without_template" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2596", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2596", - "target": "ui_test_mount_test_submit_run_toasts_without_template" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2655", - "weight": 1.0, - "source": "ui_test_mount_rationale_2655", - "target": "ui_test_mount_test_render_run_wizard_builds_page", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2806", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2806", - "target": "ui_test_mount_test_render_run_wizard_builds_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2800", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2800", - "target": "ui_test_mount_test_render_run_wizard_builds_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2802", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2802", - "target": "ui_test_mount_test_render_run_wizard_builds_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2633", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2633", - "target": "ui_test_mount_test_render_run_wizard_builds_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2608", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2608", - "target": "ui_test_mount_test_render_run_wizard_builds_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2607", - "target": "ui_test_mount_test_render_run_wizard_builds_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2684", - "weight": 1.0, - "source": "ui_test_mount_rationale_2684", - "target": "ui_test_mount_test_classify_node_skips_non_equipment_hierarchy_keys", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2835", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2835", - "target": "ui_test_mount_test_classify_node_skips_non_equipment_hierarchy_keys" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2829", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2829", - "target": "ui_test_mount_test_classify_node_skips_non_equipment_hierarchy_keys" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2831", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2831", - "target": "ui_test_mount_test_classify_node_skips_non_equipment_hierarchy_keys" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2662", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2662", - "target": "ui_test_mount_test_classify_node_skips_non_equipment_hierarchy_keys" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2637", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2637", - "target": "ui_test_mount_test_classify_node_skips_non_equipment_hierarchy_keys" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2636", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2636", - "target": "ui_test_mount_test_classify_node_skips_non_equipment_hierarchy_keys" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2693", - "weight": 1.0, - "source": "ui_test_mount_rationale_2693", - "target": "ui_test_mount_test_build_metadata_payload_received_equipment_kind", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2844", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2844", - "target": "ui_test_mount_test_build_metadata_payload_received_equipment_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2838", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2838", - "target": "ui_test_mount_test_build_metadata_payload_received_equipment_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2840", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2840", - "target": "ui_test_mount_test_build_metadata_payload_received_equipment_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2671", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2671", - "target": "ui_test_mount_test_build_metadata_payload_received_equipment_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2646", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2646", - "target": "ui_test_mount_test_build_metadata_payload_received_equipment_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2645", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2645", - "target": "ui_test_mount_test_build_metadata_payload_received_equipment_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2709", - "weight": 1.0, - "source": "ui_test_mount_rationale_2709", - "target": "ui_test_mount_test_metadata_for_owned_equipment_projects_fields", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2860", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2860", - "target": "ui_test_mount_test_metadata_for_owned_equipment_projects_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2854", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2854", - "target": "ui_test_mount_test_metadata_for_owned_equipment_projects_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2856", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2856", - "target": "ui_test_mount_test_metadata_for_owned_equipment_projects_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2687", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2687", - "target": "ui_test_mount_test_metadata_for_owned_equipment_projects_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2662", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2662", - "target": "ui_test_mount_test_metadata_for_owned_equipment_projects_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2661", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2661", - "target": "ui_test_mount_test_metadata_for_owned_equipment_projects_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2731", - "weight": 1.0, - "source": "ui_test_mount_rationale_2731", - "target": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2882", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2882", - "target": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2876", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2876", - "target": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2878", - "target": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2709", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2709", - "target": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2684", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2684", - "target": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2683", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2683", - "target": "ui_test_mount_test_lims_catalogue_projects_schema_mismatch_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2743", - "weight": 1.0, - "source": "ui_test_mount_rationale_2743", - "target": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2894", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2894", - "target": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2888", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2888", - "target": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2890", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2890", - "target": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2721", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2721", - "target": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2696", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2696", - "target": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2695", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2695", - "target": "ui_test_mount_test_drive_folder_feed_tolerates_storage_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2765", - "weight": 1.0, - "source": "ui_test_mount_rationale_2765", - "target": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2916", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2916", - "target": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2910", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2910", - "target": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2912", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2912", - "target": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2743", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2743", - "target": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2718", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2718", - "target": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2717", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2717", - "target": "ui_test_mount_test_is_setup_ready_swallows_evaluation_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2778", - "weight": 1.0, - "source": "ui_test_mount_rationale_2778", - "target": "ui_test_mount_test_metadata_for_owned_equipment_no_match_returns_empty", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2929", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2929", - "target": "ui_test_mount_test_metadata_for_owned_equipment_no_match_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2923", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2923", - "target": "ui_test_mount_test_metadata_for_owned_equipment_no_match_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2925", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2925", - "target": "ui_test_mount_test_metadata_for_owned_equipment_no_match_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2756", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2756", - "target": "ui_test_mount_test_metadata_for_owned_equipment_no_match_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2731", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2731", - "target": "ui_test_mount_test_metadata_for_owned_equipment_no_match_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2730", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2730", - "target": "ui_test_mount_test_metadata_for_owned_equipment_no_match_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2786", - "weight": 1.0, - "source": "ui_test_mount_rationale_2786", - "target": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2954", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2954", - "target": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2948", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2948", - "target": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2950", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2950", - "target": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2781", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2781", - "target": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2756", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2756", - "target": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2755", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2755", - "target": "ui_test_mount_test_toggle_keep_local_unresolvable_relative_path_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2804", - "weight": 1.0, - "source": "ui_test_mount_rationale_2804", - "target": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2972", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2972", - "target": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2792", - "weight": 1.0, - "source": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2966", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2966", - "target": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2968", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2968", - "target": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2799", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2799", - "target": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2774", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2774", - "target": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2773", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2773", - "target": "ui_test_mount_test_open_input_required_dialog_submit_swallows_resume_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2833", - "weight": 1.0, - "source": "ui_test_mount_rationale_2833", - "target": "ui_test_mount_test_template_questions_map_swallows_outer_failure", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L3001", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_3001", - "target": "ui_test_mount_test_template_questions_map_swallows_outer_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2995", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2995", - "target": "ui_test_mount_test_template_questions_map_swallows_outer_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2997", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2997", - "target": "ui_test_mount_test_template_questions_map_swallows_outer_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2828", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2828", - "target": "ui_test_mount_test_template_questions_map_swallows_outer_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2803", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2803", - "target": "ui_test_mount_test_template_questions_map_swallows_outer_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2802", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2802", - "target": "ui_test_mount_test_template_questions_map_swallows_outer_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_100", - "target": "ui_test_mount_fakeui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L446", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_446", - "target": "ui_test_mount_test_staging_state_when_staging_root_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1504", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1504", - "target": "ui_test_mount_drain_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1591", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1591", - "target": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1618", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1618", - "target": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1811", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1811", - "target": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_page_py", - "target": "ui_test_settings_page_test_build_draft_from_none_yields_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_page_py", - "target": "ui_test_settings_page_test_build_draft_copies_existing_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_page_py", - "target": "ui_test_settings_page_test_draft_edits_do_not_leak_into_source" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_page_py", - "target": "ui_test_settings_page_test_finalize_coerces_widget_floats_back_to_int" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_page_py", - "target": "ui_test_settings_page_test_finalize_round_trips_edited_scalar_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_page_py", - "target": "ui_test_settings_page_test_finalize_allows_blank_staging_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L106", - "weight": 1.0, - "source": "tests_unit_ui_test_settings_page_py", - "target": "ui_test_settings_page_test_orchestrator_section_is_titled_workstation", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_page_py", - "target": "ui_test_settings_page_test_finalize_raises_on_invalid_edit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_page_py", - "target": "ui_test_settings_page_test_lims_credential_initial_state_not_set_when_keyring_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_page_py", - "target": "ui_test_settings_page_test_lims_credential_initial_state_set_when_keyring_has_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_page_rationale_1", - "target": "tests_unit_ui_test_settings_page_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L28", - "weight": 1.0, - "source": "ui_test_settings_page_test_build_draft_from_none_yields_defaults", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L41", - "weight": 1.0, - "source": "ui_test_settings_page_test_build_draft_copies_existing_config", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L51", - "weight": 1.0, - "source": "ui_test_settings_page_test_draft_edits_do_not_leak_into_source", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L61", - "weight": 1.0, - "source": "ui_test_settings_page_test_finalize_coerces_widget_floats_back_to_int", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L66", - "weight": 1.0, - "source": "ui_test_settings_page_test_finalize_coerces_widget_floats_back_to_int", - "target": "pages_settings_finalize_settings_draft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L74", - "weight": 1.0, - "source": "ui_test_settings_page_test_finalize_round_trips_edited_scalar_fields", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L83", - "weight": 1.0, - "source": "ui_test_settings_page_test_finalize_round_trips_edited_scalar_fields", - "target": "pages_settings_finalize_settings_draft" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L93", - "weight": 1.0, - "source": "ui_test_settings_page_rationale_93", - "target": "ui_test_settings_page_test_finalize_allows_blank_staging_root", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L94", - "weight": 1.0, - "source": "ui_test_settings_page_test_finalize_allows_blank_staging_root", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L98", - "weight": 1.0, - "source": "ui_test_settings_page_test_finalize_allows_blank_staging_root", - "target": "pages_settings_finalize_settings_draft" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_page_rationale_91", - "target": "ui_test_settings_page_test_finalize_allows_blank_staging_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L107", - "weight": 1.0, - "source": "ui_test_settings_page_rationale_107", - "target": "ui_test_settings_page_test_orchestrator_section_is_titled_workstation", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L105", - "weight": 1.0, - "source": "ui_test_settings_page_test_finalize_raises_on_invalid_edit", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L110", - "weight": 1.0, - "source": "ui_test_settings_page_test_finalize_raises_on_invalid_edit", - "target": "pages_settings_finalize_settings_draft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L114", - "weight": 1.0, - "source": "ui_test_settings_page_test_lims_credential_initial_state_not_set_when_keyring_empty", - "target": "pages_settings_lims_credential_initial_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L132", - "weight": 1.0, - "source": "ui_test_settings_page_rationale_132", - "target": "ui_test_settings_page_test_lims_credential_initial_state_set_when_keyring_has_password", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L121", - "weight": 1.0, - "source": "ui_test_settings_page_test_lims_credential_initial_state_set_when_keyring_has_password", - "target": "pages_settings_lims_credential_initial_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_page.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_page_rationale_119", - "target": "ui_test_settings_page_test_lims_credential_initial_state_set_when_keyring_has_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_init_rationale_1", - "target": "tests_unit_ui_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_init_rationale_1", - "target": "src_exlab_wizard_ui_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L17", - "weight": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_wizard_has_three_steps_with_sync_mode_hidden", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L28", - "weight": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_assembled_equipment_defaults_to_nas_sync_mode", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_state_filled_for" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_can_advance_identity_requires_id_and_label" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_can_advance_identity_rejects_invalid_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_can_advance_paths_requires_both_roots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_needs_no_transport_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_needs_no_per_equipment_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_nas" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_stage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_assemble_rejects_invalid_input" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_equipment_rationale_1", - "target": "tests_unit_ui_test_wizard_equipment_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_wizard_has_four_steps_without_signal_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_requires_rclone_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_equipment_py", - "target": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_requires_staging_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L18", - "weight": 1.0, - "source": "ui_test_wizard_equipment_rationale_18", - "target": "ui_test_wizard_equipment_test_wizard_has_three_steps_with_sync_mode_hidden", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L29", - "weight": 1.0, - "source": "ui_test_wizard_equipment_rationale_29", - "target": "ui_test_wizard_equipment_test_assembled_equipment_defaults_to_nas_sync_mode", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L32", - "weight": 1.0, - "source": "ui_test_wizard_equipment_test_assembled_equipment_defaults_to_nas_sync_mode", - "target": "pages_wizard_equipment_equipmentwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L37", - "weight": 1.0, - "source": "ui_test_wizard_equipment_test_assembled_equipment_defaults_to_nas_sync_mode", - "target": "pages_wizard_equipment_assemble_equipment_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_equipment_test_can_advance_paths_requires_both_roots", - "target": "ui_test_wizard_equipment_state_filled_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_needs_no_transport_fields", - "target": "ui_test_wizard_equipment_state_filled_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_needs_no_per_equipment_fields", - "target": "ui_test_wizard_equipment_state_filled_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_nas", - "target": "ui_test_wizard_equipment_state_filled_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_stage", - "target": "ui_test_wizard_equipment_state_filled_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_equipment_test_assemble_rejects_invalid_input", - "target": "ui_test_wizard_equipment_state_filled_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L25", - "weight": 1.0, - "source": "ui_test_wizard_equipment_state_filled_for", - "target": "pages_wizard_equipment_equipmentwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_equipment_test_can_advance_sync_mode_nas_requires_rclone_fields", - "target": "ui_test_wizard_equipment_state_filled_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_equipment_test_can_advance_sync_mode_stage_requires_staging_fields", - "target": "ui_test_wizard_equipment_state_filled_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L40", - "weight": 1.0, - "source": "ui_test_wizard_equipment_test_can_advance_identity_requires_id_and_label", - "target": "pages_wizard_equipment_equipmentwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L49", - "weight": 1.0, - "source": "ui_test_wizard_equipment_test_can_advance_identity_rejects_invalid_id", - "target": "pages_wizard_equipment_equipmentwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L80", - "weight": 1.0, - "source": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_nas", - "target": "pages_wizard_equipment_assemble_equipment_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L91", - "weight": 1.0, - "source": "ui_test_wizard_equipment_test_assemble_round_trips_to_valid_equipment_config_stage", - "target": "pages_wizard_equipment_assemble_equipment_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L101", - "weight": 1.0, - "source": "ui_test_wizard_equipment_test_assemble_rejects_invalid_input", - "target": "pages_wizard_equipment_assemble_equipment_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_equipment.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_equipment_rationale_18", - "target": "ui_test_wizard_equipment_test_wizard_has_four_steps_without_signal_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_staging_dock_height_is_120_px" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_staging_table_columns_match_brief_order" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_format_bytes_handles_negative_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_format_bytes_renders_sub_kib_in_bytes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_format_bytes_renders_kib_with_one_decimal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_format_bytes_renders_mib_and_gib" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_format_elapsed_seconds_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_format_elapsed_minutes_and_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_format_elapsed_hours_and_minutes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_format_elapsed_days_and_hours" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_format_elapsed_handles_negative" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_state_pill_props_returns_label_and_color_for_each_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_state_pill_props_falls_back_for_unknown_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_make_row" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_row_props_emits_run_label_as_leaf" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_row_props_does_not_mark_other_rollups_as_clearable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_row_props_formats_bytes_and_elapsed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_staging_page_py", - "target": "ui_test_staging_page_test_staging_dock_state_defaults" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_staging_page_rationale_1", - "target": "tests_unit_ui_test_staging_page_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L51", - "weight": 1.0, - "source": "ui_test_staging_page_test_format_bytes_handles_negative_values", - "target": "pages_staging_format_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L55", - "weight": 1.0, - "source": "ui_test_staging_page_test_format_bytes_renders_sub_kib_in_bytes", - "target": "pages_staging_format_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L60", - "weight": 1.0, - "source": "ui_test_staging_page_test_format_bytes_renders_kib_with_one_decimal", - "target": "pages_staging_format_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L65", - "weight": 1.0, - "source": "ui_test_staging_page_test_format_bytes_renders_mib_and_gib", - "target": "pages_staging_format_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L75", - "weight": 1.0, - "source": "ui_test_staging_page_test_format_elapsed_seconds_only", - "target": "pages_staging_format_elapsed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L80", - "weight": 1.0, - "source": "ui_test_staging_page_test_format_elapsed_minutes_and_seconds", - "target": "pages_staging_format_elapsed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L84", - "weight": 1.0, - "source": "ui_test_staging_page_test_format_elapsed_hours_and_minutes", - "target": "pages_staging_format_elapsed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L88", - "weight": 1.0, - "source": "ui_test_staging_page_test_format_elapsed_days_and_hours", - "target": "pages_staging_format_elapsed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L92", - "weight": 1.0, - "source": "ui_test_staging_page_test_format_elapsed_handles_negative", - "target": "pages_staging_format_elapsed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L106", - "weight": 1.0, - "source": "ui_test_staging_page_test_state_pill_props_returns_label_and_color_for_each_state", - "target": "pages_staging_state_pill_props" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L113", - "weight": 1.0, - "source": "ui_test_staging_page_test_state_pill_props_falls_back_for_unknown_state", - "target": "pages_staging_state_pill_props" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_staging_page_test_row_props_emits_run_label_as_leaf", - "target": "ui_test_staging_page_make_row" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable", - "target": "ui_test_staging_page_make_row" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_staging_page_test_row_props_does_not_mark_other_rollups_as_clearable", - "target": "ui_test_staging_page_make_row" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_staging_page_test_row_props_formats_bytes_and_elapsed", - "target": "ui_test_staging_page_make_row" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", - "target": "ui_test_staging_page_make_row" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L131", - "weight": 1.0, - "source": "ui_test_staging_page_make_row", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L145", - "weight": 1.0, - "source": "ui_test_staging_page_test_row_props_emits_run_label_as_leaf", - "target": "pages_staging_row_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L161", - "weight": 1.0, - "source": "ui_test_staging_page_rationale_161", - "target": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L151", - "weight": 1.0, - "source": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable", - "target": "pages_staging_row_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_staging_page_rationale_150", - "target": "ui_test_staging_page_test_row_props_marks_synced_rollup_as_clearable" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L159", - "weight": 1.0, - "source": "ui_test_staging_page_test_row_props_does_not_mark_other_rollups_as_clearable", - "target": "pages_staging_row_props" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L164", - "weight": 1.0, - "source": "ui_test_staging_page_test_row_props_formats_bytes_and_elapsed", - "target": "pages_staging_row_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L186", - "weight": 1.0, - "source": "ui_test_staging_page_rationale_186", - "target": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L183", - "weight": 1.0, - "source": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", - "target": "pages_staging_stagingdockstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L184", - "weight": 1.0, - "source": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable", - "target": "pages_staging_render_staging_dock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_staging_page_rationale_175", - "target": "ui_test_staging_page_test_render_staging_dock_returns_dict_when_nicegui_unavailable" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L203", - "weight": 1.0, - "source": "ui_test_staging_page_rationale_203", - "target": "ui_test_staging_page_test_staging_dock_state_defaults", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L193", - "weight": 1.0, - "source": "ui_test_staging_page_test_staging_dock_state_defaults", - "target": "pages_staging_stagingdockstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_staging_page.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_staging_page_rationale_192", - "target": "ui_test_staging_page_test_staging_dock_state_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_reset_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_notify_success_uses_positive_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_notify_info_default_timeout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_notify_warning_extended_timeout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_notify_error_extended_timeout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_notify_with_action_extends_to_12_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_show_banner_rejects_unknown_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_show_banner_records_active" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_clear_banner_removes_record" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_banner_overflow_count_when_exceeding_two" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_field_errors_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_form_errors_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_banner_id_closed_set_matches_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_severity_closed_set_matches_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_container_id_closed_set_matches_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_notifications_py", - "target": "ui_test_notifications_test_action_spec_is_frozen" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_1", - "target": "tests_unit_ui_test_notifications_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_26", - "target": "ui_test_notifications_reset_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_34", - "target": "ui_test_notifications_test_notify_success_uses_positive_type" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_46", - "target": "ui_test_notifications_test_notify_info_default_timeout" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_55", - "target": "ui_test_notifications_test_notify_warning_extended_timeout" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_64", - "target": "ui_test_notifications_test_notify_error_extended_timeout" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_73", - "target": "ui_test_notifications_test_notify_with_action_extends_to_12_seconds" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L75", - "weight": 1.0, - "source": "ui_test_notifications_test_notify_with_action_extends_to_12_seconds", - "target": "ui_notifications_actionspec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_86", - "target": "ui_test_notifications_test_show_banner_rejects_unknown_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_98", - "target": "ui_test_notifications_test_show_banner_records_active" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_112", - "target": "ui_test_notifications_test_clear_banner_removes_record" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_125", - "target": "ui_test_notifications_test_banner_overflow_count_when_exceeding_two" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_149", - "target": "ui_test_notifications_test_field_errors_round_trip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_158", - "target": "ui_test_notifications_test_form_errors_round_trip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_167", - "target": "ui_test_notifications_test_banner_id_closed_set_matches_spec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_179", - "target": "ui_test_notifications_test_severity_closed_set_matches_spec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_190", - "target": "ui_test_notifications_test_container_id_closed_set_matches_spec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_notifications_rationale_200", - "target": "ui_test_notifications_test_action_spec_is_frozen" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_notifications.py", - "source_location": "L204", - "weight": 1.0, - "source": "ui_test_notifications_test_action_spec_is_frozen", - "target": "ui_notifications_actionspec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L19", - "weight": 1.0, - "source": "tests_unit_ui_test_status_bar_segment_py", - "target": "ui_test_status_bar_segment_test_footer_segments_all_clear_default_normal", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L32", - "weight": 1.0, - "source": "tests_unit_ui_test_status_bar_segment_py", - "target": "ui_test_status_bar_segment_test_footer_validator_warns_on_hard_findings", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L42", - "weight": 1.0, - "source": "tests_unit_ui_test_status_bar_segment_py", - "target": "ui_test_status_bar_segment_test_footer_lims_danger_when_unreachable", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L50", - "weight": 1.0, - "source": "tests_unit_ui_test_status_bar_segment_py", - "target": "ui_test_status_bar_segment_test_footer_staging_warns_when_pending", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L59", - "weight": 1.0, - "source": "tests_unit_ui_test_status_bar_segment_py", - "target": "ui_test_status_bar_segment_test_footer_segments_defaults_are_safe", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L1", - "weight": 1.0, - "source": "ui_test_status_bar_segment_rationale_1", - "target": "tests_unit_ui_test_status_bar_segment_py", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L20", - "weight": 1.0, - "source": "ui_test_status_bar_segment_rationale_20", - "target": "ui_test_status_bar_segment_test_footer_segments_all_clear_default_normal", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L22", - "weight": 1.0, - "source": "ui_test_status_bar_segment_test_footer_segments_all_clear_default_normal", - "target": "components_status_bar_segment_derive_footer_segment_states" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L33", - "weight": 1.0, - "source": "ui_test_status_bar_segment_rationale_33", - "target": "ui_test_status_bar_segment_test_footer_validator_warns_on_hard_findings", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L35", - "weight": 1.0, - "source": "ui_test_status_bar_segment_test_footer_validator_warns_on_hard_findings", - "target": "components_status_bar_segment_derive_footer_segment_states" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L43", - "weight": 1.0, - "source": "ui_test_status_bar_segment_rationale_43", - "target": "ui_test_status_bar_segment_test_footer_lims_danger_when_unreachable", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L45", - "weight": 1.0, - "source": "ui_test_status_bar_segment_test_footer_lims_danger_when_unreachable", - "target": "components_status_bar_segment_derive_footer_segment_states" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L51", - "weight": 1.0, - "source": "ui_test_status_bar_segment_rationale_51", - "target": "ui_test_status_bar_segment_test_footer_staging_warns_when_pending", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L53", - "weight": 1.0, - "source": "ui_test_status_bar_segment_test_footer_staging_warns_when_pending", - "target": "components_status_bar_segment_derive_footer_segment_states" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L60", - "weight": 1.0, - "source": "ui_test_status_bar_segment_rationale_60", - "target": "ui_test_status_bar_segment_test_footer_segments_defaults_are_safe", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_status_bar_segment.py", - "source_location": "L62", - "weight": 1.0, - "source": "ui_test_status_bar_segment_test_footer_segments_defaults_are_safe", - "target": "components_status_bar_segment_derive_footer_segment_states" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L15", - "weight": 1.0, - "source": "tests_unit_ui_test_empty_state_py", - "target": "ui_test_empty_state_walk", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L22", - "weight": 1.0, - "source": "tests_unit_ui_test_empty_state_py", - "target": "ui_test_empty_state_by_testid", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L26", - "weight": 1.0, - "source": "tests_unit_ui_test_empty_state_py", - "target": "ui_test_empty_state_texts", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L30", - "weight": 1.0, - "source": "tests_unit_ui_test_empty_state_py", - "target": "ui_test_empty_state_test_empty_state_carries_testid_and_message", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L42", - "weight": 1.0, - "source": "tests_unit_ui_test_empty_state_py", - "target": "ui_test_empty_state_test_empty_state_renders_the_icon", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L1", - "weight": 1.0, - "source": "ui_test_empty_state_rationale_1", - "target": "tests_unit_ui_test_empty_state_py", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L23", - "weight": 1.0, - "source": "ui_test_empty_state_by_testid", - "target": "ui_test_empty_state_walk", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L27", - "weight": 1.0, - "source": "ui_test_empty_state_texts", - "target": "ui_test_empty_state_walk", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L38", - "weight": 1.0, - "source": "ui_test_empty_state_test_empty_state_carries_testid_and_message", - "target": "ui_test_empty_state_walk", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L46", - "weight": 1.0, - "source": "ui_test_empty_state_test_empty_state_renders_the_icon", - "target": "ui_test_empty_state_walk", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L37", - "weight": 1.0, - "source": "ui_test_empty_state_test_empty_state_carries_testid_and_message", - "target": "ui_test_empty_state_by_testid", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L39", - "weight": 1.0, - "source": "ui_test_empty_state_test_empty_state_carries_testid_and_message", - "target": "ui_test_empty_state_texts", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L31", - "weight": 1.0, - "source": "ui_test_empty_state_rationale_31", - "target": "ui_test_empty_state_test_empty_state_carries_testid_and_message", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_empty_state.py", - "source_location": "L43", - "weight": 1.0, - "source": "ui_test_empty_state_rationale_43", - "target": "ui_test_empty_state_test_empty_state_renders_the_icon", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_status_icon_py", - "target": "ui_test_sync_status_icon_test_strict_default_still_raises_on_unknown" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_status_icon_py", - "target": "ui_test_sync_status_icon_test_strict_explicit_raises_on_unknown" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_status_icon_py", - "target": "ui_test_sync_status_icon_test_tolerant_mode_returns_neutral_for_unknown" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_status_icon_py", - "target": "ui_test_sync_status_icon_test_tolerant_mode_handles_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_status_icon_py", - "target": "ui_test_sync_status_icon_test_tolerant_mode_still_returns_real_props_for_known" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_status_icon_py", - "target": "ui_test_sync_status_icon_test_neutral_and_normal_props_share_key_shape" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_sync_status_icon_rationale_1", - "target": "tests_unit_ui_test_sync_status_icon_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_sync_status_icon_rationale_12", - "target": "ui_test_sync_status_icon_test_strict_default_still_raises_on_unknown" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L14", - "weight": 1.0, - "source": "ui_test_sync_status_icon_test_strict_default_still_raises_on_unknown", - "target": "components_sync_status_icon_sync_status_props" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L19", - "weight": 1.0, - "source": "ui_test_sync_status_icon_test_strict_explicit_raises_on_unknown", - "target": "components_sync_status_icon_sync_status_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_sync_status_icon_rationale_23", - "target": "ui_test_sync_status_icon_test_tolerant_mode_returns_neutral_for_unknown" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L24", - "weight": 1.0, - "source": "ui_test_sync_status_icon_test_tolerant_mode_returns_neutral_for_unknown", - "target": "components_sync_status_icon_sync_status_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_sync_status_icon_rationale_33", - "target": "ui_test_sync_status_icon_test_tolerant_mode_handles_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L34", - "weight": 1.0, - "source": "ui_test_sync_status_icon_test_tolerant_mode_handles_none", - "target": "components_sync_status_icon_sync_status_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_sync_status_icon_rationale_41", - "target": "ui_test_sync_status_icon_test_tolerant_mode_still_returns_real_props_for_known" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L42", - "weight": 1.0, - "source": "ui_test_sync_status_icon_test_tolerant_mode_still_returns_real_props_for_known", - "target": "components_sync_status_icon_sync_status_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_sync_status_icon_rationale_48", - "target": "ui_test_sync_status_icon_test_neutral_and_normal_props_share_key_shape" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_status_icon.py", - "source_location": "L49", - "weight": 1.0, - "source": "ui_test_sync_status_icon_test_neutral_and_normal_props_share_key_shape", - "target": "components_sync_status_icon_sync_status_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_create_template_strips_whitespace_from_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_create_template_writes_description_into_manifest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_create_run_template_records_run_scope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_create_project_template_omits_run_scope_key" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_create_template_rejects_empty_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_create_template_rejects_unknown_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_create_run_template_requires_run_scope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_create_run_template_rejects_invalid_run_scope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_create_template_rejects_duplicate_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_scaffolded_project_template_resolves_with_engine" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_scaffolded_run_template_resolves_with_engine" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_list_templates_returns_empty_for_missing_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_list_templates_returns_empty_for_dir_with_no_templates" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_list_templates_summarizes_each_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_list_templates_is_sorted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_list_templates_skips_dirs_without_manifest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_list_templates_filters_by_template_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_list_templates_skips_malformed_manifest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_templates_page_py", - "target": "ui_test_templates_page_test_list_templates_skips_non_mapping_manifest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_templates_page_rationale_1", - "target": "tests_unit_ui_test_templates_page_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L38", - "weight": 1.0, - "source": "ui_test_templates_page_test_create_template_scaffolds_dir_with_manifest_and_content", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L51", - "weight": 1.0, - "source": "ui_test_templates_page_test_create_template_strips_whitespace_from_name", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L58", - "weight": 1.0, - "source": "ui_test_templates_page_test_create_template_writes_description_into_manifest", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L70", - "weight": 1.0, - "source": "ui_test_templates_page_test_create_run_template_records_run_scope", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L82", - "weight": 1.0, - "source": "ui_test_templates_page_test_create_project_template_omits_run_scope_key", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L94", - "weight": 1.0, - "source": "ui_test_templates_page_test_create_template_rejects_empty_name", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L99", - "weight": 1.0, - "source": "ui_test_templates_page_test_create_template_rejects_unknown_type", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L104", - "weight": 1.0, - "source": "ui_test_templates_page_test_create_run_template_requires_run_scope", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L109", - "weight": 1.0, - "source": "ui_test_templates_page_test_create_run_template_rejects_invalid_run_scope", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L113", - "weight": 1.0, - "source": "ui_test_templates_page_test_create_template_rejects_duplicate_name", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L126", - "weight": 1.0, - "source": "ui_test_templates_page_test_scaffolded_project_template_resolves_with_engine", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L132", - "weight": 1.0, - "source": "ui_test_templates_page_test_scaffolded_project_template_resolves_with_engine", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L140", - "weight": 1.0, - "source": "ui_test_templates_page_test_scaffolded_run_template_resolves_with_engine", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L146", - "weight": 1.0, - "source": "ui_test_templates_page_test_scaffolded_run_template_resolves_with_engine", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L157", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_returns_empty_for_missing_dir", - "target": "pages_templates_list_templates" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L163", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_returns_empty_for_dir_with_no_templates", - "target": "pages_templates_list_templates" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L167", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_summarizes_each_template", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L176", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_summarizes_each_template", - "target": "pages_templates_list_templates" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L191", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_is_sorted", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L192", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_is_sorted", - "target": "pages_templates_list_templates" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L200", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_skips_dirs_without_manifest", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L204", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_skips_dirs_without_manifest", - "target": "pages_templates_list_templates" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L210", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_filters_by_template_type", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L218", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_filters_by_template_type", - "target": "pages_templates_list_templates" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L226", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_skips_malformed_manifest", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L232", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_skips_malformed_manifest", - "target": "pages_templates_list_templates" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L238", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_skips_non_mapping_manifest", - "target": "pages_templates_create_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_templates_page.py", - "source_location": "L244", - "weight": 1.0, - "source": "ui_test_templates_page_test_list_templates_skips_non_mapping_manifest", - "target": "pages_templates_list_templates" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_all_documented_shortcuts_in_registry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_new_project_combo_macos_and_other" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_new_run_combo_macos_and_other" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_new_test_run_combo_macos_and_other" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_open_settings_uses_comma_key" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_refresh_tree_combo" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_open_problems_combo" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_wizard_cancel_uses_escape" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_resolve_finds_known_combo_on_linux" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_resolve_returns_none_for_unknown_combo" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_get_binding_raises_for_unknown" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_registry_register_and_dispatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_registry_dispatch_returns_false_when_unbound" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_registry_double_register_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_keycombo_matches_returns_true_for_same_modifiers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_keyboard_py", - "target": "ui_test_keyboard_test_descriptions_match_spec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_1", - "target": "tests_unit_ui_test_keyboard_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_27", - "target": "ui_test_keyboard_test_all_documented_shortcuts_in_registry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L29", - "weight": 1.0, - "source": "ui_test_keyboard_test_all_documented_shortcuts_in_registry", - "target": "ui_keyboard_list_bindings" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_44", - "target": "ui_test_keyboard_test_new_project_combo_macos_and_other" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L46", - "weight": 1.0, - "source": "ui_test_keyboard_test_new_project_combo_macos_and_other", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L47", - "weight": 1.0, - "source": "ui_test_keyboard_test_new_project_combo_macos_and_other", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_52", - "target": "ui_test_keyboard_test_new_run_combo_macos_and_other" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L54", - "weight": 1.0, - "source": "ui_test_keyboard_test_new_run_combo_macos_and_other", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L55", - "weight": 1.0, - "source": "ui_test_keyboard_test_new_run_combo_macos_and_other", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_60", - "target": "ui_test_keyboard_test_new_test_run_combo_macos_and_other" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L62", - "weight": 1.0, - "source": "ui_test_keyboard_test_new_test_run_combo_macos_and_other", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L63", - "weight": 1.0, - "source": "ui_test_keyboard_test_new_test_run_combo_macos_and_other", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_68", - "target": "ui_test_keyboard_test_open_settings_uses_comma_key" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L70", - "weight": 1.0, - "source": "ui_test_keyboard_test_open_settings_uses_comma_key", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_76", - "target": "ui_test_keyboard_test_refresh_tree_combo" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L78", - "weight": 1.0, - "source": "ui_test_keyboard_test_refresh_tree_combo", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L79", - "weight": 1.0, - "source": "ui_test_keyboard_test_refresh_tree_combo", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_84", - "target": "ui_test_keyboard_test_open_problems_combo" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L86", - "weight": 1.0, - "source": "ui_test_keyboard_test_open_problems_combo", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L87", - "weight": 1.0, - "source": "ui_test_keyboard_test_open_problems_combo", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_92", - "target": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L94", - "weight": 1.0, - "source": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L95", - "weight": 1.0, - "source": "ui_test_keyboard_test_focus_tree_search_is_unmodified_slash", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_100", - "target": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L102", - "weight": 1.0, - "source": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L103", - "weight": 1.0, - "source": "ui_test_keyboard_test_wizard_next_uses_enter_with_modifier", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_108", - "target": "ui_test_keyboard_test_wizard_cancel_uses_escape" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L110", - "weight": 1.0, - "source": "ui_test_keyboard_test_wizard_cancel_uses_escape", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L111", - "weight": 1.0, - "source": "ui_test_keyboard_test_wizard_cancel_uses_escape", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_116", - "target": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L119", - "weight": 1.0, - "source": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux", - "target": "ui_keyboard_combo_for_current_os" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L120", - "weight": 1.0, - "source": "ui_test_keyboard_test_combo_for_current_os_returns_other_on_linux", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_124", - "target": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L127", - "weight": 1.0, - "source": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin", - "target": "ui_keyboard_combo_for_current_os" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L128", - "weight": 1.0, - "source": "ui_test_keyboard_test_combo_for_current_os_returns_macos_on_darwin", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_132", - "target": "ui_test_keyboard_test_resolve_finds_known_combo_on_linux" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_140", - "target": "ui_test_keyboard_test_resolve_returns_none_for_unknown_combo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_146", - "target": "ui_test_keyboard_test_get_binding_raises_for_unknown" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L152", - "weight": 1.0, - "source": "ui_test_keyboard_test_get_binding_raises_for_unknown", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_156", - "target": "ui_test_keyboard_test_registry_register_and_dispatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L158", - "weight": 1.0, - "source": "ui_test_keyboard_test_registry_register_and_dispatch", - "target": "ui_keyboard_shortcutregistry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_166", - "target": "ui_test_keyboard_test_registry_dispatch_returns_false_when_unbound" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L168", - "weight": 1.0, - "source": "ui_test_keyboard_test_registry_dispatch_returns_false_when_unbound", - "target": "ui_keyboard_shortcutregistry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_173", - "target": "ui_test_keyboard_test_registry_double_register_raises" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L175", - "weight": 1.0, - "source": "ui_test_keyboard_test_registry_double_register_raises", - "target": "ui_keyboard_shortcutregistry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_182", - "target": "ui_test_keyboard_test_keycombo_matches_returns_true_for_same_modifiers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L184", - "weight": 1.0, - "source": "ui_test_keyboard_test_keycombo_matches_returns_true_for_same_modifiers", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_keyboard_rationale_190", - "target": "ui_test_keyboard_test_descriptions_match_spec" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_keyboard.py", - "source_location": "L192", - "weight": 1.0, - "source": "ui_test_keyboard_test_descriptions_match_spec", - "target": "ui_keyboard_list_bindings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_template_questions_skips_underscore_keys" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_template_questions_long_form_types" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_template_questions_choice_from_list_and_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_template_questions_short_form_infers_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_render_question_field_seeds_default_into_answers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_render_question_field_preserves_existing_answer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_equipment_kwargs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_build_equipment_nas_has_no_transport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_build_equipment_stage_has_no_per_equipment_transport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_build_equipment_rejects_bad_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_dynamic_form_rationale_1", - "target": "tests_unit_ui_test_dynamic_form_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_build_equipment_sftp" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_dynamic_form_py", - "target": "ui_test_dynamic_form_test_build_equipment_smb" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L39", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_template_questions_skips_underscore_keys", - "target": "pages_templates_template_questions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L51", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_template_questions_long_form_types", - "target": "pages_templates_template_questions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L66", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_template_questions_choice_from_list_and_dict", - "target": "pages_templates_template_questions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L81", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_template_questions_short_form_infers_kind", - "target": "pages_templates_template_questions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L96", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_render_question_field_seeds_default_into_answers", - "target": "pages_templates_render_question_field" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L97", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_render_question_field_seeds_default_into_answers", - "target": "pages_templates_templatequestion" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L106", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_render_question_field_preserves_existing_answer", - "target": "pages_templates_render_question_field" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L107", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_render_question_field_preserves_existing_answer", - "target": "pages_templates_templatequestion" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_dynamic_form_test_build_equipment_nas_has_no_transport", - "target": "ui_test_dynamic_form_equipment_kwargs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_dynamic_form_test_build_equipment_stage_has_no_per_equipment_transport", - "target": "ui_test_dynamic_form_equipment_kwargs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_dynamic_form_test_build_equipment_rejects_bad_id", - "target": "ui_test_dynamic_form_equipment_kwargs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_dynamic_form_test_build_equipment_sftp", - "target": "ui_test_dynamic_form_equipment_kwargs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_dynamic_form_test_build_equipment_smb", - "target": "ui_test_dynamic_form_equipment_kwargs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L133", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_build_equipment_nas_has_no_transport", - "target": "ui_equipment_form_build_equipment_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L142", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_build_equipment_stage_has_no_per_equipment_transport", - "target": "ui_equipment_form_build_equipment_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L170", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_build_equipment_rejects_bad_id", - "target": "ui_equipment_form_build_equipment_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_walk" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_row_by_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_click" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_entry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_diff_detects_additions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_diff_detects_removals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_diff_detects_size_change_as_modification" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_diff_detects_sync_status_change_as_modification" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_diff_unchanged_is_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_keep_local_action_constant_is_distinct" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_row_bg_selected_wins_over_new" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_row_bg_new_wins_over_tombstone_and_zebra" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_row_bg_tombstone_suppresses_zebra_keeps_dim" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_row_bg_zebra_on_odd_index_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_row_bg_zebra_parity_is_index_based" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_row_bg_selected_tombstone_keeps_both_treatments" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_row_bg_plain_even_row_is_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L251", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_selection_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_render_marks_selected_row_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_render_tombstone_row_is_dimmed_and_marked" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L287", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_on_select_fires_for_file_and_folder" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L300", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_file_list_py", - "target": "ui_test_file_list_test_no_click_listener_when_on_select_absent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_1", - "target": "tests_unit_ui_test_file_list_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rows", - "target": "ui_test_file_list_walk" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_21", - "target": "ui_test_file_list_walk" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_row_by_path", - "target": "ui_test_file_list_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_34", - "target": "ui_test_file_list_rows" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_render_marks_selected_row_only", - "target": "ui_test_file_list_row_by_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L281", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_render_tombstone_row_is_dimmed_and_marked", - "target": "ui_test_file_list_row_by_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L293", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_on_select_fires_for_file_and_folder", - "target": "ui_test_file_list_row_by_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L303", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_no_click_listener_when_on_select_absent", - "target": "ui_test_file_list_row_by_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L293", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_on_select_fires_for_file_and_folder", - "target": "ui_test_file_list_click" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_43", - "target": "ui_test_file_list_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_diff_detects_additions", - "target": "ui_test_file_list_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_diff_detects_removals", - "target": "ui_test_file_list_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_diff_detects_size_change_as_modification", - "target": "ui_test_file_list_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_diff_detects_sync_status_change_as_modification", - "target": "ui_test_file_list_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_diff_unchanged_is_empty", - "target": "ui_test_file_list_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false", - "target": "ui_test_file_list_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_row_bg_selected_wins_over_new", - "target": "ui_test_file_list_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_row_bg_zebra_on_odd_index_only", - "target": "ui_test_file_list_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_row_bg_zebra_parity_is_index_based", - "target": "ui_test_file_list_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_row_bg_plain_even_row_is_empty", - "target": "ui_test_file_list_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L17", - "weight": 1.0, - "source": "ui_test_file_list_entry", - "target": "components_file_list_filelistentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L28", - "weight": 1.0, - "source": "ui_test_file_list_test_diff_detects_additions", - "target": "components_file_list_diff_file_lists" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L38", - "weight": 1.0, - "source": "ui_test_file_list_test_diff_detects_removals", - "target": "components_file_list_diff_file_lists" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L48", - "weight": 1.0, - "source": "ui_test_file_list_test_diff_detects_size_change_as_modification", - "target": "components_file_list_diff_file_lists" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L58", - "weight": 1.0, - "source": "ui_test_file_list_test_diff_detects_sync_status_change_as_modification", - "target": "components_file_list_diff_file_lists" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L67", - "weight": 1.0, - "source": "ui_test_file_list_test_diff_unchanged_is_empty", - "target": "components_file_list_diff_file_lists" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_116", - "target": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_114", - "target": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_80", - "target": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_79", - "target": "ui_test_file_list_test_file_list_entry_defaults_keep_local_and_tombstone_false" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_123", - "target": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L87", - "weight": 1.0, - "source": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification", - "target": "components_file_list_filelistentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L89", - "weight": 1.0, - "source": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification", - "target": "components_file_list_diff_file_lists" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_121", - "target": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_87", - "target": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_86", - "target": "ui_test_file_list_test_diff_detects_keep_local_change_as_modification" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_131", - "target": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L95", - "weight": 1.0, - "source": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification", - "target": "components_file_list_filelistentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L97", - "weight": 1.0, - "source": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification", - "target": "components_file_list_diff_file_lists" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_129", - "target": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_95", - "target": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_94", - "target": "ui_test_file_list_test_diff_detects_tombstone_change_as_modification" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_139", - "target": "ui_test_file_list_test_keep_local_action_constant_is_distinct" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_137", - "target": "ui_test_file_list_test_keep_local_action_constant_is_distinct" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_103", - "target": "ui_test_file_list_test_keep_local_action_constant_is_distinct" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_102", - "target": "ui_test_file_list_test_keep_local_action_constant_is_distinct" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_144", - "target": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_142", - "target": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_108", - "target": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_107", - "target": "ui_test_file_list_test_render_file_list_keep_local_menu_and_tombstone" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L158", - "weight": 1.0, - "source": "ui_test_file_list_test_row_bg_selected_wins_over_new", - "target": "components_file_list_row_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L166", - "weight": 1.0, - "source": "ui_test_file_list_test_row_bg_new_wins_over_tombstone_and_zebra", - "target": "components_file_list_filelistentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L167", - "weight": 1.0, - "source": "ui_test_file_list_test_row_bg_new_wins_over_tombstone_and_zebra", - "target": "components_file_list_row_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L175", - "weight": 1.0, - "source": "ui_test_file_list_test_row_bg_tombstone_suppresses_zebra_keeps_dim", - "target": "components_file_list_filelistentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L176", - "weight": 1.0, - "source": "ui_test_file_list_test_row_bg_tombstone_suppresses_zebra_keeps_dim", - "target": "components_file_list_row_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L185", - "weight": 1.0, - "source": "ui_test_file_list_test_row_bg_zebra_on_odd_index_only", - "target": "components_file_list_row_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L193", - "weight": 1.0, - "source": "ui_test_file_list_test_row_bg_zebra_parity_is_index_based", - "target": "components_file_list_row_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L199", - "weight": 1.0, - "source": "ui_test_file_list_test_row_bg_selected_tombstone_keeps_both_treatments", - "target": "components_file_list_filelistentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L200", - "weight": 1.0, - "source": "ui_test_file_list_test_row_bg_selected_tombstone_keeps_both_treatments", - "target": "components_file_list_row_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L207", - "weight": 1.0, - "source": "ui_test_file_list_test_row_bg_plain_even_row_is_empty", - "target": "components_file_list_row_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_render_marks_selected_row_only", - "target": "ui_test_file_list_selection_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_render_tombstone_row_is_dimmed_and_marked", - "target": "ui_test_file_list_selection_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_on_select_fires_for_file_and_folder", - "target": "ui_test_file_list_selection_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_test_no_click_listener_when_on_select_absent", - "target": "ui_test_file_list_selection_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L252", - "weight": 1.0, - "source": "ui_test_file_list_selection_state", - "target": "components_file_list_fileliststate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L256", - "weight": 1.0, - "source": "ui_test_file_list_selection_state", - "target": "components_file_list_filelistentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_272", - "target": "ui_test_file_list_test_render_marks_selected_row_only" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L267", - "weight": 1.0, - "source": "ui_test_file_list_test_render_marks_selected_row_only", - "target": "components_file_list_render_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_266", - "target": "ui_test_file_list_test_render_marks_selected_row_only" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_285", - "target": "ui_test_file_list_test_render_tombstone_row_is_dimmed_and_marked" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L280", - "weight": 1.0, - "source": "ui_test_file_list_test_render_tombstone_row_is_dimmed_and_marked", - "target": "components_file_list_render_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_279", - "target": "ui_test_file_list_test_render_tombstone_row_is_dimmed_and_marked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_294", - "target": "ui_test_file_list_test_on_select_fires_for_file_and_folder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L290", - "weight": 1.0, - "source": "ui_test_file_list_test_on_select_fires_for_file_and_folder", - "target": "components_file_list_render_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_288", - "target": "ui_test_file_list_test_on_select_fires_for_file_and_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L307", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_307", - "target": "ui_test_file_list_test_no_click_listener_when_on_select_absent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L302", - "weight": 1.0, - "source": "ui_test_file_list_test_no_click_listener_when_on_select_absent", - "target": "components_file_list_render_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_file_list.py", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_file_list_rationale_301", - "target": "ui_test_file_list_test_no_click_listener_when_on_select_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L13", - "weight": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_includes_compact_density_rule", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L22", - "weight": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_includes_tree_selection_rule", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L13", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_contains_primary_palette" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_contains_okabe_ito_palette" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_contains_ui_refresh_surface_tokens" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_emits_previously_undefined_referenced_vars" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_contains_semantic_aliases" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_contains_typography_tokens" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_contains_spacing_scale" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_contains_radius_tokens" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_contains_shadow_tokens" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_navy_tinted_shadows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_motion_tokens" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_starts_with_root_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_root_css_includes_body_resets" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_theme_py", - "target": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_1", - "target": "tests_unit_ui_test_theme_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L14", - "weight": 1.0, - "source": "ui_test_theme_rationale_14", - "target": "ui_test_theme_test_root_css_includes_compact_density_rule", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L23", - "weight": 1.0, - "source": "ui_test_theme_rationale_23", - "target": "ui_test_theme_test_root_css_includes_tree_selection_rule", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L63", - "weight": 1.0, - "source": "ui_test_theme_rationale_63", - "target": "ui_test_theme_test_root_css_contains_ui_refresh_surface_tokens", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_44", - "target": "ui_test_theme_test_root_css_contains_ui_refresh_surface_tokens" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L76", - "weight": 1.0, - "source": "ui_test_theme_rationale_76", - "target": "ui_test_theme_test_root_css_emits_previously_undefined_referenced_vars", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_57", - "target": "ui_test_theme_test_root_css_emits_previously_undefined_referenced_vars" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L153", - "weight": 1.0, - "source": "ui_test_theme_rationale_153", - "target": "ui_test_theme_test_root_css_navy_tinted_shadows", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_134", - "target": "ui_test_theme_test_root_css_navy_tinted_shadows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_82", - "target": "ui_test_theme_test_root_css_navy_tinted_shadows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L166", - "weight": 1.0, - "source": "ui_test_theme_rationale_166", - "target": "ui_test_theme_test_root_css_starts_with_root_block", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_147", - "target": "ui_test_theme_test_root_css_starts_with_root_block" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_95", - "target": "ui_test_theme_test_root_css_starts_with_root_block" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L173", - "weight": 1.0, - "source": "ui_test_theme_rationale_173", - "target": "ui_test_theme_test_root_css_includes_body_resets", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_154", - "target": "ui_test_theme_test_root_css_includes_body_resets" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_102", - "target": "ui_test_theme_test_root_css_includes_body_resets" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L182", - "weight": 1.0, - "source": "ui_test_theme_rationale_182", - "target": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_163", - "target": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_theme.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_theme_rationale_111", - "target": "ui_test_theme_test_resolve_assets_dir_points_at_repo_assets_in_source_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_stage_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_testids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_section_body" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_section_testids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_text_of" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_find_all" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_draft_of" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_sections_omit_nas_remote_without_nas_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_sections_insert_nas_remote_after_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_section_renders_configured_remote_and_base_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_section_has_no_password_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_section_has_test_connection_control" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_status_badge_found_when_remote_available" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_status_badge_not_found_when_remote_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_nav_entry_present_when_nas_equipment_exists" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_nav_entry_absent_for_stage_only_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_test_connection_handler_invokes_callback_and_renders_panel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_test_connection_handler_awaits_coroutine_result" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_test_connection_handler_no_op_without_callback" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_save_emits_validated_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L372", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_save_is_noop_when_no_handler_wired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L382", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_save_swallows_validation_error_and_does_not_emit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_discard_invokes_handler_with_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L421", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_nav_click_selects_section_and_invokes_callback" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_nav_click_without_callback_does_not_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L451", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_equipment_add_appends_row" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L471", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_equipment_add_rejects_duplicate_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L488", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_equipment_add_rejects_invalid_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L511", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_scan_ext_chip_remove_drops_entry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_scan_ext_chip_reset_restores_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L541", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_scan_ext_chip_add_validates_leading_dot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L571", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_operators_chip_add_appends_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L597", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_changeevent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L602", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_fire_change" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_autostart_toggle_invokes_setter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L620", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_autostart_toggle_reverts_when_setter_disagrees" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L641", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_autostart_disabled_when_no_setter_wired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L654", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_quit_disabled_when_no_handler_wired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L664", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_quit_confirm_dialog_runs_callback" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L691", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_remote_py", - "target": "ui_test_settings_nas_remote_test_render_returns_payload_dict_when_nicegui_unavailable" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_rationale_1", - "target": "tests_unit_ui_test_settings_nas_remote_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_sections_insert_nas_remote_after_equipment", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_section_renders_configured_remote_and_base_root", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_section_has_no_password_input", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_section_has_test_connection_control", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_status_badge_found_when_remote_available", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_status_badge_not_found_when_remote_absent", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_nav_entry_present_when_nas_equipment_exists", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_invokes_callback_and_renders_panel", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_awaits_coroutine_result", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L341", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_no_op_without_callback", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_nav_click_selects_section_and_invokes_callback", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L452", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_appends_row", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_rejects_duplicate_id", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_rejects_invalid_id", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L572", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_operators_chip_add_appends_value", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L694", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_render_returns_payload_dict_when_nicegui_unavailable", - "target": "ui_test_settings_nas_remote_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L38", - "weight": 1.0, - "source": "ui_test_settings_nas_remote_nas_equipment", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_sections_omit_nas_remote_without_nas_equipment", - "target": "ui_test_settings_nas_remote_stage_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_nav_entry_absent_for_stage_only_config", - "target": "ui_test_settings_nas_remote_stage_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L50", - "weight": 1.0, - "source": "ui_test_settings_nas_remote_stage_equipment", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_sections_omit_nas_remote_without_nas_equipment", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_sections_insert_nas_remote_after_equipment", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_section_renders_configured_remote_and_base_root", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_section_has_no_password_input", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_section_has_test_connection_control", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_status_badge_found_when_remote_available", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_status_badge_not_found_when_remote_absent", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_nav_entry_present_when_nas_equipment_exists", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_nav_entry_absent_for_stage_only_config", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_invokes_callback_and_renders_panel", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_awaits_coroutine_result", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L341", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_no_op_without_callback", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_nav_click_selects_section_and_invokes_callback", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L452", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_appends_row", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_rejects_duplicate_id", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_rejects_invalid_id", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L572", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_operators_chip_add_appends_value", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L694", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_render_returns_payload_dict_when_nicegui_unavailable", - "target": "ui_test_settings_nas_remote_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L61", - "weight": 1.0, - "source": "ui_test_settings_nas_remote_config_with", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L63", - "weight": 1.0, - "source": "ui_test_settings_nas_remote_config_with", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L69", - "weight": 1.0, - "source": "ui_test_settings_nas_remote_config_with", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_section_testids", - "target": "ui_test_settings_nas_remote_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_nav_entry_present_when_nas_equipment_exists", - "target": "ui_test_settings_nas_remote_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_nav_entry_absent_for_stage_only_config", - "target": "ui_test_settings_nas_remote_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_section_testids", - "target": "ui_test_settings_nas_remote_section_body" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_rationale_82", - "target": "ui_test_settings_nas_remote_section_body" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_section_renders_configured_remote_and_base_root", - "target": "ui_test_settings_nas_remote_section_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_section_has_no_password_input", - "target": "ui_test_settings_nas_remote_section_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_section_has_test_connection_control", - "target": "ui_test_settings_nas_remote_section_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_no_op_without_callback", - "target": "ui_test_settings_nas_remote_section_testids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_rationale_91", - "target": "ui_test_settings_nas_remote_section_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_section_renders_configured_remote_and_base_root", - "target": "ui_test_settings_nas_remote_text_of" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_status_badge_found_when_remote_available", - "target": "ui_test_settings_nas_remote_text_of" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_status_badge_not_found_when_remote_absent", - "target": "ui_test_settings_nas_remote_text_of" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_click", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_invokes_callback_and_renders_panel", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_awaits_coroutine_result", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_no_op_without_callback", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_save_swallows_validation_error_and_does_not_emit", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_appends_row", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_rejects_duplicate_id", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L497", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_rejects_invalid_id", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L548", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_scan_ext_chip_add_validates_leading_dot", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L579", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_operators_chip_add_appends_value", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L616", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_autostart_toggle_invokes_setter", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L634", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_autostart_toggle_reverts_when_setter_disagrees", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L648", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_autostart_disabled_when_no_setter_wired", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L661", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_quit_disabled_when_no_handler_wired", - "target": "ui_test_settings_nas_remote_find" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L465", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_appends_row", - "target": "ui_test_settings_nas_remote_find_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L485", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_rejects_duplicate_id", - "target": "ui_test_settings_nas_remote_find_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L503", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_rejects_invalid_id", - "target": "ui_test_settings_nas_remote_find_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L517", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_scan_ext_chip_remove_drops_entry", - "target": "ui_test_settings_nas_remote_find_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L531", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_scan_ext_chip_reset_restores_defaults", - "target": "ui_test_settings_nas_remote_find_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L547", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_scan_ext_chip_add_validates_leading_dot", - "target": "ui_test_settings_nas_remote_find_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L581", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_operators_chip_add_appends_value", - "target": "ui_test_settings_nas_remote_find_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_click", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_draft_of", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_invokes_callback_and_renders_panel", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_awaits_coroutine_result", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_test_connection_handler_no_op_without_callback", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_save_swallows_validation_error_and_does_not_emit", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L521", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_scan_ext_chip_remove_drops_entry", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L534", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_scan_ext_chip_reset_restores_defaults", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L682", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_quit_confirm_dialog_runs_callback", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_rationale_130", - "target": "ui_test_settings_nas_remote_click_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L367", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_save_emits_validated_config", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L379", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_save_is_noop_when_no_handler_wired", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L412", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_discard_invokes_handler_with_state", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L431", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_nav_click_selects_section_and_invokes_callback", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L443", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_nav_click_without_callback_does_not_raise", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L463", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_appends_row", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L483", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_rejects_duplicate_id", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L501", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_equipment_add_rejects_invalid_id", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L537", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_scan_ext_chip_reset_restores_defaults", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L552", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_scan_ext_chip_add_validates_leading_dot", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L580", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_operators_chip_add_appends_value", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L676", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_quit_confirm_dialog_runs_callback", - "target": "ui_test_settings_nas_remote_click" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L390", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_save_swallows_validation_error_and_does_not_emit", - "target": "ui_test_settings_nas_remote_draft_of" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_rationale_155", - "target": "ui_test_settings_nas_remote_draft_of" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L598", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_changeevent", - "target": "ui_test_settings_nas_remote_changeevent_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L604", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_fire_change", - "target": "ui_test_settings_nas_remote_changeevent" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_settings_nas_remote_changeevent", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_settings_nas_remote_changeevent", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_settings_nas_remote_changeevent", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_settings_nas_remote_changeevent", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_settings_nas_remote_changeevent", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_settings_nas_remote_changeevent", - "target": "components_test_connection_panel_testconnectionresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L616", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_autostart_toggle_invokes_setter", - "target": "ui_test_settings_nas_remote_fire_change" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L635", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_autostart_toggle_reverts_when_setter_disagrees", - "target": "ui_test_settings_nas_remote_fire_change" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_remote.py", - "source_location": "L651", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_remote_test_autostart_disabled_when_no_setter_wired", - "target": "ui_test_settings_nas_remote_fire_change" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_breadcrumb_py", - "target": "ui_test_breadcrumb_test_segments_from_none_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_breadcrumb_py", - "target": "ui_test_breadcrumb_test_segments_from_empty_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_breadcrumb_py", - "target": "ui_test_breadcrumb_test_segments_for_run_node" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_breadcrumb_py", - "target": "ui_test_breadcrumb_test_segments_strip_empty_components" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_breadcrumb_rationale_1", - "target": "tests_unit_ui_test_breadcrumb_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L12", - "weight": 1.0, - "source": "ui_test_breadcrumb_test_segments_from_none_returns_empty", - "target": "components_breadcrumb_segments_from_node_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L16", - "weight": 1.0, - "source": "ui_test_breadcrumb_test_segments_from_empty_returns_empty", - "target": "components_breadcrumb_segments_from_node_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L20", - "weight": 1.0, - "source": "ui_test_breadcrumb_test_segments_for_run_node", - "target": "components_breadcrumb_segments_from_node_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L22", - "weight": 1.0, - "source": "ui_test_breadcrumb_test_segments_for_run_node", - "target": "components_breadcrumb_breadcrumbsegment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_breadcrumb_rationale_33", - "target": "ui_test_breadcrumb_test_segments_strip_empty_components" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L34", - "weight": 1.0, - "source": "ui_test_breadcrumb_test_segments_strip_empty_components", - "target": "components_breadcrumb_segments_from_node_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_breadcrumb.py", - "source_location": "L36", - "weight": 1.0, - "source": "ui_test_breadcrumb_test_segments_strip_empty_components", - "target": "components_breadcrumb_breadcrumbsegment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_empty_input_returns_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_all_none_returns_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_unknown_values_ignored" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_single_status_rolls_up_to_itself" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_failed_dominates_everything" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_blocked_beats_pending_synced_cleaned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_pending_beats_synced_and_cleaned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_synced_beats_cleaned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_cleaned_is_lowest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_none_and_unknown_excluded_but_known_survives" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_full_severity_order" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_sync_rollup_py", - "target": "ui_test_sync_rollup_test_accepts_syncstatus_enum_members_directly" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_sync_rollup_rationale_1", - "target": "tests_unit_ui_test_sync_rollup_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L16", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_empty_input_returns_none", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L20", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_all_none_returns_none", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L24", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_unknown_values_ignored", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L28", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_single_status_rolls_up_to_itself", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L32", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_failed_dominates_everything", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L36", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_blocked_beats_pending_synced_cleaned", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L40", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_pending_beats_synced_and_cleaned", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L44", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_synced_beats_cleaned", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L48", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_cleaned_is_lowest", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L52", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_none_and_unknown_excluded_but_known_survives", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_sync_rollup_rationale_56", - "target": "ui_test_sync_rollup_test_full_severity_order" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L60", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_full_severity_order", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_sync_rollup_rationale_64", - "target": "ui_test_sync_rollup_test_accepts_syncstatus_enum_members_directly" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_sync_rollup.py", - "source_location": "L69", - "weight": 1.0, - "source": "ui_test_sync_rollup_test_accepts_syncstatus_enum_members_directly", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_mode_badge_renders_in_slot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_test_run_badge_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_override_badge_renders_with_callback" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_sync_status_icon_renders_each_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_session_progress_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_credential_field_renders_each_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_credential_testids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_credential_field_not_set_state_renders_set_button_without_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_credential_field_set_state_renders_replace_and_clear_buttons" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_test_connection_panel_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_filter_chips_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_status_bar_segment_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_operations_modal_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_validation_summary_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_tree_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_welcome_page_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L356", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_complete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L373", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_incomplete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_wizard_project_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L397", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_wizard_run_renders_test_mode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L405", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_wizard_run_renders_experimental_mode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L413", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_settings_page_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_settings_page_each_section_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L432", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_settings_page_setup_incomplete_auto_selects_first" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L446", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_settings_lims_section_renders_credential_field_with_e2e_hooks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L461", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_settings_lims_section_credential_field_opens_set_when_password_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L475", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_problems_page_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L507", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_problems_page_renders_empty_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L520", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_register_theme_returns_css" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_factories_smoke_py", - "target": "ui_test_factories_smoke_test_smoke_bind_global_shortcuts_does_not_raise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_rationale_1", - "target": "tests_unit_ui_test_factories_smoke_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_mode_badge_renders_in_slot", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_test_run_badge_renders", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_override_badge_renders_with_callback", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_sync_status_icon_renders_each_state", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_session_progress_renders", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_credential_field_renders_each_state", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_credential_field_not_set_state_renders_set_button_without_input", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_credential_field_set_state_renders_replace_and_clear_buttons", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_test_connection_panel_renders", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_filter_chips_renders", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_status_bar_segment_renders", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_operations_modal_renders", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_bandwidth_schedule_editor_renders", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_validation_summary_renders", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L335", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_smoke_tree_renders", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_rationale_51", - "target": "ui_test_factories_smoke_slot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input", - "target": "ui_test_factories_smoke_credential_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_credential_field_not_set_state_renders_set_button_without_input", - "target": "ui_test_factories_smoke_credential_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_credential_field_set_state_renders_replace_and_clear_buttons", - "target": "ui_test_factories_smoke_credential_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L457", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_settings_lims_section_renders_credential_field_with_e2e_hooks", - "target": "ui_test_factories_smoke_credential_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L470", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_test_settings_lims_section_credential_field_opens_set_when_password_present", - "target": "ui_test_factories_smoke_credential_testids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_rationale_129", - "target": "ui_test_factories_smoke_credential_testids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_rationale_139", - "target": "ui_test_factories_smoke_test_credential_field_editing_state_renders_a_password_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L234", - "weight": 1.0, - "source": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", - "target": "ui_notifications_reset_for_tests" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L235", - "weight": 1.0, - "source": "ui_test_factories_smoke_test_smoke_banner_stack_renders_with_active_banners", - "target": "ui_notifications_show_banner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L374", - "weight": 1.0, - "source": "ui_test_factories_smoke_test_smoke_file_explorer_page_renders_setup_incomplete", - "target": "ui_notifications_reset_for_tests" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_factories_smoke.py", - "source_location": "L447", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_factories_smoke_rationale_447", - "target": "ui_test_factories_smoke_test_settings_lims_section_renders_credential_field_with_e2e_hooks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_primary_palette_matches_designmd" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_ui_refresh_surface_tokens_match_designmd" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_okabe_ito_palette_matches_designmd" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_semantic_aliases_are_okabe_ito" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_warning_token_is_oi_orange" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_typography_uses_frontend_override" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_type_scale_matches_designmd" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_spacing_scale_4px_grid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_radius_tokens_match_designmd" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_shadows_are_navy_tinted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_motion_tokens_match_designmd" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_okabe_ito_series_order_is_fixed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_vermilion_is_last_in_series" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_no_blue_collision_in_series_first_six" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_badge_text_variants_are_wcag_aa" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_alert_text_variants_match_designmd" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_design_py", - "target": "ui_test_design_test_yellow_is_present_but_only_for_fills" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_1", - "target": "tests_unit_ui_test_design_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_15", - "target": "ui_test_design_test_primary_palette_matches_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_30", - "target": "ui_test_design_test_ui_refresh_surface_tokens_match_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_49", - "target": "ui_test_design_test_okabe_ito_palette_matches_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_30", - "target": "ui_test_design_test_okabe_ito_palette_matches_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_62", - "target": "ui_test_design_test_semantic_aliases_are_okabe_ito" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_43", - "target": "ui_test_design_test_semantic_aliases_are_okabe_ito" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_71", - "target": "ui_test_design_test_warning_token_is_oi_orange" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_52", - "target": "ui_test_design_test_warning_token_is_oi_orange" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_77", - "target": "ui_test_design_test_typography_uses_frontend_override" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_58", - "target": "ui_test_design_test_typography_uses_frontend_override" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_87", - "target": "ui_test_design_test_type_scale_matches_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_68", - "target": "ui_test_design_test_type_scale_matches_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_101", - "target": "ui_test_design_test_spacing_scale_4px_grid" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_82", - "target": "ui_test_design_test_spacing_scale_4px_grid" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_118", - "target": "ui_test_design_test_radius_tokens_match_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_99", - "target": "ui_test_design_test_radius_tokens_match_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_127", - "target": "ui_test_design_test_shadows_are_navy_tinted" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_108", - "target": "ui_test_design_test_shadows_are_navy_tinted" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_134", - "target": "ui_test_design_test_motion_tokens_match_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_115", - "target": "ui_test_design_test_motion_tokens_match_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_141", - "target": "ui_test_design_test_okabe_ito_series_order_is_fixed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_122", - "target": "ui_test_design_test_okabe_ito_series_order_is_fixed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_155", - "target": "ui_test_design_test_vermilion_is_last_in_series" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_136", - "target": "ui_test_design_test_vermilion_is_last_in_series" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_161", - "target": "ui_test_design_test_no_blue_collision_in_series_first_six" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_142", - "target": "ui_test_design_test_no_blue_collision_in_series_first_six" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_172", - "target": "ui_test_design_test_badge_text_variants_are_wcag_aa" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_153", - "target": "ui_test_design_test_badge_text_variants_are_wcag_aa" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_184", - "target": "ui_test_design_test_alert_text_variants_match_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_165", - "target": "ui_test_design_test_alert_text_variants_match_designmd" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_195", - "target": "ui_test_design_test_yellow_is_present_but_only_for_fills" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_design.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_design_rationale_176", - "target": "ui_test_design_test_yellow_is_present_but_only_for_fills" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_travelling_badge_py", - "target": "ui_test_travelling_badge_hard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_travelling_badge_py", - "target": "ui_test_travelling_badge_soft" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_travelling_badge_py", - "target": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_travelling_badge_py", - "target": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_travelling_badge_py", - "target": "ui_test_travelling_badge_test_badge_lands_on_leaf_when_fully_expanded" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_travelling_badge_py", - "target": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_travelling_badge_py", - "target": "ui_test_travelling_badge_test_amber_only_when_no_hard_findings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_travelling_badge_py", - "target": "ui_test_travelling_badge_test_two_equipment_get_independent_badges" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_rationale_1", - "target": "tests_unit_ui_test_travelling_badge_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed", - "target": "ui_test_travelling_badge_hard" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand", - "target": "ui_test_travelling_badge_hard" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_test_badge_lands_on_leaf_when_fully_expanded", - "target": "ui_test_travelling_badge_hard" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", - "target": "ui_test_travelling_badge_hard" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", - "target": "ui_test_travelling_badge_hard" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L18", - "weight": 1.0, - "source": "ui_test_travelling_badge_hard", - "target": "components_travelling_badge_findinglocation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", - "target": "ui_test_travelling_badge_soft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_test_amber_only_when_no_hard_findings", - "target": "ui_test_travelling_badge_soft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", - "target": "ui_test_travelling_badge_soft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L22", - "weight": 1.0, - "source": "ui_test_travelling_badge_soft", - "target": "components_travelling_badge_findinglocation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_rationale_26", - "target": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L30", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed", - "target": "components_travelling_badge_travelling_badges" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L31", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_badge_on_root_when_all_collapsed", - "target": "components_travelling_badge_badgeprops" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_travelling_badge_rationale_35", - "target": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L37", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand", - "target": "components_travelling_badge_travelling_badges" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L38", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_badge_travels_inward_as_nodes_expand", - "target": "components_travelling_badge_badgeprops" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L48", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_badge_lands_on_leaf_when_fully_expanded", - "target": "components_travelling_badge_travelling_badges" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L49", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_badge_lands_on_leaf_when_fully_expanded", - "target": "components_travelling_badge_badgeprops" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L57", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", - "target": "components_travelling_badge_travelling_badges" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L59", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_red_beats_amber_when_aggregated_on_same_node", - "target": "components_travelling_badge_badgeprops" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L64", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_amber_only_when_no_hard_findings", - "target": "components_travelling_badge_travelling_badges" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L65", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_amber_only_when_no_hard_findings", - "target": "components_travelling_badge_badgeprops" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L73", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", - "target": "components_travelling_badge_travelling_badges" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_travelling_badge.py", - "source_location": "L75", - "weight": 1.0, - "source": "ui_test_travelling_badge_test_two_equipment_get_independent_badges", - "target": "components_travelling_badge_badgeprops" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_can_advance_equipment_step_requires_selection" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_can_advance_variables_step_always_true" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_can_advance_confirm_step_always_true" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_can_advance_default_step_is_lims_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_can_advance_readme_blocks_on_partial_core_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_disk_space_message_none_when_unknown" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_disk_space_message_none_when_ample" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_disk_space_message_present_just_below_threshold" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_state_lims_project_name_defaults_empty_and_is_settable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_render_project_wizard_with_choices_does_not_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_render_project_wizard_with_empty_choices_does_not_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_render_project_wizard_defaults_state_when_omitted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_wizard_project_page_py", - "target": "ui_test_wizard_project_page_test_wizard_project_step_titles_cover_every_step" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_wizard_project_page_rationale_1", - "target": "tests_unit_ui_test_wizard_project_page_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L31", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_can_advance_equipment_step_requires_selection", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L39", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_can_advance_variables_step_always_true", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L46", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_can_advance_confirm_step_always_true", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L51", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_can_advance_default_step_is_lims_project", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L59", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_can_advance_readme_blocks_on_partial_core_fields", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L72", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_disk_space_message_none_when_unknown", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L73", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_disk_space_message_none_when_unknown", - "target": "pages_wizard_project_disk_space_pre_flight_message" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L77", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_disk_space_message_none_when_ample", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L78", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_disk_space_message_none_when_ample", - "target": "pages_wizard_project_disk_space_pre_flight_message" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L82", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_disk_space_message_present_just_below_threshold", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L83", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_disk_space_message_present_just_below_threshold", - "target": "pages_wizard_project_disk_space_pre_flight_message" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L93", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_state_lims_project_name_defaults_empty_and_is_settable", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L105", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_render_project_wizard_with_choices_does_not_raise", - "target": "pages_wizard_project_render_project_wizard" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L106", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_render_project_wizard_with_choices_does_not_raise", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L115", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_render_project_wizard_with_empty_choices_does_not_raise", - "target": "pages_wizard_project_render_project_wizard" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L116", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_render_project_wizard_with_empty_choices_does_not_raise", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_wizard_project_page.py", - "source_location": "L124", - "weight": 1.0, - "source": "ui_test_wizard_project_page_test_render_project_wizard_defaults_state_when_omitted", - "target": "pages_wizard_project_render_project_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_folder_feed_py", - "target": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_folder_feed_py", - "target": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_folder_feed_py", - "target": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_folder_feed_py", - "target": "ui_test_folder_feed_test_refresh_coordinator_coalesces_within_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_folder_feed_rationale_1", - "target": "tests_unit_ui_test_folder_feed_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L25", - "weight": 1.0, - "source": "ui_test_folder_feed_test_folder_feed_start_then_stop_calls_fetch_at_least_once", - "target": "client_folder_feed_folderfeed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L41", - "weight": 1.0, - "source": "ui_test_folder_feed_test_folder_feed_switching_paths_stops_previous", - "target": "client_folder_feed_folderfeed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L60", - "weight": 1.0, - "source": "ui_test_folder_feed_test_folder_feed_pause_skips_fetch", - "target": "client_folder_feed_folderfeed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_folder_feed.py", - "source_location": "L74", - "weight": 1.0, - "source": "ui_test_folder_feed_test_refresh_coordinator_coalesces_within_window", - "target": "client_refresh_coordinator_refreshcoordinator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_catalogue_py", - "target": "lims_test_catalogue_make_catalogue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_catalogue_py", - "target": "lims_test_catalogue_test_round_trip_via_write_then_read" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_catalogue_py", - "target": "lims_test_catalogue_test_read_missing_file_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_catalogue_py", - "target": "lims_test_catalogue_test_read_invalid_json_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_catalogue_py", - "target": "lims_test_catalogue_test_read_non_object_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_catalogue_py", - "target": "lims_test_catalogue_test_schema_version_mismatch_treated_as_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_catalogue_py", - "target": "lims_test_catalogue_test_endpoint_mismatch_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_catalogue_py", - "target": "lims_test_catalogue_test_write_creates_parent_directory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_catalogue_py", - "target": "lims_test_catalogue_test_write_atomic_replaces_previous_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_catalogue_py", - "target": "lims_test_catalogue_test_read_handles_missing_projects_array" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_catalogue_rationale_1", - "target": "tests_unit_lims_test_catalogue_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_catalogue_test_round_trip_via_write_then_read", - "target": "lims_test_catalogue_make_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_catalogue_test_endpoint_mismatch_raises", - "target": "lims_test_catalogue_make_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_catalogue_test_write_creates_parent_directory", - "target": "lims_test_catalogue_make_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_catalogue_test_write_atomic_replaces_previous_file", - "target": "lims_test_catalogue_make_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L15", - "weight": 1.0, - "source": "lims_test_catalogue_make_catalogue", - "target": "lims_catalogue_offlinecatalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L21", - "weight": 1.0, - "source": "lims_test_catalogue_make_catalogue", - "target": "lims_schemas_limsproject" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L39", - "weight": 1.0, - "source": "lims_test_catalogue_test_round_trip_via_write_then_read", - "target": "lims_catalogue_write_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L40", - "weight": 1.0, - "source": "lims_test_catalogue_test_round_trip_via_write_then_read", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L50", - "weight": 1.0, - "source": "lims_test_catalogue_test_read_missing_file_raises", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L57", - "weight": 1.0, - "source": "lims_test_catalogue_test_read_invalid_json_raises", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L64", - "weight": 1.0, - "source": "lims_test_catalogue_test_read_non_object_raises", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L80", - "weight": 1.0, - "source": "lims_test_catalogue_test_schema_version_mismatch_treated_as_absent", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L88", - "weight": 1.0, - "source": "lims_test_catalogue_test_endpoint_mismatch_raises", - "target": "lims_catalogue_write_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L90", - "weight": 1.0, - "source": "lims_test_catalogue_test_endpoint_mismatch_raises", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L96", - "weight": 1.0, - "source": "lims_test_catalogue_test_write_creates_parent_directory", - "target": "lims_catalogue_write_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L103", - "weight": 1.0, - "source": "lims_test_catalogue_test_write_atomic_replaces_previous_file", - "target": "lims_catalogue_write_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L106", - "weight": 1.0, - "source": "lims_test_catalogue_test_write_atomic_replaces_previous_file", - "target": "lims_catalogue_offlinecatalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L116", - "weight": 1.0, - "source": "lims_test_catalogue_test_write_atomic_replaces_previous_file", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_catalogue.py", - "source_location": "L130", - "weight": 1.0, - "source": "lims_test_catalogue_test_read_handles_missing_projects_array", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_inmemorykeyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_set_get_delete_via_os_keyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_get_returns_none_for_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_delete_missing_is_silent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_is_keyring_available_true" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_delete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_no_passphrase_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_empty_passphrase_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_file_format_integrity" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_corrupt_file_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_unsupported_version_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_missing_fields_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_set_then_overwrite" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_keyring_set_failure_falls_back" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L281", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_delete_when_no_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L292", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_delete_when_username_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L306", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_fallback_plaintext_must_be_object" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_envelope_must_be_object" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L373", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_keyring_store_py", - "target": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_1", - "target": "tests_unit_lims_test_keyring_store_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_inmemorykeyring", - "target": "lims_test_keyring_store_inmemorykeyring_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_inmemorykeyring", - "target": "lims_test_keyring_store_inmemorykeyring_get_password" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_inmemorykeyring", - "target": "lims_test_keyring_store_inmemorykeyring_set_password" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_inmemorykeyring", - "target": "lims_test_keyring_store_inmemorykeyring_delete_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", - "target": "lims_test_keyring_store_inmemorykeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_get_returns_none_for_missing", - "target": "lims_test_keyring_store_inmemorykeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_delete_missing_is_silent", - "target": "lims_test_keyring_store_inmemorykeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_is_keyring_available_true", - "target": "lims_test_keyring_store_inmemorykeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", - "target": "lims_test_keyring_store_inmemorykeyring" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_26", - "target": "lims_test_keyring_store_inmemorykeyring" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_test_keyring_store_inmemorykeyring", - "target": "exlab_wizard_errors_keyringunavailableerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_test_keyring_store_inmemorykeyring", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_brokenkeyring", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_brokenkeyring", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_brokenkeyring", - "target": "lims_test_keyring_store_brokenkeyring_delete_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_round_trip", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_no_passphrase_raises", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_file_format_integrity", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_corrupt_file_raises", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_unsupported_version_raises", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_missing_fields_raises", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_set_then_overwrite", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_keyring_set_failure_falls_back", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete_when_no_file", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L364", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_envelope_must_be_object", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_46", - "target": "lims_test_keyring_store_brokenkeyring" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_test_keyring_store_brokenkeyring", - "target": "exlab_wizard_errors_keyringunavailableerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_test_keyring_store_brokenkeyring", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_get_returns_none_for_missing", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_round_trip", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_corrupt_file_raises", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_unsupported_version_raises", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_missing_fields_raises", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_set_then_overwrite", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_keyring_set_failure_falls_back", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L303", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L321", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L357", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L370", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_envelope_must_be_object", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", - "target": "lims_test_keyring_store_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_round_trip", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_no_passphrase_raises", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_file_format_integrity", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_set_then_overwrite", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_keyring_set_failure_falls_back", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L299", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L383", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", - "target": "lims_test_keyring_store_brokenkeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", - "target": "lims_test_keyring_store_brokenkeyring_delete_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_delete_missing_is_silent", - "target": "lims_test_keyring_store_brokenkeyring_delete_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete", - "target": "lims_test_keyring_store_brokenkeyring_delete_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete_when_no_file", - "target": "lims_test_keyring_store_brokenkeyring_delete_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", - "target": "lims_test_keyring_store_brokenkeyring_delete_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_get_returns_none_for_missing", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_delete_missing_is_silent", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_is_keyring_available_true", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_round_trip", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_no_passphrase_raises", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_file_format_integrity", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_corrupt_file_raises", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_unsupported_version_raises", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_missing_fields_raises", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_set_then_overwrite", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_keyring_set_failure_falls_back", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L264", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete_when_no_file", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L364", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_envelope_must_be_object", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", - "target": "lims_test_keyring_store_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L72", - "weight": 1.0, - "source": "lims_test_keyring_store_test_set_get_delete_via_os_keyring", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L81", - "weight": 1.0, - "source": "lims_test_keyring_store_test_get_returns_none_for_missing", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L87", - "weight": 1.0, - "source": "lims_test_keyring_store_test_delete_missing_is_silent", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L95", - "weight": 1.0, - "source": "lims_test_keyring_store_test_is_keyring_available_true", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L101", - "weight": 1.0, - "source": "lims_test_keyring_store_test_is_keyring_available_false_on_broken_backend", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_106", - "target": "lims_test_keyring_store_test_fallback_round_trip" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L108", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_round_trip", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L124", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L140", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_wrong_passphrase_raises", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L157", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_no_passphrase_raises", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L164", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_empty_passphrase_raises", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_170", - "target": "lims_test_keyring_store_test_fallback_file_format_integrity" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L172", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_file_format_integrity", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L190", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_corrupt_file_raises", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L204", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_unsupported_version_raises", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L216", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_missing_fields_raises", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_225", - "target": "lims_test_keyring_store_test_fallback_set_then_overwrite" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L227", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_set_then_overwrite", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_237", - "target": "lims_test_keyring_store_test_keyring_set_failure_falls_back" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L241", - "weight": 1.0, - "source": "lims_test_keyring_store_test_keyring_set_failure_falls_back", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L250", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_250", - "target": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L265", - "weight": 1.0, - "source": "lims_test_keyring_store_test_is_keyring_available_false_on_unexpected_exception", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_270", - "target": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L274", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_get_when_no_secrets_file", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_282", - "target": "lims_test_keyring_store_test_fallback_delete_when_no_file" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L284", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete_when_no_file", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L293", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_293", - "target": "lims_test_keyring_store_test_fallback_delete_when_username_absent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L295", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_delete_when_username_absent", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L307", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_307", - "target": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L316", - "weight": 1.0, - "source": "lims_test_keyring_store_test_load_fallback_unreadable_path_raises", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_325", - "target": "lims_test_keyring_store_test_fallback_plaintext_must_be_object" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L352", - "weight": 1.0, - "source": "lims_test_keyring_store_test_fallback_plaintext_must_be_object", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L361", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_361", - "target": "lims_test_keyring_store_test_envelope_must_be_object" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L365", - "weight": 1.0, - "source": "lims_test_keyring_store_test_envelope_must_be_object", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L374", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_keyring_store_rationale_374", - "target": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_keyring_store.py", - "source_location": "L379", - "weight": 1.0, - "source": "lims_test_keyring_store_test_get_consults_fallback_when_keyring_missing", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_init_rationale_1", - "target": "tests_unit_lims_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_init_rationale_1", - "target": "src_exlab_wizard_lims_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_make_client" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_login_happy_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_login_uses_explicit_password_over_provider" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_login_wrong_password_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_login_with_no_password_raises_config_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_list_projects_returns_typed_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_list_projects_status_filter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_get_project_by_uid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_get_project_by_short_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_get_project_404_returns_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_get_me" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_health_check_ok" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_health_check_failure_returns_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_relogin_after_401" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_health_check_returns_non200_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_client_py", - "target": "lims_test_client_test_endpoint_strips_trailing_slash" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_rationale_1", - "target": "tests_unit_lims_test_client_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_login_happy_path", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_login_uses_explicit_password_over_provider", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_login_wrong_password_raises", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_login_with_no_password_raises_config_error", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_list_projects_returns_typed_rows", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_list_projects_status_filter", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_get_project_by_uid", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_get_project_by_short_id", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_get_project_404_returns_none", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_get_me", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_health_check_ok", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_health_check_failure_returns_status", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_relogin_after_401", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_test_health_check_returns_non200_status", - "target": "lims_test_client_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L23", - "weight": 1.0, - "source": "lims_test_client_make_client", - "target": "lims_client_limsclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L36", - "weight": 1.0, - "source": "lims_test_client_test_login_happy_path", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L49", - "weight": 1.0, - "source": "lims_test_client_test_login_uses_explicit_password_over_provider", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L60", - "weight": 1.0, - "source": "lims_test_client_test_login_wrong_password_raises", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L70", - "weight": 1.0, - "source": "lims_test_client_test_login_with_no_password_raises_config_error", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L80", - "weight": 1.0, - "source": "lims_test_client_test_list_projects_returns_typed_rows", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L112", - "weight": 1.0, - "source": "lims_test_client_test_list_projects_status_filter", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L123", - "weight": 1.0, - "source": "lims_test_client_test_get_project_by_uid", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L135", - "weight": 1.0, - "source": "lims_test_client_test_get_project_by_short_id", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L147", - "weight": 1.0, - "source": "lims_test_client_test_get_project_404_returns_none", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L158", - "weight": 1.0, - "source": "lims_test_client_test_get_me", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L170", - "weight": 1.0, - "source": "lims_test_client_test_health_check_ok", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_rationale_183", - "target": "lims_test_client_test_health_check_failure_returns_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L184", - "weight": 1.0, - "source": "lims_test_client_test_health_check_failure_returns_status", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_rationale_198", - "target": "lims_test_client_test_relogin_after_401" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L201", - "weight": 1.0, - "source": "lims_test_client_test_relogin_after_401", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_client_rationale_214", - "target": "lims_test_client_test_health_check_returns_non200_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_client.py", - "source_location": "L244", - "weight": 1.0, - "source": "lims_test_client_test_endpoint_strips_trailing_slash", - "target": "lims_client_limsclient" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_init_creates_table_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_upsert_many_then_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_upsert_many_empty_is_noop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_upsert_updates_existing_row" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_get_project_by_uid_or_short_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_get_project_missing_returns_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_list_projects_status_filter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_is_fresh_true_when_within_ttl" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_is_fresh_false_when_stale" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_is_fresh_false_when_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_is_fresh_handles_zulu_suffix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_endpoint_isolates_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_require_conn_before_init_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_close_is_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_lims_test_cache_py", - "target": "lims_test_cache_test_is_fresh_handles_naive_timestamp" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_rationale_1", - "target": "tests_unit_lims_test_cache_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_test_upsert_many_then_list", - "target": "lims_test_cache_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_test_upsert_updates_existing_row", - "target": "lims_test_cache_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_test_get_project_by_uid_or_short_id", - "target": "lims_test_cache_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_test_list_projects_status_filter", - "target": "lims_test_cache_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_test_is_fresh_true_when_within_ttl", - "target": "lims_test_cache_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_test_is_fresh_false_when_stale", - "target": "lims_test_cache_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_test_is_fresh_handles_zulu_suffix", - "target": "lims_test_cache_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", - "target": "lims_test_cache_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_test_endpoint_isolates_rows", - "target": "lims_test_cache_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_test_is_fresh_handles_naive_timestamp", - "target": "lims_test_cache_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L26", - "weight": 1.0, - "source": "lims_test_cache_project", - "target": "lims_schemas_limsproject" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L40", - "weight": 1.0, - "source": "lims_test_cache_test_init_creates_table_idempotent", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L48", - "weight": 1.0, - "source": "lims_test_cache_test_upsert_many_then_list", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L60", - "weight": 1.0, - "source": "lims_test_cache_test_upsert_many_empty_is_noop", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L71", - "weight": 1.0, - "source": "lims_test_cache_test_upsert_updates_existing_row", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L77", - "weight": 1.0, - "source": "lims_test_cache_test_upsert_updates_existing_row", - "target": "lims_schemas_limsproject" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L96", - "weight": 1.0, - "source": "lims_test_cache_test_get_project_by_uid_or_short_id", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L109", - "weight": 1.0, - "source": "lims_test_cache_test_get_project_missing_returns_none", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L119", - "weight": 1.0, - "source": "lims_test_cache_test_list_projects_status_filter", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L136", - "weight": 1.0, - "source": "lims_test_cache_test_is_fresh_true_when_within_ttl", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L146", - "weight": 1.0, - "source": "lims_test_cache_test_is_fresh_false_when_stale", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L157", - "weight": 1.0, - "source": "lims_test_cache_test_is_fresh_false_when_empty", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L166", - "weight": 1.0, - "source": "lims_test_cache_test_is_fresh_handles_zulu_suffix", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L180", - "weight": 1.0, - "source": "lims_test_cache_test_is_fresh_ignores_invalid_timestamp", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L193", - "weight": 1.0, - "source": "lims_test_cache_test_endpoint_isolates_rows", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L207", - "weight": 1.0, - "source": "lims_test_cache_test_require_conn_before_init_raises", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L213", - "weight": 1.0, - "source": "lims_test_cache_test_close_is_idempotent", - "target": "lims_cache_limscache" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_test_cache_rationale_221", - "target": "lims_test_cache_test_is_fresh_handles_naive_timestamp" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/lims/test_cache.py", - "source_location": "L222", - "weight": 1.0, - "source": "lims_test_cache_test_is_fresh_handles_naive_timestamp", - "target": "lims_cache_limscache" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_split_path_segments_posix_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_split_path_segments_windows_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_split_path_segments_empty_string" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_split_path_segments_drops_trailing_slash" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_validator_default_config_uses_spec_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_validator_accepts_explicit_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_clean_input_returns_empty_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_clean_input_with_test_run_returns_empty_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_unresolved_placeholder_in_path_segment_triggers_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_unresolved_placeholder_in_file_name_triggers_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_leftover_jinja_marker_in_file_content_triggers_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_illegal_filesystem_character_in_file_name_triggers_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_reserved_filesystem_name_triggers_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_run_leaf_with_test_run_kind_triggers_mode_prefix_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_test_run_leaf_with_experimental_run_kind_triggers_mode_prefix_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_missing_required_field_triggers_soft_tier_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_required_field_present_does_not_trigger_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_malformed_yaml_front_matter_triggers_soft_tier_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_no_readme_md_skips_front_matter_rule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L320", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_multiple_findings_aggregate_in_one_call" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_findings_are_sorted_with_hard_tier_first" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_findings_sorted_lexicographically_within_same_tier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_findings_carry_run_path_from_proposed_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_findings_default_audit_flags_to_false" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L408", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_findings_are_finding_instances" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_creation_validation_input_is_frozen" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L431", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_creation_py", - "target": "validator_test_engine_creation_test_creation_validation_input_defaults" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_1", - "target": "tests_unit_validator_test_engine_creation_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_clean_input_returns_empty_list", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_clean_input_with_test_run_returns_empty_list", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_unresolved_placeholder_in_path_segment_triggers_finding", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_unresolved_placeholder_in_file_name_triggers_finding", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_leftover_jinja_marker_in_file_content_triggers_finding", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_illegal_filesystem_character_in_file_name_triggers_finding", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_reserved_filesystem_name_triggers_finding", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_run_leaf_with_test_run_kind_triggers_mode_prefix_mismatch", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_test_run_leaf_with_experimental_run_kind_triggers_mode_prefix_mismatch", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L257", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_missing_required_field_triggers_soft_tier_finding", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_required_field_present_does_not_trigger_finding", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_malformed_yaml_front_matter_triggers_soft_tier_finding", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L307", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_no_readme_md_skips_front_matter_rule", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_multiple_findings_aggregate_in_one_call", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_findings_are_sorted_with_hard_tier_first", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L369", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_findings_sorted_lexicographically_within_same_tier", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_findings_carry_run_path_from_proposed_path", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_findings_default_audit_flags_to_false", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L411", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_findings_are_finding_instances", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L426", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_test_creation_validation_input_is_frozen", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_39", - "target": "validator_test_engine_creation_clean_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L77", - "weight": 1.0, - "source": "validator_test_engine_creation_clean_input", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L86", - "weight": 1.0, - "source": "validator_test_engine_creation_test_split_path_segments_posix_path", - "target": "validator_engine_split_path_segments" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L91", - "weight": 1.0, - "source": "validator_test_engine_creation_test_split_path_segments_windows_path", - "target": "validator_engine_split_path_segments" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L97", - "weight": 1.0, - "source": "validator_test_engine_creation_test_split_path_segments_empty_string", - "target": "validator_engine_split_path_segments" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L101", - "weight": 1.0, - "source": "validator_test_engine_creation_test_split_path_segments_drops_trailing_slash", - "target": "validator_engine_split_path_segments" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_111", - "target": "validator_test_engine_creation_test_validator_default_config_uses_spec_defaults" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L120", - "weight": 1.0, - "source": "validator_test_engine_creation_test_validator_accepts_explicit_config", - "target": "config_models_validatorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_137", - "target": "validator_test_engine_creation_test_clean_input_with_test_run_returns_empty_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_153", - "target": "validator_test_engine_creation_test_unresolved_placeholder_in_path_segment_triggers_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_196", - "target": "validator_test_engine_creation_test_illegal_filesystem_character_in_file_name_triggers_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_212", - "target": "validator_test_engine_creation_test_reserved_filesystem_name_triggers_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_226", - "target": "validator_test_engine_creation_test_run_leaf_with_test_run_kind_triggers_mode_prefix_mismatch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_239", - "target": "validator_test_engine_creation_test_test_run_leaf_with_experimental_run_kind_triggers_mode_prefix_mismatch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_255", - "target": "validator_test_engine_creation_test_missing_required_field_triggers_soft_tier_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_273", - "target": "validator_test_engine_creation_test_required_field_present_does_not_trigger_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_289", - "target": "validator_test_engine_creation_test_malformed_yaml_front_matter_triggers_soft_tier_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L305", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_305", - "target": "validator_test_engine_creation_test_no_readme_md_skips_front_matter_rule" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L321", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_321", - "target": "validator_test_engine_creation_test_multiple_findings_aggregate_in_one_call" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L343", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_343", - "target": "validator_test_engine_creation_test_findings_are_sorted_with_hard_tier_first" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L367", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_367", - "target": "validator_test_engine_creation_test_findings_sorted_lexicographically_within_same_tier" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L387", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_387", - "target": "validator_test_engine_creation_test_findings_carry_run_path_from_proposed_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_396", - "target": "validator_test_engine_creation_test_findings_default_audit_flags_to_false" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L409", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_409", - "target": "validator_test_engine_creation_test_findings_are_finding_instances" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L425", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_425", - "target": "validator_test_engine_creation_test_creation_validation_input_is_frozen" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L432", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_creation_rationale_432", - "target": "validator_test_engine_creation_test_creation_validation_input_defaults" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_creation.py", - "source_location": "L433", - "weight": 1.0, - "source": "validator_test_engine_creation_test_creation_validation_input_defaults", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_reconfigure.py", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_reconfigure_py", - "target": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_reconfigure.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_reconfigure_py", - "target": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_reconfigure.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_reconfigure_rationale_1", - "target": "tests_unit_validator_test_engine_reconfigure_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_reconfigure.py", - "source_location": "L18", - "weight": 1.0, - "source": "validator_test_engine_reconfigure_test_reconfigure_refreshes_scan_limits_and_roots", - "target": "config_models_validatorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_reconfigure.py", - "source_location": "L39", - "weight": 1.0, - "source": "validator_test_engine_reconfigure_test_reconfigure_defaults_to_empty_roots", - "target": "config_models_validatorconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_finding_instantiation_with_all_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_finding_minimum_required_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_finding_is_frozen" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_to_dict_contains_all_spec_keys" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_to_dict_values_match_field_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_to_dict_from_dict_round_trip_identity" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_from_dict_accepts_minimal_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_from_dict_ignores_unknown_keys" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_to_dict_preserves_none_matched_token" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_finding_is_hashable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_findings_in_set_dedupe_by_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_findings_in_set_distinguish_by_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_findings_can_be_sorted_by_to_dict_key" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_findings_sort_by_tier_then_rule_then_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_equality_with_same_field_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L230", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_inequality_when_one_field_differs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_finding_equality_is_not_identity" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_findings_py", - "target": "validator_test_findings_test_audit_mode_flags_round_trip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_1", - "target": "tests_unit_validator_test_findings_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_finding_instantiation_with_all_fields", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_finding_is_frozen", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_to_dict_contains_all_spec_keys", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_to_dict_values_match_field_values", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_to_dict_from_dict_round_trip_identity", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_finding_is_hashable", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_findings_in_set_dedupe_by_value", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_findings_in_set_distinguish_by_value", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_findings_can_be_sorted_by_to_dict_key", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_findings_sort_by_tier_then_rule_then_path", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_equality_with_same_field_values", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_inequality_when_one_field_differs", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_finding_equality_is_not_identity", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_test_audit_mode_flags_round_trip", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_24", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L381", - "weight": 1.0, - "source": "validator_rules_check_mode_prefix_mismatch", - "target": "validator_test_findings_make_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_59", - "target": "validator_test_findings_test_finding_minimum_required_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_75", - "target": "validator_test_findings_test_finding_is_frozen" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_120", - "target": "validator_test_findings_test_from_dict_accepts_minimal_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_136", - "target": "validator_test_findings_test_from_dict_ignores_unknown_keys" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_150", - "target": "validator_test_findings_test_to_dict_preserves_none_matched_token" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_177", - "target": "validator_test_findings_test_findings_in_set_dedupe_by_value" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_185", - "target": "validator_test_findings_test_findings_in_set_distinguish_by_value" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_199", - "target": "validator_test_findings_test_findings_can_be_sorted_by_to_dict_key" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_207", - "target": "validator_test_findings_test_findings_sort_by_tier_then_rule_then_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_findings.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_findings_rationale_244", - "target": "validator_test_findings_test_audit_mode_flags_round_trip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_init_rationale_1", - "target": "tests_unit_validator_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_init_rationale_1", - "target": "src_exlab_wizard_validator_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_angle_bracket_token_in_segment_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_non_token_angle_brackets_pass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_jinja_var_marker_in_filename_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_jinja_block_marker_in_content_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_unresolved_placeholder_in_content_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_no_findings_on_clean_inputs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_large_text_file_skipped_from_content_scan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_under_size_cap_content_is_scanned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_multiple_matches_in_same_input_each_yield_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_empty_file_contents_dict_is_path_only_scan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_windows_illegal_char_in_segment_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_nul_byte_in_name_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_low_ascii_control_char_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_trailing_dot_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_trailing_space_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_normal_names_pass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_findings_have_hard_tier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_reserved_name_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_non_reserved_name_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L320", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_unsafe_project_name_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_safe_project_name_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_experimental_with_run_prefix_under_runs_parent_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_experimental_with_run_prefix_at_project_level_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L372", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_experimental_with_test_run_prefix_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L382", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_experimental_under_test_runs_parent_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_test_with_test_run_prefix_under_test_runs_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L400", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_test_with_run_prefix_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L409", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_test_with_test_run_prefix_but_wrong_parent_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_run_kind_none_returns_no_findings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L432", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_project_without_creation_json_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L439", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_run_without_creation_json_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L445", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_equipment_without_creation_json_does_not_fire" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L450", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_project_with_creation_json_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L455", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_run_with_creation_json_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L465", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_missing_id_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_empty_string_value_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L492", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_present_id_with_non_empty_value_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L504", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_field_present_in_template_fields_layer_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L516", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_none_readme_fields_treats_all_required_as_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L524", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_value_explicit_none_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L541", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_well_formed_front_matter_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L546", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_unterminated_front_matter_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L554", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_malformed_yaml_in_block_fires" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L562", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_no_front_matter_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L567", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_empty_content_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L571", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_rules_py", - "target": "validator_test_rules_test_front_matter_with_nested_yaml_passes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_rules_rationale_1", - "target": "tests_unit_validator_test_rules_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L38", - "weight": 1.0, - "source": "validator_test_rules_test_angle_bracket_token_in_segment_fires", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L65", - "weight": 1.0, - "source": "validator_test_rules_test_non_token_angle_brackets_pass", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L76", - "weight": 1.0, - "source": "validator_test_rules_test_jinja_var_marker_in_filename_fires", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L89", - "weight": 1.0, - "source": "validator_test_rules_test_jinja_block_marker_in_content_fires", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L102", - "weight": 1.0, - "source": "validator_test_rules_test_unresolved_placeholder_in_content_fires", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L111", - "weight": 1.0, - "source": "validator_test_rules_test_no_findings_on_clean_inputs", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L123", - "weight": 1.0, - "source": "validator_test_rules_test_large_text_file_skipped_from_content_scan", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L134", - "weight": 1.0, - "source": "validator_test_rules_test_under_size_cap_content_is_scanned", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L143", - "weight": 1.0, - "source": "validator_test_rules_test_multiple_matches_in_same_input_each_yield_finding", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L153", - "weight": 1.0, - "source": "validator_test_rules_test_empty_file_contents_dict_is_path_only_scan", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L181", - "weight": 1.0, - "source": "validator_test_rules_test_windows_illegal_char_in_segment_fires", - "target": "validator_rules_check_illegal_filesystem_character" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L193", - "weight": 1.0, - "source": "validator_test_rules_test_nul_byte_in_name_fires", - "target": "validator_rules_check_illegal_filesystem_character" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L203", - "weight": 1.0, - "source": "validator_test_rules_test_low_ascii_control_char_fires", - "target": "validator_rules_check_illegal_filesystem_character" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L211", - "weight": 1.0, - "source": "validator_test_rules_test_trailing_dot_fires", - "target": "validator_rules_check_illegal_filesystem_character" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L219", - "weight": 1.0, - "source": "validator_test_rules_test_trailing_space_fires", - "target": "validator_rules_check_illegal_filesystem_character" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L238", - "weight": 1.0, - "source": "validator_test_rules_test_normal_names_pass", - "target": "validator_rules_check_illegal_filesystem_character" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L246", - "weight": 1.0, - "source": "validator_test_rules_test_findings_have_hard_tier", - "target": "validator_rules_check_illegal_filesystem_character" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L277", - "weight": 1.0, - "source": "validator_test_rules_test_reserved_name_fires", - "target": "validator_rules_check_reserved_filesystem_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L298", - "weight": 1.0, - "source": "validator_test_rules_test_non_reserved_name_passes", - "target": "validator_rules_check_reserved_filesystem_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L321", - "weight": 1.0, - "source": "validator_test_rules_test_unsafe_project_name_fires", - "target": "validator_rules_check_unsafe_project_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L341", - "weight": 1.0, - "source": "validator_test_rules_test_safe_project_name_passes", - "target": "validator_rules_check_unsafe_project_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L350", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_rules_rationale_350", - "target": "validator_test_rules_test_experimental_with_run_prefix_under_runs_parent_passes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L351", - "weight": 1.0, - "source": "validator_test_rules_test_experimental_with_run_prefix_under_runs_parent_passes", - "target": "validator_rules_check_mode_prefix_mismatch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_rules_rationale_360", - "target": "validator_test_rules_test_experimental_with_run_prefix_at_project_level_fires" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L362", - "weight": 1.0, - "source": "validator_test_rules_test_experimental_with_run_prefix_at_project_level_fires", - "target": "validator_rules_check_mode_prefix_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L373", - "weight": 1.0, - "source": "validator_test_rules_test_experimental_with_test_run_prefix_fires", - "target": "validator_rules_check_mode_prefix_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L383", - "weight": 1.0, - "source": "validator_test_rules_test_experimental_under_test_runs_parent_fires", - "target": "validator_rules_check_mode_prefix_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L392", - "weight": 1.0, - "source": "validator_test_rules_test_test_with_test_run_prefix_under_test_runs_passes", - "target": "validator_rules_check_mode_prefix_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L401", - "weight": 1.0, - "source": "validator_test_rules_test_test_with_run_prefix_fires", - "target": "validator_rules_check_mode_prefix_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L410", - "weight": 1.0, - "source": "validator_test_rules_test_test_with_test_run_prefix_but_wrong_parent_fires", - "target": "validator_rules_check_mode_prefix_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L419", - "weight": 1.0, - "source": "validator_test_rules_test_run_kind_none_returns_no_findings", - "target": "validator_rules_check_mode_prefix_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L433", - "weight": 1.0, - "source": "validator_test_rules_test_project_without_creation_json_fires", - "target": "validator_rules_check_orphan" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L440", - "weight": 1.0, - "source": "validator_test_rules_test_run_without_creation_json_fires", - "target": "validator_rules_check_orphan" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L446", - "weight": 1.0, - "source": "validator_test_rules_test_equipment_without_creation_json_does_not_fire", - "target": "validator_rules_check_orphan" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L451", - "weight": 1.0, - "source": "validator_test_rules_test_project_with_creation_json_passes", - "target": "validator_rules_check_orphan" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L456", - "weight": 1.0, - "source": "validator_test_rules_test_run_with_creation_json_passes", - "target": "validator_rules_check_orphan" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L466", - "weight": 1.0, - "source": "validator_test_rules_test_missing_id_fires", - "target": "validator_rules_check_missing_required_field" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L480", - "weight": 1.0, - "source": "validator_test_rules_test_empty_string_value_fires", - "target": "validator_rules_check_missing_required_field" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L493", - "weight": 1.0, - "source": "validator_test_rules_test_present_id_with_non_empty_value_passes", - "target": "validator_rules_check_missing_required_field" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L505", - "weight": 1.0, - "source": "validator_test_rules_test_field_present_in_template_fields_layer_passes", - "target": "validator_rules_check_missing_required_field" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L517", - "weight": 1.0, - "source": "validator_test_rules_test_none_readme_fields_treats_all_required_as_missing", - "target": "validator_rules_check_missing_required_field" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L525", - "weight": 1.0, - "source": "validator_test_rules_test_value_explicit_none_fires", - "target": "validator_rules_check_missing_required_field" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L543", - "weight": 1.0, - "source": "validator_test_rules_test_well_formed_front_matter_passes", - "target": "validator_rules_check_malformed_yaml_front_matter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L548", - "weight": 1.0, - "source": "validator_test_rules_test_unterminated_front_matter_fires", - "target": "validator_rules_check_malformed_yaml_front_matter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L557", - "weight": 1.0, - "source": "validator_test_rules_test_malformed_yaml_in_block_fires", - "target": "validator_rules_check_malformed_yaml_front_matter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L564", - "weight": 1.0, - "source": "validator_test_rules_test_no_front_matter_passes", - "target": "validator_rules_check_malformed_yaml_front_matter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L568", - "weight": 1.0, - "source": "validator_test_rules_test_empty_content_passes", - "target": "validator_rules_check_malformed_yaml_front_matter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_rules.py", - "source_location": "L585", - "weight": 1.0, - "source": "validator_test_rules_test_front_matter_with_nested_yaml_passes", - "target": "validator_rules_check_malformed_yaml_front_matter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L374", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_respects_extensions_allowlist" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L417", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L436", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L452", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L474", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_query_problems_is_alias_for_audit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L524", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L549", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L584", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_scope_unknown_equipment_id_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L591", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_skips_cache_directory_contents" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L644", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L660", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L680", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L695", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L722", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L760", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_unknown_scope_kind_raises_value_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L767", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_root_does_not_exist_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L775", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_root_is_a_file_returns_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L783", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_handles_unreadable_directory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L803", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L819", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L835", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L854", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_creation_json_unreadable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L876", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L888", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L908", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L920", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L956", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L991", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1021", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1048", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1075", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_classify_level_value_error_returns_other" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1089", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_finding_sort_unknown_tier_sorts_after_committed_tiers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_level_for_orphan_returns_none_for_unmapped_levels" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_validator_from_config_builds_engine" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_validator_from_config_orchestrator_disabled" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_validator_from_config_no_orchestrator_attr" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_validator_test_engine_audit_py", - "target": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1", - "target": "tests_unit_validator_test_engine_audit_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_187", - "target": "tests_unit_validator_test_engine_audit_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_make_clean_tree", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L361", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L462", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L495", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L531", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L557", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L631", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L667", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L686", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L702", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L731", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L809", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L826", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L898", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L927", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L964", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L998", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_56", - "target": "validator_test_engine_audit_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_make_clean_tree", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L361", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L462", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L531", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L555", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L631", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L667", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L686", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L702", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L731", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L809", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L826", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L898", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L931", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L968", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L998", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_88", - "target": "validator_test_engine_audit_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L400", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_respects_extensions_allowlist", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L419", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L438", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L646", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L837", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L859", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_creation_json_unreadable", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L910", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1026", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1053", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_106", - "target": "validator_test_engine_audit_make_clean_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L230", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L258", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L367", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L383", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L404", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_respects_extensions_allowlist", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L426", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L442", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L464", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L481", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_query_problems_is_alias_for_audit", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L542", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L586", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_scope_unknown_equipment_id_returns_empty", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L599", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_skips_cache_directory_contents", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L637", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L650", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L673", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L689", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L734", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L762", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unknown_scope_kind_raises_value_error", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L798", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_handles_unreadable_directory", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L811", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L828", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L843", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L870", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_creation_json_unreadable", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L882", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L900", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L914", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L949", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L985", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1009", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1038", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1065", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_148", - "target": "validator_test_engine_audit_make_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L149", - "weight": 1.0, - "source": "validator_test_engine_audit_make_validator", - "target": "config_models_validatorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L317", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L369", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L639", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L675", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged", - "target": "validator_test_engine_audit_by_rule" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_174", - "target": "validator_test_engine_audit_test_audit_clean_tree_returns_empty_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_182", - "target": "validator_test_engine_audit_test_audit_project_missing_creation_json_returns_orphan" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_203", - "target": "validator_test_engine_audit_test_audit_run_missing_creation_json_returns_orphan" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_220", - "target": "validator_test_engine_audit_test_audit_unsafe_project_name_returns_soft_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_239", - "target": "validator_test_engine_audit_test_audit_clean_project_name_has_no_unsafe_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_247", - "target": "validator_test_engine_audit_test_audit_mode_prefix_mismatch_run_with_test_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_269", - "target": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_directory_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_294", - "target": "validator_test_engine_audit_test_audit_override_active_flag_set_when_problem_class_overridden" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_327", - "target": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_synced_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_351", - "target": "validator_test_engine_audit_test_audit_synced_under_prior_policy_flag_for_hard_finding_on_cleaned_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L375", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_375", - "target": "validator_test_engine_audit_test_audit_respects_content_scan_max_mib_cap" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L399", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_399", - "target": "validator_test_engine_audit_test_audit_respects_extensions_allowlist" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_418", - "target": "validator_test_engine_audit_test_audit_detects_binary_files_via_null_byte_sniff" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L437", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_437", - "target": "validator_test_engine_audit_test_audit_scans_text_file_content_when_within_limits" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L455", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_455", - "target": "validator_test_engine_audit_test_audit_findings_are_sorted_by_tier_then_rule_then_offending_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L475", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_475", - "target": "validator_test_engine_audit_test_query_problems_is_alias_for_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L488", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_488", - "target": "validator_test_engine_audit_test_audit_scope_equipment_id_resolves_to_configured_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_525", - "target": "validator_test_engine_audit_test_audit_scope_project_path_walks_one_subtree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L550", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_550", - "target": "validator_test_engine_audit_test_audit_scope_all_walks_every_configured_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L585", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_585", - "target": "validator_test_engine_audit_test_audit_scope_unknown_equipment_id_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L592", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_592", - "target": "validator_test_engine_audit_test_audit_skips_cache_directory_contents" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L608", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_608", - "target": "validator_test_engine_audit_test_audit_revoked_override_does_not_set_override_active" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L645", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_645", - "target": "validator_test_engine_audit_test_audit_unresolved_placeholder_in_file_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L661", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_661", - "target": "validator_test_engine_audit_test_audit_test_run_with_experimental_kind_flagged" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L681", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_681", - "target": "validator_test_engine_audit_test_audit_returns_list_of_finding_dataclass_instances" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L696", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_696", - "target": "validator_test_engine_audit_test_audit_includes_staging_root_when_orchestrator_on" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L726", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_726", - "target": "validator_test_engine_audit_test_audit_findings_carry_full_section_11_8_shape" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L761", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_761", - "target": "validator_test_engine_audit_test_audit_unknown_scope_kind_raises_value_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L768", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_768", - "target": "validator_test_engine_audit_test_audit_root_does_not_exist_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L776", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_776", - "target": "validator_test_engine_audit_test_audit_root_is_a_file_returns_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L784", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_784", - "target": "validator_test_engine_audit_test_audit_handles_unreadable_directory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L804", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_804", - "target": "validator_test_engine_audit_test_audit_other_level_subfolder_under_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L820", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_820", - "target": "validator_test_engine_audit_test_audit_other_under_test_runs_unknown_leaf" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L836", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_836", - "target": "validator_test_engine_audit_test_audit_deeply_nested_other_subfolder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L858", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_858", - "target": "validator_test_engine_audit_test_audit_creation_json_unreadable" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L877", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_877", - "target": "validator_test_engine_audit_test_audit_creation_json_malformed_raw_decode" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L889", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_889", - "target": "validator_test_engine_audit_test_audit_creation_json_missing_required_struct_field" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L909", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_909", - "target": "validator_test_engine_audit_test_audit_readme_fields_json_decode_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L921", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_921", - "target": "validator_test_engine_audit_test_audit_missing_required_field_with_required_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L957", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_957", - "target": "validator_test_engine_audit_test_audit_missing_required_field_required_ids_not_a_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L992", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_992", - "target": "validator_test_engine_audit_test_audit_content_scan_skips_test_runs_marker_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1025", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1025", - "target": "validator_test_engine_audit_test_audit_content_scan_eligibility_returns_false_on_stat_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1052", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1052", - "target": "validator_test_engine_audit_test_audit_read_text_for_scan_handles_oserror" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1076", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1076", - "target": "validator_test_engine_audit_test_classify_level_value_error_returns_other" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1090", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1090", - "target": "validator_test_engine_audit_test_finding_sort_unknown_tier_sorts_after_committed_tiers" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1114", - "target": "validator_test_engine_audit_test_level_for_orphan_returns_none_for_unmapped_levels" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1117", - "weight": 1.0, - "source": "validator_test_engine_audit_test_level_for_orphan_returns_none_for_unmapped_levels", - "target": "validator_engine_level_for_orphan" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1123", - "target": "validator_test_engine_audit_test_validator_from_config_builds_engine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1132", - "weight": 1.0, - "source": "validator_test_engine_audit_test_validator_from_config_builds_engine", - "target": "config_models_validatorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1141", - "target": "validator_test_engine_audit_test_validator_from_config_orchestrator_disabled" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1155", - "target": "validator_test_engine_audit_test_validator_from_config_no_orchestrator_attr" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1166", - "target": "validator_test_engine_audit_test_classify_level_unrelated_dir_returns_other" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1176", - "target": "validator_test_engine_audit_test_compute_run_path_unrelated_other_returns_input" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/validator/test_engine_audit.py", - "source_location": "L1188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_test_engine_audit_rationale_1188", - "target": "validator_test_engine_audit_test_compute_run_path_root_other_returns_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_with_all_tags_matches_spec_example" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_with_run_id_includes_run_tag" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_omits_unset_tags" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_partial_tags_skipped_individually" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_level_is_padded_to_five_chars" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_timestamp_is_zero_padded_iso_with_z" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_naive_datetime_treated_as_utc" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_aware_non_utc_datetime_converts_to_utc" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_short_message_unchanged" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_truncates_long_messages_with_marker" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_truncation_preserves_prefix_and_tags" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_truncation_at_exact_boundary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_append_log_line_creates_parent_cache_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_append_log_line_writes_single_line_with_newline" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_append_log_line_appends_to_existing_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_append_log_line_concurrent_writes_do_not_interleave" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_append_log_line_idempotent_directory_creation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_truncation_prefix_alone_too_big_emits_marker_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_log_writer_py", - "target": "cache_test_log_writer_test_format_log_line_truncation_prefix_alone_exhausts_budget" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_1", - "target": "tests_unit_cache_test_log_writer_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_34", - "target": "cache_test_log_writer_test_format_log_line_with_all_tags_matches_spec_example" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L35", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_with_all_tags_matches_spec_example", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_53", - "target": "cache_test_log_writer_test_format_log_line_with_run_id_includes_run_tag" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L54", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_with_run_id_includes_run_tag", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_71", - "target": "cache_test_log_writer_test_format_log_line_omits_unset_tags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L72", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_omits_unset_tags", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_87", - "target": "cache_test_log_writer_test_format_log_line_partial_tags_skipped_individually" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L88", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_partial_tags_skipped_individually", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_103", - "target": "cache_test_log_writer_test_format_log_line_level_is_padded_to_five_chars" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L104", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_level_is_padded_to_five_chars", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_116", - "target": "cache_test_log_writer_test_format_log_line_timestamp_is_zero_padded_iso_with_z" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L118", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_timestamp_is_zero_padded_iso_with_z", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_124", - "target": "cache_test_log_writer_test_format_log_line_naive_datetime_treated_as_utc" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L126", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_naive_datetime_treated_as_utc", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_131", - "target": "cache_test_log_writer_test_format_log_line_aware_non_utc_datetime_converts_to_utc" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L138", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_aware_non_utc_datetime_converts_to_utc", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_143", - "target": "cache_test_log_writer_test_format_log_line_short_message_unchanged" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L144", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_short_message_unchanged", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_153", - "target": "cache_test_log_writer_test_format_log_line_truncates_long_messages_with_marker" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L155", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_truncates_long_messages_with_marker", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_166", - "target": "cache_test_log_writer_test_format_log_line_truncation_preserves_prefix_and_tags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L167", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_truncation_preserves_prefix_and_tags", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_180", - "target": "cache_test_log_writer_test_format_log_line_truncation_at_exact_boundary" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L182", - "weight": 1.0, - "source": "cache_test_log_writer_test_format_log_line_truncation_at_exact_boundary", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_200", - "target": "cache_test_log_writer_test_append_log_line_creates_parent_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L203", - "weight": 1.0, - "source": "cache_test_log_writer_test_append_log_line_creates_parent_cache_dir", - "target": "cache_log_writer_append_log_line" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L210", - "weight": 1.0, - "source": "cache_test_log_writer_test_append_log_line_writes_single_line_with_newline", - "target": "cache_log_writer_append_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_216", - "target": "cache_test_log_writer_test_append_log_line_appends_to_existing_file" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L218", - "weight": 1.0, - "source": "cache_test_log_writer_test_append_log_line_appends_to_existing_file", - "target": "cache_log_writer_append_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_226", - "target": "cache_test_log_writer_test_append_log_line_concurrent_writes_do_not_interleave" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_256", - "target": "cache_test_log_writer_test_append_log_line_idempotent_directory_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L258", - "weight": 1.0, - "source": "cache_test_log_writer_test_append_log_line_idempotent_directory_creation", - "target": "cache_log_writer_append_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_271", - "target": "cache_test_log_writer_test_format_log_line_truncation_prefix_alone_too_big_emits_marker_only" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_log_writer.py", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_log_writer_rationale_289", - "target": "cache_test_log_writer_test_format_log_line_truncation_prefix_alone_exhausts_budget" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_writer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_creation_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_write_creation_emits_valid_current_version_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_update_creation_atomic_mutates_target_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_read_creation_snapshot_returns_typed_struct" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_reading_1_0_file_applies_documented_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_reading_1_7_file_backfills_lims_project_subfields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L382", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_writing_always_emits_current_schema_version" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L397", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_select_active_overrides_returns_empty_for_empty_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L443", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L473", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L519", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_select_active_overrides_treats_malformed_expires_at_as_expired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L539", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L566", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_reading_file_with_missing_required_field_raises_validation_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L579", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L609", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L629", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_reading_file_missing_schema_version_raises_schema_major_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L640", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_creation_writer_py", - "target": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_1", - "target": "tests_unit_cache_test_creation_writer_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_write_creation_emits_valid_current_version_file", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_update_creation_atomic_mutates_target_field", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_update_creation_atomic_appends_validation_override", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_read_creation_snapshot_returns_typed_struct", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L250", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_reading_2_0_file_raises_schema_major_mismatch", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_writing_always_emits_current_schema_version", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L542", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L645", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id", - "target": "cache_test_creation_writer_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L55", - "weight": 1.0, - "source": "cache_test_creation_writer_build_minimal_payload", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L60", - "weight": 1.0, - "source": "cache_test_creation_writer_build_minimal_payload", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L67", - "weight": 1.0, - "source": "cache_test_creation_writer_build_minimal_payload", - "target": "api_schemas_pathsblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L70", - "weight": 1.0, - "source": "cache_test_creation_writer_build_minimal_payload", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L75", - "weight": 1.0, - "source": "cache_test_creation_writer_writer", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_104", - "target": "cache_test_creation_writer_test_write_creation_pins_schema_version_to_writer_default" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_136", - "target": "cache_test_creation_writer_test_update_creation_atomic_preserves_unknown_top_level_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_181", - "target": "cache_test_creation_writer_test_update_creation_atomic_serializes_concurrent_calls" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_232", - "target": "cache_test_creation_writer_test_read_creation_snapshot_supports_concurrent_readers" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_263", - "target": "cache_test_creation_writer_test_reading_malformed_schema_version_raises_schema_major_mismatch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_276", - "target": "cache_test_creation_writer_test_reading_1_0_file_applies_documented_defaults" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_315", - "target": "cache_test_creation_writer_test_reading_1_7_file_backfills_lims_project_subfields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_348", - "target": "cache_test_creation_writer_test_writer_bumps_schema_version_on_mutation_of_old_minor" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L385", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_385", - "target": "cache_test_creation_writer_test_writing_always_emits_current_schema_version" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L398", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_returns_empty_for_empty_input", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L403", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L404", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L413", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_keeps_unrevoked_unexpired_entries", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L420", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L421", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L429", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", - "target": "api_schemas_tombstone_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L439", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_drops_revoked_entry", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L447", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L448", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L468", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_drops_expired_entry", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L474", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_474", - "target": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L477", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L478", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L489", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_uses_explicit_now_for_determinism", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_494", - "target": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L496", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", - "target": "api_schemas_tombstone_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L505", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L506", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L515", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_ignores_tombstone_for_unknown_id", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L520", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_520", - "target": "cache_test_creation_writer_test_select_active_overrides_treats_malformed_expires_at_as_expired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L530", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_treats_malformed_expires_at_as_expired", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L544", - "weight": 1.0, - "source": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L549", - "weight": 1.0, - "source": "cache_test_creation_writer_test_round_trip_preserves_plugins_applied_with_isolation", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L580", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_580", - "target": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L595", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L596", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L605", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_skips_tombstone_with_null_revokes_target", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L610", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_610", - "target": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L614", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L615", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L624", - "weight": 1.0, - "source": "cache_test_creation_writer_test_select_active_overrides_naive_expires_at_is_treated_as_utc", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L632", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_632", - "target": "cache_test_creation_writer_test_reading_file_missing_schema_version_raises_schema_major_mismatch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_creation_writer.py", - "source_location": "L643", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_creation_writer_rationale_643", - "target": "cache_test_creation_writer_test_update_creation_atomic_backfills_missing_override_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_init_rationale_1", - "target": "tests_unit_cache_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_init_rationale_1", - "target": "src_exlab_wizard_cache_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_make_equipment_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_make_test_runs_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_write_equipment_produces_valid_v1_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_read_equipment_round_trips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_read_equipment_raises_when_file_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_write_test_runs_marker_is_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_read_test_runs_marker_round_trips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_require_schema_major_raises_on_none_version" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_require_schema_major_raises_on_empty_version" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L300", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_require_schema_major_raises_on_garbage_version" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_require_schema_major_passes_on_same_major" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_equipment_py", - "target": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_1", - "target": "tests_unit_cache_test_equipment_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", - "target": "cache_test_equipment_make_equipment_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", - "target": "cache_test_equipment_make_equipment_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", - "target": "cache_test_equipment_make_equipment_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", - "target": "cache_test_equipment_make_equipment_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_read_equipment_round_trips", - "target": "cache_test_equipment_make_equipment_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", - "target": "cache_test_equipment_make_equipment_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_44", - "target": "cache_test_equipment_make_equipment_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L51", - "weight": 1.0, - "source": "cache_test_equipment_make_equipment_payload", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file", - "target": "cache_test_equipment_make_test_runs_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir", - "target": "cache_test_equipment_make_test_runs_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", - "target": "cache_test_equipment_make_test_runs_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", - "target": "cache_test_equipment_make_test_runs_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_test_read_test_runs_marker_round_trips", - "target": "cache_test_equipment_make_test_runs_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_84", - "target": "cache_test_equipment_test_write_equipment_produces_valid_v1_file" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L85", - "weight": 1.0, - "source": "cache_test_equipment_test_write_equipment_produces_valid_v1_file", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_105", - "target": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L106", - "weight": 1.0, - "source": "cache_test_equipment_test_write_equipment_creates_parent_cache_dir", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_115", - "target": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L116", - "weight": 1.0, - "source": "cache_test_equipment_test_write_equipment_preserves_first_seen_at_on_rewrite", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_132", - "target": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L133", - "weight": 1.0, - "source": "cache_test_equipment_test_write_equipment_updates_last_modified_at_on_rewrite", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_147", - "target": "cache_test_equipment_test_read_equipment_round_trips" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L148", - "weight": 1.0, - "source": "cache_test_equipment_test_read_equipment_round_trips", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L164", - "weight": 1.0, - "source": "cache_test_equipment_test_read_equipment_raises_when_file_missing", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_172", - "target": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L178", - "weight": 1.0, - "source": "cache_test_equipment_test_write_equipment_corrupt_existing_file_recovers", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L194", - "weight": 1.0, - "source": "cache_test_equipment_test_write_test_runs_marker_creates_v1_file", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L207", - "weight": 1.0, - "source": "cache_test_equipment_test_write_test_runs_marker_creates_parent_dir", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_216", - "target": "cache_test_equipment_test_write_test_runs_marker_is_idempotent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L222", - "weight": 1.0, - "source": "cache_test_equipment_test_write_test_runs_marker_is_idempotent", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_240", - "target": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L246", - "weight": 1.0, - "source": "cache_test_equipment_test_write_test_runs_marker_concurrent_first_writes_safe", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_267", - "target": "cache_test_equipment_test_read_test_runs_marker_round_trips" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L268", - "weight": 1.0, - "source": "cache_test_equipment_test_read_test_runs_marker_round_trips", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_283", - "target": "cache_test_equipment_test_require_schema_major_raises_on_none_version" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L288", - "weight": 1.0, - "source": "cache_test_equipment_test_require_schema_major_raises_on_none_version", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L292", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_292", - "target": "cache_test_equipment_test_require_schema_major_raises_on_empty_version" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L297", - "weight": 1.0, - "source": "cache_test_equipment_test_require_schema_major_raises_on_empty_version", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_301", - "target": "cache_test_equipment_test_require_schema_major_raises_on_garbage_version" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L306", - "weight": 1.0, - "source": "cache_test_equipment_test_require_schema_major_raises_on_garbage_version", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_310", - "target": "cache_test_equipment_test_require_schema_major_passes_on_same_major" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L314", - "weight": 1.0, - "source": "cache_test_equipment_test_require_schema_major_passes_on_same_major", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L320", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_320", - "target": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L322", - "weight": 1.0, - "source": "cache_test_equipment_test_read_equipment_skips_check_for_malformed_json", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L335", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_equipment_rationale_335", - "target": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_equipment.py", - "source_location": "L337", - "weight": 1.0, - "source": "cache_test_equipment_test_read_equipment_skips_check_when_schema_version_missing", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_state_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_upsert_file_creates_a_record" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_upsert_file_updates_existing_record" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_upsert_file_preserves_keep_local" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_set_keep_local_creates_record_if_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_set_keep_local_toggles_and_preserves_sync_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_mark_cleared_sets_cleared_at" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_mark_cleared_on_absent_file_creates_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_rollup_state_syncing_when_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_rollup_state_syncing_when_some_unverified" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_rollup_state_synced_when_all_verified" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L230", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_rollup_state_cleared_takes_precedence_over_unverified" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_cache_test_sync_state_writer_py", - "target": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_sync_state_writer_rationale_1", - "target": "tests_unit_cache_test_sync_state_writer_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state", - "target": "cache_test_sync_state_writer_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_sync_state_writer_test_upsert_file_creates_a_record", - "target": "cache_test_sync_state_writer_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_sync_state_writer_test_mark_cleared_on_absent_file_creates_state", - "target": "cache_test_sync_state_writer_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", - "target": "cache_test_sync_state_writer_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", - "target": "cache_test_sync_state_writer_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L26", - "weight": 1.0, - "source": "cache_test_sync_state_writer_state_path", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L35", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_read_when_absent_returns_empty_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L53", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_upsert_file_creates_a_record", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L73", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_upsert_file_updates_existing_record", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L91", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_upsert_file_preserves_keep_local", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L113", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_set_keep_local_creates_record_if_absent", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L124", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_set_keep_local_toggles_and_preserves_sync_fields", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L149", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_mark_cleared_sets_cleared_at", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L164", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_mark_cleared_on_absent_file_creates_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_sync_state_writer_rationale_173", - "target": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L179", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_mutators_create_missing_exlab_wizard_dir", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L204", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_rollup_state_syncing_when_empty", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L209", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_rollup_state_syncing_when_some_unverified", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L212", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_rollup_state_syncing_when_some_unverified", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L220", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_rollup_state_synced_when_all_verified", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L223", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_rollup_state_synced_when_all_verified", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L231", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_rollup_state_cleared_takes_precedence_over_unverified", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L234", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_rollup_state_cleared_takes_precedence_over_unverified", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L245", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L249", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_sync_state_json_round_trips_through_msgspec", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_sync_state_writer_rationale_273", - "target": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L290", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_read_raises_on_schema_major_mismatch", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L303", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_test_sync_state_writer_rationale_303", - "target": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/cache/test_sync_state_writer.py", - "source_location": "L308", - "weight": 1.0, - "source": "cache_test_sync_state_writer_test_concurrent_upserts_on_distinct_files_both_survive", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_load_config_complete_yaml" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_load_config_missing_file_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_load_config_invalid_yaml_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_load_config_top_level_not_mapping_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_load_config_validation_error_raises_config_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_load_config_from_text_empty_returns_empty_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_load_config_unreadable_path_raises_config_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_save_config_atomic" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_save_config_preserves_comments_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_save_config_preserves_key_order" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_save_config_creates_parent_dirs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_save_config_without_original_text_writes_fresh" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_dump_config_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L306", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_test_mode_unset_leaves_equipment_ids_unchanged" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_test_mode_enabled_prefixes_every_equipment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_test_mode_is_idempotent_on_already_prefixed_ids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_test_mode_preserves_unique_id_invariant" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L374", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_test_mode_truthy_values_trigger_prefix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_test_mode_falsy_values_do_not_trigger_prefix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_test_mode_unset_via_delenv_does_not_trigger_prefix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L404", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_loader_round_trips_nas_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L423", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_loader_py", - "target": "config_test_loader_test_load_config_uses_ruamel_round_trip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_1", - "target": "tests_unit_config_test_loader_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L47", - "weight": 1.0, - "source": "config_test_loader_test_load_config_complete_yaml", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L86", - "weight": 1.0, - "source": "config_test_loader_test_load_config_missing_file_raises", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L96", - "weight": 1.0, - "source": "config_test_loader_test_load_config_invalid_yaml_raises", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L104", - "weight": 1.0, - "source": "config_test_loader_test_load_config_top_level_not_mapping_raises", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L127", - "weight": 1.0, - "source": "config_test_loader_test_load_config_validation_error_raises_config_error", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L135", - "weight": 1.0, - "source": "config_test_loader_test_load_config_from_text_empty_returns_empty_config", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L149", - "weight": 1.0, - "source": "config_test_loader_test_load_config_unreadable_path_raises_config_error", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L164", - "weight": 1.0, - "source": "config_test_loader_test_save_config_atomic", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L167", - "weight": 1.0, - "source": "config_test_loader_test_save_config_atomic", - "target": "config_loader_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L178", - "weight": 1.0, - "source": "config_test_loader_test_save_config_preserves_comments_round_trip", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L181", - "weight": 1.0, - "source": "config_test_loader_test_save_config_preserves_comments_round_trip", - "target": "config_loader_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L192", - "weight": 1.0, - "source": "config_test_loader_test_save_config_preserves_key_order", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L195", - "weight": 1.0, - "source": "config_test_loader_test_save_config_preserves_key_order", - "target": "config_loader_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L206", - "weight": 1.0, - "source": "config_test_loader_test_save_config_creates_parent_dirs", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L209", - "weight": 1.0, - "source": "config_test_loader_test_save_config_creates_parent_dirs", - "target": "config_loader_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L216", - "weight": 1.0, - "source": "config_test_loader_test_save_config_without_original_text_writes_fresh", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L219", - "weight": 1.0, - "source": "config_test_loader_test_save_config_without_original_text_writes_fresh", - "target": "config_loader_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L264", - "weight": 1.0, - "source": "config_test_loader_test_dump_config_round_trip", - "target": "config_loader_dump_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L265", - "weight": 1.0, - "source": "config_test_loader_test_dump_config_round_trip", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_283", - "target": "config_test_loader_test_test_mode_unset_leaves_equipment_ids_unchanged" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L309", - "weight": 1.0, - "source": "config_test_loader_test_test_mode_unset_leaves_equipment_ids_unchanged", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L307", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_307", - "target": "config_test_loader_test_test_mode_unset_leaves_equipment_ids_unchanged" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_290", - "target": "config_test_loader_test_test_mode_enabled_prefixes_every_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L316", - "weight": 1.0, - "source": "config_test_loader_test_test_mode_enabled_prefixes_every_equipment_id", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_314", - "target": "config_test_loader_test_test_mode_enabled_prefixes_every_equipment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L305", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_305", - "target": "config_test_loader_test_test_mode_is_idempotent_on_already_prefixed_ids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L352", - "weight": 1.0, - "source": "config_test_loader_test_test_mode_is_idempotent_on_already_prefixed_ids", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_329", - "target": "config_test_loader_test_test_mode_is_idempotent_on_already_prefixed_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_325", - "target": "config_test_loader_test_test_mode_preserves_unique_id_invariant" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L361", - "weight": 1.0, - "source": "config_test_loader_test_test_mode_preserves_unique_id_invariant", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_359", - "target": "config_test_loader_test_test_mode_preserves_unique_id_invariant" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L343", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_343", - "target": "config_test_loader_test_test_mode_truthy_values_trigger_prefix" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L379", - "weight": 1.0, - "source": "config_test_loader_test_test_mode_truthy_values_trigger_prefix", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L377", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_377", - "target": "config_test_loader_test_test_mode_truthy_values_trigger_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L355", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_355", - "target": "config_test_loader_test_test_mode_falsy_values_do_not_trigger_prefix" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L391", - "weight": 1.0, - "source": "config_test_loader_test_test_mode_falsy_values_do_not_trigger_prefix", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_389", - "target": "config_test_loader_test_test_mode_falsy_values_do_not_trigger_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L364", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_364", - "target": "config_test_loader_test_test_mode_unset_via_delenv_does_not_trigger_prefix" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L400", - "weight": 1.0, - "source": "config_test_loader_test_test_mode_unset_via_delenv_does_not_trigger_prefix", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_398", - "target": "config_test_loader_test_test_mode_unset_via_delenv_does_not_trigger_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L373", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_373", - "target": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L413", - "weight": 1.0, - "source": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L414", - "weight": 1.0, - "source": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function", - "target": "config_loader_apply_test_mode_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L407", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_loader_rationale_407", - "target": "config_test_loader_test_apply_test_mode_prefix_helper_is_a_pure_function" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L403", - "weight": 1.0, - "source": "config_test_loader_test_loader_round_trips_nas_block", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L406", - "weight": 1.0, - "source": "config_test_loader_test_loader_round_trips_nas_block", - "target": "config_loader_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L430", - "weight": 1.0, - "source": "config_test_loader_test_load_config_uses_ruamel_round_trip", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_loader.py", - "source_location": "L433", - "weight": 1.0, - "source": "config_test_loader_test_load_config_uses_ruamel_round_trip", - "target": "config_loader_save_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_init_rationale_1", - "target": "tests_unit_config_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_init_rationale_1", - "target": "src_exlab_wizard_config_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_full_config_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_paths_config_defaults_are_empty_strings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_paths_config_rejects_unknown_keys" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_lims_config_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_lims_config_rejects_negative_cache_ttl_hours" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_lims_config_zero_cache_ttl_is_allowed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_readme_default_field_minimal_string_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_readme_default_field_id_must_match_template_question_id_pattern" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_readme_default_field_id_rejects_leading_digit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_readme_default_field_label_must_be_non_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_readme_default_field_rejects_unknown_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_readme_choice_field_requires_options" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_readme_choice_field_rejects_empty_options_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L287", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_readme_choice_field_accepts_non_empty_options" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L292", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_readme_non_choice_field_does_not_require_options" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_readme_config_default_is_empty_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_window_happy_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L321", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_window_rejects_empty_days_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_window_rejects_invalid_day" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_window_from_must_be_before_to" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L336", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_window_equal_from_and_to_is_invalid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_window_rejects_non_hhmm_time" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L347", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_window_rejects_invalid_hour" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_window_rejects_invalid_minute" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L362", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_config_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_config_rejects_zero_upload_mbps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L373", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_config_rejects_negative_upload_mbps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_bandwidth_config_accepts_positive_upload_mbps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L535", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_id_regex_accepts_canonical_form" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L540", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_id_rejects_lowercase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L545", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_id_rejects_hyphen" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L550", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_id_rejects_leading_digit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L555", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_id_rejects_too_long" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L561", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_id_accepts_max_length" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L567", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_config_rejects_removed_completeness_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L578", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_label_must_be_non_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L585", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_local_root_must_be_non_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L592", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_nas_root_must_be_non_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L416", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_rejects_removed_orchestrator_staging_transport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L617", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_defaults_to_nas_when_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L440", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_nas_mode_equipment_needs_no_transport_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L456", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_nas_mode_equipment_rejects_stray_transport_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L471", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_stage_needs_no_per_equipment_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L481", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_stage_rejects_stray_transport_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L670", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_serializes_to_string" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L678", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_rejects_unknown_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L685", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_stage_round_trip_via_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L704", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_nas_cleanup_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L712", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_nas_cleanup_min_verify_passes_at_least_one" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L717", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_nas_cleanup_min_age_hours_non_negative" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L727", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_logging_level_normalized_to_uppercase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L732", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_logging_level_rejects_unknown" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L737", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_logging_level_accepts_all_canonical_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L743", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_logging_level_strips_whitespace_and_normalizes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L748", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_logging_level_rejects_non_string" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L758", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_logging_level_rejects_non_string_directly" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L766", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_logging_central_log_max_mb_at_least_one" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L771", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_logging_central_log_keep_at_least_one" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L781", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_operators_config_defaults_to_empty_allowlist" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L786", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_operators_config_accepts_arbitrary_strings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L796", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_validator_config_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L803", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_validator_content_scan_max_mib_at_least_one" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L808", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_validator_extensions_must_start_with_dot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L813", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_validator_extensions_rejects_dotless_among_others" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L823", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_plugins_config_default_allow_network_false" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L833", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_config_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L842", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_config_retry_attempts_non_negative" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L847", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_config_quiescence_minutes_at_least_one" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L852", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_config_poll_interval_seconds_at_least_one" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L857", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_config_accepts_custom_quiescence_settings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L868", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_config_ignore_globs_default_is_independent_per_instance" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L881", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_staging_cleanup_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L887", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_staging_cleanup_scheduled_requires_positive_hours" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L893", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_staging_cleanup_rejects_unknown_mode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L903", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_config_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L733", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_config_staging_remote_validates_with_perf_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L744", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_stage_mode_equipment_validates_without_staging_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L918", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_config_fully_default_is_valid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L928", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_unique_equipment_ids_required" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L940", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_distinct_equipment_ids_accepted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L954", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_legacy_enabled_field_rejected" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L970", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_label_and_staging_root_load_independently" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L985", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_with_both_fields_is_valid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L999", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_config_rejects_unknown_top_level_key" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1009", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_full_config_round_trip_via_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1030", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_round_trip_preserves_bandwidth_alias_for_from" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1044", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_config_with_equipment_appended_seeds_from_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1052", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_config_with_equipment_appended_preserves_existing_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1069", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L919", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_nas_config_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L930", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_nas_config_rejects_nonpositive_perf" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L937", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_config_has_default_nas_block" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_1", - "target": "tests_unit_config_test_models_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_sftp_transport_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_smb_transport_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L388", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sftp_transport_minimal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sftp_transport_rejects_missing_host" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sftp_transport_rejects_empty_user" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L409", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sftp_transport_rejects_empty_remote_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L416", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sftp_transport_rejects_out_of_range_port" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L423", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sftp_transport_rejects_wrong_type_tag" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_smb_transport_minimal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L443", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_smb_transport_accepts_optional_domain_and_subpath" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L452", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_smb_transport_rejects_missing_share" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L464", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L471", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_requires_keyring_password_false_for_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L480", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_transport_discriminates_on_type_sftp" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L485", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_transport_discriminates_on_type_smb" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L495", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_transport_rejects_unknown_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L507", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_staging_transport_smb_mount" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L514", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_staging_transport_file_transfer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L521", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_orchestrator_staging_transport_rejects_unknown_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L599", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_equipment_orchestrator_staging_transport_optional" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L609", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_orch_staging_transport_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L622", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_nas_requires_transport_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L631", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L640", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_stage_requires_orchestrator_staging_transport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_stage_forbids_transport_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L659", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_config_test_models_py", - "target": "config_test_models_test_sync_mode_stage_with_only_orchestrator_transport_is_valid" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L536", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_id_regex_accepts_canonical_form", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L542", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_id_rejects_lowercase", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L547", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_id_rejects_hyphen", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L552", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_id_rejects_leading_digit", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L558", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_id_rejects_too_long", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L563", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_id_accepts_max_length", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L571", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_config_rejects_removed_completeness_fields", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L579", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_label_must_be_non_empty", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L586", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_local_root_must_be_non_empty", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_nas_root_must_be_non_empty", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L419", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_rejects_removed_orchestrator_staging_transport", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L618", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_defaults_to_nas_when_absent", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L458", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_nas_mode_equipment_rejects_stray_transport_block", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L475", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_stage_needs_no_per_equipment_block", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L482", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_stage_rejects_stray_transport_block", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L671", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_serializes_to_string", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L679", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_rejects_unknown_value", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L687", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_stage_round_trip_via_dict", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L931", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_unique_equipment_ids_required", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L943", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_distinct_equipment_ids_accepted", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1046", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_config_with_equipment_appended_seeds_from_none", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1054", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1071", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_50", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_equipment_dict", - "target": "config_test_models_sftp_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L481", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_transport_discriminates_on_type_sftp", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_transport_discriminates_on_type_smb", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L496", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_transport_rejects_unknown_type", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L600", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_orchestrator_staging_transport_optional", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L623", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_nas_requires_transport_block", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L632", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L641", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_stage_requires_orchestrator_staging_transport", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L650", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_stage_forbids_transport_block", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L660", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_stage_with_only_orchestrator_transport_is_valid", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_74", - "target": "config_test_models_equipment_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1018", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_full_config_round_trip_via_dict", - "target": "config_test_models_full_config_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1031", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_round_trip_preserves_bandwidth_alias_for_from", - "target": "config_test_models_full_config_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_60", - "target": "config_test_models_full_config_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_85", - "target": "config_test_models_full_config_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L209", - "weight": 1.0, - "source": "config_test_models_test_paths_config_defaults_are_empty_strings", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L217", - "weight": 1.0, - "source": "config_test_models_test_paths_config_rejects_unknown_keys", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L226", - "weight": 1.0, - "source": "config_test_models_test_lims_config_defaults", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L235", - "weight": 1.0, - "source": "config_test_models_test_lims_config_rejects_negative_cache_ttl_hours", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L240", - "weight": 1.0, - "source": "config_test_models_test_lims_config_zero_cache_ttl_is_allowed", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L250", - "weight": 1.0, - "source": "config_test_models_test_readme_default_field_minimal_string_field", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L258", - "weight": 1.0, - "source": "config_test_models_test_readme_default_field_id_must_match_template_question_id_pattern", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L263", - "weight": 1.0, - "source": "config_test_models_test_readme_default_field_id_rejects_leading_digit", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L268", - "weight": 1.0, - "source": "config_test_models_test_readme_default_field_label_must_be_non_empty", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L273", - "weight": 1.0, - "source": "config_test_models_test_readme_default_field_rejects_unknown_type", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L278", - "weight": 1.0, - "source": "config_test_models_test_readme_choice_field_requires_options", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L284", - "weight": 1.0, - "source": "config_test_models_test_readme_choice_field_rejects_empty_options_list", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L288", - "weight": 1.0, - "source": "config_test_models_test_readme_choice_field_accepts_non_empty_options", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L294", - "weight": 1.0, - "source": "config_test_models_test_readme_non_choice_field_does_not_require_options", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L305", - "weight": 1.0, - "source": "config_test_models_test_readme_config_default_is_empty_list", - "target": "config_models_readmeconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L363", - "weight": 1.0, - "source": "config_test_models_test_bandwidth_config_defaults", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L370", - "weight": 1.0, - "source": "config_test_models_test_bandwidth_config_rejects_zero_upload_mbps", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L375", - "weight": 1.0, - "source": "config_test_models_test_bandwidth_config_rejects_negative_upload_mbps", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L379", - "weight": 1.0, - "source": "config_test_models_test_bandwidth_config_accepts_positive_upload_mbps", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L385", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_385", - "target": "config_test_models_test_equipment_config_rejects_removed_completeness_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L568", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_568", - "target": "config_test_models_test_equipment_config_rejects_removed_completeness_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L417", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_417", - "target": "config_test_models_test_equipment_rejects_removed_orchestrator_staging_transport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L441", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_441", - "target": "config_test_models_test_nas_mode_equipment_needs_no_transport_block" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L446", - "weight": 1.0, - "source": "config_test_models_test_nas_mode_equipment_needs_no_transport_block", - "target": "config_models_equipmentconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L457", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_457", - "target": "config_test_models_test_nas_mode_equipment_rejects_stray_transport_block" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_472", - "target": "config_test_models_test_sync_mode_stage_needs_no_per_equipment_block" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L507", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_507", - "target": "config_test_models_test_sync_mode_stage_round_trip_via_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L690", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_stage_round_trip_via_dict", - "target": "config_test_models_orch_staging_transport_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L686", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_686", - "target": "config_test_models_test_sync_mode_stage_round_trip_via_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L705", - "weight": 1.0, - "source": "config_test_models_test_nas_cleanup_defaults", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L714", - "weight": 1.0, - "source": "config_test_models_test_nas_cleanup_min_verify_passes_at_least_one", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L719", - "weight": 1.0, - "source": "config_test_models_test_nas_cleanup_min_age_hours_non_negative", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L728", - "weight": 1.0, - "source": "config_test_models_test_logging_level_normalized_to_uppercase", - "target": "config_models_loggingconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L734", - "weight": 1.0, - "source": "config_test_models_test_logging_level_rejects_unknown", - "target": "config_models_loggingconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L739", - "weight": 1.0, - "source": "config_test_models_test_logging_level_accepts_all_canonical_values", - "target": "config_models_loggingconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L744", - "weight": 1.0, - "source": "config_test_models_test_logging_level_strips_whitespace_and_normalizes", - "target": "config_models_loggingconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L762", - "weight": 1.0, - "source": "config_test_models_test_logging_level_rejects_non_string_directly", - "target": "config_models_loggingconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L768", - "weight": 1.0, - "source": "config_test_models_test_logging_central_log_max_mb_at_least_one", - "target": "config_models_loggingconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L773", - "weight": 1.0, - "source": "config_test_models_test_logging_central_log_keep_at_least_one", - "target": "config_models_loggingconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L782", - "weight": 1.0, - "source": "config_test_models_test_operators_config_defaults_to_empty_allowlist", - "target": "config_models_operatorsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L787", - "weight": 1.0, - "source": "config_test_models_test_operators_config_accepts_arbitrary_strings", - "target": "config_models_operatorsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L797", - "weight": 1.0, - "source": "config_test_models_test_validator_config_defaults", - "target": "config_models_validatorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L805", - "weight": 1.0, - "source": "config_test_models_test_validator_content_scan_max_mib_at_least_one", - "target": "config_models_validatorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L810", - "weight": 1.0, - "source": "config_test_models_test_validator_extensions_must_start_with_dot", - "target": "config_models_validatorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L815", - "weight": 1.0, - "source": "config_test_models_test_validator_extensions_rejects_dotless_among_others", - "target": "config_models_validatorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L824", - "weight": 1.0, - "source": "config_test_models_test_plugins_config_default_allow_network_false", - "target": "config_models_pluginsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L834", - "weight": 1.0, - "source": "config_test_models_test_sync_config_defaults", - "target": "config_models_syncconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L844", - "weight": 1.0, - "source": "config_test_models_test_sync_config_retry_attempts_non_negative", - "target": "config_models_syncconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L849", - "weight": 1.0, - "source": "config_test_models_test_sync_config_quiescence_minutes_at_least_one", - "target": "config_models_syncconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L854", - "weight": 1.0, - "source": "config_test_models_test_sync_config_poll_interval_seconds_at_least_one", - "target": "config_models_syncconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L858", - "weight": 1.0, - "source": "config_test_models_test_sync_config_accepts_custom_quiescence_settings", - "target": "config_models_syncconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L870", - "weight": 1.0, - "source": "config_test_models_test_sync_config_ignore_globs_default_is_independent_per_instance", - "target": "config_models_syncconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L882", - "weight": 1.0, - "source": "config_test_models_test_orchestrator_staging_cleanup_defaults", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L890", - "weight": 1.0, - "source": "config_test_models_test_orchestrator_staging_cleanup_scheduled_requires_positive_hours", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L895", - "weight": 1.0, - "source": "config_test_models_test_orchestrator_staging_cleanup_rejects_unknown_mode", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L722", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_722", - "target": "config_test_models_test_orchestrator_config_defaults" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L907", - "weight": 1.0, - "source": "config_test_models_test_orchestrator_config_defaults", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L904", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_904", - "target": "config_test_models_test_orchestrator_config_defaults" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L734", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_734", - "target": "config_test_models_test_orchestrator_config_staging_remote_validates_with_perf_defaults" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L737", - "weight": 1.0, - "source": "config_test_models_test_orchestrator_config_staging_remote_validates_with_perf_defaults", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L745", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_745", - "target": "config_test_models_test_stage_mode_equipment_validates_without_staging_block" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L747", - "weight": 1.0, - "source": "config_test_models_test_stage_mode_equipment_validates_without_staging_block", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L946", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_distinct_equipment_ids_accepted", - "target": "config_test_models_smb_transport_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L796", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_796", - "target": "config_test_models_test_orchestrator_legacy_enabled_field_rejected" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L955", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_955", - "target": "config_test_models_test_orchestrator_legacy_enabled_field_rejected" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L812", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_812", - "target": "config_test_models_test_orchestrator_label_and_staging_root_load_independently" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L971", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_971", - "target": "config_test_models_test_orchestrator_label_and_staging_root_load_independently" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L851", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_851", - "target": "config_test_models_test_full_config_round_trip_via_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1010", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_1010", - "target": "config_test_models_test_full_config_round_trip_via_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L886", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_886", - "target": "config_test_models_test_config_with_equipment_appended_seeds_from_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1047", - "weight": 1.0, - "source": "config_test_models_test_config_with_equipment_appended_seeds_from_none", - "target": "config_models_config_with_equipment_appended" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1045", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_1045", - "target": "config_test_models_test_config_with_equipment_appended_seeds_from_none" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L894", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_894", - "target": "config_test_models_test_config_with_equipment_appended_preserves_existing_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1055", - "weight": 1.0, - "source": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", - "target": "config_models_loggingconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1062", - "weight": 1.0, - "source": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", - "target": "config_models_config_with_equipment_appended" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1059", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_config_with_equipment_appended_preserves_existing_state", - "target": "config_test_models_smb_transport_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1053", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_1053", - "target": "config_test_models_test_config_with_equipment_appended_preserves_existing_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L906", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_906", - "target": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1075", - "weight": 1.0, - "source": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id", - "target": "config_models_config_with_equipment_appended" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L1070", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_1070", - "target": "config_test_models_test_config_with_equipment_appended_rejects_duplicate_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L920", - "weight": 1.0, - "source": "config_test_models_test_nas_config_defaults", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L932", - "weight": 1.0, - "source": "config_test_models_test_nas_config_rejects_nonpositive_perf", - "target": "config_models_rcloneperf" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_60", - "target": "config_test_models_smb_transport_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_loads_a_valid_plugin" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_loaded_record_carries_isolation_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_required_and_optional_variables_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_rejects_plugin_directory_without_manifest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_rejects_plugin_with_malformed_yaml" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_rejects_plugin_missing_required_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_rejects_plugin_with_unsupported_api_version" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_rejects_plugin_with_invalid_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_rejects_plugin_with_timeout_above_cap" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_rejects_plugin_with_memory_above_cap" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_rejects_supported_extensions_when_not_a_list_of_strings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_loads_network_plugin_when_allow_network_true" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_lab_dir_wins_on_name_collision" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_bundled_only_when_no_lab_collision" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L292", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_lab_only_plugins_are_loaded_too" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_reload_replaces_previous_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_reload_returns_registry_report_dataclass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_get_returns_none_for_unknown_plugin" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L346", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_list_all_returns_records_sorted_by_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L357", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_list_all_returns_record_instances" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L372", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_candidates_for_matches_by_extension" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L392", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_candidates_for_excludes_plugins_with_zero_matches" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L414", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L430", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_registry_with_no_dirs_loads_nothing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L438", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_registry_skips_files_in_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L450", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_registry_handles_nonexistent_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L465", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_registry_accepts_isolation_at_cap_boundary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L473", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_pluginplan_dataclass_shape" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L484", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_registry_py", - "target": "plugins_test_registry_test_pluginrecord_dataclass_shape" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_rationale_1", - "target": "tests_unit_plugins_test_registry_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_loads_a_valid_plugin", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_loaded_record_carries_isolation_block", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_required_and_optional_variables_round_trip", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_missing_required_field", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_with_unsupported_api_version", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_with_timeout_above_cap", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_with_memory_above_cap", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_loads_network_plugin_when_allow_network_true", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_lab_dir_wins_on_name_collision", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_bundled_only_when_no_lab_collision", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_lab_only_plugins_are_loaded_too", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_reload_replaces_previous_state", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L328", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_reload_returns_registry_report_dataclass", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_list_all_returns_records_sorted_by_name", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_list_all_returns_record_instances", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L374", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_candidates_for_matches_by_extension", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_candidates_for_excludes_plugins_with_zero_matches", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L404", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L416", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L443", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_registry_skips_files_in_root", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L467", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_registry_accepts_isolation_at_cap_boundary", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_pluginplan_dataclass_shape", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L486", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_test_pluginrecord_dataclass_shape", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_rationale_50", - "target": "plugins_test_registry_write_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L92", - "weight": 1.0, - "source": "plugins_test_registry_test_loads_a_valid_plugin", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L109", - "weight": 1.0, - "source": "plugins_test_registry_test_loaded_record_carries_isolation_block", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L126", - "weight": 1.0, - "source": "plugins_test_registry_test_required_and_optional_variables_round_trip", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L144", - "weight": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_directory_without_manifest", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L157", - "weight": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_with_malformed_yaml", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L167", - "weight": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_missing_required_field", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L177", - "weight": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_with_unsupported_api_version", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L196", - "weight": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_with_invalid_name", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L205", - "weight": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_with_timeout_above_cap", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L214", - "weight": 1.0, - "source": "plugins_test_registry_test_rejects_plugin_with_memory_above_cap", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L228", - "weight": 1.0, - "source": "plugins_test_registry_test_rejects_supported_extensions_when_not_a_list_of_strings", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L241", - "weight": 1.0, - "source": "plugins_test_registry_test_rejects_network_plugin_when_allow_network_false", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L250", - "weight": 1.0, - "source": "plugins_test_registry_test_loads_network_plugin_when_allow_network_true", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L269", - "weight": 1.0, - "source": "plugins_test_registry_test_lab_dir_wins_on_name_collision", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L284", - "weight": 1.0, - "source": "plugins_test_registry_test_bundled_only_when_no_lab_collision", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L298", - "weight": 1.0, - "source": "plugins_test_registry_test_lab_only_plugins_are_loaded_too", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L314", - "weight": 1.0, - "source": "plugins_test_registry_test_reload_replaces_previous_state", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L329", - "weight": 1.0, - "source": "plugins_test_registry_test_reload_returns_registry_report_dataclass", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L341", - "weight": 1.0, - "source": "plugins_test_registry_test_get_returns_none_for_unknown_plugin", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L351", - "weight": 1.0, - "source": "plugins_test_registry_test_list_all_returns_records_sorted_by_name", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L360", - "weight": 1.0, - "source": "plugins_test_registry_test_list_all_returns_record_instances", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L376", - "weight": 1.0, - "source": "plugins_test_registry_test_candidates_for_matches_by_extension", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L395", - "weight": 1.0, - "source": "plugins_test_registry_test_candidates_for_excludes_plugins_with_zero_matches", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L405", - "weight": 1.0, - "source": "plugins_test_registry_test_candidates_for_returns_pluginplan_instances", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L417", - "weight": 1.0, - "source": "plugins_test_registry_test_candidates_for_supports_multi_extension_plugin", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L431", - "weight": 1.0, - "source": "plugins_test_registry_test_registry_with_no_dirs_loads_nothing", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L439", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_rationale_439", - "target": "plugins_test_registry_test_registry_skips_files_in_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L445", - "weight": 1.0, - "source": "plugins_test_registry_test_registry_skips_files_in_root", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L451", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_rationale_451", - "target": "plugins_test_registry_test_registry_handles_nonexistent_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L452", - "weight": 1.0, - "source": "plugins_test_registry_test_registry_handles_nonexistent_dir", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L468", - "weight": 1.0, - "source": "plugins_test_registry_test_registry_accepts_isolation_at_cap_boundary", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L474", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_registry_rationale_474", - "target": "plugins_test_registry_test_pluginplan_dataclass_shape" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L477", - "weight": 1.0, - "source": "plugins_test_registry_test_pluginplan_dataclass_shape", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_registry.py", - "source_location": "L487", - "weight": 1.0, - "source": "plugins_test_registry_test_pluginrecord_dataclass_shape", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_init_rationale_1", - "target": "tests_unit_plugins_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_init_rationale_1", - "target": "tests_integration_plugins_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_init_rationale_1", - "target": "tests_fixtures_plugins_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_init_rationale_1", - "target": "src_exlab_wizard_plugins_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_minimalplugin" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_make_ctx" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_plugin_abc_cannot_be_instantiated_directly" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_plugin_subclass_missing_can_handle_is_abstract" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_plugin_subclass_missing_transform_is_abstract" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_minimal_plugin_can_be_instantiated" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_default_validate_variables_returns_empty_when_no_required" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_default_validate_variables_reports_missing_required" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_default_validate_variables_reports_empty_string_as_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_default_validate_variables_lists_all_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_pre_transform_all_default_is_noop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_post_transform_all_default_is_noop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_on_plugin_failure_default_is_noop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_describe_changes_default_returns_single_modify_change" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_filechange_is_frozen_dataclass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_filechange_default_detail_is_empty_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_filechange_accepts_detail_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_plugincontext_is_frozen_dataclass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_plugincontext_carries_full_session_metadata" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_pluginerror_reexport_is_canonical_class" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_plugininputrequired_reexport_is_canonical_class" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L253", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_plugininputrequired_carries_fields_and_reason" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_plugin_api_version_defaults_to_one" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_plugin_required_variables_default_is_empty_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_base_py", - "target": "plugins_test_base_test_plugin_optional_variables_default_is_empty_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_rationale_1", - "target": "tests_unit_plugins_test_base_py" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_minimalplugin", - "target": "plugin" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_minimalplugin", - "target": "plugins_test_base_minimalplugin_can_handle" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_minimalplugin", - "target": "plugins_test_base_minimalplugin_transform" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_minimal_plugin_can_be_instantiated", - "target": "plugins_test_base_minimalplugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_default_validate_variables_returns_empty_when_no_required", - "target": "plugins_test_base_minimalplugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_pre_transform_all_default_is_noop", - "target": "plugins_test_base_minimalplugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_post_transform_all_default_is_noop", - "target": "plugins_test_base_minimalplugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_on_plugin_failure_default_is_noop", - "target": "plugins_test_base_minimalplugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_describe_changes_default_returns_single_modify_change", - "target": "plugins_test_base_minimalplugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_rationale_35", - "target": "plugins_test_base_minimalplugin" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_base_minimalplugin", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_base_minimalplugin", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_base_minimalplugin", - "target": "plugins_base_filechange" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_base_minimalplugin", - "target": "plugins_base_plugin" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_base_minimalplugin", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_base_minimalplugin", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_plugin_abc_cannot_be_instantiated_directly", - "target": "plugin" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "hello_plugin_plugin_helloplugin", - "target": "plugin" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "error_plugin_plugin_errorplugin", - "target": "plugin" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "policy_violation_plugin_plugin_policyviolationplugin", - "target": "plugin" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "input_required_plugin_plugin_inputrequiredplugin", - "target": "plugin" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "crash_plugin_plugin_crashplugin", - "target": "plugin" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "timeout_plugin_plugin_timeoutplugin", - "target": "plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_pre_transform_all_default_is_noop", - "target": "plugins_test_base_make_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_post_transform_all_default_is_noop", - "target": "plugins_test_base_make_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_on_plugin_failure_default_is_noop", - "target": "plugins_test_base_make_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_describe_changes_default_returns_single_modify_change", - "target": "plugins_test_base_make_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_plugincontext_is_frozen_dataclass", - "target": "plugins_test_base_make_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_test_plugincontext_carries_full_session_metadata", - "target": "plugins_test_base_make_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L60", - "weight": 1.0, - "source": "plugins_test_base_make_ctx", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L63", - "weight": 1.0, - "source": "plugins_test_base_make_ctx", - "target": "plugins_base_plugincontext" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_rationale_103", - "target": "plugins_test_base_test_minimal_plugin_can_be_instantiated" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_rationale_129", - "target": "plugins_test_base_test_default_validate_variables_reports_empty_string_as_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L190", - "weight": 1.0, - "source": "plugins_test_base_test_filechange_is_frozen_dataclass", - "target": "plugins_base_filechange" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L196", - "weight": 1.0, - "source": "plugins_test_base_test_filechange_default_detail_is_empty_dict", - "target": "plugins_base_filechange" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L201", - "weight": 1.0, - "source": "plugins_test_base_test_filechange_accepts_detail_payload", - "target": "plugins_base_filechange" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_rationale_245", - "target": "plugins_test_base_test_pluginerror_reexport_is_canonical_class" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_rationale_254", - "target": "plugins_test_base_test_plugininputrequired_carries_fields_and_reason" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L256", - "weight": 1.0, - "source": "plugins_test_base_test_plugininputrequired_carries_fields_and_reason", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_base.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_base_rationale_267", - "target": "plugins_test_base_test_plugin_api_version_defaults_to_one" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_host_plugin_logger_forwards_info_to_stdlib_logger" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_host_plugin_logger_forwards_debug" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_host_plugin_logger_forwards_warning" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_host_plugin_logger_forwards_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_worker_plugin_logger_emits_empty_context_when_no_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_plugin_log_frame_fields_are_pinned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_plugins_test_logger_py", - "target": "plugins_test_logger_test_plugin_log_frame_default_context_is_empty_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_logger_rationale_1", - "target": "tests_unit_plugins_test_logger_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L36", - "weight": 1.0, - "source": "plugins_test_logger_test_host_plugin_logger_forwards_info_to_stdlib_logger", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L45", - "weight": 1.0, - "source": "plugins_test_logger_test_host_plugin_logger_forwards_debug", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L52", - "weight": 1.0, - "source": "plugins_test_logger_test_host_plugin_logger_forwards_warning", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L59", - "weight": 1.0, - "source": "plugins_test_logger_test_host_plugin_logger_forwards_error", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_logger_rationale_68", - "target": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L69", - "weight": 1.0, - "source": "plugins_test_logger_test_host_plugin_logger_passes_structured_fields_via_extra", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_logger_rationale_80", - "target": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L81", - "weight": 1.0, - "source": "plugins_test_logger_test_host_plugin_logger_uses_default_logger_name_when_unspecified", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L96", - "weight": 1.0, - "source": "plugins_test_logger_test_worker_plugin_logger_emits_json_frame_to_stream", - "target": "plugins_logger_workerpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L108", - "weight": 1.0, - "source": "plugins_test_logger_test_worker_plugin_logger_each_level_emits_correct_level_string", - "target": "plugins_logger_workerpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L121", - "weight": 1.0, - "source": "plugins_test_logger_test_worker_plugin_logger_emits_one_frame_per_call", - "target": "plugins_logger_workerpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L131", - "weight": 1.0, - "source": "plugins_test_logger_test_worker_plugin_logger_emits_empty_context_when_no_fields", - "target": "plugins_logger_workerpluginlogger" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_logger_rationale_138", - "target": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L141", - "weight": 1.0, - "source": "plugins_test_logger_test_worker_plugin_logger_default_stream_is_stderr", - "target": "plugins_logger_workerpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L154", - "weight": 1.0, - "source": "plugins_test_logger_test_plugin_log_frame_fields_are_pinned", - "target": "plugins_logger_pluginlogframe" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/plugins/test_logger.py", - "source_location": "L161", - "weight": 1.0, - "source": "plugins_test_logger_test_plugin_log_frame_default_context_is_empty_dict", - "target": "plugins_logger_pluginlogframe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L13", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_schema_versions_py", - "target": "constants_test_schema_versions_test_creation_json_version_is_pinned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_schema_versions_py", - "target": "constants_test_schema_versions_test_readme_fields_json_version_is_pinned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_schema_versions_py", - "target": "constants_test_schema_versions_test_sync_state_json_version_is_pinned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_schema_versions_py", - "target": "constants_test_schema_versions_test_equipment_json_version_is_pinned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_schema_versions_py", - "target": "constants_test_schema_versions_test_test_runs_json_version_is_pinned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_schema_versions_py", - "target": "constants_test_schema_versions_test_offline_catalogue_version_is_pinned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_schema_versions_py", - "target": "constants_test_schema_versions_test_readme_front_matter_schema_version_is_pinned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_schema_versions_py", - "target": "constants_test_schema_versions_test_all_schema_versions_are_strings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_schema_versions_py", - "target": "constants_test_schema_versions_test_schema_versions_re_exported_from_package" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_schema_versions.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_test_schema_versions_rationale_1", - "target": "tests_unit_constants_test_schema_versions_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_equipment_id_regex_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_equipment_id_pattern_is_compiled" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_equipment_id_pattern_accepts_valid_ids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_equipment_id_pattern_rejects_invalid_ids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_equipment_id_max_length" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_placeholder_angle_bracket_regex_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_placeholder_angle_bracket_pattern_finds_tokens" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_placeholder_angle_bracket_pattern_ignores_non_tokens" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_placeholder_jinja_var_regex_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_placeholder_jinja_var_pattern_finds_markers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_placeholder_jinja_var_pattern_ignores_plain_text" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_placeholder_jinja_block_regex_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_placeholder_jinja_block_pattern_finds_blocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_placeholder_jinja_block_pattern_ignores_unrelated_content" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_project_short_id_regex_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_project_short_id_pattern_accepts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_project_short_id_pattern_rejects" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_template_question_id_regex_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_template_question_id_pattern_accepts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_template_question_id_pattern_rejects" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_plugin_name_regex_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_plugin_name_pattern_accepts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_plugin_name_pattern_rejects" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_run_date_strftime_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_run_date_strftime_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_run_dir_prefix_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_test_run_dir_prefix_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_test_runs_dir_name_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_windows_reserved_names_membership" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_windows_reserved_names_is_frozenset" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_windows_reserved_names_size" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_windows_reserved_names_are_uppercase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_windows_reserved_names_case_insensitive_check" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L248", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_windows_illegal_chars_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L253", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_windows_illegal_chars_membership" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L258", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_windows_illegal_chars_excludes_safe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_patterns_py", - "target": "constants_test_patterns_test_patterns_re_exported_from_package" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_patterns.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_test_patterns_rationale_1", - "target": "tests_unit_constants_test_patterns_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_init_rationale_1", - "target": "tests_unit_constants_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_init_rationale_1", - "target": "src_exlab_wizard_constants_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enum_literal_alignment.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enum_literal_alignment_py", - "target": "constants_test_enum_literal_alignment_test_enum_values_match_expected_literal_set" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enum_literal_alignment.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_test_enum_literal_alignment_rationale_1", - "target": "tests_unit_constants_test_enum_literal_alignment_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_run_kind_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_run_kind_is_str" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_sync_status_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_tier_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_problem_class_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_finding_kind_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_template_type_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_run_scope_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_lims_project_status_values_pascal_case" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_lims_project_source_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_ingest_state_enum_is_removed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_run_sync_state_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_setup_state_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_nas_remote_setup_members_exist" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_transport_type_enum_removed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_completeness_signal_enum_removed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_staging_cleanup_mode_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_plugin_status_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_creation_level_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_field_type_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_bandwidth_day_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_session_kind_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_next_action_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L262", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_audit_scope_kind_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_directory_level_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_platform_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L287", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_setup_next_action_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L295", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_sync_handle_state_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L303", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_plugin_source_root_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_tree_project_status_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_enums_re_exported_from_package" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_test_enums_rationale_1", - "target": "tests_unit_constants_test_enums_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_transport_type_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_enums.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_enums_py", - "target": "constants_test_enums_test_orchestrator_transport_type_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L13", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_keyring_py", - "target": "constants_test_keyring_test_keyring_service_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_keyring_py", - "target": "constants_test_keyring_test_keyring_username_lims_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_keyring_py", - "target": "constants_test_keyring_test_nas_keyring_username_removed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_keyring_py", - "target": "constants_test_keyring_test_keyring_re_exported_from_package" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_test_keyring_rationale_1", - "target": "tests_unit_constants_test_keyring_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_keyring_py", - "target": "constants_test_keyring_test_keyring_username_nas_template_literal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_keyring_py", - "target": "constants_test_keyring_test_keyring_nas_username_formats_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_keyring.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_keyring_py", - "target": "constants_test_keyring_test_keyring_nas_username_handles_various_ids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_plugin_timeout_max_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_plugin_memory_max_mb" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_plugin_validation_cpu_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_plugin_validation_memory_mb" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_plugin_validation_wall_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_plugin_rlimit_nofile" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_plugin_ipc_frame_cap_bytes_is_one_mib" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_plugin_api_version" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_plugin_supported_api_versions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_plugin_forbidden_path_prefixes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_label_max_length" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_objective_max_length" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_validator_binary_detect_bytes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_log_line_max_bytes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_session_gc_after_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_audit_refresh_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_quit_drain_timeout_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_sigterm_drain_timeout_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_tray_status_refresh_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_worker_timeout_grace_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_window_default_size" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_notification_coalesce_seconds" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_disk_space_preflight_mib" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_limits_py", - "target": "constants_test_limits_test_limits_re_exported_from_package" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_limits.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_test_limits_rationale_1", - "target": "tests_unit_constants_test_limits_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_cache_dir_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_creation_json_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_readme_fields_json_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_equipment_json_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_sync_state_filename" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_test_runs_json_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_answers_file_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_log_file_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_log_file_template_formats" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_readme_file_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_copier_manifest_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_plugin_manifest_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_server_state_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_lims_cache_db_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_sync_queue_db_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_central_log_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_secrets_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_constants_test_filenames_py", - "target": "constants_test_filenames_test_filenames_re_exported_from_package" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/constants/test_filenames.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_test_filenames_rationale_1", - "target": "tests_unit_constants_test_filenames_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L13", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_yaml_files_py", - "target": "io_test_yaml_files_test_load_yaml_manifest_returns_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_yaml_files_py", - "target": "io_test_yaml_files_test_load_yaml_manifest_empty_file_returns_empty_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_yaml_files_py", - "target": "io_test_yaml_files_test_load_yaml_manifest_non_dict_returns_empty_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_yaml_files_py", - "target": "io_test_yaml_files_test_load_yaml_manifest_propagates_yaml_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_yaml_files_py", - "target": "io_test_yaml_files_test_load_yaml_manifest_missing_file_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_test_yaml_files_rationale_1", - "target": "tests_unit_io_test_yaml_files_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L16", - "weight": 1.0, - "source": "io_test_yaml_files_test_load_yaml_manifest_returns_dict", - "target": "io_yaml_files_load_yaml_manifest" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L22", - "weight": 1.0, - "source": "io_test_yaml_files_test_load_yaml_manifest_empty_file_returns_empty_dict", - "target": "io_yaml_files_load_yaml_manifest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_test_yaml_files_rationale_26", - "target": "io_test_yaml_files_test_load_yaml_manifest_non_dict_returns_empty_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L29", - "weight": 1.0, - "source": "io_test_yaml_files_test_load_yaml_manifest_non_dict_returns_empty_dict", - "target": "io_yaml_files_load_yaml_manifest" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L36", - "weight": 1.0, - "source": "io_test_yaml_files_test_load_yaml_manifest_propagates_yaml_error", - "target": "io_yaml_files_load_yaml_manifest" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_yaml_files.py", - "source_location": "L41", - "weight": 1.0, - "source": "io_test_yaml_files_test_load_yaml_manifest_missing_file_raises", - "target": "io_yaml_files_load_yaml_manifest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L13", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_atomic_write_py", - "target": "io_test_atomic_write_test_atomic_write_creates_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_atomic_write_py", - "target": "io_test_atomic_write_test_atomic_write_overwrites_existing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_atomic_write_py", - "target": "io_test_atomic_write_test_atomic_write_leaves_no_temp_file_on_success" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_atomic_write_py", - "target": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_atomic_write_py", - "target": "io_test_atomic_write_test_atomic_write_skip_fsync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_atomic_write_py", - "target": "io_test_atomic_write_test_atomic_write_calls_fsync_by_default" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_test_atomic_write_rationale_1", - "target": "tests_unit_io_test_atomic_write_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L15", - "weight": 1.0, - "source": "io_test_atomic_write_test_atomic_write_creates_file", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L22", - "weight": 1.0, - "source": "io_test_atomic_write_test_atomic_write_overwrites_existing", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L28", - "weight": 1.0, - "source": "io_test_atomic_write_test_atomic_write_leaves_no_temp_file_on_success", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L41", - "weight": 1.0, - "source": "io_test_atomic_write_test_atomic_write_cleans_up_temp_on_replace_failure", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L51", - "weight": 1.0, - "source": "io_test_atomic_write_test_atomic_write_skip_fsync", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_atomic_write.py", - "source_location": "L59", - "weight": 1.0, - "source": "io_test_atomic_write_test_atomic_write_calls_fsync_by_default", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_dummy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_require_schema_major_accepts_matching_major" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_require_schema_major_rejects_different_major" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_require_schema_major_rejects_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_require_schema_major_rejects_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_require_schema_major_rejects_unparseable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_read_msgspec_json_decodes_to_struct" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_read_msgspec_json_with_matching_major" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_read_msgspec_json_rejects_wrong_major" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_read_msgspec_json_passes_through_malformed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_read_msgspec_json_raw_returns_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_read_msgspec_json_raw_with_matching_major" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_read_msgspec_json_raw_rejects_wrong_major" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_io_test_json_files_py", - "target": "io_test_json_files_test_read_msgspec_json_raw_skips_check_when_version_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_test_json_files_rationale_1", - "target": "tests_unit_io_test_json_files_py" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L10", - "weight": 0.8, - "confidence_score": 0.5, - "source": "io_test_json_files_dummy", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L24", - "weight": 1.0, - "source": "io_test_json_files_test_require_schema_major_accepts_matching_major", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L29", - "weight": 1.0, - "source": "io_test_json_files_test_require_schema_major_rejects_different_major", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L36", - "weight": 1.0, - "source": "io_test_json_files_test_require_schema_major_rejects_empty", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L41", - "weight": 1.0, - "source": "io_test_json_files_test_require_schema_major_rejects_none", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L46", - "weight": 1.0, - "source": "io_test_json_files_test_require_schema_major_rejects_unparseable", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L52", - "weight": 1.0, - "source": "io_test_json_files_test_read_msgspec_json_decodes_to_struct", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L60", - "weight": 1.0, - "source": "io_test_json_files_test_read_msgspec_json_with_matching_major", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L68", - "weight": 1.0, - "source": "io_test_json_files_test_read_msgspec_json_rejects_wrong_major", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_test_json_files_rationale_72", - "target": "io_test_json_files_test_read_msgspec_json_passes_through_malformed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L76", - "weight": 1.0, - "source": "io_test_json_files_test_read_msgspec_json_passes_through_malformed", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L82", - "weight": 1.0, - "source": "io_test_json_files_test_read_msgspec_json_raw_returns_dict", - "target": "io_json_files_read_msgspec_json_raw" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L89", - "weight": 1.0, - "source": "io_test_json_files_test_read_msgspec_json_raw_with_matching_major", - "target": "io_json_files_read_msgspec_json_raw" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L97", - "weight": 1.0, - "source": "io_test_json_files_test_read_msgspec_json_raw_rejects_wrong_major", - "target": "io_json_files_read_msgspec_json_raw" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_test_json_files_rationale_103", - "target": "io_test_json_files_test_read_msgspec_json_raw_skips_check_when_version_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/io/test_json_files.py", - "source_location": "L107", - "weight": 1.0, - "source": "io_test_json_files_test_read_msgspec_json_raw_skips_check_when_version_missing", - "target": "io_json_files_read_msgspec_json_raw" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_init_rationale_1", - "target": "tests_unit_template_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_init_rationale_1", - "target": "src_exlab_wizard_template_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_core_readme_field_ids_pins_the_three_core_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_project_basic_returns_resolved_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_run_basic_experimental_sets_run_scope_experimental" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_run_basic_test_sets_run_scope_test" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_run_basic_both_sets_run_scope_both" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_missing_version_raises_template_load_error_mentioning_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_redeclares_core_is_also_caught_as_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_missing_copier_yml_raises_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_scope_mismatch_raises_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_with_tasks_does_not_raise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_render_project_basic_writes_readme" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_render_project_basic_files_written_lists_the_readme" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L322", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L350", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L371", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L387", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L421", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L436", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L461", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_readme_fields_with_non_core_entries_passes_through" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L488", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L505", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_readme_fields_not_a_list_yields_empty_extra_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L532", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_non_string_description_falls_back_to_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L548", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_plugin_order_preserved" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L567", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_resolve_non_list_plugin_order_falls_back_to_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L587", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_template_test_copier_driver_py", - "target": "template_test_copier_driver_test_render_snapshots_existing_regular_file_at_dst" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_test_copier_driver_rationale_1", - "target": "tests_unit_template_test_copier_driver_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L71", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_project_basic_returns_resolved_template", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L91", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_run_basic_experimental_sets_run_scope_experimental", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L101", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_run_basic_test_sets_run_scope_test", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L109", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_run_basic_both_sets_run_scope_both", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L124", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_missing_version_raises_template_load_error_mentioning_field", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L131", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_redeclares_core_raises_core_field_redeclared_naming_offender", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L141", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_redeclares_core_is_also_caught_as_template_load_error", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L148", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_missing_copier_yml_raises_template_load_error", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L158", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_scope_mismatch_raises_template_load_error", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L173", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_run_template_missing_run_scope_raises", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L187", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_run_template_invalid_run_scope_raises", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L200", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_with_tasks_does_not_raise", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L211", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_with_tasks_emits_warning_log", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L228", - "weight": 1.0, - "source": "template_test_copier_driver_test_render_project_basic_writes_readme", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L248", - "weight": 1.0, - "source": "template_test_copier_driver_test_render_project_basic_files_written_lists_the_readme", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L272", - "weight": 1.0, - "source": "template_test_copier_driver_test_render_with_tasks_silently_ignores_tasks_and_writes_file", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L297", - "weight": 1.0, - "source": "template_test_copier_driver_test_render_into_dst_with_conflicting_files_raises", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L327", - "weight": 1.0, - "source": "template_test_copier_driver_test_render_calls_copier_run_copy_with_spec_kwargs", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L362", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_unreadable_copier_yml_raises_template_load_error", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L381", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_malformed_yaml_raises_template_load_error", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L397", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_empty_copier_yml_treats_manifest_as_empty_and_rejects_missing_type", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L415", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_non_mapping_yaml_raises_template_load_error", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L430", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_missing_exlab_type_raises_template_load_error", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L448", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_invalid_exlab_type_value_raises_template_load_error", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L481", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_readme_fields_with_non_core_entries_passes_through", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L500", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_readme_block_not_a_mapping_yields_empty_extra_fields", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L522", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_readme_fields_not_a_list_yields_empty_extra_fields", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L543", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_non_string_description_falls_back_to_empty", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L562", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_plugin_order_preserved", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L577", - "weight": 1.0, - "source": "template_test_copier_driver_test_resolve_non_list_plugin_order_falls_back_to_empty", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/template/test_copier_driver.py", - "source_location": "L592", - "weight": 1.0, - "source": "template_test_copier_driver_test_render_snapshots_existing_regular_file_at_dst", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_utc_now_iso_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_dt_to_iso_naive_assumed_utc" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_dt_to_iso_utc_aware" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_dt_to_iso_non_utc_zone_converts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_parse_utc_iso_z_form" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_parse_utc_iso_offset_form" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_parse_utc_iso_naive_input_tagged_utc" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_parse_utc_iso_round_trip_with_now" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_parse_utc_iso_raises_on_garbage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_parse_utc_iso_or_none_handles_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_parse_utc_iso_or_none_handles_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_parse_utc_iso_or_none_handles_malformed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_time_py", - "target": "utils_test_time_test_parse_utc_iso_or_none_returns_datetime_for_valid" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_test_time_rationale_1", - "target": "tests_unit_utils_test_time_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L21", - "weight": 1.0, - "source": "utils_test_time_test_utc_now_iso_format", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L27", - "weight": 1.0, - "source": "utils_test_time_test_dt_to_iso_naive_assumed_utc", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L32", - "weight": 1.0, - "source": "utils_test_time_test_dt_to_iso_utc_aware", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L39", - "weight": 1.0, - "source": "utils_test_time_test_dt_to_iso_non_utc_zone_converts", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L43", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_z_form", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L48", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_offset_form", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L53", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_naive_input_tagged_utc", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L58", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_round_trip_with_now", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L59", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_round_trip_with_now", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L60", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_round_trip_with_now", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L65", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_raises_on_garbage", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L69", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_or_none_handles_none", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L73", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_or_none_handles_empty", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L77", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_or_none_handles_malformed", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_time.py", - "source_location": "L81", - "weight": 1.0, - "source": "utils_test_time_test_parse_utc_iso_or_none_returns_datetime_for_valid", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_state_py", - "target": "utils_test_state_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_state_py", - "target": "utils_test_state_test_allowed_transition_returns_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_state_py", - "target": "utils_test_state_test_disallowed_transition_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_state_py", - "target": "utils_test_state_test_terminal_transition_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_utils_test_state_py", - "target": "utils_test_state_test_unknown_source_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_test_state_rationale_1", - "target": "tests_unit_utils_test_state_py" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_test_state_state", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_severity", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_bannerid", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_containerid", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_shortcut", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_runkind", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_syncstatus", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_tier", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_problemclass", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_findingkind", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_templatetype", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_runscope", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_limsprojectstatus", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_limsprojectsource", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_runsyncstate", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_setupstate", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_syncmode", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_stagingcleanupmode", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_pluginstatus", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_creationlevel", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_fieldtype", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_bandwidthday", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_sessionkind", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_nextaction", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_auditscopekind", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_directorylevel", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_platform", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_setupnextaction", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L318", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_synchandlestate", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_pluginsourceroot", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_treeprojectstatus", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_state_machine_sessionstate", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_state_machine_phase", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncjobstate", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_init_transporterrorkind", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_transporttype", - "target": "strenum" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_orchestratortransporttype", - "target": "strenum" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L26", - "weight": 1.0, - "source": "utils_test_state_test_allowed_transition_returns_none", - "target": "utils_state_assert_forward_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L31", - "weight": 1.0, - "source": "utils_test_state_test_disallowed_transition_raises", - "target": "utils_state_assert_forward_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L36", - "weight": 1.0, - "source": "utils_test_state_test_terminal_transition_raises", - "target": "utils_state_assert_forward_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/utils/test_state.py", - "source_location": "L44", - "weight": 1.0, - "source": "utils_test_state_test_unknown_source_raises", - "target": "utils_state_assert_forward_transition" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_storage_secret_py", - "target": "tray_test_storage_secret_test_generates_secret_on_first_call" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_storage_secret_py", - "target": "tray_test_storage_secret_test_idempotent_across_calls" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_storage_secret_py", - "target": "tray_test_storage_secret_test_secret_file_mode_is_0600" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_storage_secret_py", - "target": "tray_test_storage_secret_test_regenerates_on_empty_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_storage_secret_py", - "target": "tray_test_storage_secret_test_regenerates_on_whitespace_only_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_storage_secret_py", - "target": "tray_test_storage_secret_test_creates_state_dir_if_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_storage_secret_rationale_1", - "target": "tests_unit_tray_test_storage_secret_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L24", - "weight": 1.0, - "source": "tray_test_storage_secret_test_generates_secret_on_first_call", - "target": "tray_storage_secret_load_or_create_storage_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L32", - "weight": 1.0, - "source": "tray_test_storage_secret_test_idempotent_across_calls", - "target": "tray_storage_secret_load_or_create_storage_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L39", - "weight": 1.0, - "source": "tray_test_storage_secret_test_secret_file_mode_is_0600", - "target": "tray_storage_secret_load_or_create_storage_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L48", - "weight": 1.0, - "source": "tray_test_storage_secret_test_regenerates_on_empty_file", - "target": "tray_storage_secret_load_or_create_storage_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L56", - "weight": 1.0, - "source": "tray_test_storage_secret_test_regenerates_on_whitespace_only_file", - "target": "tray_storage_secret_load_or_create_storage_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_storage_secret.py", - "source_location": "L63", - "weight": 1.0, - "source": "tray_test_storage_secret_test_creates_state_dir_if_missing", - "target": "tray_storage_secret_load_or_create_storage_secret" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_inmemorykeyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_swap_keyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_build_production_dependencies_exposes_keyring_store" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_nas_config_with_two_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_nas_config_with_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_stubabout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_make_equipment_probe_targets_nas_remote_not_keyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_make_equipment_probe_short_circuits_without_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_make_equipment_probe_surfaces_about_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L258", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_nas_remote_available_reflects_listremotes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_1", - "target": "tests_unit_tray_test_dependencies_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_dependencies_py", - "target": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "tray_test_dependencies_inmemorykeyring_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "tray_test_dependencies_inmemorykeyring_get_password" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "tray_test_dependencies_inmemorykeyring_set_password" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "tray_test_dependencies_inmemorykeyring_delete_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", - "target": "tray_test_dependencies_inmemorykeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", - "target": "tray_test_dependencies_inmemorykeyring" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_40", - "target": "tray_test_dependencies_inmemorykeyring" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L32", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L33", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L172", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", - "target": "tray_test_dependencies_inmemorykeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", - "target": "tray_test_dependencies_inmemorykeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", - "target": "tray_test_dependencies_inmemorykeyring" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_45", - "target": "tray_test_dependencies_inmemorykeyring" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_inmemorykeyring", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", - "target": "tray_test_dependencies_inmemorykeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", - "target": "tray_test_dependencies_inmemorykeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", - "target": "tray_test_dependencies_inmemorykeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", - "target": "tray_test_dependencies_inmemorykeyring_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", - "target": "tray_test_dependencies_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", - "target": "tray_test_dependencies_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", - "target": "tray_test_dependencies_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", - "target": "tray_test_dependencies_swap_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", - "target": "tray_test_dependencies_swap_keyring" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_68", - "target": "tray_test_dependencies_test_build_production_dependencies_exposes_keyring_store" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L75", - "weight": 1.0, - "source": "tray_test_dependencies_test_build_production_dependencies_exposes_keyring_store", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_73", - "target": "tray_test_dependencies_test_build_production_dependencies_exposes_keyring_store" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_78", - "target": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L93", - "weight": 1.0, - "source": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L95", - "weight": 1.0, - "source": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L113", - "weight": 1.0, - "source": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_83", - "target": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L101", - "weight": 1.0, - "source": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L106", - "weight": 1.0, - "source": "tray_test_dependencies_test_build_production_dependencies_nas_sync_is_a_client", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_109", - "target": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L129", - "weight": 1.0, - "source": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L134", - "weight": 1.0, - "source": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored", - "target": "tray_dependencies_check_keyring_present" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_121", - "target": "tray_test_dependencies_test_check_keyring_present_true_when_lims_password_stored" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_128", - "target": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L143", - "weight": 1.0, - "source": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L149", - "weight": 1.0, - "source": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username", - "target": "tray_dependencies_build_lims_client" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_140", - "target": "tray_test_dependencies_test_lims_client_password_provider_reads_keyring_under_lims_username" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_nas_config_with_remote", - "target": "tray_test_dependencies_nas_config_with_two_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_without_remote", - "target": "tray_test_dependencies_nas_config_with_two_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_148", - "target": "tray_test_dependencies_nas_config_with_two_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L162", - "weight": 1.0, - "source": "tray_test_dependencies_nas_config_with_two_equipment", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L164", - "weight": 1.0, - "source": "tray_test_dependencies_nas_config_with_two_equipment", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", - "target": "tray_test_dependencies_nas_config_with_two_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config", - "target": "tray_test_dependencies_nas_config_with_two_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", - "target": "tray_test_dependencies_nas_config_with_two_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L262", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", - "target": "tray_test_dependencies_nas_config_with_two_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_160", - "target": "tray_test_dependencies_nas_config_with_two_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L170", - "weight": 1.0, - "source": "tray_test_dependencies_nas_config_with_two_equipment", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_nas_remote_not_keyring", - "target": "tray_test_dependencies_nas_config_with_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_surfaces_about_failure", - "target": "tray_test_dependencies_nas_config_with_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L274", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_test_nas_remote_available_reflects_listremotes", - "target": "tray_test_dependencies_nas_config_with_remote" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_171", - "target": "tray_test_dependencies_nas_config_with_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L175", - "weight": 1.0, - "source": "tray_test_dependencies_nas_config_with_remote", - "target": "config_models_nasconfig" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_stubabout", - "target": "tray_test_dependencies_stubabout_init" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_stubabout", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_stubabout", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_stubabout", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L28", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_stubabout", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_stubabout", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L172", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_dependencies_stubabout", - "target": "config_models_nasconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_188", - "target": "tray_test_dependencies_test_make_equipment_probe_targets_nas_remote_not_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L205", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_nas_remote_not_keyring", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L210", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_nas_remote_not_keyring", - "target": "tray_dependencies_make_equipment_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_218", - "target": "tray_test_dependencies_test_make_equipment_probe_short_circuits_without_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L221", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_without_remote", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L224", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_without_remote", - "target": "tray_dependencies_make_equipment_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_234", - "target": "tray_test_dependencies_test_make_equipment_probe_surfaces_about_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L248", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_surfaces_about_failure", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L251", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_surfaces_about_failure", - "target": "tray_dependencies_make_equipment_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_261", - "target": "tray_test_dependencies_test_nas_remote_available_reflects_listremotes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_fakemenu" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_fakemenuitem" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_fakeicon" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_fakepystray" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_test_build_icon_returns_icon_object" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_test_open_menu_item_invokes_callback" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_test_quit_menu_item_invokes_callback" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_test_status_label_callable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_test_callback_exception_is_swallowed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_test_default_icon_image_returns_pillow_image" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_test_lazy_pystray_import" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_test_separator_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_icon_py", - "target": "tray_test_icon_test_import_pystray_returns_module" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_icon_rationale_1", - "target": "tests_unit_tray_test_icon_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_icon_fakemenu", - "target": "tray_test_icon_fakemenu_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_icon_fakemenuitem", - "target": "tray_test_icon_fakemenuitem_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_icon_fakeicon", - "target": "tray_test_icon_fakeicon_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L57", - "weight": 1.0, - "source": "tray_test_icon_test_build_icon_returns_icon_object", - "target": "tray_icon_build_icon" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L73", - "weight": 1.0, - "source": "tray_test_icon_test_open_menu_item_invokes_callback", - "target": "tray_icon_build_icon" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L87", - "weight": 1.0, - "source": "tray_test_icon_test_quit_menu_item_invokes_callback", - "target": "tray_icon_build_icon" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L100", - "weight": 1.0, - "source": "tray_test_icon_test_status_label_callable", - "target": "tray_icon_build_icon" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L116", - "weight": 1.0, - "source": "tray_test_icon_test_callback_exception_is_swallowed", - "target": "tray_icon_build_icon" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L128", - "weight": 1.0, - "source": "tray_test_icon_test_default_icon_image_returns_pillow_image", - "target": "tray_icon_default_icon_image" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_icon_rationale_134", - "target": "tray_test_icon_test_lazy_pystray_import" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L140", - "weight": 1.0, - "source": "tray_test_icon_test_lazy_pystray_import", - "target": "tray_icon_build_icon" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L149", - "weight": 1.0, - "source": "tray_test_icon_test_separator_present", - "target": "tray_icon_build_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_icon_rationale_159", - "target": "tray_test_icon_test_import_pystray_returns_module" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_icon.py", - "source_location": "L166", - "weight": 1.0, - "source": "tray_test_icon_test_import_pystray_returns_module", - "target": "tray_icon_import_pystray" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_stub_configure_logging" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_recordingcomponent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_recordingvalidator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_asyncstub" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_running_deps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_test_reconfigures_existing_components_in_place" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_test_skips_logging_reconfigure_when_unchanged" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_test_component_failure_is_isolated" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_live_reload_py", - "target": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_1", - "target": "tests_unit_tray_test_live_reload_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_39", - "target": "tray_test_live_reload_stub_configure_logging" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_41", - "target": "tray_test_live_reload_stub_configure_logging" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_config", - "target": "tray_test_live_reload_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_reconfigures_existing_components_in_place", - "target": "tray_test_live_reload_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_component_failure_is_isolated", - "target": "tray_test_live_reload_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L55", - "weight": 1.0, - "source": "tray_test_live_reload_equipment", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L60", - "weight": 1.0, - "source": "tray_test_live_reload_equipment", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L65", - "weight": 1.0, - "source": "tray_test_live_reload_equipment", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_running_deps", - "target": "tray_test_live_reload_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_reconfigures_existing_components_in_place", - "target": "tray_test_live_reload_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_skips_logging_reconfigure_when_unchanged", - "target": "tray_test_live_reload_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_component_failure_is_isolated", - "target": "tray_test_live_reload_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", - "target": "tray_test_live_reload_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", - "target": "tray_test_live_reload_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L242", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", - "target": "tray_test_live_reload_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L79", - "weight": 1.0, - "source": "tray_test_live_reload_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L80", - "weight": 1.0, - "source": "tray_test_live_reload_config", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L81", - "weight": 1.0, - "source": "tray_test_live_reload_config", - "target": "config_models_loggingconfig" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_recordingcomponent", - "target": "tray_test_live_reload_recordingcomponent_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_recordingcomponent", - "target": "tray_test_live_reload_recordingcomponent_apply_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_running_deps", - "target": "tray_test_live_reload_recordingcomponent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_78", - "target": "tray_test_live_reload_recordingcomponent" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingcomponent", - "target": "api_app_appdependencies" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingcomponent", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingcomponent", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingcomponent", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingcomponent", - "target": "config_models_loggingconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingcomponent", - "target": "config_models_pathsconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_87", - "target": "tray_test_live_reload_recordingcomponent" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingcomponent", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingcomponent", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_recordingvalidator", - "target": "tray_test_live_reload_recordingvalidator_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_recordingvalidator", - "target": "tray_test_live_reload_recordingvalidator_reconfigure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_running_deps", - "target": "tray_test_live_reload_recordingvalidator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingvalidator", - "target": "api_app_appdependencies" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingvalidator", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingvalidator", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingvalidator", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingvalidator", - "target": "config_models_loggingconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingvalidator", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingvalidator", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_recordingvalidator", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_asyncstub", - "target": "tray_test_live_reload_asyncstub_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_asyncstub", - "target": "tray_test_live_reload_asyncstub_start" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", - "target": "tray_test_live_reload_asyncstub" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_98", - "target": "tray_test_live_reload_asyncstub" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_asyncstub", - "target": "api_app_appdependencies" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_asyncstub", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_asyncstub", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_asyncstub", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_asyncstub", - "target": "config_models_loggingconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_asyncstub", - "target": "config_models_pathsconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_107", - "target": "tray_test_live_reload_asyncstub" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_asyncstub", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_live_reload_asyncstub", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_reconfigures_existing_components_in_place", - "target": "tray_test_live_reload_running_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_skips_logging_reconfigure_when_unchanged", - "target": "tray_test_live_reload_running_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_component_failure_is_isolated", - "target": "tray_test_live_reload_running_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", - "target": "tray_test_live_reload_running_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", - "target": "tray_test_live_reload_running_deps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_112", - "target": "tray_test_live_reload_running_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L122", - "weight": 1.0, - "source": "tray_test_live_reload_running_deps", - "target": "api_app_appdependencies" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_121", - "target": "tray_test_live_reload_running_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L140", - "weight": 1.0, - "source": "tray_test_live_reload_test_reconfigures_existing_components_in_place", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L152", - "weight": 1.0, - "source": "tray_test_live_reload_test_skips_logging_reconfigure_when_unchanged", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_148", - "target": "tray_test_live_reload_test_component_failure_is_isolated" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L168", - "weight": 1.0, - "source": "tray_test_live_reload_test_component_failure_is_isolated", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_157", - "target": "tray_test_live_reload_test_component_failure_is_isolated" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L191", - "weight": 1.0, - "source": "tray_test_live_reload_test_rebuilds_lims_only_on_endpoint_change", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L209", - "weight": 1.0, - "source": "tray_test_live_reload_test_rebuilds_plugin_host_only_on_dir_change", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_220", - "target": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L240", - "weight": 1.0, - "source": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L244", - "weight": 1.0, - "source": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_live_reload.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_live_reload_rationale_229", - "target": "tray_test_live_reload_test_builds_and_starts_components_on_fresh_install" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_init_rationale_1", - "target": "tests_unit_tray_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_init_rationale_1", - "target": "src_exlab_wizard_tray_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_stubstore" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_stubsync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_format_status_idle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_format_status_sync_jobs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_format_status_single_job_uses_singular" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_format_status_input_required_singular" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_format_status_input_required_plural" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_format_status_combines_sync_and_input_required" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_snapshot_status_with_none_components" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_snapshot_status_reads_components" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_snapshot_status_callable_attributes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_ticker_invokes_callback_on_first_tick" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_ticker_does_not_invoke_callback_when_label_unchanged" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_ticker_start_and_stop_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_ticker_callback_exception_is_swallowed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_ticker_thread_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_default_refresh_matches_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_safe_int_handles_callable_that_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_status_py", - "target": "tray_test_status_test_safe_int_handles_non_numeric" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_rationale_1", - "target": "tests_unit_tray_test_status_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_stubstore", - "target": "tray_test_status_stubstore_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_test_snapshot_status_reads_components", - "target": "tray_test_status_stubstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_test_ticker_invokes_callback_on_first_tick", - "target": "tray_test_status_stubstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_test_ticker_does_not_invoke_callback_when_label_unchanged", - "target": "tray_test_status_stubstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_test_ticker_thread_runs", - "target": "tray_test_status_stubstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L8", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_status_stubstore", - "target": "tray_status_statussnapshot" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L8", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_status_stubstore", - "target": "tray_status_statusticker" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_stubsync", - "target": "tray_test_status_stubsync_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_test_snapshot_status_reads_components", - "target": "tray_test_status_stubsync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_test_ticker_invokes_callback_on_first_tick", - "target": "tray_test_status_stubsync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_test_ticker_does_not_invoke_callback_when_label_unchanged", - "target": "tray_test_status_stubsync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L8", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_status_stubsync", - "target": "tray_status_statussnapshot" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L8", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_status_stubsync", - "target": "tray_status_statusticker" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L29", - "weight": 1.0, - "source": "tray_test_status_test_format_status_idle", - "target": "tray_status_statussnapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L30", - "weight": 1.0, - "source": "tray_test_status_test_format_status_idle", - "target": "tray_status_format_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L34", - "weight": 1.0, - "source": "tray_test_status_test_format_status_sync_jobs", - "target": "tray_status_statussnapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L35", - "weight": 1.0, - "source": "tray_test_status_test_format_status_sync_jobs", - "target": "tray_status_format_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L39", - "weight": 1.0, - "source": "tray_test_status_test_format_status_single_job_uses_singular", - "target": "tray_status_statussnapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L40", - "weight": 1.0, - "source": "tray_test_status_test_format_status_single_job_uses_singular", - "target": "tray_status_format_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L44", - "weight": 1.0, - "source": "tray_test_status_test_format_status_input_required_singular", - "target": "tray_status_statussnapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L45", - "weight": 1.0, - "source": "tray_test_status_test_format_status_input_required_singular", - "target": "tray_status_format_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L49", - "weight": 1.0, - "source": "tray_test_status_test_format_status_input_required_plural", - "target": "tray_status_statussnapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L50", - "weight": 1.0, - "source": "tray_test_status_test_format_status_input_required_plural", - "target": "tray_status_format_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L54", - "weight": 1.0, - "source": "tray_test_status_test_format_status_combines_sync_and_input_required", - "target": "tray_status_statussnapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L55", - "weight": 1.0, - "source": "tray_test_status_test_format_status_combines_sync_and_input_required", - "target": "tray_status_format_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L59", - "weight": 1.0, - "source": "tray_test_status_test_snapshot_status_with_none_components", - "target": "tray_status_snapshot_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L66", - "weight": 1.0, - "source": "tray_test_status_test_snapshot_status_reads_components", - "target": "tray_status_snapshot_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L80", - "weight": 1.0, - "source": "tray_test_status_test_snapshot_status_callable_attributes", - "target": "tray_status_snapshot_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L86", - "weight": 1.0, - "source": "tray_test_status_test_ticker_invokes_callback_on_first_tick", - "target": "tray_status_statusticker" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L99", - "weight": 1.0, - "source": "tray_test_status_test_ticker_does_not_invoke_callback_when_label_unchanged", - "target": "tray_status_statusticker" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L110", - "weight": 1.0, - "source": "tray_test_status_test_ticker_start_and_stop_idempotent", - "target": "tray_status_statusticker" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L121", - "weight": 1.0, - "source": "tray_test_status_test_ticker_callback_exception_is_swallowed", - "target": "tray_status_statusticker" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_status_rationale_128", - "target": "tray_test_status_test_ticker_thread_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L136", - "weight": 1.0, - "source": "tray_test_status_test_ticker_thread_runs", - "target": "tray_status_statusticker" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L161", - "weight": 1.0, - "source": "tray_test_status_test_safe_int_handles_callable_that_raises", - "target": "tray_status_safe_int" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_status.py", - "source_location": "L170", - "weight": 1.0, - "source": "tray_test_status_test_safe_int_handles_non_numeric", - "target": "tray_status_safe_int" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_fakeuvicornserver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_pick_free_port_returns_bindable_port" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_start_writes_server_json_atomically" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_stop_deletes_state_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_double_start_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_port_property_before_start_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_port_property_after_start" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_state_file_property_returns_expected_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_stop_is_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_start_creates_state_dir_if_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_is_running_tracks_thread_lifecycle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_real_uvicorn_resolves_lazily" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_delete_state_file_handles_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_server_runner_py", - "target": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_rationale_1", - "target": "tests_unit_tray_test_server_runner_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_fakeuvicornserver", - "target": "tray_test_server_runner_fakeuvicornserver_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_fakeuvicornserver", - "target": "tray_test_server_runner_fakeuvicornserver_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_make_runner", - "target": "tray_test_server_runner_fakeuvicornserver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_rationale_22", - "target": "tray_test_server_runner_fakeuvicornserver" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L14", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_server_runner_fakeuvicornserver", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_test_start_writes_server_json_atomically", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_test_stop_deletes_state_file", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_test_double_start_raises", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_test_port_property_before_start_raises", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_test_port_property_after_start", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_test_state_file_property_returns_expected_path", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_test_stop_is_idempotent", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_test_start_creates_state_dir_if_missing", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_test_is_running_tracks_thread_lifecycle", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit", - "target": "tray_test_server_runner_make_runner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L55", - "weight": 1.0, - "source": "tray_test_server_runner_make_runner", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L61", - "weight": 1.0, - "source": "tray_test_server_runner_test_pick_free_port_returns_bindable_port", - "target": "tray_server_runner_pick_free_port" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_rationale_158", - "target": "tray_test_server_runner_test_real_uvicorn_resolves_lazily" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L164", - "weight": 1.0, - "source": "tray_test_server_runner_test_real_uvicorn_resolves_lazily", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L171", - "weight": 1.0, - "source": "tray_test_server_runner_test_delete_state_file_handles_missing", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_server_runner.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_server_runner_rationale_177", - "target": "tray_test_server_runner_test_stop_handles_attribute_error_on_should_exit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_notify_calls_injected_callable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_notify_swallows_notifier_exceptions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_bus_emits_after_coalescing_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_bus_suppresses_when_window_foregrounded" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_bus_separate_kinds_separate_buckets" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_bus_cancel_all_drops_pending" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_bus_emits_singleton_message_unchanged" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_coalescing_window_constant_matches_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_coalesced_message_plugin_input_required_plural" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_coalesced_message_plugin_input_required_singular" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_coalesced_message_sync_failed_plural" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_coalesced_message_sync_failed_singular" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_coalesced_message_unknown_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_bus_timer_fires_after_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_default_notifier_returns_callable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_noop_notifier_swallows_arbitrary_kwargs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_notify_uses_default_notifier_when_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_notifications_py", - "target": "tray_test_notifications_test_flush_with_already_drained_bucket" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_notifications_rationale_1", - "target": "tests_unit_tray_test_notifications_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L25", - "weight": 1.0, - "source": "tray_test_notifications_test_notify_calls_injected_callable", - "target": "tray_notifications_notify" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L34", - "weight": 1.0, - "source": "tray_test_notifications_test_notify_swallows_notifier_exceptions", - "target": "tray_notifications_notify" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L43", - "weight": 1.0, - "source": "tray_test_notifications_test_bus_emits_after_coalescing_window", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L65", - "weight": 1.0, - "source": "tray_test_notifications_test_bus_suppresses_when_window_foregrounded", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L76", - "weight": 1.0, - "source": "tray_test_notifications_test_bus_separate_kinds_separate_buckets", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L91", - "weight": 1.0, - "source": "tray_test_notifications_test_bus_cancel_all_drops_pending", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L104", - "weight": 1.0, - "source": "tray_test_notifications_test_bus_emits_singleton_message_unchanged", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L119", - "weight": 1.0, - "source": "tray_test_notifications_test_coalesced_message_plugin_input_required_plural", - "target": "tray_notifications_coalesced_message" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L123", - "weight": 1.0, - "source": "tray_test_notifications_test_coalesced_message_plugin_input_required_singular", - "target": "tray_notifications_coalesced_message" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L127", - "weight": 1.0, - "source": "tray_test_notifications_test_coalesced_message_sync_failed_plural", - "target": "tray_notifications_coalesced_message" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L131", - "weight": 1.0, - "source": "tray_test_notifications_test_coalesced_message_sync_failed_singular", - "target": "tray_notifications_coalesced_message" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L135", - "weight": 1.0, - "source": "tray_test_notifications_test_coalesced_message_unknown_kind", - "target": "tray_notifications_coalesced_message" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_notifications_rationale_139", - "target": "tray_test_notifications_test_bus_timer_fires_after_window" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L141", - "weight": 1.0, - "source": "tray_test_notifications_test_bus_timer_fires_after_window", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_notifications_rationale_154", - "target": "tray_test_notifications_test_default_notifier_returns_callable" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L157", - "weight": 1.0, - "source": "tray_test_notifications_test_default_notifier_returns_callable", - "target": "tray_notifications_default_notifier" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_notifications_rationale_162", - "target": "tray_test_notifications_test_noop_notifier_swallows_arbitrary_kwargs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L165", - "weight": 1.0, - "source": "tray_test_notifications_test_noop_notifier_swallows_arbitrary_kwargs", - "target": "tray_notifications_noop_notifier" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L176", - "weight": 1.0, - "source": "tray_test_notifications_test_notify_uses_default_notifier_when_none", - "target": "tray_notifications_notify" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_notifications_rationale_181", - "target": "tray_test_notifications_test_flush_with_already_drained_bucket" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_notifications.py", - "source_location": "L183", - "weight": 1.0, - "source": "tray_test_notifications_test_flush_with_already_drained_bucket", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_stubserver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_stubwindow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_counted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_make_coordinator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_idle_predicate_short_circuits" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_busy_predicate_times_out_and_force_quits" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_busy_predicate_wait_resets_timer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_sigterm_uses_short_timeout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_safe_count_handles_callable_attribute" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_safe_count_handles_callable_that_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_safe_count_handles_none_obj" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_safe_count_handles_non_numeric" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_force_quit_prompt_exception_defaults_to_force" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_default_timeout_constants_match_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_idle_predicate_returns_true_immediately" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_quit_coordinator_py", - "target": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_rationale_1", - "target": "tests_unit_tray_test_quit_coordinator_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_stubserver", - "target": "tray_test_quit_coordinator_stubserver_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_stubserver", - "target": "tray_test_quit_coordinator_stubserver_stop" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_make_coordinator", - "target": "tray_test_quit_coordinator_stubserver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher", - "target": "tray_test_quit_coordinator_stubserver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", - "target": "tray_test_quit_coordinator_stubserver" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L9", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_quit_coordinator_stubserver", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_stubwindow", - "target": "tray_test_quit_coordinator_stubwindow_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_stubwindow", - "target": "tray_test_quit_coordinator_stubwindow_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_make_coordinator", - "target": "tray_test_quit_coordinator_stubwindow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", - "target": "tray_test_quit_coordinator_stubwindow" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L9", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_quit_coordinator_stubwindow", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_counted", - "target": "tray_test_quit_coordinator_counted_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_make_coordinator", - "target": "tray_test_quit_coordinator_counted" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher", - "target": "tray_test_quit_coordinator_counted" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_safe_count_handles_callable_attribute", - "target": "tray_test_quit_coordinator_counted" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_safe_count_handles_callable_that_raises", - "target": "tray_test_quit_coordinator_counted" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_safe_count_handles_non_numeric", - "target": "tray_test_quit_coordinator_counted" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", - "target": "tray_test_quit_coordinator_counted" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L9", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_quit_coordinator_counted", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_idle_predicate_short_circuits", - "target": "tray_test_quit_coordinator_make_coordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_busy_predicate_times_out_and_force_quits", - "target": "tray_test_quit_coordinator_make_coordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_busy_predicate_wait_resets_timer", - "target": "tray_test_quit_coordinator_make_coordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_sigterm_uses_short_timeout", - "target": "tray_test_quit_coordinator_make_coordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_force_quit_prompt_exception_defaults_to_force", - "target": "tray_test_quit_coordinator_make_coordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_test_idle_predicate_returns_true_immediately", - "target": "tray_test_quit_coordinator_make_coordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L50", - "weight": 1.0, - "source": "tray_test_quit_coordinator_make_coordinator", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L139", - "weight": 1.0, - "source": "tray_test_quit_coordinator_test_quit_handles_missing_window_launcher", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L155", - "weight": 1.0, - "source": "tray_test_quit_coordinator_test_safe_count_handles_callable_attribute", - "target": "tray_quit_coordinator_safe_count" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L165", - "weight": 1.0, - "source": "tray_test_quit_coordinator_test_safe_count_handles_callable_that_raises", - "target": "tray_quit_coordinator_safe_count" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L169", - "weight": 1.0, - "source": "tray_test_quit_coordinator_test_safe_count_handles_none_obj", - "target": "tray_quit_coordinator_safe_count" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L175", - "weight": 1.0, - "source": "tray_test_quit_coordinator_test_safe_count_handles_non_numeric", - "target": "tray_quit_coordinator_safe_count" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_quit_coordinator_rationale_209", - "target": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_quit_coordinator.py", - "source_location": "L225", - "weight": 1.0, - "source": "tray_test_quit_coordinator_test_predicate_eventually_becomes_true", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_python_window_argv" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_open_spawns_subprocess" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_close_terminates_subprocess" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_close_is_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_open_focuses_existing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_resolve_window_executable_prefers_env_var" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_resolve_window_executable_uses_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_resolve_window_executable_falls_back_to_module" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_window_executable_override" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_argv_falls_through_resolve_helper" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_pid_is_none_before_open" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_window_launcher_py", - "target": "tray_test_window_launcher_test_close_kills_unresponsive_process" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_window_launcher_rationale_1", - "target": "tests_unit_tray_test_window_launcher_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_window_launcher_test_open_spawns_subprocess", - "target": "tray_test_window_launcher_python_window_argv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_window_launcher_test_close_terminates_subprocess", - "target": "tray_test_window_launcher_python_window_argv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_window_launcher_test_open_focuses_existing", - "target": "tray_test_window_launcher_python_window_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_window_launcher_rationale_19", - "target": "tray_test_window_launcher_python_window_argv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L30", - "weight": 1.0, - "source": "tray_test_window_launcher_test_open_spawns_subprocess", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L43", - "weight": 1.0, - "source": "tray_test_window_launcher_test_close_terminates_subprocess", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L54", - "weight": 1.0, - "source": "tray_test_window_launcher_test_close_is_idempotent", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L61", - "weight": 1.0, - "source": "tray_test_window_launcher_test_open_focuses_existing", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L73", - "weight": 1.0, - "source": "tray_test_window_launcher_test_resolve_window_executable_prefers_env_var", - "target": "tray_window_launcher_resolve_window_executable" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L82", - "weight": 1.0, - "source": "tray_test_window_launcher_test_resolve_window_executable_uses_path", - "target": "tray_window_launcher_resolve_window_executable" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L90", - "weight": 1.0, - "source": "tray_test_window_launcher_test_resolve_window_executable_falls_back_to_module", - "target": "tray_window_launcher_resolve_window_executable" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L96", - "weight": 1.0, - "source": "tray_test_window_launcher_test_window_executable_override", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_window_launcher_rationale_104", - "target": "tray_test_window_launcher_test_argv_falls_through_resolve_helper" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L105", - "weight": 1.0, - "source": "tray_test_window_launcher_test_argv_falls_through_resolve_helper", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L114", - "weight": 1.0, - "source": "tray_test_window_launcher_test_pid_is_none_before_open", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_window_launcher.py", - "source_location": "L120", - "weight": 1.0, - "source": "tray_test_window_launcher_test_close_kills_unresponsive_process", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_macos_register_writes_plist" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_macos_unregister_removes_plist" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_macos_register_is_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_linux_unregister_removes_both_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_linux_is_registered_when_only_desktop_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_fakekey" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_fakewinreg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_fake_winreg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_windows_register_sets_run_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_windows_unregister_deletes_run_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_windows_unregister_when_value_missing_is_safe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_silently_unlink_tolerates_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_env_var_root_overrides_constructor" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_executable_path_property" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_default_executable_falls_back_to_sys_executable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L250", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_detect_platform_returns_known_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_autostart_py", - "target": "tray_test_autostart_test_detect_platform_dispatch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_rationale_1", - "target": "tests_unit_tray_test_autostart_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L25", - "weight": 1.0, - "source": "tray_test_autostart_test_macos_register_writes_plist", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L41", - "weight": 1.0, - "source": "tray_test_autostart_test_macos_unregister_removes_plist", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L52", - "weight": 1.0, - "source": "tray_test_autostart_test_macos_register_is_idempotent", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L64", - "weight": 1.0, - "source": "tray_test_autostart_test_linux_register_writes_systemd_and_desktop", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L81", - "weight": 1.0, - "source": "tray_test_autostart_test_linux_unregister_removes_both_files", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L88", - "weight": 1.0, - "source": "tray_test_autostart_test_linux_is_registered_when_only_desktop_present", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_fakekey", - "target": "tray_test_autostart_fakekey_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_fakekey", - "target": "tray_test_autostart_fakekey_enter" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_fakekey", - "target": "tray_test_autostart_fakekey_exit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_fakewinreg_openkey", - "target": "tray_test_autostart_fakekey" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L10", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_autostart_fakekey", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_fakewinreg", - "target": "tray_test_autostart_fakewinreg_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_fakewinreg", - "target": "tray_test_autostart_fakewinreg_openkey" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_fakewinreg", - "target": "tray_test_autostart_fakewinreg_setvalueex" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_fakewinreg", - "target": "tray_test_autostart_fakewinreg_queryvalueex" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_fakewinreg", - "target": "tray_test_autostart_fakewinreg_deletevalue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_fake_winreg", - "target": "tray_test_autostart_fakewinreg" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L10", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_autostart_fakewinreg", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L162", - "weight": 1.0, - "source": "tray_test_autostart_test_windows_register_sets_run_value", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L174", - "weight": 1.0, - "source": "tray_test_autostart_test_windows_unregister_deletes_run_value", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L189", - "weight": 1.0, - "source": "tray_test_autostart_test_windows_unregister_when_value_missing_is_safe", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_rationale_196", - "target": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L205", - "weight": 1.0, - "source": "tray_test_autostart_test_windows_open_key_handles_filenotfound_on_query", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_autostart_rationale_212", - "target": "tray_test_autostart_test_silently_unlink_tolerates_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L215", - "weight": 1.0, - "source": "tray_test_autostart_test_silently_unlink_tolerates_missing", - "target": "tray_autostart_silently_unlink" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L229", - "weight": 1.0, - "source": "tray_test_autostart_test_env_var_root_overrides_constructor", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L239", - "weight": 1.0, - "source": "tray_test_autostart_test_executable_path_property", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L245", - "weight": 1.0, - "source": "tray_test_autostart_test_default_executable_falls_back_to_sys_executable", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L251", - "weight": 1.0, - "source": "tray_test_autostart_test_detect_platform_returns_known_value", - "target": "tray_autostart_detect_platform" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_autostart.py", - "source_location": "L257", - "weight": 1.0, - "source": "tray_test_autostart_test_detect_platform_dispatch", - "target": "tray_autostart_detect_platform" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_stubserverrunner" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_stubwindowlauncher" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_stubquitcoordinator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_stubstatusticker" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_stubbus" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_stubautostart" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_make_tray" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_start_server_calls_runner" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_open_window_delegates" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_request_quit_runs_coordinator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_request_quit_calls_icon_stop_when_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_request_quit_handles_icon_stop_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_shutdown_tears_components_down" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_run_wires_icon_and_invokes_run_loop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_build_default_components" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_main_uses_run_helper" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_main_handles_keyboard_interrupt" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_run_returns_one_on_icon_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_request_quit_uses_running_loop_when_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_build_default_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_build_default_components_falls_back_to_default_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_parse_argv_defaults_no_smoke" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_parse_argv_smoke_flag" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_parse_argv_no_autostart_prompt_silently_accepted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_main_smoke_dispatches_to_run_smoke" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L397", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_parse_argv_version_flag" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L405", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_main_version_prints_version_and_exits_zero" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L423", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_parse_argv_defaults_no_test_flags" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L432", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_parse_argv_test_flag" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L440", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_parse_argv_test_with_samples" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_parse_argv_samples_without_test_errors" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L462", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_mode_env" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L524", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_main_test_does_not_overwrite_existing_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L539", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_main_test_with_samples_adds_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L562", - "weight": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_main_test_with_samples_repeat_boot_is_noop", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L555", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_tray_test_main_py", - "target": "tray_test_main_test_main_without_test_does_not_set_env" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_1", - "target": "tests_unit_tray_test_main_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubserverrunner", - "target": "tray_test_main_stubserverrunner_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubserverrunner", - "target": "tray_test_main_stubserverrunner_start" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubserverrunner", - "target": "tray_test_main_stubserverrunner_stop" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_make_tray", - "target": "tray_test_main_stubserverrunner" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_main_stubserverrunner", - "target": "tray_main_trayapp" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubwindowlauncher", - "target": "tray_test_main_stubwindowlauncher_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubwindowlauncher", - "target": "tray_test_main_stubwindowlauncher_open" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubwindowlauncher", - "target": "tray_test_main_stubwindowlauncher_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_make_tray", - "target": "tray_test_main_stubwindowlauncher" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_main_stubwindowlauncher", - "target": "tray_main_trayapp" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubquitcoordinator", - "target": "tray_test_main_stubquitcoordinator_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubquitcoordinator", - "target": "tray_test_main_stubquitcoordinator_quit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_make_tray", - "target": "tray_test_main_stubquitcoordinator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_main_stubquitcoordinator", - "target": "tray_main_trayapp" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubstatusticker", - "target": "tray_test_main_stubstatusticker_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubstatusticker", - "target": "tray_test_main_stubstatusticker_start" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubstatusticker", - "target": "tray_test_main_stubstatusticker_stop" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubstatusticker", - "target": "tray_test_main_stubstatusticker_tick_once" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_make_tray", - "target": "tray_test_main_stubstatusticker" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_main_stubstatusticker", - "target": "tray_main_trayapp" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubbus", - "target": "tray_test_main_stubbus_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_stubbus", - "target": "tray_test_main_stubbus_cancel_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_make_tray", - "target": "tray_test_main_stubbus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_main_stubbus", - "target": "tray_main_trayapp" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_make_tray", - "target": "tray_test_main_stubautostart" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_test_main_stubautostart", - "target": "tray_main_trayapp" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_start_server_calls_runner", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_open_window_delegates", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_request_quit_runs_coordinator", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_request_quit_calls_icon_stop_when_set", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_request_quit_handles_icon_stop_error", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_shutdown_tears_components_down", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_run_wires_icon_and_invokes_run_loop", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_main_handles_keyboard_interrupt", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_run_returns_one_on_icon_failure", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_request_quit_uses_running_loop_when_present", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L482", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_test_mode_env", - "target": "tray_test_main_make_tray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L81", - "weight": 1.0, - "source": "tray_test_main_make_tray", - "target": "tray_main_trayapp" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L171", - "weight": 1.0, - "source": "tray_test_main_test_build_default_components", - "target": "tray_main_build_default_components" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_179", - "target": "tray_test_main_test_main_uses_run_helper" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_235", - "target": "tray_test_main_test_request_quit_uses_running_loop_when_present" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_270", - "target": "tray_test_main_test_build_default_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L305", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_305", - "target": "tray_test_main_test_build_default_components_falls_back_to_default_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_315", - "target": "tray_test_main_test_parse_argv_defaults_no_smoke" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L318", - "weight": 1.0, - "source": "tray_test_main_test_parse_argv_defaults_no_smoke", - "target": "tray_main_parse_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_324", - "target": "tray_test_main_test_parse_argv_smoke_flag" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L327", - "weight": 1.0, - "source": "tray_test_main_test_parse_argv_smoke_flag", - "target": "tray_main_parse_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_332", - "target": "tray_test_main_test_parse_argv_no_autostart_prompt_silently_accepted" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L335", - "weight": 1.0, - "source": "tray_test_main_test_parse_argv_no_autostart_prompt_silently_accepted", - "target": "tray_main_parse_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_342", - "target": "tray_test_main_test_run_smoke_starts_server_and_stops_on_signal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L379", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_379", - "target": "tray_test_main_test_main_smoke_dispatches_to_run_smoke" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_398", - "target": "tray_test_main_test_parse_argv_version_flag" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L401", - "weight": 1.0, - "source": "tray_test_main_test_parse_argv_version_flag", - "target": "tray_main_parse_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L408", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_408", - "target": "tray_test_main_test_main_version_prints_version_and_exits_zero" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_424", - "target": "tray_test_main_test_parse_argv_defaults_no_test_flags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L427", - "weight": 1.0, - "source": "tray_test_main_test_parse_argv_defaults_no_test_flags", - "target": "tray_main_parse_argv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L435", - "weight": 1.0, - "source": "tray_test_main_test_parse_argv_test_flag", - "target": "tray_main_parse_argv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L443", - "weight": 1.0, - "source": "tray_test_main_test_parse_argv_test_with_samples", - "target": "tray_main_parse_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L451", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_451", - "target": "tray_test_main_test_parse_argv_samples_without_test_errors" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L455", - "weight": 1.0, - "source": "tray_test_main_test_parse_argv_samples_without_test_errors", - "target": "tray_main_parse_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L463", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_463", - "target": "tray_test_main_test_mode_env" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L488", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_488", - "target": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L508", - "weight": 1.0, - "source": "tray_test_main_test_main_test_flag_sets_env_and_bootstraps_config", - "target": "config_loader_load_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_525", - "target": "tray_test_main_test_main_test_does_not_overwrite_existing_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L546", - "weight": 1.0, - "source": "tray_test_main_test_main_test_with_samples_adds_equipment", - "target": "config_loader_load_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L563", - "weight": 1.0, - "source": "tray_test_main_rationale_563", - "target": "tray_test_main_test_main_test_with_samples_repeat_boot_is_noop", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L580", - "weight": 1.0, - "source": "tray_test_main_rationale_580", - "target": "tray_test_main_test_main_without_test_does_not_set_env", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_main.py", - "source_location": "L556", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_main_rationale_556", - "target": "tray_test_main_test_main_without_test_does_not_set_env" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_system_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_ctx" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_generator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_generate_writes_both_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_readme_starts_with_yaml_front_matter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_readme_body_includes_label_and_objective" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_readme_fields_json_round_trips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_empty_core_field_rejected" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_label_over_max_length_rejected" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_objective_over_max_length_rejected" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_required_template_field_missing_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_required_config_field_missing_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_duplicate_field_id_across_layers_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_custom_field_label_collides_with_template_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L281", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_core_field_redeclared_in_template_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_core_field_redeclared_in_config_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_project_level_system_run_is_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_run_level_experimental_run_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L322", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_run_level_test_run_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L336", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_string_type_accepts_string_rejects_int" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_text_type_accepts_multiline_rejects_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L370", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_choice_type_accepts_listed_rejects_other" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_choice_without_options_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L419", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_date_type_rejects_non_string" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L429", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L449", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_unknown_field_type_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_choice_type_rejects_non_string_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_generate_is_idempotent_byte_identical" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L512", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_generated_at_uses_z_suffix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L520", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_cache_dir_created_on_demand" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L529", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_value_without_declaration_skips_typecheck" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L546", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_optional_empty_field_is_skipped" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L556", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_required_field_present_with_none_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L569", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_readme_test_generator_py", - "target": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_rationale_1", - "target": "tests_unit_readme_test_generator_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_ctx", - "target": "readme_test_generator_system_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L305", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_project_level_system_run_is_none", - "target": "readme_test_generator_system_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_run_level_experimental_run_name", - "target": "readme_test_generator_system_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_run_level_test_run_name", - "target": "readme_test_generator_system_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L62", - "weight": 1.0, - "source": "readme_test_generator_system_fields", - "target": "readme_generator_systemfields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_generate_writes_both_files", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_readme_starts_with_yaml_front_matter", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_readme_body_includes_label_and_objective", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_readme_fields_json_round_trips", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_empty_core_field_rejected", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_label_over_max_length_rejected", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_objective_over_max_length_rejected", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_required_template_field_missing_raises", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_required_config_field_missing_raises", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_duplicate_field_id_across_layers_raises", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_custom_field_label_collides_with_template_id", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_core_field_redeclared_in_template_raises", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L295", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_core_field_redeclared_in_config_raises", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L306", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_project_level_system_run_is_none", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_run_level_experimental_run_name", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_run_level_test_run_name", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L343", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_string_type_accepts_string_rejects_int", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_text_type_accepts_multiline_rejects_list", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_choice_type_accepts_listed_rejects_other", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_choice_without_options_raises", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_date_type_rejects_non_string", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L454", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_unknown_field_type_raises", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_choice_type_rejects_non_string_value", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L480", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_generate_is_idempotent_byte_identical", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L513", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_generated_at_uses_z_suffix", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L523", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_cache_dir_created_on_demand", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L538", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_value_without_declaration_skips_typecheck", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L551", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_optional_empty_field_is_skipped", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L564", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_required_field_present_with_none_raises", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L582", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", - "target": "readme_test_generator_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L86", - "weight": 1.0, - "source": "readme_test_generator_ctx", - "target": "readme_generator_readmecontext" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L88", - "weight": 1.0, - "source": "readme_test_generator_ctx", - "target": "readme_generator_corefields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L100", - "weight": 1.0, - "source": "readme_test_generator_generator", - "target": "readme_generator_readmegenerator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L154", - "weight": 1.0, - "source": "readme_test_generator_test_readme_fields_json_round_trips", - "target": "readme_generator_customfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L156", - "weight": 1.0, - "source": "readme_test_generator_test_readme_fields_json_round_trips", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L225", - "weight": 1.0, - "source": "readme_test_generator_test_required_template_field_missing_raises", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L234", - "weight": 1.0, - "source": "readme_test_generator_test_required_config_field_missing_raises", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L250", - "weight": 1.0, - "source": "readme_test_generator_test_duplicate_field_id_across_layers_raises", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L266", - "weight": 1.0, - "source": "readme_test_generator_test_custom_field_label_collides_with_template_id", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L267", - "weight": 1.0, - "source": "readme_test_generator_test_custom_field_label_collides_with_template_id", - "target": "readme_generator_customfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L284", - "weight": 1.0, - "source": "readme_test_generator_test_core_field_redeclared_in_template_raises", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L293", - "weight": 1.0, - "source": "readme_test_generator_test_core_field_redeclared_in_config_raises", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L339", - "weight": 1.0, - "source": "readme_test_generator_test_string_type_accepts_string_rejects_int", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L357", - "weight": 1.0, - "source": "readme_test_generator_test_text_type_accepts_multiline_rejects_list", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L373", - "weight": 1.0, - "source": "readme_test_generator_test_choice_type_accepts_listed_rejects_other", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L387", - "weight": 1.0, - "source": "readme_test_generator_test_choice_without_options_raises", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L399", - "weight": 1.0, - "source": "readme_test_generator_test_date_type_accepts_iso8601_rejects_garbage", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L420", - "weight": 1.0, - "source": "readme_test_generator_test_date_type_rejects_non_string", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L432", - "weight": 1.0, - "source": "readme_test_generator_test_boolean_type_accepts_bool_rejects_string", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L450", - "weight": 1.0, - "source": "readme_test_generator_test_unknown_field_type_raises", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L462", - "weight": 1.0, - "source": "readme_test_generator_test_choice_type_rejects_non_string_value", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_rationale_479", - "target": "readme_test_generator_test_generate_is_idempotent_byte_identical" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L483", - "weight": 1.0, - "source": "readme_test_generator_test_generate_is_idempotent_byte_identical", - "target": "readme_generator_customfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L485", - "weight": 1.0, - "source": "readme_test_generator_test_generate_is_idempotent_byte_identical", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L532", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_rationale_532", - "target": "readme_test_generator_test_value_without_declaration_skips_typecheck" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L535", - "weight": 1.0, - "source": "readme_test_generator_test_value_without_declaration_skips_typecheck", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L547", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_rationale_547", - "target": "readme_test_generator_test_optional_empty_field_is_skipped" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L548", - "weight": 1.0, - "source": "readme_test_generator_test_optional_empty_field_is_skipped", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L559", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_rationale_559", - "target": "readme_test_generator_test_required_field_present_with_none_raises" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L560", - "weight": 1.0, - "source": "readme_test_generator_test_required_field_present_with_none_raises", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L572", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_test_generator_rationale_572", - "target": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/readme/test_generator.py", - "source_location": "L573", - "weight": 1.0, - "source": "readme_test_generator_test_generated_at_uses_z_for_naive_datetime", - "target": "readme_generator_systemfields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/readme/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_init_rationale_1", - "target": "tests_unit_readme_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_init_rationale_1", - "target": "src_exlab_wizard_readme_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L72", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_config", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L92", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_template_desc", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L103", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_sample_type_default", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L119", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_test_build_readme_context_partitions_readme_extra", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L155", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_test_build_readme_context_system_and_level_for_run", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L186", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_test_build_readme_context_unknown_equipment_blank_label", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L212", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_lims_block", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L221", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_test_build_creation_json_all_blocks_populated", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L270", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_test_build_creation_json_sync_status_override", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L291", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_test_build_creation_json_blank_nas_when_root_empty", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L315", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_controller", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L329", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_project_request", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L347", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_resolved_desc_from", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L358", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_normalize_ctx", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L365", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_test_parity_build_readme_context", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L396", - "weight": 1.0, - "source": "tests_unit_controller_test_metadata_assembly_py", - "target": "controller_test_metadata_assembly_test_parity_build_creation_json", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L1", - "weight": 1.0, - "source": "controller_test_metadata_assembly_rationale_1", - "target": "tests_unit_controller_test_metadata_assembly_py", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L122", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_partitions_readme_extra", - "target": "controller_test_metadata_assembly_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L156", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_system_and_level_for_run", - "target": "controller_test_metadata_assembly_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L187", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_unknown_equipment_blank_label", - "target": "controller_test_metadata_assembly_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L222", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_all_blocks_populated", - "target": "controller_test_metadata_assembly_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L271", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_sync_status_override", - "target": "controller_test_metadata_assembly_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L292", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_blank_nas_when_root_empty", - "target": "controller_test_metadata_assembly_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L368", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_readme_context", - "target": "controller_test_metadata_assembly_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L399", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_creation_json", - "target": "controller_test_metadata_assembly_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L74", - "weight": 1.0, - "source": "controller_test_metadata_assembly_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L80", - "weight": 1.0, - "source": "controller_test_metadata_assembly_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L87", - "weight": 1.0, - "source": "controller_test_metadata_assembly_config", - "target": "config_models_operatorsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L88", - "weight": 1.0, - "source": "controller_test_metadata_assembly_config", - "target": "config_models_readmeconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L124", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_partitions_readme_extra", - "target": "controller_test_metadata_assembly_template_desc", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L165", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_system_and_level_for_run", - "target": "controller_test_metadata_assembly_template_desc", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L196", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_unknown_equipment_blank_label", - "target": "controller_test_metadata_assembly_template_desc", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L240", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_all_blocks_populated", - "target": "controller_test_metadata_assembly_template_desc", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L279", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_sync_status_override", - "target": "controller_test_metadata_assembly_template_desc", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L300", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_blank_nas_when_root_empty", - "target": "controller_test_metadata_assembly_template_desc", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L93", - "weight": 1.0, - "source": "controller_test_metadata_assembly_template_desc", - "target": "controller_metadata_assembly_templatedesc" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L122", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_partitions_readme_extra", - "target": "controller_test_metadata_assembly_sample_type_default", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L368", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_readme_context", - "target": "controller_test_metadata_assembly_sample_type_default", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L399", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_creation_json", - "target": "controller_test_metadata_assembly_sample_type_default", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L104", - "weight": 1.0, - "source": "controller_test_metadata_assembly_sample_type_default", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L120", - "weight": 1.0, - "source": "controller_test_metadata_assembly_rationale_120", - "target": "controller_test_metadata_assembly_test_build_readme_context_partitions_readme_extra", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L127", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_partitions_readme_extra", - "target": "controller_metadata_assembly_build_readme_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L150", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_partitions_readme_extra", - "target": "readme_generator_customfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L157", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_system_and_level_for_run", - "target": "controller_metadata_assembly_build_readme_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L188", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_readme_context_unknown_equipment_blank_label", - "target": "controller_metadata_assembly_build_readme_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L238", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_all_blocks_populated", - "target": "controller_test_metadata_assembly_lims_block", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L278", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_sync_status_override", - "target": "controller_test_metadata_assembly_lims_block", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L299", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_blank_nas_when_root_empty", - "target": "controller_test_metadata_assembly_lims_block", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L213", - "weight": 1.0, - "source": "controller_test_metadata_assembly_lims_block", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L225", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_all_blocks_populated", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L232", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_all_blocks_populated", - "target": "controller_metadata_assembly_build_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L272", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_sync_status_override", - "target": "controller_metadata_assembly_build_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L293", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_build_creation_json_blank_nas_when_root_empty", - "target": "controller_metadata_assembly_build_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L369", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_readme_context", - "target": "controller_test_metadata_assembly_controller", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L400", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_creation_json", - "target": "controller_test_metadata_assembly_controller", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L316", - "weight": 1.0, - "source": "controller_test_metadata_assembly_controller", - "target": "controller_creation_creationcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L319", - "weight": 1.0, - "source": "controller_test_metadata_assembly_controller", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L321", - "weight": 1.0, - "source": "controller_test_metadata_assembly_controller", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L322", - "weight": 1.0, - "source": "controller_test_metadata_assembly_controller", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L323", - "weight": 1.0, - "source": "controller_test_metadata_assembly_controller", - "target": "controller_creation_noopreadmegenerator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L324", - "weight": 1.0, - "source": "controller_test_metadata_assembly_controller", - "target": "controller_creation_noopnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L325", - "weight": 1.0, - "source": "controller_test_metadata_assembly_controller", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L371", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_readme_context", - "target": "controller_test_metadata_assembly_project_request", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L402", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_creation_json", - "target": "controller_test_metadata_assembly_project_request", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L330", - "weight": 1.0, - "source": "controller_test_metadata_assembly_project_request", - "target": "controller_creation_projectcreaterequest" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L385", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_readme_context", - "target": "controller_test_metadata_assembly_resolved_desc_from", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L432", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_creation_json", - "target": "controller_test_metadata_assembly_resolved_desc_from", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L348", - "weight": 1.0, - "source": "controller_test_metadata_assembly_resolved_desc_from", - "target": "controller_metadata_assembly_templatedesc" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L393", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_readme_context", - "target": "controller_test_metadata_assembly_normalize_ctx", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L359", - "weight": 1.0, - "source": "controller_test_metadata_assembly_rationale_359", - "target": "controller_test_metadata_assembly_normalize_ctx", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L377", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_readme_context", - "target": "controller_metadata_assembly_build_readme_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L416", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_creation_json", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L417", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_creation_json", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L420", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_creation_json", - "target": "controller_metadata_assembly_build_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_metadata_assembly.py", - "source_location": "L426", - "weight": 1.0, - "source": "controller_test_metadata_assembly_test_parity_build_creation_json", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_creation_apply_config_py", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_creation_apply_config_py", - "target": "controller_test_creation_apply_config_test_apply_config_swaps_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_creation_apply_config_py", - "target": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_apply_config_rationale_1", - "target": "tests_unit_controller_test_creation_apply_config_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_apply_config_test_apply_config_swaps_config", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_apply_config_test_apply_config_reinjects_plugin_host_only_when_given", - "target": "controller_test_creation_apply_config_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_creation_apply_config.py", - "source_location": "L19", - "weight": 1.0, - "source": "controller_test_creation_apply_config_controller", - "target": "controller_creation_creationcontroller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_pending_returns_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_validating_returns_validating_inputs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_rendering_returns_rendering_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_plugin_pass_returns_running_plugins" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_input_required_returns_input_required" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_cache_write_returns_writing_cache" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_post_validate_returns_validating_post_creation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_sync_queued_returns_queueing_nas_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_done_returns_done" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_failed_returns_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_aborted_returns_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_state_to_phase_covers_every_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_pending_transitions_to_validating" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_validating_transitions_to_rendering" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_rendering_transitions_to_plugin_pass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_plugin_pass_transitions_to_input_required_and_cache_write" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_input_required_transitions_back_to_plugin_pass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_cache_write_transitions_to_post_validate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_post_validate_transitions_to_sync_queued" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_sync_queued_transitions_to_done" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_fail_allowed_from_every_non_terminal_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_aborted_allowed_from_every_non_terminal_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_done_is_terminal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_failed_is_terminal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_aborted_is_terminal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_assert_transition_allows_legal_forward_edge" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_assert_transition_allows_cancel_from_any_non_terminal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_assert_transition_rejects_skipping_a_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_assert_transition_rejects_terminal_to_anything" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_assert_transition_rejects_done_back_to_pipeline" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_assert_transition_rejects_backwards_through_pipeline" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_session_state_values_match_lowercase_names" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_phase_values_use_spec_strings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_valid_transitions_keys_cover_every_session_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_state_machine_py", - "target": "controller_test_state_machine_test_assert_transition_rejects_unknown_source_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_state_machine_rationale_1", - "target": "tests_unit_controller_test_state_machine_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L26", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_pending_returns_none", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L30", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_validating_returns_validating_inputs", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L34", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_rendering_returns_rendering_template", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L38", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_plugin_pass_returns_running_plugins", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L42", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_input_required_returns_input_required", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L46", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_cache_write_returns_writing_cache", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L50", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_post_validate_returns_validating_post_creation", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L54", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_sync_queued_returns_queueing_nas_sync", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L58", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_done_returns_done", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L62", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_failed_returns_none", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L66", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_aborted_returns_none", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_state_machine_rationale_70", - "target": "controller_test_state_machine_test_state_to_phase_covers_every_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L73", - "weight": 1.0, - "source": "controller_test_state_machine_test_state_to_phase_covers_every_state", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L179", - "weight": 1.0, - "source": "controller_test_state_machine_test_assert_transition_allows_legal_forward_edge", - "target": "controller_state_machine_assert_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L184", - "weight": 1.0, - "source": "controller_test_state_machine_test_assert_transition_allows_cancel_from_any_non_terminal", - "target": "controller_state_machine_assert_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L190", - "weight": 1.0, - "source": "controller_test_state_machine_test_assert_transition_rejects_skipping_a_state", - "target": "controller_state_machine_assert_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L195", - "weight": 1.0, - "source": "controller_test_state_machine_test_assert_transition_rejects_terminal_to_anything", - "target": "controller_state_machine_assert_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L200", - "weight": 1.0, - "source": "controller_test_state_machine_test_assert_transition_rejects_done_back_to_pipeline", - "target": "controller_state_machine_assert_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L205", - "weight": 1.0, - "source": "controller_test_state_machine_test_assert_transition_rejects_backwards_through_pipeline", - "target": "controller_state_machine_assert_transition" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_state_machine_rationale_234", - "target": "controller_test_state_machine_test_assert_transition_rejects_unknown_source_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_state_machine.py", - "source_location": "L244", - "weight": 1.0, - "source": "controller_test_state_machine_test_assert_transition_rejects_unknown_source_state", - "target": "controller_state_machine_assert_transition" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_init_rationale_1", - "target": "tests_unit_controller_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_init_rationale_1", - "target": "tests_integration_controller_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_init_rationale_1", - "target": "src_exlab_wizard_controller_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_open_returns_fresh_pending_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_open_assigns_uuid4_session_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_open_two_sessions_get_distinct_ids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_open_sets_created_at_and_last_heartbeat_to_now" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_get_returns_none_for_unknown_session_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_get_returns_session_after_open" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_transition_updates_state_and_phase_together" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_transition_back_to_plugin_pass_clears_next_action" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_transition_rejects_unknown_session_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_transition_rejects_illegal_state_transition" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_attach_event_queue_wires_queue_to_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_attach_event_queue_rejects_unknown_session_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_heartbeat_updates_last_heartbeat" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_heartbeat_is_noop_for_unknown_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L250", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_abandoned_older_than_skips_recent_input_required_sessions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_abandoned_older_than_returns_empty_when_no_sessions_exist" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_close_stores_outcome_for_done_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_close_stores_outcome_in_error_for_failed_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_close_is_noop_for_unknown_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L350", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_session_is_terminal_for_terminal_states" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L382", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_controller_test_session_store_py", - "target": "controller_test_session_store_test_session_is_terminal_false_for_non_terminal_states" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_session_store_rationale_1", - "target": "tests_unit_controller_test_session_store_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L37", - "weight": 1.0, - "source": "controller_test_session_store_test_open_returns_fresh_pending_session", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L47", - "weight": 1.0, - "source": "controller_test_session_store_test_open_assigns_uuid4_session_id", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L55", - "weight": 1.0, - "source": "controller_test_session_store_test_open_two_sessions_get_distinct_ids", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L62", - "weight": 1.0, - "source": "controller_test_session_store_test_open_sets_created_at_and_last_heartbeat_to_now", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L76", - "weight": 1.0, - "source": "controller_test_session_store_test_get_returns_none_for_unknown_session_id", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L81", - "weight": 1.0, - "source": "controller_test_session_store_test_get_returns_session_after_open", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L88", - "weight": 1.0, - "source": "controller_test_session_store_test_iter_sorted_returns_pairs_oldest_created_first", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_session_store_rationale_99", - "target": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L105", - "weight": 1.0, - "source": "controller_test_session_store_test_gc_publishes_terminal_frame_to_live_subscriber", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L124", - "weight": 1.0, - "source": "controller_test_session_store_test_project_identifier_prefers_short_id_then_falls_back_to_project_name", - "target": "controller_session_store_project_identifier" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L137", - "weight": 1.0, - "source": "controller_test_session_store_test_transition_updates_state_and_phase_together", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L145", - "weight": 1.0, - "source": "controller_test_session_store_test_transition_to_input_required_sets_next_action_awaiting_input", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L155", - "weight": 1.0, - "source": "controller_test_session_store_test_transition_back_to_plugin_pass_clears_next_action", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L170", - "weight": 1.0, - "source": "controller_test_session_store_test_transition_rejects_unknown_session_id", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L176", - "weight": 1.0, - "source": "controller_test_session_store_test_transition_rejects_illegal_state_transition", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L188", - "weight": 1.0, - "source": "controller_test_session_store_test_attach_event_queue_wires_queue_to_session", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L196", - "weight": 1.0, - "source": "controller_test_session_store_test_attach_event_queue_rejects_unknown_session_id", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L208", - "weight": 1.0, - "source": "controller_test_session_store_test_heartbeat_updates_last_heartbeat", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L218", - "weight": 1.0, - "source": "controller_test_session_store_test_heartbeat_is_noop_for_unknown_session", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L229", - "weight": 1.0, - "source": "controller_test_session_store_test_abandoned_older_than_returns_only_input_required_sessions", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L251", - "weight": 1.0, - "source": "controller_test_session_store_test_abandoned_older_than_skips_recent_input_required_sessions", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L266", - "weight": 1.0, - "source": "controller_test_session_store_test_abandoned_older_than_returns_empty_when_no_sessions_exist", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L276", - "weight": 1.0, - "source": "controller_test_session_store_test_close_stores_outcome_for_done_session", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L295", - "weight": 1.0, - "source": "controller_test_session_store_test_close_stores_outcome_in_error_for_failed_session", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L305", - "weight": 1.0, - "source": "controller_test_session_store_test_close_is_noop_for_unknown_session", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L316", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_session_store_rationale_316", - "target": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L317", - "weight": 1.0, - "source": "controller_test_session_store_test_gc_loop_closes_abandoned_input_required_session", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_session_store_rationale_340", - "target": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L341", - "weight": 1.0, - "source": "controller_test_session_store_test_gc_loop_periodically_runs_and_can_be_cancelled", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_session_store_rationale_351", - "target": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L352", - "weight": 1.0, - "source": "controller_test_session_store_test_gc_loop_skips_non_input_required_sessions", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L367", - "weight": 1.0, - "source": "controller_test_session_store_test_session_is_terminal_for_terminal_states", - "target": "controller_session_store_session" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/controller/test_session_store.py", - "source_location": "L383", - "weight": 1.0, - "source": "controller_test_session_store_test_session_is_terminal_false_for_non_terminal_states", - "target": "controller_session_store_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L48", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_sandbox", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L69", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_read_creation", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L74", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_read_readme_fields", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L79", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_read_front_matter", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L86", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_read_label", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L91", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L107", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_run_dirs", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L121", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_full_tree_exists", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L146", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_every_folder_has_metadata", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L176", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_test_runs_marker_present_for_test_projects", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L198", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_sync_status_spread", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L216", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_each_run_sync_status_matches_sample", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L240", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_default_payload_pair", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L256", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_blocked_run_carries_trigger_file", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L284", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_readme_field_layering", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L307", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_seeded_config_default_is_present_and_optional", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L325", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_snapshot", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L339", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_determinism", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L354", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_equipment_json_normalized_is_deterministic", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L383", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_wipe_refuses_when_test_mode_unset", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L389", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_wipe_refuses_when_app_name_not_test", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L399", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_wipe_refuses_when_target_escapes_sandbox", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L419", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_wipe_refuses_symlinked_target_escaping_sandbox", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L444", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_seeded_equipment_roots_are_base_paths", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L472", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_no_wipe_is_idempotent_and_nondestructive", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L487", - "weight": 1.0, - "source": "tests_unit_sample_data_test_generator_py", - "target": "sample_data_test_generator_test_generator_class_is_constructable", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L1", - "weight": 1.0, - "source": "sample_data_test_generator_rationale_1", - "target": "tests_unit_sample_data_test_generator_py", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L49", - "weight": 1.0, - "source": "sample_data_test_generator_rationale_49", - "target": "sample_data_test_generator_sandbox", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L58", - "weight": 1.0, - "source": "sample_data_test_generator_sandbox", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L63", - "weight": 1.0, - "source": "sample_data_test_generator_sandbox", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L65", - "weight": 1.0, - "source": "sample_data_test_generator_sandbox", - "target": "config_loader_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L159", - "weight": 1.0, - "source": "sample_data_test_generator_test_every_folder_has_metadata", - "target": "sample_data_test_generator_read_creation", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L206", - "weight": 1.0, - "source": "sample_data_test_generator_test_sync_status_spread", - "target": "sample_data_test_generator_read_creation", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L230", - "weight": 1.0, - "source": "sample_data_test_generator_test_each_run_sync_status_matches_sample", - "target": "sample_data_test_generator_read_creation", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L266", - "weight": 1.0, - "source": "sample_data_test_generator_test_blocked_run_carries_trigger_file", - "target": "sample_data_test_generator_read_creation", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L466", - "weight": 1.0, - "source": "sample_data_test_generator_test_seeded_equipment_roots_are_base_paths", - "target": "sample_data_test_generator_read_creation", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L70", - "weight": 1.0, - "source": "sample_data_test_generator_read_creation", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L161", - "weight": 1.0, - "source": "sample_data_test_generator_test_every_folder_has_metadata", - "target": "sample_data_test_generator_read_readme_fields", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L299", - "weight": 1.0, - "source": "sample_data_test_generator_test_readme_field_layering", - "target": "sample_data_test_generator_read_readme_fields", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L75", - "weight": 1.0, - "source": "sample_data_test_generator_read_readme_fields", - "target": "exlab_wizard_paths_readme_fields_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L88", - "weight": 1.0, - "source": "sample_data_test_generator_read_label", - "target": "sample_data_test_generator_read_front_matter", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L163", - "weight": 1.0, - "source": "sample_data_test_generator_test_every_folder_has_metadata", - "target": "sample_data_test_generator_read_front_matter", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L231", - "weight": 1.0, - "source": "sample_data_test_generator_test_each_run_sync_status_matches_sample", - "target": "sample_data_test_generator_read_label", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L249", - "weight": 1.0, - "source": "sample_data_test_generator_test_default_payload_pair", - "target": "sample_data_test_generator_read_label", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L295", - "weight": 1.0, - "source": "sample_data_test_generator_test_readme_field_layering", - "target": "sample_data_test_generator_read_label", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L87", - "weight": 1.0, - "source": "sample_data_test_generator_rationale_87", - "target": "sample_data_test_generator_read_label", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L131", - "weight": 1.0, - "source": "sample_data_test_generator_test_full_tree_exists", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L151", - "weight": 1.0, - "source": "sample_data_test_generator_test_every_folder_has_metadata", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L181", - "weight": 1.0, - "source": "sample_data_test_generator_test_test_runs_marker_present_for_test_projects", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L204", - "weight": 1.0, - "source": "sample_data_test_generator_test_sync_status_spread", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L228", - "weight": 1.0, - "source": "sample_data_test_generator_test_each_run_sync_status_matches_sample", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L247", - "weight": 1.0, - "source": "sample_data_test_generator_test_default_payload_pair", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L262", - "weight": 1.0, - "source": "sample_data_test_generator_test_blocked_run_carries_trigger_file", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L291", - "weight": 1.0, - "source": "sample_data_test_generator_test_readme_field_layering", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L464", - "weight": 1.0, - "source": "sample_data_test_generator_test_seeded_equipment_roots_are_base_paths", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L92", - "weight": 1.0, - "source": "sample_data_test_generator_rationale_92", - "target": "sample_data_test_generator_project_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L135", - "weight": 1.0, - "source": "sample_data_test_generator_test_full_tree_exists", - "target": "sample_data_test_generator_run_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L154", - "weight": 1.0, - "source": "sample_data_test_generator_test_every_folder_has_metadata", - "target": "sample_data_test_generator_run_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L205", - "weight": 1.0, - "source": "sample_data_test_generator_test_sync_status_spread", - "target": "sample_data_test_generator_run_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L229", - "weight": 1.0, - "source": "sample_data_test_generator_test_each_run_sync_status_matches_sample", - "target": "sample_data_test_generator_run_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L248", - "weight": 1.0, - "source": "sample_data_test_generator_test_default_payload_pair", - "target": "sample_data_test_generator_run_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L265", - "weight": 1.0, - "source": "sample_data_test_generator_test_blocked_run_carries_trigger_file", - "target": "sample_data_test_generator_run_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L294", - "weight": 1.0, - "source": "sample_data_test_generator_test_readme_field_layering", - "target": "sample_data_test_generator_run_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L465", - "weight": 1.0, - "source": "sample_data_test_generator_test_seeded_equipment_roots_are_base_paths", - "target": "sample_data_test_generator_run_dirs", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L122", - "weight": 1.0, - "source": "sample_data_test_generator_test_full_tree_exists", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L123", - "weight": 1.0, - "source": "sample_data_test_generator_test_full_tree_exists", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L147", - "weight": 1.0, - "source": "sample_data_test_generator_test_every_folder_has_metadata", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L148", - "weight": 1.0, - "source": "sample_data_test_generator_test_every_folder_has_metadata", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L170", - "weight": 1.0, - "source": "sample_data_test_generator_test_every_folder_has_metadata", - "target": "exlab_wizard_paths_equipment_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L177", - "weight": 1.0, - "source": "sample_data_test_generator_test_test_runs_marker_present_for_test_projects", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L178", - "weight": 1.0, - "source": "sample_data_test_generator_test_test_runs_marker_present_for_test_projects", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L183", - "weight": 1.0, - "source": "sample_data_test_generator_test_test_runs_marker_present_for_test_projects", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L199", - "weight": 1.0, - "source": "sample_data_test_generator_test_sync_status_spread", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L200", - "weight": 1.0, - "source": "sample_data_test_generator_test_sync_status_spread", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L217", - "weight": 1.0, - "source": "sample_data_test_generator_test_each_run_sync_status_matches_sample", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L218", - "weight": 1.0, - "source": "sample_data_test_generator_test_each_run_sync_status_matches_sample", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L241", - "weight": 1.0, - "source": "sample_data_test_generator_test_default_payload_pair", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L242", - "weight": 1.0, - "source": "sample_data_test_generator_test_default_payload_pair", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L257", - "weight": 1.0, - "source": "sample_data_test_generator_test_blocked_run_carries_trigger_file", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L258", - "weight": 1.0, - "source": "sample_data_test_generator_test_blocked_run_carries_trigger_file", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L285", - "weight": 1.0, - "source": "sample_data_test_generator_test_readme_field_layering", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L286", - "weight": 1.0, - "source": "sample_data_test_generator_test_readme_field_layering", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L308", - "weight": 1.0, - "source": "sample_data_test_generator_test_seeded_config_default_is_present_and_optional", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L309", - "weight": 1.0, - "source": "sample_data_test_generator_test_seeded_config_default_is_present_and_optional", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L343", - "weight": 1.0, - "source": "sample_data_test_generator_test_determinism", - "target": "sample_data_test_generator_snapshot", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L326", - "weight": 1.0, - "source": "sample_data_test_generator_rationale_326", - "target": "sample_data_test_generator_snapshot", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L340", - "weight": 1.0, - "source": "sample_data_test_generator_test_determinism", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L341", - "weight": 1.0, - "source": "sample_data_test_generator_test_determinism", - "target": "config_loader_load_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L355", - "weight": 1.0, - "source": "sample_data_test_generator_rationale_355", - "target": "sample_data_test_generator_test_equipment_json_normalized_is_deterministic", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L356", - "weight": 1.0, - "source": "sample_data_test_generator_test_equipment_json_normalized_is_deterministic", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L357", - "weight": 1.0, - "source": "sample_data_test_generator_test_equipment_json_normalized_is_deterministic", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L386", - "weight": 1.0, - "source": "sample_data_test_generator_test_wipe_refuses_when_test_mode_unset", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L396", - "weight": 1.0, - "source": "sample_data_test_generator_test_wipe_refuses_when_app_name_not_test", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L404", - "weight": 1.0, - "source": "sample_data_test_generator_test_wipe_refuses_when_target_escapes_sandbox", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L405", - "weight": 1.0, - "source": "sample_data_test_generator_test_wipe_refuses_when_target_escapes_sandbox", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L407", - "weight": 1.0, - "source": "sample_data_test_generator_test_wipe_refuses_when_target_escapes_sandbox", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L414", - "weight": 1.0, - "source": "sample_data_test_generator_test_wipe_refuses_when_target_escapes_sandbox", - "target": "config_loader_save_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L420", - "weight": 1.0, - "source": "sample_data_test_generator_rationale_420", - "target": "sample_data_test_generator_test_wipe_refuses_symlinked_target_escaping_sandbox", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L423", - "weight": 1.0, - "source": "sample_data_test_generator_test_wipe_refuses_symlinked_target_escaping_sandbox", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L424", - "weight": 1.0, - "source": "sample_data_test_generator_test_wipe_refuses_symlinked_target_escaping_sandbox", - "target": "config_loader_load_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L445", - "weight": 1.0, - "source": "sample_data_test_generator_rationale_445", - "target": "sample_data_test_generator_test_seeded_equipment_roots_are_base_paths", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L453", - "weight": 1.0, - "source": "sample_data_test_generator_test_seeded_equipment_roots_are_base_paths", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L454", - "weight": 1.0, - "source": "sample_data_test_generator_test_seeded_equipment_roots_are_base_paths", - "target": "config_loader_load_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L473", - "weight": 1.0, - "source": "sample_data_test_generator_rationale_473", - "target": "sample_data_test_generator_test_no_wipe_is_idempotent_and_nondestructive", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L474", - "weight": 1.0, - "source": "sample_data_test_generator_test_no_wipe_is_idempotent_and_nondestructive", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L475", - "weight": 1.0, - "source": "sample_data_test_generator_test_no_wipe_is_idempotent_and_nondestructive", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L488", - "weight": 1.0, - "source": "sample_data_test_generator_test_generator_class_is_constructable", - "target": "sample_data_generator_sampledatagenerator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_generator.py", - "source_location": "L490", - "weight": 1.0, - "source": "sample_data_test_generator_test_generator_class_is_constructable", - "target": "config_loader_load_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L23", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_project", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L27", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_samples_top_level_shape", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L34", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_testrig_has_one_project_three_runs", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L41", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_altrig_has_two_projects_two_runs_each", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L49", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_total_run_count_is_seven", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L54", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_malformed_short_id_raises_validation_error", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L73", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_malformed_equipment_id_raises_validation_error", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L98", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_malformed_project_name_raises_validation_error", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L119", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_unknown_key_rejected_extra_forbid", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L131", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_samplefile_rejects_escaping_relpath", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L137", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_samplefile_accepts_nested_relative_path", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L141", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_sync_status_spread_covers_required_states", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L151", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_proj_0003_blocked_run_carries_trigger_file", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L162", - "weight": 1.0, - "source": "tests_unit_sample_data_test_spec_py", - "target": "sample_data_test_spec_test_proj_0002_calibration_a_has_readme_extra_fields", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L1", - "weight": 1.0, - "source": "sample_data_test_spec_rationale_1", - "target": "tests_unit_sample_data_test_spec_py", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L45", - "weight": 1.0, - "source": "sample_data_test_spec_test_altrig_has_two_projects_two_runs_each", - "target": "sample_data_test_spec_project", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L153", - "weight": 1.0, - "source": "sample_data_test_spec_test_proj_0003_blocked_run_carries_trigger_file", - "target": "sample_data_test_spec_project", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L164", - "weight": 1.0, - "source": "sample_data_test_spec_test_proj_0002_calibration_a_has_readme_extra_fields", - "target": "sample_data_test_spec_project", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L28", - "weight": 1.0, - "source": "sample_data_test_spec_rationale_28", - "target": "sample_data_test_spec_test_samples_top_level_shape", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L56", - "weight": 1.0, - "source": "sample_data_test_spec_test_malformed_short_id_raises_validation_error", - "target": "sample_data_spec_sampleproject" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L63", - "weight": 1.0, - "source": "sample_data_test_spec_test_malformed_short_id_raises_validation_error", - "target": "sample_data_spec_samplerun" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L75", - "weight": 1.0, - "source": "sample_data_test_spec_test_malformed_equipment_id_raises_validation_error", - "target": "sample_data_spec_sampleequipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L79", - "weight": 1.0, - "source": "sample_data_test_spec_test_malformed_equipment_id_raises_validation_error", - "target": "sample_data_spec_sampleproject" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L86", - "weight": 1.0, - "source": "sample_data_test_spec_test_malformed_equipment_id_raises_validation_error", - "target": "sample_data_spec_samplerun" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L102", - "weight": 1.0, - "source": "sample_data_test_spec_test_malformed_project_name_raises_validation_error", - "target": "sample_data_spec_sampleproject" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L109", - "weight": 1.0, - "source": "sample_data_test_spec_test_malformed_project_name_raises_validation_error", - "target": "sample_data_spec_samplerun" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L121", - "weight": 1.0, - "source": "sample_data_test_spec_test_unknown_key_rejected_extra_forbid", - "target": "sample_data_spec_samplerun" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L132", - "weight": 1.0, - "source": "sample_data_test_spec_rationale_132", - "target": "sample_data_test_spec_test_samplefile_rejects_escaping_relpath", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L134", - "weight": 1.0, - "source": "sample_data_test_spec_test_samplefile_rejects_escaping_relpath", - "target": "sample_data_spec_samplefile" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sample_data/test_spec.py", - "source_location": "L138", - "weight": 1.0, - "source": "sample_data_test_spec_test_samplefile_accepts_nested_relative_path", - "target": "sample_data_spec_samplefile" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sample_data/__init__.py", - "source_location": "L1", - "weight": 1.0, - "source": "sample_data_init_rationale_1", - "target": "tests_unit_sample_data_init_py", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/__init__.py", - "source_location": "L1", - "weight": 1.0, - "source": "sample_data_init_rationale_1", - "target": "src_exlab_wizard_sample_data_init_py", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_pywebview_app_py", - "target": "window_test_pywebview_app_hs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_pywebview_app_py", - "target": "window_test_pywebview_app_test_build_window_url_uses_loopback" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_pywebview_app_py", - "target": "window_test_pywebview_app_test_is_debug_enabled_default" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_pywebview_app_py", - "target": "window_test_pywebview_app_test_is_debug_enabled_truthy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_pywebview_app_py", - "target": "window_test_pywebview_app_test_is_debug_enabled_falsy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_pywebview_app_py", - "target": "window_test_pywebview_app_test_run_window_calls_create_and_start" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_pywebview_app_py", - "target": "window_test_pywebview_app_test_run_window_passes_debug_when_env_var_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_pywebview_app_py", - "target": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_pywebview_app_py", - "target": "window_test_pywebview_app_test_window_title_constant" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_pywebview_app_py", - "target": "window_test_pywebview_app_test_import_webview_returns_module" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_pywebview_app_rationale_1", - "target": "tests_unit_window_test_pywebview_app_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_pywebview_app_test_build_window_url_uses_loopback", - "target": "window_test_pywebview_app_hs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_pywebview_app_test_run_window_calls_create_and_start", - "target": "window_test_pywebview_app_hs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_pywebview_app_test_run_window_passes_debug_when_env_var_set", - "target": "window_test_pywebview_app_hs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", - "target": "window_test_pywebview_app_hs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L21", - "weight": 1.0, - "source": "window_test_pywebview_app_hs", - "target": "window_main_serverhandshake" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L25", - "weight": 1.0, - "source": "window_test_pywebview_app_test_build_window_url_uses_loopback", - "target": "window_pywebview_app_build_window_url" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L30", - "weight": 1.0, - "source": "window_test_pywebview_app_test_is_debug_enabled_default", - "target": "window_pywebview_app_is_debug_enabled" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L36", - "weight": 1.0, - "source": "window_test_pywebview_app_test_is_debug_enabled_truthy", - "target": "window_pywebview_app_is_debug_enabled" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L42", - "weight": 1.0, - "source": "window_test_pywebview_app_test_is_debug_enabled_falsy", - "target": "window_pywebview_app_is_debug_enabled" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L55", - "weight": 1.0, - "source": "window_test_pywebview_app_test_run_window_calls_create_and_start", - "target": "window_pywebview_app_run_window" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L73", - "weight": 1.0, - "source": "window_test_pywebview_app_test_run_window_passes_debug_when_env_var_set", - "target": "window_pywebview_app_run_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_pywebview_app_rationale_80", - "target": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L91", - "weight": 1.0, - "source": "window_test_pywebview_app_test_run_window_with_only_create_window_uses_default_start", - "target": "window_pywebview_app_run_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_pywebview_app_rationale_102", - "target": "window_test_pywebview_app_test_import_webview_returns_module" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_pywebview_app.py", - "source_location": "L109", - "weight": 1.0, - "source": "window_test_pywebview_app_test_import_webview_returns_module", - "target": "window_pywebview_app_import_webview" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_init_rationale_1", - "target": "tests_unit_window_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_init_rationale_1", - "target": "src_exlab_wizard_window_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_write_server_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_read_server_handshake_returns_none_when_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_read_server_handshake_returns_handshake" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_read_server_handshake_returns_none_on_invalid_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_read_server_handshake_returns_none_on_missing_keys" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_main_returns_stale_when_no_state_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_main_returns_stale_on_dead_pid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_main_hands_off_with_live_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_is_pid_alive_for_self" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_is_pid_alive_rejects_zero" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_is_pid_alive_for_dead_pid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_is_pid_alive_falls_through_to_default" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_default_state_dir_is_used" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_default_handoff_invokes_run_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_argv_is_ignored" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_server_handshake_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_posix_is_pid_alive_handles_permission" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_posix_is_pid_alive_handles_dead_pid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_window_test_main_py", - "target": "window_test_main_test_is_pid_alive_dispatches_to_windows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_main_rationale_1", - "target": "tests_unit_window_test_main_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_main_test_read_server_handshake_returns_handshake", - "target": "window_test_main_write_server_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_main_test_main_returns_stale_on_dead_pid", - "target": "window_test_main_write_server_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_main_test_main_hands_off_with_live_state", - "target": "window_test_main_write_server_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_main_test_is_pid_alive_falls_through_to_default", - "target": "window_test_main_write_server_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_main_test_default_handoff_invokes_run_window", - "target": "window_test_main_write_server_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_main_test_argv_is_ignored", - "target": "window_test_main_write_server_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L37", - "weight": 1.0, - "source": "window_test_main_test_read_server_handshake_returns_none_when_missing", - "target": "window_main_read_server_handshake" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L42", - "weight": 1.0, - "source": "window_test_main_test_read_server_handshake_returns_handshake", - "target": "window_main_read_server_handshake" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L50", - "weight": 1.0, - "source": "window_test_main_test_read_server_handshake_returns_none_on_invalid_json", - "target": "window_main_read_server_handshake" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L55", - "weight": 1.0, - "source": "window_test_main_test_read_server_handshake_returns_none_on_missing_keys", - "target": "window_main_read_server_handshake" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L90", - "weight": 1.0, - "source": "window_test_main_test_is_pid_alive_for_self", - "target": "window_main_is_pid_alive" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L94", - "weight": 1.0, - "source": "window_test_main_test_is_pid_alive_rejects_zero", - "target": "window_main_is_pid_alive" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L100", - "weight": 1.0, - "source": "window_test_main_test_is_pid_alive_for_dead_pid", - "target": "window_main_is_pid_alive" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_main_rationale_104", - "target": "window_test_main_test_is_pid_alive_falls_through_to_default" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L146", - "weight": 1.0, - "source": "window_test_main_test_server_handshake_round_trip", - "target": "window_main_serverhandshake" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_main_rationale_153", - "target": "window_test_main_test_posix_is_pid_alive_handles_permission" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L160", - "weight": 1.0, - "source": "window_test_main_test_posix_is_pid_alive_handles_permission", - "target": "window_main_posix_is_pid_alive" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L170", - "weight": 1.0, - "source": "window_test_main_test_posix_is_pid_alive_handles_dead_pid", - "target": "window_main_posix_is_pid_alive" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/window/test_main.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_test_main_rationale_174", - "target": "window_test_main_test_is_pid_alive_dispatches_to_windows" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/window/test_main.py", - "source_location": "L179", - "weight": 1.0, - "source": "window_test_main_test_is_pid_alive_dispatches_to_windows", - "target": "window_main_is_pid_alive" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_ready_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_ready_config_without_lims" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_compute_setup_state_returns_ready_for_complete_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_compute_setup_state_no_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_get_setup_status_reports_configure_rclone_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_setup_state_gate_no_op_without_dependencies" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_get_setup_status_ready" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_get_setup_status_incomplete_paths" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_post_test_lims_invokes_probe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L251", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_post_test_lims_probe_raises_returns_reason" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L274", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_post_test_equipment_requires_equipment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L306", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_post_test_equipment_unknown_id_returns_404" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_post_autostart_calls_toggle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_post_autostart_without_toggle_echoes_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_rationale_1", - "target": "tests_unit_api_test_setup_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_setup_py", - "target": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_compute_setup_state_returns_ready_for_complete_config", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_remote", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_get_setup_status_reports_configure_rclone_remote", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_get_setup_status_ready", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_post_test_lims_invokes_probe", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_post_test_equipment_requires_equipment_id", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L308", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_post_autostart_calls_toggle", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_post_autostart_without_toggle_echoes_state", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L32", - "weight": 1.0, - "source": "api_test_setup_ready_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L38", - "weight": 1.0, - "source": "api_test_setup_ready_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L51", - "weight": 1.0, - "source": "api_test_setup_ready_config", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L52", - "weight": 1.0, - "source": "api_test_setup_ready_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L47", - "weight": 1.0, - "source": "api_test_setup_ready_config", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", - "target": "api_test_setup_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L43", - "weight": 1.0, - "source": "api_test_setup_ready_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", - "target": "api_test_setup_ready_config_without_lims" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_rationale_52", - "target": "api_test_setup_ready_config_without_lims" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L61", - "weight": 1.0, - "source": "api_test_setup_ready_config_without_lims", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L63", - "weight": 1.0, - "source": "api_test_setup_ready_config_without_lims", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L76", - "weight": 1.0, - "source": "api_test_setup_ready_config_without_lims", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L77", - "weight": 1.0, - "source": "api_test_setup_ready_config_without_lims", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L67", - "weight": 1.0, - "source": "api_test_setup_ready_config_without_lims", - "target": "config_models_nasconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_rationale_57", - "target": "api_test_setup_ready_config_without_lims" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L68", - "weight": 1.0, - "source": "api_test_setup_ready_config_without_lims", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L82", - "weight": 1.0, - "source": "api_test_setup_test_compute_setup_state_returns_ready_for_complete_config", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L85", - "weight": 1.0, - "source": "api_test_setup_test_compute_setup_state_returns_ready_for_complete_config", - "target": "api_setup_compute_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L89", - "weight": 1.0, - "source": "api_test_setup_test_compute_setup_state_no_config", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L90", - "weight": 1.0, - "source": "api_test_setup_test_compute_setup_state_no_config", - "target": "api_setup_compute_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L94", - "weight": 1.0, - "source": "api_test_setup_test_is_creation_blocked_treats_lims_unreachable_as_soft", - "target": "api_setup_is_creation_blocked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_rationale_92", - "target": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L93", - "weight": 1.0, - "source": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_remote", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L98", - "weight": 1.0, - "source": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_remote", - "target": "api_setup_compute_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_rationale_102", - "target": "api_test_setup_test_get_setup_status_reports_configure_rclone_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L103", - "weight": 1.0, - "source": "api_test_setup_test_get_setup_status_reports_configure_rclone_remote", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L108", - "weight": 1.0, - "source": "api_test_setup_test_get_setup_status_reports_configure_rclone_remote", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_rationale_119", - "target": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L135", - "weight": 1.0, - "source": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L142", - "weight": 1.0, - "source": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L158", - "weight": 1.0, - "source": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states", - "target": "api_app_appdependencies" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_rationale_122", - "target": "api_test_setup_test_setup_state_gate_returns_503_in_incomplete_states" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L183", - "weight": 1.0, - "source": "api_test_setup_test_setup_state_gate_lims_unreachable_does_not_block", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L213", - "weight": 1.0, - "source": "api_test_setup_test_get_setup_status_ready", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L216", - "weight": 1.0, - "source": "api_test_setup_test_get_setup_status_ready", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L227", - "weight": 1.0, - "source": "api_test_setup_test_get_setup_status_incomplete_paths", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L228", - "weight": 1.0, - "source": "api_test_setup_test_get_setup_status_incomplete_paths", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L243", - "weight": 1.0, - "source": "api_test_setup_test_post_test_lims_invokes_probe", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L244", - "weight": 1.0, - "source": "api_test_setup_test_post_test_lims_invokes_probe", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L255", - "weight": 1.0, - "source": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L258", - "weight": 1.0, - "source": "api_test_setup_test_post_test_lims_probe_raises_returns_reason", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L267", - "weight": 1.0, - "source": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L268", - "weight": 1.0, - "source": "api_test_setup_test_post_test_lims_without_probe_reports_not_wired", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L275", - "weight": 1.0, - "source": "api_test_setup_test_post_test_equipment_requires_equipment_id", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L280", - "weight": 1.0, - "source": "api_test_setup_test_post_test_equipment_requires_equipment_id", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L295", - "weight": 1.0, - "source": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L298", - "weight": 1.0, - "source": "api_test_setup_test_post_test_equipment_with_explicit_equipment_id", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L307", - "weight": 1.0, - "source": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L312", - "weight": 1.0, - "source": "api_test_setup_test_post_test_equipment_unknown_id_returns_404", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L326", - "weight": 1.0, - "source": "api_test_setup_test_post_autostart_calls_toggle", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L329", - "weight": 1.0, - "source": "api_test_setup_test_post_autostart_calls_toggle", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L340", - "weight": 1.0, - "source": "api_test_setup_test_post_autostart_without_toggle_echoes_state", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L341", - "weight": 1.0, - "source": "api_test_setup_test_post_autostart_without_toggle_echoes_state", - "target": "api_app_create_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_bare_request" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_build_envelope_includes_required_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_build_envelope_drops_optional_fields_when_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_unknown_code_falls_back_to_internal_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_extract_trace_id_uses_header_when_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_extract_trace_id_generates_when_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_error_response_sets_trace_id_header" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_required_codes_are_registered" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_register_exception_handlers_catches_exlab_validation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_pydanticbody" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_register_exception_handlers_catches_keyring_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_register_exception_handlers_catches_config_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_register_exception_handlers_catches_template_load_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_errors_py", - "target": "api_test_errors_test_generic_handler_returns_internal_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_errors_rationale_1", - "target": "tests_unit_api_test_errors_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_errors_test_extract_trace_id_generates_when_missing", - "target": "api_test_errors_bare_request" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_errors_rationale_34", - "target": "api_test_errors_bare_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L46", - "weight": 1.0, - "source": "api_test_errors_test_build_envelope_includes_required_fields", - "target": "api_errors_build_error_envelope" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L65", - "weight": 1.0, - "source": "api_test_errors_test_build_envelope_drops_optional_fields_when_absent", - "target": "api_errors_build_error_envelope" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L71", - "weight": 1.0, - "source": "api_test_errors_test_unknown_code_falls_back_to_internal_error", - "target": "api_errors_build_error_envelope" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L84", - "weight": 1.0, - "source": "api_test_errors_test_extract_trace_id_uses_header_when_present", - "target": "api_errors_extract_or_create_trace_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L89", - "weight": 1.0, - "source": "api_test_errors_test_extract_trace_id_generates_when_missing", - "target": "api_errors_extract_or_create_trace_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L94", - "weight": 1.0, - "source": "api_test_errors_test_error_response_sets_trace_id_header", - "target": "api_errors_error_response" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_errors_rationale_106", - "target": "api_test_errors_test_required_codes_are_registered" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L131", - "weight": 1.0, - "source": "api_test_errors_test_register_exception_handlers_catches_exlab_validation", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_errors_pydanticbody", - "target": "basemodel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_errors_rationale_148", - "target": "api_test_errors_pydanticbody" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_errors_pydanticbody", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_errors_pydanticbody", - "target": "exlab_wizard_errors_keyringunavailableerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_errors_pydanticbody", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_errors_pydanticbody", - "target": "exlab_wizard_errors_setupincompleteerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_errors_pydanticbody", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_errors_pydanticbody", - "target": "exlab_wizard_errors_templateloaderror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L28", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_errors_pydanticbody", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_pathsconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_limsconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_readmedefaultfield", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_readmeconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_bandwidthwindow", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_bandwidthconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rcloneperf", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_nasconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L307", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_equipmentconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L375", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_nascleanupconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_loggingconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_operatorsconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L454", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_validatorconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_pluginsconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L496", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_syncconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L513", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_orchestratorstagingcleanup", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L529", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_orchestratorconfig", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L554", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_config", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L29", - "weight": 1.0, - "source": "sample_data_spec_samplefile", - "target": "basemodel", - "confidence_score": 1.0 - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L50", - "weight": 1.0, - "source": "sample_data_spec_samplerun", - "target": "basemodel", - "confidence_score": 1.0 - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L63", - "weight": 1.0, - "source": "sample_data_spec_sampleproject", - "target": "basemodel", - "confidence_score": 1.0 - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L97", - "weight": 1.0, - "source": "sample_data_spec_sampleequipment", - "target": "basemodel", - "confidence_score": 1.0 - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_healthresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_setupstatusresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_limstestrequest", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_equipmenttestrequest", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_proberesult", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_autostartrequest", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_autostartresult", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_runnode", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_projectnode", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_equipmentnode", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_relayequipmentnode", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_treeresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_folderentry", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_folderresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rundetail", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_runlogentry", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_runlogresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_projectsessionbody", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_runsessionbody", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_sessionhandleresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_resumebody", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_cancelbody", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_config_configupdateresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_config_equipmentappendresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_operations_operationentry", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_operations_operationsresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_findingresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_problemsresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_overriderequest", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_overrideresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_revokerequest", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_tombstoneresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_refreshresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_stagedrunrow", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_staginglistresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_forcesyncresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_clearresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_clearverifiedresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_keeplocalrequest", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_keeplocalresponse", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rclonesftptransport", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rclonesmbtransport", - "target": "basemodel" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_orchestratorstagingtransport", - "target": "basemodel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L156", - "weight": 1.0, - "source": "api_test_errors_test_register_exception_handlers_catches_pydantic_validation", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L172", - "weight": 1.0, - "source": "api_test_errors_test_register_exception_handlers_catches_keyring_error", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L186", - "weight": 1.0, - "source": "api_test_errors_test_register_exception_handlers_catches_schema_major_mismatch", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L201", - "weight": 1.0, - "source": "api_test_errors_test_register_exception_handlers_catches_setup_incomplete", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L219", - "weight": 1.0, - "source": "api_test_errors_test_register_exception_handlers_catches_config_error", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L233", - "weight": 1.0, - "source": "api_test_errors_test_register_exception_handlers_catches_template_load_error", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L247", - "weight": 1.0, - "source": "api_test_errors_test_register_exception_handlers_catches_template_core_field_redeclared", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_errors.py", - "source_location": "L261", - "weight": 1.0, - "source": "api_test_errors_test_generic_handler_returns_internal_error", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_config_router_py", - "target": "api_test_config_router_empty_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_config_router_py", - "target": "api_test_config_router_ready_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_config_router_py", - "target": "api_test_config_router_test_get_config_returns_loaded_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_config_router_py", - "target": "api_test_config_router_test_get_config_returns_default_when_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_config_router_py", - "target": "api_test_config_router_test_put_config_persists_and_reevaluates_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_config_router_py", - "target": "api_test_config_router_test_put_config_invalid_body_returns_422" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_config_router_py", - "target": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_config_router_py", - "target": "api_test_config_router_test_append_equipment_rejects_duplicate_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_config_router_rationale_1", - "target": "tests_unit_api_test_config_router_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_config_router_test_put_config_persists_and_reevaluates_state", - "target": "api_test_config_router_empty_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_config_router_test_put_config_invalid_body_returns_422", - "target": "api_test_config_router_empty_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", - "target": "api_test_config_router_empty_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_config_router_test_get_config_returns_loaded_config", - "target": "api_test_config_router_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_config_router_test_put_config_persists_and_reevaluates_state", - "target": "api_test_config_router_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_config_router_test_append_equipment_rejects_duplicate_id", - "target": "api_test_config_router_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L25", - "weight": 1.0, - "source": "api_test_config_router_ready_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L27", - "weight": 1.0, - "source": "api_test_config_router_ready_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L40", - "weight": 1.0, - "source": "api_test_config_router_ready_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L35", - "weight": 1.0, - "source": "api_test_config_router_ready_config", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L32", - "weight": 1.0, - "source": "api_test_config_router_ready_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L46", - "weight": 1.0, - "source": "api_test_config_router_test_get_config_returns_loaded_config", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L47", - "weight": 1.0, - "source": "api_test_config_router_test_get_config_returns_loaded_config", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L56", - "weight": 1.0, - "source": "api_test_config_router_test_get_config_returns_default_when_none", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L57", - "weight": 1.0, - "source": "api_test_config_router_test_get_config_returns_default_when_none", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L74", - "weight": 1.0, - "source": "api_test_config_router_test_put_config_persists_and_reevaluates_state", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L75", - "weight": 1.0, - "source": "api_test_config_router_test_put_config_persists_and_reevaluates_state", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L92", - "weight": 1.0, - "source": "api_test_config_router_test_put_config_invalid_body_returns_422", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L93", - "weight": 1.0, - "source": "api_test_config_router_test_put_config_invalid_body_returns_422", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L113", - "weight": 1.0, - "source": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L114", - "weight": 1.0, - "source": "api_test_config_router_test_append_equipment_persists_and_re_evaluates_state", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L139", - "weight": 1.0, - "source": "api_test_config_router_test_append_equipment_rejects_duplicate_id", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_config_router.py", - "source_location": "L140", - "weight": 1.0, - "source": "api_test_config_router_test_append_equipment_rejects_duplicate_id", - "target": "api_app_create_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_operations_py", - "target": "api_test_operations_ready_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_operations_py", - "target": "api_test_operations_stubcontroller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_operations_py", - "target": "api_test_operations_make_project_request" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_operations_py", - "target": "api_test_operations_test_get_operations_lists_in_flight_sessions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_operations_py", - "target": "api_test_operations_test_get_operations_excludes_done_and_aborted" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_operations_py", - "target": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_operations_py", - "target": "api_test_operations_test_get_operations_503_when_controller_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_rationale_1", - "target": "tests_unit_api_test_operations_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_test_get_operations_lists_in_flight_sessions", - "target": "api_test_operations_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_test_get_operations_excludes_done_and_aborted", - "target": "api_test_operations_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", - "target": "api_test_operations_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_test_get_operations_503_when_controller_missing", - "target": "api_test_operations_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L25", - "weight": 1.0, - "source": "api_test_operations_ready_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L27", - "weight": 1.0, - "source": "api_test_operations_ready_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L40", - "weight": 1.0, - "source": "api_test_operations_ready_config", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L41", - "weight": 1.0, - "source": "api_test_operations_ready_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L36", - "weight": 1.0, - "source": "api_test_operations_ready_config", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L32", - "weight": 1.0, - "source": "api_test_operations_ready_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_stubcontroller", - "target": "api_test_operations_stubcontroller_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_test_get_operations_lists_in_flight_sessions", - "target": "api_test_operations_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_test_get_operations_excludes_done_and_aborted", - "target": "api_test_operations_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", - "target": "api_test_operations_stubcontroller" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L10", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_operations_stubcontroller", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L10", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_operations_stubcontroller", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L10", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_operations_stubcontroller", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L10", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_operations_stubcontroller", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L10", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_operations_stubcontroller", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L10", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_operations_stubcontroller", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_operations_stubcontroller", - "target": "controller_creation_projectcreaterequest" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_operations_stubcontroller", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_operations_stubcontroller", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L10", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_operations_stubcontroller", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L47", - "weight": 1.0, - "source": "api_test_operations_stubcontroller_init", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_test_get_operations_lists_in_flight_sessions", - "target": "api_test_operations_make_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_test_get_operations_excludes_done_and_aborted", - "target": "api_test_operations_make_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", - "target": "api_test_operations_make_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L51", - "weight": 1.0, - "source": "api_test_operations_make_project_request", - "target": "controller_creation_projectcreaterequest" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L73", - "weight": 1.0, - "source": "api_test_operations_test_get_operations_lists_in_flight_sessions", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L76", - "weight": 1.0, - "source": "api_test_operations_test_get_operations_lists_in_flight_sessions", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L99", - "weight": 1.0, - "source": "api_test_operations_test_get_operations_excludes_done_and_aborted", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L102", - "weight": 1.0, - "source": "api_test_operations_test_get_operations_excludes_done_and_aborted", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L116", - "weight": 1.0, - "source": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L119", - "weight": 1.0, - "source": "api_test_operations_test_get_operations_emits_plugin_name_when_input_required", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L128", - "weight": 1.0, - "source": "api_test_operations_test_get_operations_503_when_controller_missing", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_operations.py", - "source_location": "L129", - "weight": 1.0, - "source": "api_test_operations_test_get_operations_503_when_controller_missing", - "target": "api_app_create_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_create_session_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_create_session_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_get_session_returns_snapshot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_get_session_404_for_unknown" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_post_resume_invokes_controller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_post_cancel_invokes_controller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_post_cancel_404_for_unknown" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_post_resume_409_for_terminal_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L284", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_websocket_streams_session_events" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L307", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_websocket_unknown_session_closes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L321", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_make_request" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_sessions_py", - "target": "api_test_sessions_test_create_session_validation_error_returns_422" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_rationale_1", - "target": "tests_unit_api_test_sessions_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_create_session_project", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_create_session_run", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_get_session_returns_snapshot", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_get_session_404_for_unknown", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_resume_invokes_controller", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L242", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_cancel_invokes_controller", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_cancel_404_for_unknown", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_resume_409_for_terminal_session", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_websocket_streams_session_events", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_websocket_unknown_session_closes", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_create_session_validation_error_returns_422", - "target": "api_test_sessions_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L33", - "weight": 1.0, - "source": "api_test_sessions_ready_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L35", - "weight": 1.0, - "source": "api_test_sessions_ready_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L48", - "weight": 1.0, - "source": "api_test_sessions_ready_config", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L49", - "weight": 1.0, - "source": "api_test_sessions_ready_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L43", - "weight": 1.0, - "source": "api_test_sessions_ready_config", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L40", - "weight": 1.0, - "source": "api_test_sessions_ready_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_stubcontroller", - "target": "api_test_sessions_stubcontroller_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_stubcontroller", - "target": "api_test_sessions_stubcontroller_create_project" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_stubcontroller", - "target": "api_test_sessions_stubcontroller_create_run" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_stubcontroller", - "target": "api_test_sessions_stubcontroller_status" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_stubcontroller", - "target": "api_test_sessions_stubcontroller_resume" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_stubcontroller", - "target": "api_test_sessions_stubcontroller_cancel" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_stubcontroller", - "target": "api_test_sessions_stubcontroller_subscribe" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_create_session_project", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_create_session_run", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_get_session_returns_snapshot", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_get_session_404_for_unknown", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_resume_invokes_controller", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_cancel_invokes_controller", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L257", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_cancel_404_for_unknown", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_resume_409_for_terminal_session", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L287", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_websocket_streams_session_events", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L308", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_websocket_unknown_session_closes", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_create_session_validation_error_returns_422", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_rationale_48", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "controller_creation_projectcreaterequest" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "controller_creation_runcreaterequest" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "controller_creation_sessionhandle" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L25", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_rationale_54", - "target": "api_test_sessions_stubcontroller" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_sessions_stubcontroller", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L57", - "weight": 1.0, - "source": "api_test_sessions_stubcontroller_init", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L67", - "weight": 1.0, - "source": "api_test_sessions_stubcontroller_create_project", - "target": "controller_creation_sessionhandle" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L79", - "weight": 1.0, - "source": "api_test_sessions_stubcontroller_create_run", - "target": "controller_creation_sessionhandle" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_stubcontroller_resume", - "target": "api_test_sessions_stubcontroller_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L90", - "weight": 1.0, - "source": "api_test_sessions_stubcontroller_status", - "target": "controller_creation_sessionhandle" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L123", - "weight": 1.0, - "source": "api_test_sessions_test_create_session_project", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L126", - "weight": 1.0, - "source": "api_test_sessions_test_create_session_project", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L154", - "weight": 1.0, - "source": "api_test_sessions_test_create_session_run", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L157", - "weight": 1.0, - "source": "api_test_sessions_test_create_session_run", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L180", - "weight": 1.0, - "source": "api_test_sessions_test_get_session_returns_snapshot", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L183", - "weight": 1.0, - "source": "api_test_sessions_test_get_session_returns_snapshot", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L207", - "weight": 1.0, - "source": "api_test_sessions_test_get_session_404_for_unknown", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L210", - "weight": 1.0, - "source": "api_test_sessions_test_get_session_404_for_unknown", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_resume_invokes_controller", - "target": "api_test_sessions_make_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L220", - "weight": 1.0, - "source": "api_test_sessions_test_post_resume_invokes_controller", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L223", - "weight": 1.0, - "source": "api_test_sessions_test_post_resume_invokes_controller", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_cancel_invokes_controller", - "target": "api_test_sessions_make_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L241", - "weight": 1.0, - "source": "api_test_sessions_test_post_cancel_invokes_controller", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L244", - "weight": 1.0, - "source": "api_test_sessions_test_post_cancel_invokes_controller", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L258", - "weight": 1.0, - "source": "api_test_sessions_test_post_cancel_404_for_unknown", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L261", - "weight": 1.0, - "source": "api_test_sessions_test_post_cancel_404_for_unknown", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_post_resume_409_for_terminal_session", - "target": "api_test_sessions_make_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L269", - "weight": 1.0, - "source": "api_test_sessions_test_post_resume_409_for_terminal_session", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L272", - "weight": 1.0, - "source": "api_test_sessions_test_post_resume_409_for_terminal_session", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L292", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_test_websocket_streams_session_events", - "target": "api_test_sessions_make_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L288", - "weight": 1.0, - "source": "api_test_sessions_test_websocket_streams_session_events", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L291", - "weight": 1.0, - "source": "api_test_sessions_test_websocket_streams_session_events", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L309", - "weight": 1.0, - "source": "api_test_sessions_test_websocket_unknown_session_closes", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L312", - "weight": 1.0, - "source": "api_test_sessions_test_websocket_unknown_session_closes", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L322", - "weight": 1.0, - "source": "api_test_sessions_make_request", - "target": "controller_creation_projectcreaterequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_rationale_313", - "target": "api_test_sessions_test_create_session_validation_error_returns_422" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L341", - "weight": 1.0, - "source": "api_test_sessions_test_create_session_validation_error_returns_422", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L344", - "weight": 1.0, - "source": "api_test_sessions_test_create_session_validation_error_returns_422", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_sessions.py", - "source_location": "L339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_sessions_rationale_339", - "target": "api_test_sessions_test_create_session_validation_error_returns_422" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_init_rationale_1", - "target": "tests_unit_api_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_init_rationale_1", - "target": "tests_integration_api_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_init_rationale_1", - "target": "src_exlab_wizard_api_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_write_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_tree_lists_equipment_and_projects" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_tree_returns_empty_when_no_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_run_returns_detail" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_run_404_when_creation_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_tree_skips_unknown_dirs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_tree_includes_test_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_run_returns_none_readme_when_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_folder_returns_immediate_contents" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_folder_404_on_vanished_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_stubjobrow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_stubnassync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_run_log_returns_queue_derived_history" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L361", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L412", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_get_run_log_404_when_run_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L427", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_build_hierarchy_dict_returns_empty_when_config_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L433", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L468", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_scan_folder_sync_lists_immediate_contents" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L508", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_seed_run_with_creation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L517", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_write_sync_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L539", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L552", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_per_file_status_syncing_when_unverified" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L566", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L583", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L606", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_per_file_status_keep_local_flag_carried" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L630", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_build_run_node_rollup_from_sync_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L646", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_browse_py", - "target": "api_test_browse_test_build_run_node_rollup_cleared" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_1", - "target": "tests_unit_api_test_browse_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_tree_lists_equipment_and_projects", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_returns_detail", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_404_when_creation_missing", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_tree_skips_unknown_dirs", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_tree_includes_test_runs", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_returns_none_readme_when_absent", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L251", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_folder_returns_immediate_contents", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_folder_404_on_vanished_path", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L344", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_log_returns_queue_derived_history", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L399", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L414", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_log_404_when_run_missing", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L453", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L477", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_scan_folder_sync_lists_immediate_contents", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L546", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L560", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_syncing_when_unverified", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L577", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L595", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L623", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_keep_local_flag_carried", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L638", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_build_run_node_rollup_from_sync_state", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L655", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_build_run_node_rollup_cleared", - "target": "api_test_browse_config_with_local_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L39", - "weight": 1.0, - "source": "api_test_browse_config_with_local_root", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L45", - "weight": 1.0, - "source": "api_test_browse_config_with_local_root", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L58", - "weight": 1.0, - "source": "api_test_browse_config_with_local_root", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L59", - "weight": 1.0, - "source": "api_test_browse_config_with_local_root", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L54", - "weight": 1.0, - "source": "api_test_browse_config_with_local_root", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L50", - "weight": 1.0, - "source": "api_test_browse_config_with_local_root", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_tree_lists_equipment_and_projects", - "target": "api_test_browse_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_returns_detail", - "target": "api_test_browse_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_tree_includes_test_runs", - "target": "api_test_browse_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L230", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_returns_none_readme_when_absent", - "target": "api_test_browse_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L513", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_seed_run_with_creation", - "target": "api_test_browse_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L66", - "weight": 1.0, - "source": "api_test_browse_write_creation_json", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L72", - "weight": 1.0, - "source": "api_test_browse_write_creation_json", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L75", - "weight": 1.0, - "source": "api_test_browse_write_creation_json", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L79", - "weight": 1.0, - "source": "api_test_browse_write_creation_json", - "target": "api_schemas_pathsblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L96", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_lists_equipment_and_projects", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L97", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_lists_equipment_and_projects", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_112", - "target": "api_test_browse_test_get_tree_returns_empty_when_no_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L121", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L122", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L124", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L125", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_returns_empty_when_no_equipment", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_117", - "target": "api_test_browse_test_get_tree_returns_empty_when_no_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L142", - "weight": 1.0, - "source": "api_test_browse_test_get_run_returns_detail", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L143", - "weight": 1.0, - "source": "api_test_browse_test_get_run_returns_detail", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L156", - "weight": 1.0, - "source": "api_test_browse_test_get_run_404_when_creation_missing", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L157", - "weight": 1.0, - "source": "api_test_browse_test_get_run_404_when_creation_missing", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L175", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_skips_unknown_dirs", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L176", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_skips_unknown_dirs", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_180", - "target": "api_test_browse_test_get_tree_includes_test_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L195", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_includes_test_runs", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L196", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_includes_test_runs", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_185", - "target": "api_test_browse_test_get_tree_includes_test_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_200", - "target": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L216", - "weight": 1.0, - "source": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L217", - "weight": 1.0, - "source": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_205", - "target": "api_test_browse_test_get_run_returns_422_when_creation_json_malformed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_221", - "target": "api_test_browse_test_get_run_returns_none_readme_when_absent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L231", - "weight": 1.0, - "source": "api_test_browse_test_get_run_returns_none_readme_when_absent", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L232", - "weight": 1.0, - "source": "api_test_browse_test_get_run_returns_none_readme_when_absent", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_226", - "target": "api_test_browse_test_get_run_returns_none_readme_when_absent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L251", - "weight": 1.0, - "source": "api_test_browse_test_get_folder_returns_immediate_contents", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L252", - "weight": 1.0, - "source": "api_test_browse_test_get_folder_returns_immediate_contents", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L266", - "weight": 1.0, - "source": "api_test_browse_test_get_folder_404_on_vanished_path", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L269", - "weight": 1.0, - "source": "api_test_browse_test_get_folder_404_on_vanished_path", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L279", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L280", - "weight": 1.0, - "source": "api_test_browse_test_get_tree_includes_sync_mode_on_equipment", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_282", - "target": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L296", - "weight": 1.0, - "source": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L297", - "weight": 1.0, - "source": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_289", - "target": "api_test_browse_test_get_folder_rejects_path_outside_configured_roots" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_stubjobrow", - "target": "api_test_browse_stubjobrow_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_log_returns_queue_derived_history", - "target": "api_test_browse_stubjobrow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L372", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", - "target": "api_test_browse_stubjobrow" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_304", - "target": "api_test_browse_stubjobrow" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L314", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L521", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_311", - "target": "api_test_browse_stubjobrow" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubjobrow", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L317", - "weight": 1.0, - "source": "api_test_browse_stubjobrow_init", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_stubnassync", - "target": "api_test_browse_stubnassync_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_stubnassync", - "target": "api_test_browse_stubnassync_get_by_run_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_log_returns_queue_derived_history", - "target": "api_test_browse_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L380", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", - "target": "api_test_browse_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", - "target": "api_test_browse_stubnassync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L320", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_320", - "target": "api_test_browse_stubnassync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L12", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L314", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L521", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_327", - "target": "api_test_browse_stubnassync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_browse_stubnassync", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_332", - "target": "api_test_browse_test_get_run_log_returns_queue_derived_history" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L343", - "weight": 1.0, - "source": "api_test_browse_test_get_run_log_returns_queue_derived_history", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L348", - "weight": 1.0, - "source": "api_test_browse_test_get_run_log_returns_queue_derived_history", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_339", - "target": "api_test_browse_test_get_run_log_returns_queue_derived_history" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_354", - "target": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L377", - "weight": 1.0, - "source": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L382", - "weight": 1.0, - "source": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L362", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_362", - "target": "api_test_browse_test_get_run_log_forwards_failure_extras_in_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_386", - "target": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L398", - "weight": 1.0, - "source": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L403", - "weight": 1.0, - "source": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_395", - "target": "api_test_browse_test_get_run_log_empty_history_when_no_queue_job" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_403", - "target": "api_test_browse_test_get_run_log_404_when_run_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L414", - "weight": 1.0, - "source": "api_test_browse_test_get_run_log_404_when_run_missing", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L415", - "weight": 1.0, - "source": "api_test_browse_test_get_run_log_404_when_run_missing", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L413", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_413", - "target": "api_test_browse_test_get_run_log_404_when_run_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_424", - "target": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L434", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_434", - "target": "api_test_browse_test_build_hierarchy_dict_includes_owned_and_relay_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_459", - "target": "api_test_browse_test_scan_folder_sync_lists_immediate_contents" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L469", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_469", - "target": "api_test_browse_test_scan_folder_sync_lists_immediate_contents" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L478", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_478", - "target": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L488", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_488", - "target": "api_test_browse_test_scan_folder_sync_raises_404_for_missing_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L544", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state", - "target": "api_test_browse_seed_run_with_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L557", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_syncing_when_unverified", - "target": "api_test_browse_seed_run_with_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L571", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", - "target": "api_test_browse_seed_run_with_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L588", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", - "target": "api_test_browse_seed_run_with_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L611", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_keep_local_flag_carried", - "target": "api_test_browse_seed_run_with_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L633", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_build_run_node_rollup_from_sync_state", - "target": "api_test_browse_seed_run_with_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_build_run_node_rollup_cleared", - "target": "api_test_browse_seed_run_with_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L499", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_499", - "target": "api_test_browse_seed_run_with_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L509", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_509", - "target": "api_test_browse_seed_run_with_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L559", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_syncing_when_unverified", - "target": "api_test_browse_write_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L573", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk", - "target": "api_test_browse_write_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L590", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run", - "target": "api_test_browse_write_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L613", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_per_file_status_keep_local_flag_carried", - "target": "api_test_browse_write_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L634", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_build_run_node_rollup_from_sync_state", - "target": "api_test_browse_write_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L650", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_test_build_run_node_rollup_cleared", - "target": "api_test_browse_write_sync_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L508", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_508", - "target": "api_test_browse_write_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L523", - "weight": 1.0, - "source": "api_test_browse_write_sync_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L518", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_518", - "target": "api_test_browse_write_sync_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L530", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_530", - "target": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L540", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_540", - "target": "api_test_browse_test_per_file_status_acquiring_when_not_in_sync_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L543", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_543", - "target": "api_test_browse_test_per_file_status_syncing_when_unverified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L553", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_553", - "target": "api_test_browse_test_per_file_status_syncing_when_unverified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L557", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_557", - "target": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L567", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_567", - "target": "api_test_browse_test_per_file_status_synced_when_verified_and_on_disk" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L574", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_574", - "target": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L584", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_584", - "target": "api_test_browse_test_per_file_status_on_nas_tombstone_for_cleared_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L597", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_597", - "target": "api_test_browse_test_per_file_status_keep_local_flag_carried" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_607", - "target": "api_test_browse_test_per_file_status_keep_local_flag_carried" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_621", - "target": "api_test_browse_test_build_run_node_rollup_from_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L638", - "weight": 1.0, - "source": "api_test_browse_test_build_run_node_rollup_from_sync_state", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L639", - "weight": 1.0, - "source": "api_test_browse_test_build_run_node_rollup_from_sync_state", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L631", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_631", - "target": "api_test_browse_test_build_run_node_rollup_from_sync_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L637", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_637", - "target": "api_test_browse_test_build_run_node_rollup_cleared" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L655", - "weight": 1.0, - "source": "api_test_browse_test_build_run_node_rollup_cleared", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L656", - "weight": 1.0, - "source": "api_test_browse_test_build_run_node_rollup_cleared", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_browse.py", - "source_location": "L647", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_browse_rationale_647", - "target": "api_test_browse_test_build_run_node_rollup_cleared" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_round_trips_through_msgspec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_round_trip_preserves_lims_project_subfields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_round_trip_preserves_orchestrator_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_orchestrator_block_omitted_when_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_default_sync_status_is_pending" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_default_validation_overrides_is_empty_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_missing_required_field_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_missing_lims_project_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_unknown_field_is_ignored_on_decode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_override_entry_to_dict_emits_revoked_field_explicitly" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_tombstone_entry_to_dict_emits_revoked_field_explicitly" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_parse_validation_override_entry_returns_override_for_revoked_false" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_parse_validation_override_entry_returns_tombstone_for_revoked_true" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L363", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_readme_fields_json_round_trips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L379", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_readme_fields_json_optional_fields_default_to_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_readme_fields_json_round_trip_preserves_custom_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L410", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_readme_fields_json_missing_required_field_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_equipment_json_round_trips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L437", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_equipment_json_missing_required_field_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L449", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_test_runs_json_round_trips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L462", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_test_runs_json_missing_required_field_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L478", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_creation_json_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L556", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L601", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_lims_project_block_source_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L633", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_template_block_run_scope_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L659", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_plugin_applied_status_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L675", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_test_runs_json_default_run_kind_serializes_as_test" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L692", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_test_runs_json_explicit_run_kind_round_trips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L706", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_creation_json_default_sync_status_omitted_on_encode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L716", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_lims_project_block_default_source_omitted_on_encode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L747", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_schemas_py", - "target": "api_test_schemas_test_lims_project_status_round_trip" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_1", - "target": "tests_unit_api_test_schemas_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_creation_json_round_trips_through_msgspec", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_creation_json_round_trip_preserves_lims_project_subfields", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_creation_json_round_trip_preserves_orchestrator_block", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_creation_json_orchestrator_block_omitted_when_none", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_creation_json_default_sync_status_is_pending", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_creation_json_default_validation_overrides_is_empty_list", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L709", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_test_creation_json_default_sync_status_omitted_on_encode", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_54", - "target": "api_test_schemas_minimal_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L61", - "weight": 1.0, - "source": "api_test_schemas_minimal_creation_json", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L66", - "weight": 1.0, - "source": "api_test_schemas_minimal_creation_json", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L73", - "weight": 1.0, - "source": "api_test_schemas_minimal_creation_json", - "target": "api_schemas_pathsblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L79", - "weight": 1.0, - "source": "api_test_schemas_minimal_creation_json", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L96", - "weight": 1.0, - "source": "api_test_schemas_test_creation_json_round_trip_preserves_lims_project_subfields", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L113", - "weight": 1.0, - "source": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L118", - "weight": 1.0, - "source": "api_test_schemas_test_creation_json_round_trip_preserves_plugins_applied_with_isolation", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L133", - "weight": 1.0, - "source": "api_test_schemas_test_creation_json_round_trip_preserves_orchestrator_block", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_145", - "target": "api_test_schemas_test_creation_json_orchestrator_block_omitted_when_none" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_152", - "target": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L157", - "weight": 1.0, - "source": "api_test_schemas_test_orchestrator_block_carries_relay_discovery_field", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_171", - "target": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L173", - "weight": 1.0, - "source": "api_test_schemas_test_orchestrator_block_relay_field_defaults_to_none", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_207", - "target": "api_test_schemas_test_creation_json_missing_lims_project_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_233", - "target": "api_test_schemas_test_creation_json_unknown_field_is_ignored_on_decode" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_269", - "target": "api_test_schemas_test_override_entry_to_dict_emits_revoked_field_explicitly" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L271", - "weight": 1.0, - "source": "api_test_schemas_test_override_entry_to_dict_emits_revoked_field_explicitly", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L278", - "weight": 1.0, - "source": "api_test_schemas_test_override_entry_to_dict_emits_revoked_field_explicitly", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L284", - "weight": 1.0, - "source": "api_test_schemas_test_tombstone_entry_to_dict_emits_revoked_field_explicitly", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L291", - "weight": 1.0, - "source": "api_test_schemas_test_tombstone_entry_to_dict_emits_revoked_field_explicitly", - "target": "api_schemas_tombstone_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L297", - "weight": 1.0, - "source": "api_test_schemas_test_parse_validation_override_entry_returns_override_for_revoked_false", - "target": "api_schemas_parse_validation_override_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L312", - "weight": 1.0, - "source": "api_test_schemas_test_parse_validation_override_entry_returns_tombstone_for_revoked_true", - "target": "api_schemas_parse_validation_override_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L329", - "weight": 1.0, - "source": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L330", - "weight": 1.0, - "source": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L338", - "weight": 1.0, - "source": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", - "target": "api_schemas_tombstone_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L339", - "weight": 1.0, - "source": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L352", - "weight": 1.0, - "source": "api_test_schemas_test_creation_json_decodes_validation_overrides_as_list_of_dict", - "target": "api_schemas_parse_validation_override_entry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L364", - "weight": 1.0, - "source": "api_test_schemas_test_readme_fields_json_round_trips", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L380", - "weight": 1.0, - "source": "api_test_schemas_test_readme_fields_json_optional_fields_default_to_empty", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L392", - "weight": 1.0, - "source": "api_test_schemas_test_readme_fields_json_round_trip_preserves_custom_fields", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L423", - "weight": 1.0, - "source": "api_test_schemas_test_equipment_json_round_trips", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_479", - "target": "api_test_schemas_creation_json_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L563", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_563", - "target": "api_test_schemas_test_strenum_field_round_trip_preserves_wire_format" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L676", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_676", - "target": "api_test_schemas_test_test_runs_json_default_run_kind_serializes_as_test" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L707", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_707", - "target": "api_test_schemas_test_creation_json_default_sync_status_omitted_on_encode" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L717", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_schemas_rationale_717", - "target": "api_test_schemas_test_lims_project_block_default_source_omitted_on_encode" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_schemas.py", - "source_location": "L719", - "weight": 1.0, - "source": "api_test_schemas_test_lims_project_block_default_source_omitted_on_encode", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_health_py", - "target": "api_test_health_ready_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_health_py", - "target": "api_test_health_test_health_endpoint_status_ok_with_no_deps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_health_py", - "target": "api_test_health_test_health_endpoint_warn_when_lims_unreachable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_health_py", - "target": "api_test_health_test_health_components_pluck_snapshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_health_py", - "target": "api_test_health_test_top_level_status_aggregates" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_health_py", - "target": "api_test_health_test_component_rollup_handles_none_deps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_health_py", - "target": "api_test_health_test_health_with_validator_last_audit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_health_py", - "target": "api_test_health_test_health_nas_sync_snapshot_failure_marked_warn" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_health_rationale_1", - "target": "tests_unit_api_test_health_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_health_test_health_endpoint_status_ok_with_no_deps", - "target": "api_test_health_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_health_test_health_endpoint_warn_when_lims_unreachable", - "target": "api_test_health_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_health_test_health_components_pluck_snapshots", - "target": "api_test_health_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_health_test_health_with_validator_last_audit", - "target": "api_test_health_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_health.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_health_test_health_nas_sync_snapshot_failure_marked_warn", - "target": "api_test_health_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L23", - "weight": 1.0, - "source": "api_test_health_ready_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L25", - "weight": 1.0, - "source": "api_test_health_ready_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L38", - "weight": 1.0, - "source": "api_test_health_ready_config", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L39", - "weight": 1.0, - "source": "api_test_health_ready_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L34", - "weight": 1.0, - "source": "api_test_health_ready_config", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L30", - "weight": 1.0, - "source": "api_test_health_ready_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L44", - "weight": 1.0, - "source": "api_test_health_test_health_endpoint_status_ok_with_no_deps", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L45", - "weight": 1.0, - "source": "api_test_health_test_health_endpoint_status_ok_with_no_deps", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L56", - "weight": 1.0, - "source": "api_test_health_test_health_endpoint_warn_when_lims_unreachable", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L59", - "weight": 1.0, - "source": "api_test_health_test_health_endpoint_warn_when_lims_unreachable", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L67", - "weight": 1.0, - "source": "api_test_health_test_health_components_pluck_snapshots", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L73", - "weight": 1.0, - "source": "api_test_health_test_health_components_pluck_snapshots", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L83", - "weight": 1.0, - "source": "api_test_health_test_top_level_status_aggregates", - "target": "api_health_top_level_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L89", - "weight": 1.0, - "source": "api_test_health_test_component_rollup_handles_none_deps", - "target": "api_health_component_rollup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L94", - "weight": 1.0, - "source": "api_test_health_test_health_with_validator_last_audit", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L97", - "weight": 1.0, - "source": "api_test_health_test_health_with_validator_last_audit", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L107", - "weight": 1.0, - "source": "api_test_health_test_health_nas_sync_snapshot_failure_marked_warn", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_health.py", - "source_location": "L110", - "weight": 1.0, - "source": "api_test_health_test_health_nas_sync_snapshot_failure_marked_warn", - "target": "api_app_create_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_handle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_stubnassync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_seed_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_write_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_seed_real_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_mark_synced" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_clear_returns_no_503_when_run_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_get_staging_returns_run_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_clear_endpoint_deletes_synced_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L284", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_keep_local_toggles_sync_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_keep_local_toggle_off_round_trips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L407", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L421", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L433", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_keep_local_rejects_extra_body_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L447", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L468", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L486", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_staging_router_py", - "target": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_1", - "target": "tests_unit_api_test_staging_router_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_stubnassync_enqueue", - "target": "api_test_staging_router_handle" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_handle", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_stubnassync", - "target": "api_test_staging_router_stubnassync_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_stubnassync", - "target": "api_test_staging_router_stubnassync_enqueue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", - "target": "api_test_staging_router_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", - "target": "api_test_staging_router_stubnassync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_41", - "target": "api_test_staging_router_stubnassync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "api_schemas_templateblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_42", - "target": "api_test_staging_router_stubnassync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_staging_router_stubnassync", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_run_rows", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L250", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L298", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L370", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_toggles_sync_state", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_toggle_off_round_trips", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L410", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L436", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L455", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L491", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", - "target": "api_test_staging_router_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L54", - "weight": 1.0, - "source": "api_test_staging_router_make_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L56", - "weight": 1.0, - "source": "api_test_staging_router_make_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L69", - "weight": 1.0, - "source": "api_test_staging_router_make_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L72", - "weight": 1.0, - "source": "api_test_staging_router_make_config", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L61", - "weight": 1.0, - "source": "api_test_staging_router_make_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_seed_real_run", - "target": "api_test_staging_router_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_run_rows", - "target": "api_test_staging_router_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", - "target": "api_test_staging_router_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", - "target": "api_test_staging_router_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L264", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", - "target": "api_test_staging_router_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", - "target": "api_test_staging_router_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L316", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", - "target": "api_test_staging_router_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L471", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", - "target": "api_test_staging_router_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_seed_real_run", - "target": "api_test_staging_router_write_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_84", - "target": "api_test_staging_router_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L109", - "weight": 1.0, - "source": "api_test_staging_router_write_creation_json", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L115", - "weight": 1.0, - "source": "api_test_staging_router_write_creation_json", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L118", - "weight": 1.0, - "source": "api_test_staging_router_write_creation_json", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L122", - "weight": 1.0, - "source": "api_test_staging_router_write_creation_json", - "target": "api_schemas_pathsblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_91", - "target": "api_test_staging_router_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_toggles_sync_state", - "target": "api_test_staging_router_seed_real_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_toggle_off_round_trips", - "target": "api_test_staging_router_seed_real_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L409", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", - "target": "api_test_staging_router_seed_real_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", - "target": "api_test_staging_router_seed_real_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L490", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", - "target": "api_test_staging_router_seed_real_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_127", - "target": "api_test_staging_router_seed_real_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_134", - "target": "api_test_staging_router_seed_real_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", - "target": "api_test_staging_router_mark_synced" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", - "target": "api_test_staging_router_mark_synced" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", - "target": "api_test_staging_router_mark_synced" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_134", - "target": "api_test_staging_router_mark_synced" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L142", - "weight": 1.0, - "source": "api_test_staging_router_mark_synced", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_141", - "target": "api_test_staging_router_mark_synced" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L157", - "weight": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L158", - "weight": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_empty_when_staging_root_unset", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L167", - "weight": 1.0, - "source": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L168", - "weight": 1.0, - "source": "api_test_staging_router_test_force_sync_returns_no_503_when_run_missing", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L176", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L177", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_returns_no_503_when_run_missing", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L191", - "weight": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_run_rows", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L191", - "weight": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_run_rows", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L192", - "weight": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_run_rows", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L212", - "weight": 1.0, - "source": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L212", - "weight": 1.0, - "source": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L213", - "weight": 1.0, - "source": "api_test_staging_router_test_get_staging_derives_current_state_from_sync_state_rollup", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L221", - "weight": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L222", - "weight": 1.0, - "source": "api_test_staging_router_test_get_staging_returns_empty_runs_for_missing_root", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L238", - "weight": 1.0, - "source": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L239", - "weight": 1.0, - "source": "api_test_staging_router_test_force_sync_invokes_nas_sync_enqueue", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L251", - "weight": 1.0, - "source": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L252", - "weight": 1.0, - "source": "api_test_staging_router_test_force_sync_returns_503_when_nas_sync_unwired", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L267", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L267", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L268", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_deletes_synced_run", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L287", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L287", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L288", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_rejects_non_synced_run", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_290", - "target": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L299", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L300", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_297", - "target": "api_test_staging_router_test_clear_endpoint_idempotent_for_missing_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L308", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_308", - "target": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L324", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L324", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L325", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_315", - "target": "api_test_staging_router_test_clear_verified_endpoint_clears_only_synced_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_334", - "target": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L343", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L344", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L341", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_341", - "target": "api_test_staging_router_test_clear_verified_endpoint_returns_empty_when_no_verified_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_345", - "target": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L354", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L355", - "weight": 1.0, - "source": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_352", - "target": "api_test_staging_router_test_clear_verified_endpoint_returns_503_when_config_unwired" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_360", - "target": "api_test_staging_router_test_keep_local_toggles_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L369", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_toggles_sync_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L371", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_toggles_sync_state", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L372", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_toggles_sync_state", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L367", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_367", - "target": "api_test_staging_router_test_keep_local_toggles_sync_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L383", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_383", - "target": "api_test_staging_router_test_keep_local_toggle_off_round_trips" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L392", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_toggle_off_round_trips", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L395", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_toggle_off_round_trips", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L396", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_toggle_off_round_trips", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L390", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_390", - "target": "api_test_staging_router_test_keep_local_toggle_off_round_trips" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_401", - "target": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L411", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L412", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L408", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_408", - "target": "api_test_staging_router_test_keep_local_returns_503_when_writer_unwired" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L415", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_415", - "target": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L423", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L424", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_422", - "target": "api_test_staging_router_test_keep_local_returns_503_when_config_unwired" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L427", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_427", - "target": "api_test_staging_router_test_keep_local_rejects_extra_body_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L437", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L437", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L438", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_rejects_extra_body_fields", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L434", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_434", - "target": "api_test_staging_router_test_keep_local_rejects_extra_body_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L441", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_441", - "target": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L456", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L456", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L457", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_448", - "target": "api_test_staging_router_test_keep_local_returns_404_for_path_outside_allowed_roots" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L462", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_462", - "target": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L473", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L474", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L475", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L469", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_469", - "target": "api_test_staging_router_test_keep_local_returns_404_when_run_has_no_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L480", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_480", - "target": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L492", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L493", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L494", - "weight": 1.0, - "source": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_staging_router.py", - "source_location": "L487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_staging_router_rationale_487", - "target": "api_test_staging_router_test_keep_local_creates_sync_state_when_cache_dir_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_phase_event_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_progress_event_includes_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_input_required_event_carries_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_warning_event_serializes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_done_event_carries_result" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_failed_event_carries_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_snapshot_event_lists_findings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_delta_event_serializes_three_lists" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_event_from_dict_round_trips_each_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_event_from_dict_rejects_unknown_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_events_py", - "target": "api_test_events_test_event_from_dict_rejects_missing_kind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_events.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_events_rationale_1", - "target": "tests_unit_api_test_events_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L25", - "weight": 1.0, - "source": "api_test_events_test_phase_event_round_trip", - "target": "api_events_phaseevent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L26", - "weight": 1.0, - "source": "api_test_events_test_phase_event_round_trip", - "target": "api_events_encode_event" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L35", - "weight": 1.0, - "source": "api_test_events_test_progress_event_includes_kind", - "target": "api_events_progressevent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L36", - "weight": 1.0, - "source": "api_test_events_test_progress_event_includes_kind", - "target": "api_events_encode_event" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L42", - "weight": 1.0, - "source": "api_test_events_test_input_required_event_carries_fields", - "target": "api_events_inputrequiredevent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L47", - "weight": 1.0, - "source": "api_test_events_test_input_required_event_carries_fields", - "target": "api_events_encode_event" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L53", - "weight": 1.0, - "source": "api_test_events_test_warning_event_serializes", - "target": "api_events_warningevent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L54", - "weight": 1.0, - "source": "api_test_events_test_warning_event_serializes", - "target": "api_events_encode_event" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L63", - "weight": 1.0, - "source": "api_test_events_test_done_event_carries_result", - "target": "api_events_doneevent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L64", - "weight": 1.0, - "source": "api_test_events_test_done_event_carries_result", - "target": "api_events_encode_event" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L70", - "weight": 1.0, - "source": "api_test_events_test_failed_event_carries_error", - "target": "api_events_failedevent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L71", - "weight": 1.0, - "source": "api_test_events_test_failed_event_carries_error", - "target": "api_events_encode_event" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L77", - "weight": 1.0, - "source": "api_test_events_test_snapshot_event_lists_findings", - "target": "api_events_snapshotevent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L80", - "weight": 1.0, - "source": "api_test_events_test_snapshot_event_lists_findings", - "target": "api_events_encode_event" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L86", - "weight": 1.0, - "source": "api_test_events_test_delta_event_serializes_three_lists", - "target": "api_events_deltaevent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L87", - "weight": 1.0, - "source": "api_test_events_test_delta_event_serializes_three_lists", - "target": "api_events_encode_event" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L104", - "weight": 1.0, - "source": "api_test_events_test_event_from_dict_round_trips_each_kind", - "target": "api_events_event_from_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L113", - "weight": 1.0, - "source": "api_test_events_test_event_from_dict_rejects_unknown_kind", - "target": "api_events_event_from_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_events.py", - "source_location": "L118", - "weight": 1.0, - "source": "api_test_events_test_event_from_dict_rejects_missing_kind", - "target": "api_events_event_from_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_ready_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_findings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_write_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_list_problems_returns_findings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_list_problems_filters_by_severity" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_list_problems_filters_by_class" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_list_problems_with_equipment_scope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_list_problems_unknown_scope_returns_422" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_refresh_runs_audit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_append_override_writes_entry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_append_override_404_when_path_absent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L258", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_problems_websocket_closes_when_no_channel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_refresh_publishes_snapshot_to_channel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_problems_py", - "target": "api_test_problems_test_revoke_override_writes_tombstone" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_rationale_1", - "target": "tests_unit_api_test_problems_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_stubvalidator", - "target": "api_test_problems_stubvalidator_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_stubvalidator", - "target": "api_test_problems_stubvalidator_query_problems" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_stubvalidator", - "target": "api_test_problems_stubvalidator_audit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_returns_findings", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_filters_by_severity", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_filters_by_class", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_with_equipment_scope", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_unknown_scope_returns_422", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_refresh_runs_audit", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_append_override_writes_entry", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_append_override_404_when_path_absent", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L287", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_problems_websocket_closes_when_no_channel", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_refresh_publishes_snapshot_to_channel", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_revoke_override_writes_tombstone", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_rationale_39", - "target": "api_test_problems_stubvalidator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L14", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L14", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L14", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L14", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L35", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L21", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_problems_stubvalidator", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_returns_findings", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_filters_by_severity", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_filters_by_class", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_with_equipment_scope", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_unknown_scope_returns_422", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_refresh_runs_audit", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_append_override_writes_entry", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L242", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_append_override_404_when_path_absent", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_problems_websocket_closes_when_no_channel", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_refresh_publishes_snapshot_to_channel", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_revoke_override_writes_tombstone", - "target": "api_test_problems_ready_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L55", - "weight": 1.0, - "source": "api_test_problems_ready_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L59", - "weight": 1.0, - "source": "api_test_problems_ready_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L72", - "weight": 1.0, - "source": "api_test_problems_ready_config", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L73", - "weight": 1.0, - "source": "api_test_problems_ready_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L68", - "weight": 1.0, - "source": "api_test_problems_ready_config", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L64", - "weight": 1.0, - "source": "api_test_problems_ready_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_returns_findings", - "target": "api_test_problems_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_filters_by_severity", - "target": "api_test_problems_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_filters_by_class", - "target": "api_test_problems_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_list_problems_with_equipment_scope", - "target": "api_test_problems_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_refresh_runs_audit", - "target": "api_test_problems_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", - "target": "api_test_problems_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_refresh_publishes_snapshot_to_channel", - "target": "api_test_problems_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_append_override_writes_entry", - "target": "api_test_problems_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_test_revoke_override_writes_tombstone", - "target": "api_test_problems_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L102", - "weight": 1.0, - "source": "api_test_problems_write_creation_json", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L108", - "weight": 1.0, - "source": "api_test_problems_write_creation_json", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L111", - "weight": 1.0, - "source": "api_test_problems_write_creation_json", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L115", - "weight": 1.0, - "source": "api_test_problems_write_creation_json", - "target": "api_schemas_pathsblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L122", - "weight": 1.0, - "source": "api_test_problems_test_list_problems_returns_findings", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L127", - "weight": 1.0, - "source": "api_test_problems_test_list_problems_returns_findings", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L139", - "weight": 1.0, - "source": "api_test_problems_test_list_problems_filters_by_severity", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L144", - "weight": 1.0, - "source": "api_test_problems_test_list_problems_filters_by_severity", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L152", - "weight": 1.0, - "source": "api_test_problems_test_list_problems_filters_by_class", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L157", - "weight": 1.0, - "source": "api_test_problems_test_list_problems_filters_by_class", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L165", - "weight": 1.0, - "source": "api_test_problems_test_list_problems_with_equipment_scope", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L170", - "weight": 1.0, - "source": "api_test_problems_test_list_problems_with_equipment_scope", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L177", - "weight": 1.0, - "source": "api_test_problems_test_list_problems_unknown_scope_returns_422", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L182", - "weight": 1.0, - "source": "api_test_problems_test_list_problems_unknown_scope_returns_422", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L192", - "weight": 1.0, - "source": "api_test_problems_test_refresh_runs_audit", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L195", - "weight": 1.0, - "source": "api_test_problems_test_refresh_runs_audit", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L209", - "weight": 1.0, - "source": "api_test_problems_test_append_override_writes_entry", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L210", - "weight": 1.0, - "source": "api_test_problems_test_append_override_writes_entry", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L216", - "weight": 1.0, - "source": "api_test_problems_test_append_override_writes_entry", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L240", - "weight": 1.0, - "source": "api_test_problems_test_append_override_404_when_path_absent", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L241", - "weight": 1.0, - "source": "api_test_problems_test_append_override_404_when_path_absent", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L247", - "weight": 1.0, - "source": "api_test_problems_test_append_override_404_when_path_absent", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_rationale_245", - "target": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L266", - "weight": 1.0, - "source": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L270", - "weight": 1.0, - "source": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", - "target": "api_app_auditchannel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L272", - "weight": 1.0, - "source": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_rationale_259", - "target": "api_test_problems_test_problems_websocket_sends_snapshot_on_connect" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_rationale_266", - "target": "api_test_problems_test_problems_websocket_closes_when_no_channel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L284", - "weight": 1.0, - "source": "api_test_problems_test_problems_websocket_closes_when_no_channel", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L290", - "weight": 1.0, - "source": "api_test_problems_test_problems_websocket_closes_when_no_channel", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L281", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_rationale_281", - "target": "api_test_problems_test_problems_websocket_closes_when_no_channel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_rationale_286", - "target": "api_test_problems_test_refresh_publishes_snapshot_to_channel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L307", - "weight": 1.0, - "source": "api_test_problems_test_refresh_publishes_snapshot_to_channel", - "target": "api_app_auditchannel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L308", - "weight": 1.0, - "source": "api_test_problems_test_refresh_publishes_snapshot_to_channel", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L314", - "weight": 1.0, - "source": "api_test_problems_test_refresh_publishes_snapshot_to_channel", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_problems_rationale_302", - "target": "api_test_problems_test_refresh_publishes_snapshot_to_channel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L327", - "weight": 1.0, - "source": "api_test_problems_test_revoke_override_writes_tombstone", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L328", - "weight": 1.0, - "source": "api_test_problems_test_revoke_override_writes_tombstone", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_problems.py", - "source_location": "L334", - "weight": 1.0, - "source": "api_test_problems_test_revoke_override_writes_tombstone", - "target": "api_app_create_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_f" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_test_diff_findings_added_removed_changed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_test_finding_to_dict_handles_dataclass_and_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_test_audit_channel_publishes_delta" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_test_audit_channel_close_signals_subscribers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_test_create_app_uses_supplied_dependencies" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_test_create_app_creates_default_dependencies" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_test_create_app_attaches_audit_channel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_api_test_app_py", - "target": "api_test_app_test_lifespan_starts_and_stops_audit_task" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_app_rationale_1", - "target": "tests_unit_api_test_app_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_app_f", - "target": "api_test_app_f_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_app_test_diff_findings_added_removed_changed", - "target": "api_test_app_f" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_app_rationale_22", - "target": "api_test_app_f" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L11", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_app_f", - "target": "api_app_appdependencies" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L11", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_app_f", - "target": "api_app_auditchannel" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_test_app_f", - "target": "config_models_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L42", - "weight": 1.0, - "source": "api_test_app_test_diff_findings_added_removed_changed", - "target": "api_app_diff_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L51", - "weight": 1.0, - "source": "api_test_app_test_finding_to_dict_handles_dataclass_and_dict", - "target": "api_app_finding_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L58", - "weight": 1.0, - "source": "api_test_app_test_audit_channel_publishes_snapshot_to_subscriber", - "target": "api_app_auditchannel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L79", - "weight": 1.0, - "source": "api_test_app_test_audit_channel_publishes_delta", - "target": "api_app_auditchannel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L102", - "weight": 1.0, - "source": "api_test_app_test_audit_channel_late_subscribe_receives_latest_snapshot", - "target": "api_app_auditchannel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L120", - "weight": 1.0, - "source": "api_test_app_test_audit_channel_close_signals_subscribers", - "target": "api_app_auditchannel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L136", - "weight": 1.0, - "source": "api_test_app_test_create_app_uses_supplied_dependencies", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L137", - "weight": 1.0, - "source": "api_test_app_test_create_app_uses_supplied_dependencies", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L142", - "weight": 1.0, - "source": "api_test_app_test_create_app_creates_default_dependencies", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L148", - "weight": 1.0, - "source": "api_test_app_test_create_app_attaches_audit_channel", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L149", - "weight": 1.0, - "source": "api_test_app_test_create_app_attaches_audit_channel", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_app.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_app_rationale_155", - "target": "api_test_app_test_lifespan_starts_and_stops_audit_task" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L164", - "weight": 1.0, - "source": "api_test_app_test_lifespan_starts_and_stops_audit_task", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_app.py", - "source_location": "L165", - "weight": 1.0, - "source": "api_test_app_test_lifespan_starts_and_stops_audit_task", - "target": "api_app_create_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L10", - "weight": 1.0, - "source": "tests_unit_dev_test_seed_py", - "target": "dev_test_seed_sandbox_under", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L31", - "weight": 1.0, - "source": "tests_unit_dev_test_seed_py", - "target": "dev_test_seed_test_seed_main_creates_full_tree", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L59", - "weight": 1.0, - "source": "tests_unit_dev_test_seed_py", - "target": "dev_test_seed_test_seed_main_wipes_and_rebuilds", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L1", - "weight": 1.0, - "source": "dev_test_seed_rationale_1", - "target": "tests_unit_dev_test_seed_py", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L37", - "weight": 1.0, - "source": "dev_test_seed_test_seed_main_creates_full_tree", - "target": "dev_test_seed_sandbox_under", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L64", - "weight": 1.0, - "source": "dev_test_seed_test_seed_main_wipes_and_rebuilds", - "target": "dev_test_seed_sandbox_under", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L11", - "weight": 1.0, - "source": "dev_test_seed_rationale_11", - "target": "dev_test_seed_sandbox_under", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L32", - "weight": 1.0, - "source": "dev_test_seed_rationale_32", - "target": "dev_test_seed_test_seed_main_creates_full_tree", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L56", - "weight": 1.0, - "source": "dev_test_seed_test_seed_main_creates_full_tree", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/dev/test_seed.py", - "source_location": "L60", - "weight": 1.0, - "source": "dev_test_seed_rationale_60", - "target": "dev_test_seed_test_seed_main_wipes_and_rebuilds", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_make_creation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L387", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L423", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L465", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_client" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L475", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L504", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L537", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L563", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L580", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L594", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L634", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L677", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L734", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L727", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_runs_hash_gate_before_delete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L778", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_aborts_delete_on_hash_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L818", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_cleanup_aborts_delete_when_remote_file_vanished_at_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L871", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L895", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_network_error_records_backoff_retry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L929", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L963", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L981", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L995", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1027", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_partial_batch_credits_reconciled_files_in_sync_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1083", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_1", - "target": "tests_unit_sync_test_nas_client_extra_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_stubkeyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_build_transport_driver_sftp" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_build_transport_driver_smb" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L780", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L831", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L945", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1026", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_extra_py", - "target": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L425", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L522", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L551", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L570", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L588", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L598", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L638", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L687", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L736", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L734", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_runs_hash_gate_before_delete", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L780", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_on_hash_mismatch", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L833", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_when_remote_file_vanished_at_gate", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L896", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L965", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L983", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L998", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1040", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_reconciled_files_in_sync_state", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1087", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L68", - "weight": 1.0, - "source": "sync_test_nas_client_extra_build_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L70", - "weight": 1.0, - "source": "sync_test_nas_client_extra_build_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L78", - "weight": 1.0, - "source": "sync_test_nas_client_extra_build_config", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L784", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L835", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1033", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", - "target": "sync_test_nas_client_extra_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L60", - "weight": 1.0, - "source": "sync_test_nas_client_extra_build_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L65", - "weight": 1.0, - "source": "sync_test_nas_client_extra_build_config", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_populate_run", - "target": "sync_test_nas_client_extra_make_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L88", - "weight": 1.0, - "source": "sync_test_nas_client_extra_make_creation", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L94", - "weight": 1.0, - "source": "sync_test_nas_client_extra_make_creation", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L95", - "weight": 1.0, - "source": "sync_test_nas_client_extra_make_creation", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L97", - "weight": 1.0, - "source": "sync_test_nas_client_extra_make_creation", - "target": "api_schemas_pathsblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L390", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L426", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L599", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L639", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L688", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L737", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L735", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_runs_hash_gate_before_delete", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L781", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_on_hash_mismatch", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L834", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_when_remote_file_vanished_at_gate", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L897", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1041", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_reconciled_files_in_sync_state", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1088", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L785", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L836", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1034", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", - "target": "sync_test_nas_client_extra_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L253", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L365", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L439", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L612", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L656", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L705", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L754", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L756", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_runs_hash_gate_before_delete", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L792", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_on_hash_mismatch", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L863", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_when_remote_file_vanished_at_gate", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L910", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1054", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_reconciled_files_in_sync_state", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L809", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L853", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1047", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", - "target": "sync_test_nas_client_extra_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_115", - "target": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L189", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L202", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L145", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L213", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_181", - "target": "sync_test_nas_client_extra_test_hash_mismatch_first_failure_retries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_171", - "target": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L241", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L248", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_238", - "target": "sync_test_nas_client_extra_test_hash_mismatch_second_failure_terminal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_209", - "target": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L279", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L286", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L225", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L292", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_276", - "target": "sync_test_nas_client_extra_test_cleanup_full_delete_when_retain_cache_false" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_246", - "target": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L315", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L322", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L262", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L328", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_312", - "target": "sync_test_nas_client_extra_test_cleanup_retain_cache_keeps_metadata" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_285", - "target": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L353", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L360", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L301", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L366", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L350", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_350", - "target": "sync_test_nas_client_extra_test_cleanup_disabled_keeps_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_324", - "target": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L391", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L398", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L340", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L404", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L388", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_388", - "target": "sync_test_nas_client_extra_test_cleanup_eligible_when_min_verify_passes_unmet" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L361", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_361", - "target": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L427", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L434", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L377", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L440", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_424", - "target": "sync_test_nas_client_extra_test_cleanup_blocked_by_remote_stat" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L490", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested", - "target": "sync_test_nas_client_extra_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L523", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file", - "target": "sync_test_nas_client_extra_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L552", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink", - "target": "sync_test_nas_client_extra_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L571", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false", - "target": "sync_test_nas_client_extra_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L589", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local", - "target": "sync_test_nas_client_extra_client" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L404", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_404", - "target": "sync_test_nas_client_extra_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L467", - "weight": 1.0, - "source": "sync_test_nas_client_extra_client", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L471", - "weight": 1.0, - "source": "sync_test_nas_client_extra_client", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_466", - "target": "sync_test_nas_client_extra_client" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L414", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_414", - "target": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_476", - "target": "sync_test_nas_client_extra_test_delete_local_skips_keep_local_files_incl_nested" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L443", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_443", - "target": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L505", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_505", - "target": "sync_test_nas_client_extra_test_delete_local_prunes_emptied_dirs_keeps_dir_with_kept_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_476", - "target": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L538", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_538", - "target": "sync_test_nas_client_extra_test_delete_local_does_not_descend_or_remove_directory_symlink" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L502", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_502", - "target": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L564", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_564", - "target": "sync_test_nas_client_extra_test_delete_local_keep_local_survives_retain_cache_false" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L521", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_521", - "target": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L583", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_583", - "target": "sync_test_nas_client_extra_test_delete_local_retain_cache_false_drops_whole_run_without_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L533", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_533", - "target": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L600", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L607", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L551", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L613", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L629", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L595", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_595", - "target": "sync_test_nas_client_extra_test_cleanup_marks_cleared_in_sync_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L574", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_574", - "target": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L640", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L641", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L650", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L596", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L657", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L635", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_635", - "target": "sync_test_nas_client_extra_test_cleanup_keeps_keep_local_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L618", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_618", - "target": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L689", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L690", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L699", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L646", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L706", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L678", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_678", - "target": "sync_test_nas_client_extra_test_cleanup_deferred_when_run_only_partially_synced" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L676", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_676", - "target": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L738", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L749", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L735", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_735", - "target": "sync_test_nas_client_extra_test_worker_marks_failed_when_local_run_vanished" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L728", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_728", - "target": "sync_test_nas_client_extra_test_cleanup_runs_hash_gate_before_delete" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L736", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_runs_hash_gate_before_delete", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L751", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_runs_hash_gate_before_delete", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L757", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_runs_hash_gate_before_delete", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L779", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_779", - "target": "sync_test_nas_client_extra_test_cleanup_aborts_delete_on_hash_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L782", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_on_hash_mismatch", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L787", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_on_hash_mismatch", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L793", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_on_hash_mismatch", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L796", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_on_hash_mismatch", - "target": "sync_helpers_corrupt_one_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L819", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_819", - "target": "sync_test_nas_client_extra_test_cleanup_aborts_delete_when_remote_file_vanished_at_gate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L835", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_when_remote_file_vanished_at_gate", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L858", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_when_remote_file_vanished_at_gate", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L865", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_cleanup_aborts_delete_when_remote_file_vanished_at_gate", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L889", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_889", - "target": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L879", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L880", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L872", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_872", - "target": "sync_test_nas_client_extra_test_default_push_factory_uses_real_driver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L898", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L905", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_network_error_records_backoff_retry", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L949", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_949", - "target": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L931", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L937", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L938", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L940", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty", - "target": "api_schemas_pathsblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L930", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_930", - "target": "sync_test_nas_client_extra_test_compute_nas_path_returns_none_when_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L965", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_965", - "target": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L966", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L967", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L964", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_964", - "target": "sync_test_nas_client_extra_test_mark_synced_no_op_when_creation_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L983", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_983", - "target": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L984", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L985", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L982", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_982", - "target": "sync_test_nas_client_extra_test_delete_local_no_op_when_path_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L997", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_997", - "target": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L999", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1000", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1006", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1012", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1013", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1015", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first", - "target": "api_schemas_pathsblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L996", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_996", - "target": "sync_test_nas_client_extra_test_infer_equipment_id_falls_back_to_first" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1028", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_1028", - "target": "sync_test_nas_client_extra_test_partial_batch_credits_reconciled_files_in_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1042", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_reconciled_files_in_sync_state", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1043", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_reconciled_files_in_sync_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1048", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_reconciled_files_in_sync_state", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1057", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_reconciled_files_in_sync_state", - "target": "sync_helpers_missing_one_lsjson_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1099", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_1099", - "target": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1089", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1090", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1095", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1117", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1102", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1084", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_1084", - "target": "sync_test_nas_client_extra_test_full_batch_credits_every_file_in_sync_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_stub_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_record_argv" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_read_recorded_argvs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_push_success" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_push_network_error_is_retryable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_push_auth_error_is_terminal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_push_hash_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_push_missing_binary_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_argv_includes_checksum_flag" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_argv_includes_files_from_when_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_argv_omits_files_from_when_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_about_success" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_about_auth_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_parse_combined_handles_all_prefixes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_parse_combined_empty_returns_empty_result" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L305", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_parse_combined_tolerates_blank_lines_and_unknown_prefix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_push_argv_includes_config_and_perf" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_lsjson_argv_is_recursive_readonly" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L308", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_lsjson_raises_transport_error_on_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_listremotes_parses_lines" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_listremotes_empty_on_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L347", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_classify_failure_unknown_when_rc_zero_and_no_markers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L357", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_check_missing_binary_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L369", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_check_auth_failure_with_no_combined_output_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L383", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_check_unreadable_combined_file_is_tolerated" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L405", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_about_missing_binary_returns_not_ok" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L415", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_about_malformed_json_is_ok_with_empty_info" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L431", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_lsjson_missing_binary_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_1", - "target": "tests_unit_sync_test_transports_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_rclone_push_forwards_env" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_obscure_returns_stdout_stripped" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L257", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_transports_py", - "target": "sync_test_transports_test_obscure_missing_binary_raises_auth" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_35", - "target": "sync_test_transports_stub_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_34", - "target": "sync_test_transports_stub_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_49", - "target": "sync_test_transports_record_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_48", - "target": "sync_test_transports_record_argv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_test_rclone_argv_includes_checksum_flag", - "target": "sync_test_transports_read_recorded_argvs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", - "target": "sync_test_transports_read_recorded_argvs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none", - "target": "sync_test_transports_read_recorded_argvs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", - "target": "sync_test_transports_read_recorded_argvs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_test_rclone_argv_omits_files_from_when_none", - "target": "sync_test_transports_read_recorded_argvs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_56", - "target": "sync_test_transports_read_recorded_argvs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_55", - "target": "sync_test_transports_read_recorded_argvs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L73", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_push_success", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L86", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_push_network_error_is_retryable", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L98", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_push_auth_error_is_terminal", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L110", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_push_hash_mismatch", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_118", - "target": "sync_test_transports_test_rclone_push_missing_binary_raises" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L118", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_push_missing_binary_raises", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_117", - "target": "sync_test_transports_test_rclone_push_missing_binary_raises" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L169", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_argv_includes_checksum_flag", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L185", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_argv_includes_bwlimit_when_set", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L202", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_argv_omits_bwlimit_when_none", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L219", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_argv_includes_files_from_when_set", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L236", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_argv_omits_files_from_when_none", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L271", - "weight": 1.0, - "source": "sync_test_transports_test_about_success", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L279", - "weight": 1.0, - "source": "sync_test_transports_test_about_auth_failure", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L293", - "weight": 1.0, - "source": "sync_test_transports_test_parse_combined_handles_all_prefixes", - "target": "transports_rclone_parse_combined" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L302", - "weight": 1.0, - "source": "sync_test_transports_test_parse_combined_empty_returns_empty_result", - "target": "transports_rclone_parse_combined" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L302", - "weight": 1.0, - "source": "sync_test_transports_test_parse_combined_empty_returns_empty_result", - "target": "transports_rclone_checkresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L307", - "weight": 1.0, - "source": "sync_test_transports_test_parse_combined_tolerates_blank_lines_and_unknown_prefix", - "target": "transports_rclone_parse_combined" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L274", - "weight": 1.0, - "source": "sync_test_transports_test_push_argv_includes_config_and_perf", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L300", - "weight": 1.0, - "source": "sync_test_transports_test_lsjson_argv_is_recursive_readonly", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L314", - "weight": 1.0, - "source": "sync_test_transports_test_lsjson_raises_transport_error_on_failure", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L329", - "weight": 1.0, - "source": "sync_test_transports_test_listremotes_parses_lines", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L339", - "weight": 1.0, - "source": "sync_test_transports_test_listremotes_empty_on_failure", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L348", - "weight": 1.0, - "source": "sync_test_transports_test_classify_failure_unknown_when_rc_zero_and_no_markers", - "target": "transports_rclone_classify_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L365", - "weight": 1.0, - "source": "sync_test_transports_test_check_missing_binary_raises", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L378", - "weight": 1.0, - "source": "sync_test_transports_test_check_auth_failure_with_no_combined_output_raises", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L384", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_384", - "target": "sync_test_transports_test_check_unreadable_combined_file_is_tolerated" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L395", - "weight": 1.0, - "source": "sync_test_transports_test_check_unreadable_combined_file_is_tolerated", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L396", - "weight": 1.0, - "source": "sync_test_transports_test_check_unreadable_combined_file_is_tolerated", - "target": "transports_rclone_checkresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L410", - "weight": 1.0, - "source": "sync_test_transports_test_about_missing_binary_returns_not_ok", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L411", - "weight": 1.0, - "source": "sync_test_transports_test_about_missing_binary_returns_not_ok", - "target": "transports_rclone_aboutresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L420", - "weight": 1.0, - "source": "sync_test_transports_test_about_malformed_json_is_ok_with_empty_info", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L437", - "weight": 1.0, - "source": "sync_test_transports_test_lsjson_missing_binary_raises", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_wed_at" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_mbps_to_kibps_uses_spec_formula" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_mbps_to_kibps_floor_for_tiny_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_mbps_to_kibps_zero" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_day_name_to_index_covers_all_days" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_is_window_active_inside_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_is_window_active_outside_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_is_window_active_wrong_weekday" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_effective_unlimited_when_upload_mbps_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_effective_throttled_inside_schedule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_effective_throttled_when_no_schedule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_bandwidth_py", - "target": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_rationale_1", - "target": "tests_unit_sync_test_bandwidth_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_test_is_window_active_inside_window", - "target": "sync_test_bandwidth_wed_at" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_test_is_window_active_outside_window", - "target": "sync_test_bandwidth_wed_at" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_test_is_window_active_wrong_weekday", - "target": "sync_test_bandwidth_wed_at" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_test_effective_unlimited_when_upload_mbps_none", - "target": "sync_test_bandwidth_wed_at" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", - "target": "sync_test_bandwidth_wed_at" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_inside_schedule", - "target": "sync_test_bandwidth_wed_at" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", - "target": "sync_test_bandwidth_wed_at" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", - "target": "sync_test_bandwidth_wed_at" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_rationale_21", - "target": "sync_test_bandwidth_wed_at" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_rationale_26", - "target": "sync_test_bandwidth_test_mbps_to_kibps_uses_spec_formula" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L27", - "weight": 1.0, - "source": "sync_test_bandwidth_test_mbps_to_kibps_uses_spec_formula", - "target": "sync_bandwidth_mbps_to_kibps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_rationale_32", - "target": "sync_test_bandwidth_test_mbps_to_kibps_floor_for_tiny_input" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L33", - "weight": 1.0, - "source": "sync_test_bandwidth_test_mbps_to_kibps_floor_for_tiny_input", - "target": "sync_bandwidth_mbps_to_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L37", - "weight": 1.0, - "source": "sync_test_bandwidth_test_mbps_to_kibps_zero", - "target": "sync_bandwidth_mbps_to_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L48", - "weight": 1.0, - "source": "sync_test_bandwidth_test_is_window_active_inside_window", - "target": "config_models_bandwidthwindow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L49", - "weight": 1.0, - "source": "sync_test_bandwidth_test_is_window_active_inside_window", - "target": "sync_bandwidth_is_window_active" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L53", - "weight": 1.0, - "source": "sync_test_bandwidth_test_is_window_active_outside_window", - "target": "config_models_bandwidthwindow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L54", - "weight": 1.0, - "source": "sync_test_bandwidth_test_is_window_active_outside_window", - "target": "sync_bandwidth_is_window_active" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_rationale_59", - "target": "sync_test_bandwidth_test_is_window_active_wrong_weekday" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L60", - "weight": 1.0, - "source": "sync_test_bandwidth_test_is_window_active_wrong_weekday", - "target": "config_models_bandwidthwindow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L61", - "weight": 1.0, - "source": "sync_test_bandwidth_test_is_window_active_wrong_weekday", - "target": "sync_bandwidth_is_window_active" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L65", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_unlimited_when_upload_mbps_none", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L66", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_unlimited_when_upload_mbps_none", - "target": "sync_bandwidth_effective_bandwidth_limit_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L70", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L72", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", - "target": "config_models_bandwidthwindow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L75", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_unlimited_when_outside_schedule", - "target": "sync_bandwidth_effective_bandwidth_limit_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L79", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_inside_schedule", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L81", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_inside_schedule", - "target": "config_models_bandwidthwindow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L83", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_inside_schedule", - "target": "sync_bandwidth_effective_bandwidth_limit_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L83", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_inside_schedule", - "target": "sync_bandwidth_mbps_to_kibps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_bandwidth_rationale_87", - "target": "sync_test_bandwidth_test_effective_throttled_when_no_schedule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L88", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L89", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", - "target": "sync_bandwidth_effective_bandwidth_limit_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L89", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_when_no_schedule", - "target": "sync_bandwidth_mbps_to_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L93", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L96", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", - "target": "config_models_bandwidthwindow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L100", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", - "target": "sync_bandwidth_effective_bandwidth_limit_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_bandwidth.py", - "source_location": "L100", - "weight": 1.0, - "source": "sync_test_bandwidth_test_effective_throttled_in_first_matching_window", - "target": "sync_bandwidth_mbps_to_kibps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_job" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_test_all_interlocks_pass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_test_min_verify_passes_blocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_test_min_age_hours_blocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_test_remote_stat_failure_blocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_test_recent_revocation_blocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_test_old_revocation_does_not_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_test_missing_verified_at_blocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_test_has_recent_revocation_with_malformed_timestamp_is_recent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_cleanup_py", - "target": "sync_test_cleanup_test_has_recent_revocation_ignores_non_tombstones" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_rationale_1", - "target": "tests_unit_sync_test_cleanup_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_all_interlocks_pass", - "target": "sync_test_cleanup_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_min_verify_passes_blocks", - "target": "sync_test_cleanup_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_min_age_hours_blocks", - "target": "sync_test_cleanup_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_remote_stat_failure_blocks", - "target": "sync_test_cleanup_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_recent_revocation_blocks", - "target": "sync_test_cleanup_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_old_revocation_does_not_block", - "target": "sync_test_cleanup_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_missing_verified_at_blocks", - "target": "sync_test_cleanup_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L27", - "weight": 1.0, - "source": "sync_test_cleanup_job", - "target": "sync_queue_syncjobrow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_all_interlocks_pass", - "target": "sync_test_cleanup_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_min_verify_passes_blocks", - "target": "sync_test_cleanup_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_min_age_hours_blocks", - "target": "sync_test_cleanup_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_remote_stat_failure_blocks", - "target": "sync_test_cleanup_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_recent_revocation_blocks", - "target": "sync_test_cleanup_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_old_revocation_does_not_block", - "target": "sync_test_cleanup_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_test_missing_verified_at_blocks", - "target": "sync_test_cleanup_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L45", - "weight": 1.0, - "source": "sync_test_cleanup_config", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_rationale_54", - "target": "sync_test_cleanup_test_all_interlocks_pass" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L55", - "weight": 1.0, - "source": "sync_test_cleanup_test_all_interlocks_pass", - "target": "sync_cleanup_cleanup_interlocks_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_rationale_66", - "target": "sync_test_cleanup_test_min_verify_passes_blocks" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L67", - "weight": 1.0, - "source": "sync_test_cleanup_test_min_verify_passes_blocks", - "target": "sync_cleanup_cleanup_interlocks_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_rationale_78", - "target": "sync_test_cleanup_test_min_age_hours_blocks" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L80", - "weight": 1.0, - "source": "sync_test_cleanup_test_min_age_hours_blocks", - "target": "sync_cleanup_cleanup_interlocks_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_rationale_91", - "target": "sync_test_cleanup_test_remote_stat_failure_blocks" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L92", - "weight": 1.0, - "source": "sync_test_cleanup_test_remote_stat_failure_blocks", - "target": "sync_cleanup_cleanup_interlocks_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_rationale_103", - "target": "sync_test_cleanup_test_recent_revocation_blocks" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L114", - "weight": 1.0, - "source": "sync_test_cleanup_test_recent_revocation_blocks", - "target": "sync_cleanup_cleanup_interlocks_satisfied" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L135", - "weight": 1.0, - "source": "sync_test_cleanup_test_old_revocation_does_not_block", - "target": "sync_cleanup_cleanup_interlocks_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_rationale_146", - "target": "sync_test_cleanup_test_missing_verified_at_blocks" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L147", - "weight": 1.0, - "source": "sync_test_cleanup_test_missing_verified_at_blocks", - "target": "sync_cleanup_cleanup_interlocks_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_rationale_158", - "target": "sync_test_cleanup_test_has_recent_revocation_with_malformed_timestamp_is_recent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L169", - "weight": 1.0, - "source": "sync_test_cleanup_test_has_recent_revocation_with_malformed_timestamp_is_recent", - "target": "sync_cleanup_has_recent_revocation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_cleanup_rationale_173", - "target": "sync_test_cleanup_test_has_recent_revocation_ignores_non_tombstones" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_cleanup.py", - "source_location": "L184", - "weight": 1.0, - "source": "sync_test_cleanup_test_has_recent_revocation_ignores_non_tombstones", - "target": "sync_cleanup_has_recent_revocation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_init_rationale_1", - "target": "tests_unit_sync_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_init_rationale_1", - "target": "src_exlab_wizard_sync_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_manifest_py", - "target": "sync_test_manifest_test_parse_drops_dirs_and_keys_by_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_manifest_py", - "target": "sync_test_manifest_test_parse_strips_prefix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_manifest_py", - "target": "sync_test_manifest_test_parse_empty_and_malformed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_manifest_py", - "target": "sync_test_manifest_test_manifest_size_match_helper" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_manifest_py", - "target": "sync_test_manifest_test_manifest_matches_size_and_mtime_within_tolerance" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_manifest_py", - "target": "sync_test_manifest_test_manifest_to_epoch_handles_fractional_and_z" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_manifest_py", - "target": "sync_test_manifest_test_manifest_matches_false_when_modtime_unparseable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_manifest_py", - "target": "sync_test_manifest_test_parse_non_list_json_yields_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_manifest_py", - "target": "sync_test_manifest_test_parse_skips_rows_with_empty_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_manifest_py", - "target": "sync_test_manifest_test_parse_skips_rows_with_non_numeric_size" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L13", - "weight": 1.0, - "source": "sync_test_manifest_test_parse_drops_dirs_and_keys_by_path", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L15", - "weight": 1.0, - "source": "sync_test_manifest_test_parse_drops_dirs_and_keys_by_path", - "target": "sync_manifest_remoteentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L22", - "weight": 1.0, - "source": "sync_test_manifest_test_parse_strips_prefix", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L27", - "weight": 1.0, - "source": "sync_test_manifest_test_parse_empty_and_malformed", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L33", - "weight": 1.0, - "source": "sync_test_manifest_test_manifest_size_match_helper", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L42", - "weight": 1.0, - "source": "sync_test_manifest_test_manifest_matches_size_and_mtime_within_tolerance", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L51", - "weight": 1.0, - "source": "sync_test_manifest_test_manifest_to_epoch_handles_fractional_and_z", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L61", - "weight": 1.0, - "source": "sync_test_manifest_test_manifest_matches_false_when_modtime_unparseable", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L69", - "weight": 1.0, - "source": "sync_test_manifest_test_parse_non_list_json_yields_empty", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L79", - "weight": 1.0, - "source": "sync_test_manifest_test_parse_skips_rows_with_empty_path", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_manifest.py", - "source_location": "L89", - "weight": 1.0, - "source": "sync_test_manifest_test_parse_skips_rows_with_non_numeric_size", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_queue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_insert_creates_queued_row" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_insert_unique_constraint" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_files_column_round_trips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_files_column_defaults_to_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_requeue_with_files_resets_terminal_job" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_get_by_id_and_run_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_get_missing_returns_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_transition_forward" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_transition_unknown_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_transition_increments_verify_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_record_failure_increments_attempts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_record_failure_terminal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_record_failure_terminal_after_max_attempts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_compute_next_attempt_at_uses_schedule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_compute_next_attempt_at_out_of_range" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_persistence_across_reinit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_init_replays_running_to_queued" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_list_in_state_returns_only_matching" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_list_all_orders_by_enqueued_at" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_reset_to_queued_clears_attempts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_reset_to_queued_unknown_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_record_failure_unknown_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_delete_removes_row" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_is_terminal_classifies_states" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_init_required_before_use" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_queue_py", - "target": "sync_test_queue_test_close_is_idempotent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_1", - "target": "tests_unit_sync_test_queue_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L27", - "weight": 1.0, - "source": "sync_test_queue_queue", - "target": "sync_queue_syncqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_36", - "target": "sync_test_queue_test_insert_creates_queued_row" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_46", - "target": "sync_test_queue_test_insert_unique_constraint" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_53", - "target": "sync_test_queue_test_files_column_round_trips" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_63", - "target": "sync_test_queue_test_files_column_defaults_to_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_72", - "target": "sync_test_queue_test_requeue_with_files_resets_terminal_job" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_149", - "target": "sync_test_queue_test_compute_next_attempt_at_uses_schedule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L153", - "weight": 1.0, - "source": "sync_test_queue_test_compute_next_attempt_at_uses_schedule", - "target": "sync_queue_compute_next_attempt_at" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_159", - "target": "sync_test_queue_test_compute_next_attempt_at_out_of_range" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L160", - "weight": 1.0, - "source": "sync_test_queue_test_compute_next_attempt_at_out_of_range", - "target": "sync_queue_compute_next_attempt_at" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_165", - "target": "sync_test_queue_test_persistence_across_reinit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L167", - "weight": 1.0, - "source": "sync_test_queue_test_persistence_across_reinit", - "target": "sync_queue_syncqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_181", - "target": "sync_test_queue_test_init_replays_running_to_queued" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L183", - "weight": 1.0, - "source": "sync_test_queue_test_init_replays_running_to_queued", - "target": "sync_queue_syncqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L248", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_queue_rationale_248", - "target": "sync_test_queue_test_init_required_before_use" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L249", - "weight": 1.0, - "source": "sync_test_queue_test_init_required_before_use", - "target": "sync_queue_syncqueue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_queue.py", - "source_location": "L255", - "weight": 1.0, - "source": "sync_test_queue_test_close_is_idempotent", - "target": "sync_queue_syncqueue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_make_creation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_writer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_enqueue_with_active_override_unblocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_status_returns_none_when_no_job" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_retry_resets_failed_to_queued" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_force_verify_returns_self_consistent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L377", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_routine_reconcile_marks_synced_from_lsjson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L439", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_routine_reconcile_requeues_when_remote_file_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L469", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_close_is_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L509", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L536", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_enqueue_with_files_inserts_subset" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L564", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L599", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L636", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_apply_config_swaps_equipment_map" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L790", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_client_for_target_test" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L799", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_target_for_stage_mode_uses_staging_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L826", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_target_for_nas_mode_uses_nas_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L853", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_driver_for_stage_mode_uses_staging_perf" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L903", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_make_recording_push_factory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L925", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_nas_client_py", - "target": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_1", - "target": "tests_unit_sync_test_nas_client_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_status_returns_none_when_no_job", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_retry_resets_failed_to_queued", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_force_verify_returns_self_consistent", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_marks_synced_from_lsjson", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L449", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_requeues_when_remote_file_missing", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L377", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L406", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L439", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L470", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_close_is_idempotent", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L491", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L513", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L538", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L568", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L603", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L639", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_apply_config_swaps_equipment_map", - "target": "sync_test_nas_client_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L57", - "weight": 1.0, - "source": "sync_test_nas_client_build_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L63", - "weight": 1.0, - "source": "sync_test_nas_client_build_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L77", - "weight": 1.0, - "source": "sync_test_nas_client_build_config", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L68", - "weight": 1.0, - "source": "sync_test_nas_client_build_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L73", - "weight": 1.0, - "source": "sync_test_nas_client_build_config", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_populate_run", - "target": "sync_test_nas_client_make_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", - "target": "sync_test_nas_client_make_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", - "target": "sync_test_nas_client_make_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L87", - "weight": 1.0, - "source": "sync_test_nas_client_make_creation", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L93", - "weight": 1.0, - "source": "sync_test_nas_client_make_creation", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L94", - "weight": 1.0, - "source": "sync_test_nas_client_make_creation", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L101", - "weight": 1.0, - "source": "sync_test_nas_client_make_creation", - "target": "api_schemas_pathsblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_retry_resets_failed_to_queued", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_force_verify_returns_self_consistent", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L390", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_marks_synced_from_lsjson", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L450", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_requeues_when_remote_file_missing", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L407", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L440", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L492", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L539", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L569", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L604", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L974", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_107", - "target": "sync_test_nas_client_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_status_returns_none_when_no_job", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_retry_resets_failed_to_queued", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_force_verify_returns_self_consistent", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L346", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L407", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_marks_synced_from_lsjson", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L461", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_requeues_when_remote_file_missing", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L385", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L414", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L576", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L643", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_apply_config_swaps_equipment_map", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_122", - "target": "sync_test_nas_client_make_push_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L137", - "weight": 1.0, - "source": "sync_test_nas_client_writer", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_148", - "target": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L158", - "weight": 1.0, - "source": "sync_test_nas_client_test_enqueue_blocks_run_with_hard_finding_no_override", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L180", - "weight": 1.0, - "source": "sync_test_nas_client_test_enqueue_clean_run_creates_queued_row", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_209", - "target": "sync_test_nas_client_test_enqueue_with_active_override_unblocks" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L217", - "weight": 1.0, - "source": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L218", - "weight": 1.0, - "source": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L239", - "weight": 1.0, - "source": "sync_test_nas_client_test_enqueue_with_active_override_unblocks", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L256", - "weight": 1.0, - "source": "sync_test_nas_client_test_status_returns_none_when_no_job", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L279", - "weight": 1.0, - "source": "sync_test_nas_client_test_retry_resets_failed_to_queued", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L314", - "weight": 1.0, - "source": "sync_test_nas_client_test_force_verify_returns_self_consistent", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_337", - "target": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L341", - "weight": 1.0, - "source": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L351", - "weight": 1.0, - "source": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L350", - "weight": 1.0, - "source": "sync_test_nas_client_test_worker_drives_to_verified_and_marks_synced", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L380", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_380", - "target": "sync_test_nas_client_test_routine_reconcile_marks_synced_from_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L391", - "weight": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_marks_synced_from_lsjson", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L401", - "weight": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_marks_synced_from_lsjson", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L408", - "weight": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_marks_synced_from_lsjson", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L442", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_442", - "target": "sync_test_nas_client_test_routine_reconcile_requeues_when_remote_file_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L453", - "weight": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_requeues_when_remote_file_missing", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L455", - "weight": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_requeues_when_remote_file_missing", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L463", - "weight": 1.0, - "source": "sync_test_nas_client_test_routine_reconcile_requeues_when_remote_file_missing", - "target": "sync_helpers_missing_one_lsjson_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L380", - "weight": 1.0, - "source": "sync_test_nas_client_test_worker_terminal_failed_on_auth_error", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_525", - "target": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L409", - "weight": 1.0, - "source": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L405", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_405", - "target": "sync_test_nas_client_test_enqueue_existing_failed_resets_to_queued" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L558", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_558", - "target": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L452", - "weight": 1.0, - "source": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L438", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_438", - "target": "sync_test_nas_client_test_enqueue_idempotent_for_already_queued_row" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L471", - "weight": 1.0, - "source": "sync_test_nas_client_test_close_is_idempotent", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L610", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_610", - "target": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L493", - "weight": 1.0, - "source": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L490", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_490", - "target": "sync_test_nas_client_test_mark_cleaned_writes_cleaned_to_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L632", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_632", - "target": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L517", - "weight": 1.0, - "source": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L512", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_512", - "target": "sync_test_nas_client_test_mark_cleaned_is_noop_when_creation_json_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L657", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_657", - "target": "sync_test_nas_client_test_enqueue_with_files_inserts_subset" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L545", - "weight": 1.0, - "source": "sync_test_nas_client_test_enqueue_with_files_inserts_subset", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L537", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_537", - "target": "sync_test_nas_client_test_enqueue_with_files_inserts_subset" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L687", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_687", - "target": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L571", - "weight": 1.0, - "source": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L567", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_567", - "target": "sync_test_nas_client_test_enqueue_requeues_terminal_job_with_new_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L722", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_722", - "target": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L610", - "weight": 1.0, - "source": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L602", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_602", - "target": "sync_test_nas_client_test_enqueue_noops_active_job_with_new_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L757", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_757", - "target": "sync_test_nas_client_test_apply_config_swaps_equipment_map" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L638", - "weight": 1.0, - "source": "sync_test_nas_client_test_apply_config_swaps_equipment_map", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L642", - "weight": 1.0, - "source": "sync_test_nas_client_test_apply_config_swaps_equipment_map", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L648", - "weight": 1.0, - "source": "sync_test_nas_client_test_apply_config_swaps_equipment_map", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L650", - "weight": 1.0, - "source": "sync_test_nas_client_test_apply_config_swaps_equipment_map", - "target": "config_models_equipmentconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L637", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_637", - "target": "sync_test_nas_client_test_apply_config_swaps_equipment_map" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L655", - "weight": 1.0, - "source": "sync_test_nas_client_test_apply_config_swaps_equipment_map", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L660", - "weight": 1.0, - "source": "sync_test_nas_client_test_apply_config_swaps_equipment_map", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L818", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_target_for_stage_mode_uses_staging_remote", - "target": "sync_test_nas_client_client_for_target_test" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L845", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_target_for_nas_mode_uses_nas_remote", - "target": "sync_test_nas_client_client_for_target_test" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L879", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_driver_for_stage_mode_uses_staging_perf", - "target": "sync_test_nas_client_client_for_target_test" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L791", - "weight": 1.0, - "source": "sync_test_nas_client_client_for_target_test", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L795", - "weight": 1.0, - "source": "sync_test_nas_client_client_for_target_test", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L800", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_800", - "target": "sync_test_nas_client_test_target_for_stage_mode_uses_staging_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L801", - "weight": 1.0, - "source": "sync_test_nas_client_test_target_for_stage_mode_uses_staging_remote", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L809", - "weight": 1.0, - "source": "sync_test_nas_client_test_target_for_stage_mode_uses_staging_remote", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L811", - "weight": 1.0, - "source": "sync_test_nas_client_test_target_for_stage_mode_uses_staging_remote", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L812", - "weight": 1.0, - "source": "sync_test_nas_client_test_target_for_stage_mode_uses_staging_remote", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L827", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_827", - "target": "sync_test_nas_client_test_target_for_nas_mode_uses_nas_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L828", - "weight": 1.0, - "source": "sync_test_nas_client_test_target_for_nas_mode_uses_nas_remote", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L836", - "weight": 1.0, - "source": "sync_test_nas_client_test_target_for_nas_mode_uses_nas_remote", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L838", - "weight": 1.0, - "source": "sync_test_nas_client_test_target_for_nas_mode_uses_nas_remote", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L839", - "weight": 1.0, - "source": "sync_test_nas_client_test_target_for_nas_mode_uses_nas_remote", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L854", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_854", - "target": "sync_test_nas_client_test_driver_for_stage_mode_uses_staging_perf" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L856", - "weight": 1.0, - "source": "sync_test_nas_client_test_driver_for_stage_mode_uses_staging_perf", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L864", - "weight": 1.0, - "source": "sync_test_nas_client_test_driver_for_stage_mode_uses_staging_perf", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L866", - "weight": 1.0, - "source": "sync_test_nas_client_test_driver_for_stage_mode_uses_staging_perf", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L870", - "weight": 1.0, - "source": "sync_test_nas_client_test_driver_for_stage_mode_uses_staging_perf", - "target": "config_models_rcloneperf" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L872", - "weight": 1.0, - "source": "sync_test_nas_client_test_driver_for_stage_mode_uses_staging_perf", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L972", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block", - "target": "sync_test_nas_client_make_recording_push_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L907", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_907", - "target": "sync_test_nas_client_make_recording_push_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L928", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_rationale_928", - "target": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L944", - "weight": 1.0, - "source": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block", - "target": "sync_bandwidth_effective_bandwidth_limit_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L945", - "weight": 1.0, - "source": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L951", - "weight": 1.0, - "source": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L957", - "weight": 1.0, - "source": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L965", - "weight": 1.0, - "source": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L976", - "weight": 1.0, - "source": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client.py", - "source_location": "L982", - "weight": 1.0, - "source": "sync_test_nas_client_test_drive_job_bandwidth_comes_from_nas_block", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_pre_sync_gate_py", - "target": "sync_test_pre_sync_gate_build_creation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_pre_sync_gate_py", - "target": "sync_test_pre_sync_gate_validator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_pre_sync_gate_py", - "target": "sync_test_pre_sync_gate_test_clean_run_is_eligible" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_pre_sync_gate_py", - "target": "sync_test_pre_sync_gate_test_hard_finding_blocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_pre_sync_gate_py", - "target": "sync_test_pre_sync_gate_test_active_override_unblocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_pre_sync_gate_py", - "target": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_test_pre_sync_gate_py", - "target": "sync_test_pre_sync_gate_test_soft_finding_does_not_block" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_rationale_1", - "target": "tests_unit_sync_test_pre_sync_gate_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_test_clean_run_is_eligible", - "target": "sync_test_pre_sync_gate_build_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_test_hard_finding_blocks", - "target": "sync_test_pre_sync_gate_build_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_test_active_override_unblocks", - "target": "sync_test_pre_sync_gate_build_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", - "target": "sync_test_pre_sync_gate_build_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_test_soft_finding_does_not_block", - "target": "sync_test_pre_sync_gate_build_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L34", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_build_creation", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L40", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_build_creation", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L45", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_build_creation", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L52", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_build_creation", - "target": "api_schemas_pathsblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_rationale_63", - "target": "sync_test_pre_sync_gate_test_clean_run_is_eligible" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L69", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_test_clean_run_is_eligible", - "target": "sync_pre_sync_gate_is_eligible" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_rationale_79", - "target": "sync_test_pre_sync_gate_test_hard_finding_blocks" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L85", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_test_hard_finding_blocks", - "target": "sync_pre_sync_gate_is_eligible" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_rationale_95", - "target": "sync_test_pre_sync_gate_test_active_override_unblocks" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L101", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_test_active_override_unblocks", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L102", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_test_active_override_unblocks", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L121", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_test_active_override_unblocks", - "target": "sync_pre_sync_gate_is_eligible" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_rationale_131", - "target": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L137", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L138", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", - "target": "api_schemas_overrideentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L156", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_test_revoked_override_does_not_unblock", - "target": "sync_pre_sync_gate_is_eligible" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_pre_sync_gate_rationale_166", - "target": "sync_test_pre_sync_gate_test_soft_finding_does_not_block" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_pre_sync_gate.py", - "source_location": "L178", - "weight": 1.0, - "source": "sync_test_pre_sync_gate_test_soft_finding_does_not_block", - "target": "sync_pre_sync_gate_is_eligible" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_helpers_py", - "target": "sync_helpers_read_files_from" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_helpers_py", - "target": "sync_helpers_walk_local" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_helpers_py", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_helpers_py", - "target": "sync_helpers_missing_one_lsjson_factory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_helpers_py", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_helpers_py", - "target": "sync_helpers_corrupt_one_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_helpers_rationale_1", - "target": "tests_unit_sync_helpers_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_helpers_rationale_46", - "target": "sync_helpers_read_files_from" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_helpers_rationale_30", - "target": "sync_helpers_read_files_from" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_helpers_rationale_57", - "target": "sync_helpers_walk_local" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L75", - "weight": 1.0, - "source": "sync_helpers_walk_local", - "target": "sync_manifest_remoteentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_helpers_rationale_80", - "target": "sync_helpers_local_lsjson_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_helpers_rationale_100", - "target": "sync_helpers_missing_one_lsjson_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_helpers_rationale_119", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_helpers_rationale_41", - "target": "sync_helpers_local_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_helpers_rationale_140", - "target": "sync_helpers_corrupt_one_check_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1048", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", - "target": "sync_helpers_corrupt_one_check_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/_helpers.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_helpers_rationale_62", - "target": "sync_helpers_corrupt_one_check_factory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_run_py", - "target": "transports_test_run_test_run_subprocess_returns_rc_and_streams" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_run_py", - "target": "transports_test_run_test_run_subprocess_inherits_environment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_run_py", - "target": "transports_test_run_test_run_subprocess_logs_only_the_command" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_run_rationale_1", - "target": "tests_unit_sync_transports_test_run_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_run_py", - "target": "transports_test_run_test_run_subprocess_forwards_env" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_run_py", - "target": "transports_test_run_test_run_subprocess_preserves_existing_environ" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_run_py", - "target": "transports_test_run_test_run_subprocess_pipes_stdin_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_run_py", - "target": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_run_py", - "target": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L20", - "weight": 1.0, - "source": "transports_test_run_test_run_subprocess_returns_rc_and_streams", - "target": "transports_run_run_subprocess" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_run_rationale_27", - "target": "transports_test_run_test_run_subprocess_inherits_environment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L30", - "weight": 1.0, - "source": "transports_test_run_test_run_subprocess_inherits_environment", - "target": "transports_run_run_subprocess" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_run_rationale_42", - "target": "transports_test_run_test_run_subprocess_logs_only_the_command" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L44", - "weight": 1.0, - "source": "transports_test_run_test_run_subprocess_logs_only_the_command", - "target": "transports_run_run_subprocess" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_reset_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_writes_to_equipment_scoped_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_writes_to_separate_files_per_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_fsync_invoked_only_on_error_level" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_fsync_on_error_passes_correct_fd" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_close_drains_cached_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_close_is_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_handlers_py", - "target": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_rationale_1", - "target": "tests_unit_logging_test_handlers_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_rationale_30", - "target": "logging_test_handlers_reset_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L31", - "weight": 1.0, - "source": "logging_test_handlers_reset_context", - "target": "logging_context_clear_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_writes_to_equipment_scoped_path", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_writes_to_separate_files_per_equipment", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_fsync_invoked_only_on_error_level", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_close_drains_cached_files", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_close_is_idempotent", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_rationale_35", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L36", - "weight": 1.0, - "source": "logging_test_handlers_make_handler", - "target": "logging_handlers_equipmentscopedfilehandler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L37", - "weight": 1.0, - "source": "logging_test_handlers_make_handler", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L100", - "weight": 1.0, - "source": "components_filter_chips_filter_chips", - "target": "logging_test_handlers_make_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_writes_to_equipment_scoped_path", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_writes_to_separate_files_per_equipment", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_emit_without_equipment_id_writes_no_file", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_fsync_invoked_only_on_error_level", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_close_drains_cached_files", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_close_is_idempotent", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L258", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", - "target": "logging_test_handlers_make_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L66", - "weight": 1.0, - "source": "logging_test_handlers_test_writes_to_equipment_scoped_path", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L85", - "weight": 1.0, - "source": "logging_test_handlers_test_writes_to_separate_files_per_equipment", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L106", - "weight": 1.0, - "source": "logging_test_handlers_test_subsequent_emits_reuse_the_same_file_descriptor", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L139", - "weight": 1.0, - "source": "logging_test_handlers_test_one_open_per_equipment_even_with_many_emits", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L169", - "weight": 1.0, - "source": "logging_test_handlers_test_emit_with_explicit_none_equipment_skipped", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L185", - "weight": 1.0, - "source": "logging_test_handlers_test_fsync_invoked_only_on_error_level", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L203", - "weight": 1.0, - "source": "logging_test_handlers_test_fsync_on_error_passes_correct_fd", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L220", - "weight": 1.0, - "source": "logging_test_handlers_test_close_drains_cached_files", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L234", - "weight": 1.0, - "source": "logging_test_handlers_test_close_is_idempotent", - "target": "logging_context_set_run_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L248", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_handlers_rationale_248", - "target": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_handlers.py", - "source_location": "L256", - "weight": 1.0, - "source": "logging_test_handlers_test_emit_routes_unexpected_exception_through_handle_error", - "target": "logging_context_set_run_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_context_py", - "target": "logging_test_context_reset_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_context_py", - "target": "logging_test_context_test_set_run_context_pushes_supplied_vars" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_context_py", - "target": "logging_test_context_test_unsupplied_vars_are_unchanged" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_context_py", - "target": "logging_test_context_test_context_exit_restores_prior_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_context_py", - "target": "logging_test_context_test_context_exit_clears_when_no_prior_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_context_py", - "target": "logging_test_context_test_set_run_context_with_no_args_is_noop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_context_py", - "target": "logging_test_context_test_concurrent_asyncio_tasks_have_independent_contexts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_context_py", - "target": "logging_test_context_test_get_run_context_returns_snapshot_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_context_py", - "target": "logging_test_context_test_get_run_context_returns_all_keys_even_when_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_context_py", - "target": "logging_test_context_test_clear_run_context_resets_every_var" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_context_rationale_1", - "target": "tests_unit_logging_test_context_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_context_rationale_32", - "target": "logging_test_context_reset_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L33", - "weight": 1.0, - "source": "logging_test_context_reset_context", - "target": "logging_context_clear_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L42", - "weight": 1.0, - "source": "logging_test_context_test_set_run_context_pushes_supplied_vars", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L59", - "weight": 1.0, - "source": "logging_test_context_test_unsupplied_vars_are_unchanged", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L71", - "weight": 1.0, - "source": "logging_test_context_test_context_exit_restores_prior_values", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L83", - "weight": 1.0, - "source": "logging_test_context_test_context_exit_clears_when_no_prior_value", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L90", - "weight": 1.0, - "source": "logging_test_context_test_set_run_context_with_no_args_is_noop", - "target": "logging_context_set_run_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_context_rationale_102", - "target": "logging_test_context_test_concurrent_asyncio_tasks_have_independent_contexts" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L135", - "weight": 1.0, - "source": "logging_test_context_test_get_run_context_returns_snapshot_dict", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L136", - "weight": 1.0, - "source": "logging_test_context_test_get_run_context_returns_snapshot_dict", - "target": "logging_context_get_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L150", - "weight": 1.0, - "source": "logging_test_context_test_get_run_context_returns_all_keys_even_when_empty", - "target": "logging_context_get_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_context.py", - "source_location": "L172", - "weight": 1.0, - "source": "logging_test_context_test_clear_run_context_resets_every_var", - "target": "logging_context_clear_run_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_isolate_central_log" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_get_logger_importable_from_package" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_get_logger_importable_from_manager_module" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_package_and_manager_export_the_same_callable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_get_logger_returns_stdlib_logger_instance" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_get_logger_sets_name_on_returned_logger" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_get_logger_is_idempotent_for_same_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_get_logger_returns_distinct_loggers_for_different_names" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_logging_package_all_contains_get_logger" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_configure_logging_applies_config_level" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_shutdown_logging_is_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_manager_py", - "target": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_1", - "target": "tests_unit_logging_test_manager_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_31", - "target": "logging_test_manager_isolate_central_log" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L47", - "weight": 1.0, - "source": "logging_test_manager_isolate_central_log", - "target": "logging_manager_shutdown_logging" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L72", - "weight": 1.0, - "source": "logging_test_manager_test_get_logger_returns_stdlib_logger_instance", - "target": "logging_manager_get_logger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L79", - "weight": 1.0, - "source": "logging_test_manager_test_get_logger_sets_name_on_returned_logger", - "target": "logging_manager_get_logger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L88", - "weight": 1.0, - "source": "logging_test_manager_test_get_logger_is_idempotent_for_same_name", - "target": "logging_manager_get_logger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L96", - "weight": 1.0, - "source": "logging_test_manager_test_get_logger_returns_distinct_loggers_for_different_names", - "target": "logging_manager_get_logger" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_113", - "target": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L114", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_with_default_threshold_and_handlers", - "target": "logging_manager_configure_logging" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_122", - "target": "logging_test_manager_test_configure_logging_applies_config_level" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L123", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_applies_config_level", - "target": "logging_manager_configure_logging" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L123", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_applies_config_level", - "target": "config_models_loggingconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_129", - "target": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L135", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_idempotent_does_not_accumulate_handlers", - "target": "logging_manager_configure_logging" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_144", - "target": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L146", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", - "target": "logging_manager_configure_logging" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L146", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", - "target": "config_models_loggingconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L151", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_routes_records_through_queue_listener", - "target": "logging_manager_shutdown_logging" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_155", - "target": "logging_test_manager_test_shutdown_logging_is_idempotent" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L156", - "weight": 1.0, - "source": "logging_test_manager_test_shutdown_logging_is_idempotent", - "target": "logging_manager_configure_logging" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L157", - "weight": 1.0, - "source": "logging_test_manager_test_shutdown_logging_is_idempotent", - "target": "logging_manager_shutdown_logging" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_162", - "target": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L164", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler", - "target": "logging_manager_configure_logging" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L164", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_installs_central_rotating_file_handler", - "target": "config_models_loggingconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_177", - "target": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L179", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", - "target": "logging_manager_configure_logging" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L179", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_stderr_handler_is_warn_capped", - "target": "config_models_loggingconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_193", - "target": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L201", - "weight": 1.0, - "source": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info", - "target": "config_models_loggingconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L203", - "weight": 1.0, - "source": "logging_test_manager_test_resolve_threshold_unknown_level_falls_back_to_info", - "target": "logging_manager_resolve_threshold" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_208", - "target": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L217", - "weight": 1.0, - "source": "logging_test_manager_test_configure_logging_strips_pre_existing_queue_handler", - "target": "logging_manager_configure_logging" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_manager_rationale_231", - "target": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L237", - "weight": 1.0, - "source": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", - "target": "logging_manager_build_real_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_manager.py", - "source_location": "L241", - "weight": 1.0, - "source": "logging_test_manager_test_build_real_handlers_includes_equipment_handler_when_local_root_set", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_reset_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_record" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_renders_all_tags_when_full_context_set" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_omits_tags_when_their_context_var_is_unset" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_emits_no_tags_when_context_is_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_level_field_is_left_padded_to_five_chars" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_message_with_format_args_is_rendered" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_redact_url_userinfo_password" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_redact_url_userinfo_password_with_punctuation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_redact_bearer_token" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_redact_bearer_token_lowercase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_redact_authorization_header" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_redact_authorization_bearer_combined" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_redact_leaves_non_secret_strings_alone" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_redact_handles_url_without_password" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_redact_handles_multiple_secrets_in_one_string" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_redact_coerces_non_string_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_logging_test_format_py", - "target": "logging_test_format_test_format_appends_exception_text_when_exc_info_set" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_format_rationale_1", - "target": "tests_unit_logging_test_format_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_format_rationale_22", - "target": "logging_test_format_reset_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L23", - "weight": 1.0, - "source": "logging_test_format_reset_context", - "target": "logging_context_clear_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_format_test_renders_all_tags_when_full_context_set", - "target": "logging_test_format_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_format_test_omits_tags_when_their_context_var_is_unset", - "target": "logging_test_format_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_format_test_emits_no_tags_when_context_is_empty", - "target": "logging_test_format_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_format_test_level_field_is_left_padded_to_five_chars", - "target": "logging_test_format_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix", - "target": "logging_test_format_record" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_format_rationale_32", - "target": "logging_test_format_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L57", - "weight": 1.0, - "source": "logging_test_format_test_renders_all_tags_when_full_context_set", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L58", - "weight": 1.0, - "source": "logging_test_format_test_renders_all_tags_when_full_context_set", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L75", - "weight": 1.0, - "source": "logging_test_format_test_omits_tags_when_their_context_var_is_unset", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L76", - "weight": 1.0, - "source": "logging_test_format_test_omits_tags_when_their_context_var_is_unset", - "target": "logging_context_set_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L85", - "weight": 1.0, - "source": "logging_test_format_test_emits_no_tags_when_context_is_empty", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_format_rationale_91", - "target": "logging_test_format_test_level_field_is_left_padded_to_five_chars" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L97", - "weight": 1.0, - "source": "logging_test_format_test_level_field_is_left_padded_to_five_chars", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L112", - "weight": 1.0, - "source": "logging_test_format_test_timestamp_is_utc_iso_8601_with_z_suffix", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L123", - "weight": 1.0, - "source": "logging_test_format_test_message_with_format_args_is_rendered", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L144", - "weight": 1.0, - "source": "logging_test_format_test_redact_url_userinfo_password", - "target": "logging_format_redact_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L151", - "weight": 1.0, - "source": "logging_test_format_test_redact_url_userinfo_password_with_punctuation", - "target": "logging_format_redact_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L155", - "weight": 1.0, - "source": "logging_test_format_test_redact_bearer_token", - "target": "logging_format_redact_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L159", - "weight": 1.0, - "source": "logging_test_format_test_redact_bearer_token_lowercase", - "target": "logging_format_redact_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L163", - "weight": 1.0, - "source": "logging_test_format_test_redact_authorization_header", - "target": "logging_format_redact_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L169", - "weight": 1.0, - "source": "logging_test_format_test_redact_authorization_bearer_combined", - "target": "logging_format_redact_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L173", - "weight": 1.0, - "source": "logging_test_format_test_redact_leaves_non_secret_strings_alone", - "target": "logging_format_redact_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L180", - "weight": 1.0, - "source": "logging_test_format_test_redact_handles_url_without_password", - "target": "logging_format_redact_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L185", - "weight": 1.0, - "source": "logging_test_format_test_redact_handles_multiple_secrets_in_one_string", - "target": "logging_format_redact_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L196", - "weight": 1.0, - "source": "logging_test_format_test_redact_coerces_non_string_input", - "target": "logging_format_redact_secret" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_test_format_rationale_201", - "target": "logging_test_format_test_format_appends_exception_text_when_exc_info_set" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/logging/test_format.py", - "source_location": "L203", - "weight": 1.0, - "source": "logging_test_format_test_format_appends_exception_text_when_exc_info_set", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_scan_py", - "target": "orchestrator_test_scan_test_iter_subdirs_returns_empty_for_missing_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_scan_py", - "target": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_scan_py", - "target": "orchestrator_test_scan_test_iter_subdirs_does_not_follow_symlinks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_scan_py", - "target": "orchestrator_test_scan_test_walk_run_leaves_returns_empty_when_root_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_scan_py", - "target": "orchestrator_test_scan_test_walk_run_leaves_finds_experimental_and_test_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_scan_py", - "target": "orchestrator_test_scan_test_walk_run_leaves_handles_empty_tree" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_scan_py", - "target": "orchestrator_test_scan_test_count_files_and_bytes_excludes_cache_dir_by_default" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_scan_py", - "target": "orchestrator_test_scan_test_count_files_and_bytes_includes_cache_dir_when_requested" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_scan_py", - "target": "orchestrator_test_scan_test_count_files_and_bytes_returns_zero_for_missing_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_scan_py", - "target": "orchestrator_test_scan_test_count_files_and_bytes_descends_into_subdirectories" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_scan_rationale_1", - "target": "tests_unit_orchestrator_test_scan_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L24", - "weight": 1.0, - "source": "orchestrator_test_scan_test_iter_subdirs_returns_empty_for_missing_path", - "target": "orchestrator_scan_iter_subdirs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L34", - "weight": 1.0, - "source": "orchestrator_test_scan_test_iter_subdirs_skips_cache_dir_and_dotfiles", - "target": "orchestrator_scan_iter_subdirs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L43", - "weight": 1.0, - "source": "orchestrator_test_scan_test_iter_subdirs_does_not_follow_symlinks", - "target": "orchestrator_scan_iter_subdirs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L55", - "weight": 1.0, - "source": "orchestrator_test_scan_test_walk_run_leaves_returns_empty_when_root_missing", - "target": "orchestrator_scan_walk_run_leaves" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L65", - "weight": 1.0, - "source": "orchestrator_test_scan_test_walk_run_leaves_finds_experimental_and_test_runs", - "target": "orchestrator_scan_walk_run_leaves" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_scan_rationale_70", - "target": "orchestrator_test_scan_test_walk_run_leaves_handles_empty_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L71", - "weight": 1.0, - "source": "orchestrator_test_scan_test_walk_run_leaves_handles_empty_tree", - "target": "orchestrator_scan_walk_run_leaves" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L83", - "weight": 1.0, - "source": "orchestrator_test_scan_test_count_files_and_bytes_excludes_cache_dir_by_default", - "target": "orchestrator_scan_count_files_and_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L92", - "weight": 1.0, - "source": "orchestrator_test_scan_test_count_files_and_bytes_includes_cache_dir_when_requested", - "target": "orchestrator_scan_count_files_and_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L98", - "weight": 1.0, - "source": "orchestrator_test_scan_test_count_files_and_bytes_returns_zero_for_missing_path", - "target": "orchestrator_scan_count_files_and_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_scan.py", - "source_location": "L107", - "weight": 1.0, - "source": "orchestrator_test_scan_test_count_files_and_bytes_descends_into_subdirectories", - "target": "orchestrator_scan_count_files_and_bytes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_unset" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_includes_test_runs_under_testruns" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_uses_explicit_staging_root_param" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_staging_query_py", - "target": "orchestrator_test_staging_query_test_list_staged_runs_sets_last_activity_from_directory_mtime" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_rationale_1", - "target": "tests_unit_orchestrator_test_staging_query_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_missing", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_includes_test_runs_under_testruns", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_uses_explicit_staging_root_param", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_sets_last_activity_from_directory_mtime", - "target": "orchestrator_test_staging_query_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L31", - "weight": 1.0, - "source": "orchestrator_test_staging_query_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L34", - "weight": 1.0, - "source": "orchestrator_test_staging_query_config", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_includes_test_runs_under_testruns", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_uses_explicit_staging_root_param", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_sets_last_activity_from_directory_mtime", - "target": "orchestrator_test_staging_query_seed_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L62", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_unset", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L63", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_unset", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L68", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_returns_empty_when_staging_root_missing", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L78", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_returns_summary_rows", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L94", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_includes_test_runs_under_testruns", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_rationale_100", - "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L102", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L104", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_syncing_when_a_file_is_unverified", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_rationale_109", - "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L111", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L117", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_synced_when_all_files_verified", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_rationale_122", - "target": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L124", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L131", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_reports_cleared_after_mark_cleared", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_rationale_136", - "target": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L138", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L145", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_remodified_file_flips_rollup_back_to_syncing", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_rationale_153", - "target": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L157", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_includes_runs_without_creation_metadata", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L173", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_sorts_most_recent_first", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_staging_query_rationale_178", - "target": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L185", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_excludes_cache_dir_from_byte_total", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L193", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_uses_explicit_staging_root_param", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_staging_query.py", - "source_location": "L199", - "weight": 1.0, - "source": "orchestrator_test_staging_query_test_list_staged_runs_sets_last_activity_from_directory_mtime", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_enqueued_paths" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_poller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_signature" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L363", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_1", - "target": "tests_unit_orchestrator_test_quiescence_poller_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_orchestrator_test_quiescence_poller_py", - "target": "orchestrator_test_quiescence_poller_transport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "orchestrator_test_quiescence_poller_stubnassync_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "orchestrator_test_quiescence_poller_stubnassync_enqueue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L335", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L379", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_39", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L22", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "config_models_syncconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_42", - "target": "orchestrator_test_quiescence_poller_stubnassync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "config_models_orchestratorstagingtransport" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L23", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_test_quiescence_poller_stubnassync", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L287", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L365", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L380", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_63", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L80", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_make_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L91", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_make_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L93", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_make_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L97", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_make_config", - "target": "config_models_syncconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_make_config", - "target": "orchestrator_test_quiescence_poller_transport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_76", - "target": "orchestrator_test_quiescence_poller_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_88", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_102", - "target": "orchestrator_test_quiescence_poller_make_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window", - "target": "orchestrator_test_quiescence_poller_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window", - "target": "orchestrator_test_quiescence_poller_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible", - "target": "orchestrator_test_quiescence_poller_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling", - "target": "orchestrator_test_quiescence_poller_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs", - "target": "orchestrator_test_quiescence_poller_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", - "target": "orchestrator_test_quiescence_poller_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent", - "target": "orchestrator_test_quiescence_poller_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L380", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_apply_config_swaps_config_reference", - "target": "orchestrator_test_quiescence_poller_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live", - "target": "orchestrator_test_quiescence_poller_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L111", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_poller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L114", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_poller", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L298", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", - "target": "orchestrator_test_quiescence_poller_signature" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L346", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", - "target": "orchestrator_test_quiescence_poller_signature" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_115", - "target": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_129", - "target": "orchestrator_test_quiescence_poller_test_file_becomes_quiet_only_after_settle_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_137", - "target": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_151", - "target": "orchestrator_test_quiescence_poller_test_modified_file_resets_the_settle_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_163", - "target": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_177", - "target": "orchestrator_test_quiescence_poller_test_ignore_glob_files_do_not_make_a_run_eligible" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_179", - "target": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_193", - "target": "orchestrator_test_quiescence_poller_test_quiet_real_file_enqueues_despite_ignored_sibling" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_199", - "target": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_213", - "target": "orchestrator_test_quiescence_poller_test_discovers_both_staging_and_nas_mode_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_221", - "target": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L241", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L243", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L264", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L265", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", - "target": "config_models_syncconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", - "target": "orchestrator_test_quiescence_poller_transport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_235", - "target": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L257", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_co_rooted_stage_mode_equipment_run_is_not_enqueued", - "target": "config_models_orchestratorstagingtransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_266", - "target": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L289", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L290", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_286", - "target": "orchestrator_test_quiescence_poller_test_file_matching_synced_signature_is_not_re_enqueued" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_290", - "target": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L313", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L314", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_310", - "target": "orchestrator_test_quiescence_poller_test_file_modified_after_recorded_sync_becomes_eligible" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_313", - "target": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L336", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L337", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L333", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_333", - "target": "orchestrator_test_quiescence_poller_test_only_changed_file_in_a_run_is_enqueued" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L344", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_344", - "target": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L364", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_364", - "target": "orchestrator_test_quiescence_poller_test_start_then_stop_is_idempotent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L367", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_367", - "target": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L387", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_test_quiescence_poller_rationale_387", - "target": "orchestrator_test_quiescence_poller_test_apply_config_quiescence_change_is_live" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_handle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_stubjobrow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_stubnassync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_enqueued_paths" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_make_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_stage_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_mark_run_synced" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_orchestrator_lifecycle_py", - "target": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_1", - "target": "tests_integration_test_orchestrator_lifecycle_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_stubnassync_enqueue", - "target": "integration_test_orchestrator_lifecycle_handle" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L25", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_handle", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_handle", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_handle", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_handle", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_handle", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_handle", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_handle", - "target": "config_models_syncconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_handle", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_handle", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_handle", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_stubnassync_list_all", - "target": "integration_test_orchestrator_lifecycle_stubjobrow" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L25", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubjobrow", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubjobrow", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubjobrow", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubjobrow", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubjobrow", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubjobrow", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubjobrow", - "target": "config_models_syncconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubjobrow", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubjobrow", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubjobrow", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "integration_test_orchestrator_lifecycle_stubnassync_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "integration_test_orchestrator_lifecycle_stubnassync_enqueue" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "integration_test_orchestrator_lifecycle_stubnassync_status" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "integration_test_orchestrator_lifecycle_stubnassync_list_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", - "target": "integration_test_orchestrator_lifecycle_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", - "target": "integration_test_orchestrator_lifecycle_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", - "target": "integration_test_orchestrator_lifecycle_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", - "target": "integration_test_orchestrator_lifecycle_stubnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", - "target": "integration_test_orchestrator_lifecycle_stubnassync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_52", - "target": "integration_test_orchestrator_lifecycle_stubnassync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L25", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "config_models_syncconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_54", - "target": "integration_test_orchestrator_lifecycle_stubnassync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_orchestrator_lifecycle_stubnassync", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", - "target": "integration_test_orchestrator_lifecycle_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", - "target": "integration_test_orchestrator_lifecycle_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", - "target": "integration_test_orchestrator_lifecycle_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", - "target": "integration_test_orchestrator_lifecycle_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", - "target": "integration_test_orchestrator_lifecycle_make_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L79", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_make_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L81", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_make_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L95", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_make_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L98", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_make_config", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L100", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_make_config", - "target": "config_models_syncconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L86", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_make_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L91", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_make_config", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", - "target": "integration_test_orchestrator_lifecycle_stage_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", - "target": "integration_test_orchestrator_lifecycle_stage_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", - "target": "integration_test_orchestrator_lifecycle_stage_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", - "target": "integration_test_orchestrator_lifecycle_stage_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", - "target": "integration_test_orchestrator_lifecycle_stage_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_108", - "target": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L121", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L122", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_117", - "target": "integration_test_orchestrator_lifecycle_test_poller_enqueues_run_after_settle_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_126", - "target": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L139", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L149", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_135", - "target": "integration_test_orchestrator_lifecycle_test_poller_skips_file_already_synced_at_current_signature" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", - "target": "integration_test_orchestrator_lifecycle_mark_run_synced" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", - "target": "integration_test_orchestrator_lifecycle_mark_run_synced" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_153", - "target": "integration_test_orchestrator_lifecycle_mark_run_synced" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_162", - "target": "integration_test_orchestrator_lifecycle_mark_run_synced" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_162", - "target": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L174", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L176", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L177", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_171", - "target": "integration_test_orchestrator_lifecycle_test_staging_endpoint_surfaces_run_with_rollup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_179", - "target": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L194", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L196", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L197", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_188", - "target": "integration_test_orchestrator_lifecycle_test_clear_endpoint_deletes_synced_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_202", - "target": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L214", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L215", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L217", - "weight": 1.0, - "source": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_orchestrator_lifecycle.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_orchestrator_lifecycle_rationale_211", - "target": "integration_test_orchestrator_lifecycle_test_clear_endpoint_rejects_unsynced_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_tray_window_smoke.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_tray_window_smoke_py", - "target": "integration_test_tray_window_smoke_wait_for" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_tray_window_smoke.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_tray_window_smoke_py", - "target": "integration_test_tray_window_smoke_test_root_serves_html_after_mount" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_tray_window_smoke.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_tray_window_smoke_rationale_1", - "target": "tests_integration_test_tray_window_smoke_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_tray_window_smoke.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", - "target": "integration_test_tray_window_smoke_wait_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_tray_window_smoke.py", - "source_location": "L44", - "weight": 1.0, - "source": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", - "target": "tray_main_build_default_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_tray_window_smoke.py", - "source_location": "L48", - "weight": 1.0, - "source": "integration_test_tray_window_smoke_test_root_serves_html_after_mount", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_integration_py", - "target": "integration_test_lims_integration_make_client" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_integration_py", - "target": "integration_test_lims_integration_test_client_populates_cache" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_integration_py", - "target": "integration_test_lims_integration_test_cache_satisfies_lookup_without_network" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_integration_py", - "target": "integration_test_lims_integration_test_expired_cache_is_refreshed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_integration_py", - "target": "integration_test_lims_integration_test_relogin_then_cache_upsert" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_integration_py", - "target": "integration_test_lims_integration_test_status_filter_consistent_between_client_and_cache" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_integration_rationale_1", - "target": "tests_integration_test_lims_integration_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_integration_test_client_populates_cache", - "target": "integration_test_lims_integration_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_integration_test_cache_satisfies_lookup_without_network", - "target": "integration_test_lims_integration_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_integration_test_expired_cache_is_refreshed", - "target": "integration_test_lims_integration_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_integration_test_relogin_then_cache_upsert", - "target": "integration_test_lims_integration_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_integration_test_status_filter_consistent_between_client_and_cache", - "target": "integration_test_lims_integration_make_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L30", - "weight": 1.0, - "source": "integration_test_lims_integration_make_client", - "target": "lims_client_limsclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_integration_rationale_46", - "target": "integration_test_lims_integration_test_client_populates_cache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L47", - "weight": 1.0, - "source": "integration_test_lims_integration_test_client_populates_cache", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L49", - "weight": 1.0, - "source": "integration_test_lims_integration_test_client_populates_cache", - "target": "lims_cache_limscache" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_integration_rationale_64", - "target": "integration_test_lims_integration_test_cache_satisfies_lookup_without_network" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L65", - "weight": 1.0, - "source": "integration_test_lims_integration_test_cache_satisfies_lookup_without_network", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L67", - "weight": 1.0, - "source": "integration_test_lims_integration_test_cache_satisfies_lookup_without_network", - "target": "lims_cache_limscache" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_integration_rationale_84", - "target": "integration_test_lims_integration_test_expired_cache_is_refreshed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L85", - "weight": 1.0, - "source": "integration_test_lims_integration_test_expired_cache_is_refreshed", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L87", - "weight": 1.0, - "source": "integration_test_lims_integration_test_expired_cache_is_refreshed", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L92", - "weight": 1.0, - "source": "integration_test_lims_integration_test_expired_cache_is_refreshed", - "target": "lims_schemas_limsproject" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_integration_rationale_117", - "target": "integration_test_lims_integration_test_relogin_then_cache_upsert" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L118", - "weight": 1.0, - "source": "integration_test_lims_integration_test_relogin_then_cache_upsert", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L120", - "weight": 1.0, - "source": "integration_test_lims_integration_test_relogin_then_cache_upsert", - "target": "lims_cache_limscache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L153", - "weight": 1.0, - "source": "integration_test_lims_integration_test_status_filter_consistent_between_client_and_cache", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_lims_integration.py", - "source_location": "L155", - "weight": 1.0, - "source": "integration_test_lims_integration_test_status_filter_consistent_between_client_and_cache", - "target": "lims_cache_limscache" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_tray_lifecycle_py", - "target": "integration_test_tray_lifecycle_wait_for_health" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_tray_lifecycle_py", - "target": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_tray_lifecycle_py", - "target": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_tray_lifecycle_rationale_1", - "target": "tests_integration_test_tray_lifecycle_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", - "target": "integration_test_tray_lifecycle_wait_for_health" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_tray_lifecycle_rationale_32", - "target": "integration_test_tray_lifecycle_wait_for_health" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L49", - "weight": 1.0, - "source": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L50", - "weight": 1.0, - "source": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L56", - "weight": 1.0, - "source": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", - "target": "window_main_read_server_handshake" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L66", - "weight": 1.0, - "source": "integration_test_tray_lifecycle_test_tray_lifecycle_round_trip", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L86", - "weight": 1.0, - "source": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L87", - "weight": 1.0, - "source": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_tray_lifecycle.py", - "source_location": "L92", - "weight": 1.0, - "source": "integration_test_tray_lifecycle_test_tray_lifecycle_window_handshake_reads_server_json", - "target": "window_main_read_server_handshake" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_stub_binaries_on_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_make_creation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_populate_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L274", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_auth_error_terminates_failed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L305", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_routine_reconcile_retries_until_remote_listing_settles" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L426", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_cleanup_hash_gate_defers_on_remote_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L547", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_1", - "target": "tests_integration_test_nas_sync_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_nas_sync_py", - "target": "integration_test_nas_sync_test_remote_hash_mismatch_terminal" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_stubkeyring", - "target": "integration_test_nas_sync_stubkeyring_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_stubkeyring", - "target": "integration_test_nas_sync_stubkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L293", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_auth_error_terminates_failed", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L322", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_routine_reconcile_retries_until_remote_listing_settles", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L470", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_cleanup_hash_gate_defers_on_remote_mismatch", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L579", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L667", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_53", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L33", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L48", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L49", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "sync_queue_syncjobrow" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L49", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L50", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L636", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "sync_manifest_remoteentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "sync_manifest_remotemanifest" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L505", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "transports_rclone_checkresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L638", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L527", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_54", - "target": "integration_test_nas_sync_stubkeyring" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_nas_sync_stubkeyring", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_73", - "target": "integration_test_nas_sync_stub_binaries_on_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_72", - "target": "integration_test_nas_sync_stub_binaries_on_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L284", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_auth_error_terminates_failed", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_routine_reconcile_retries_until_remote_listing_settles", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L449", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_cleanup_hash_gate_defers_on_remote_mismatch", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L569", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L648", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L86", - "weight": 1.0, - "source": "integration_test_nas_sync_build_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L88", - "weight": 1.0, - "source": "integration_test_nas_sync_build_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L100", - "weight": 1.0, - "source": "integration_test_nas_sync_build_config", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L102", - "weight": 1.0, - "source": "integration_test_nas_sync_build_config", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L370", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L442", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L501", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", - "target": "integration_test_nas_sync_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L93", - "weight": 1.0, - "source": "integration_test_nas_sync_build_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L98", - "weight": 1.0, - "source": "integration_test_nas_sync_build_config", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_populate_run", - "target": "integration_test_nas_sync_make_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L253", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", - "target": "integration_test_nas_sync_make_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L655", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", - "target": "integration_test_nas_sync_make_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L112", - "weight": 1.0, - "source": "integration_test_nas_sync_make_creation", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L118", - "weight": 1.0, - "source": "integration_test_nas_sync_make_creation", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L119", - "weight": 1.0, - "source": "integration_test_nas_sync_make_creation", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L126", - "weight": 1.0, - "source": "integration_test_nas_sync_make_creation", - "target": "api_schemas_pathsblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", - "target": "integration_test_nas_sync_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_auth_error_terminates_failed", - "target": "integration_test_nas_sync_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", - "target": "integration_test_nas_sync_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L369", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_routine_reconcile_retries_until_remote_listing_settles", - "target": "integration_test_nas_sync_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L450", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_cleanup_hash_gate_defers_on_remote_mismatch", - "target": "integration_test_nas_sync_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L570", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", - "target": "integration_test_nas_sync_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L371", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", - "target": "integration_test_nas_sync_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L443", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", - "target": "integration_test_nas_sync_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L502", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", - "target": "integration_test_nas_sync_populate_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L299", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_auth_error_terminates_failed", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L409", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_routine_reconcile_retries_until_remote_listing_settles", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L477", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_cleanup_hash_gate_defers_on_remote_mismatch", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L600", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L688", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_148", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L534", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_149", - "target": "integration_test_nas_sync_wait_for_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_165", - "target": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L195", - "weight": 1.0, - "source": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L197", - "weight": 1.0, - "source": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_166", - "target": "integration_test_nas_sync_test_full_happy_path_via_stub_rclone" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_239", - "target": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L255", - "weight": 1.0, - "source": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L256", - "weight": 1.0, - "source": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_240", - "target": "integration_test_nas_sync_test_pre_sync_gate_blocks_run_with_placeholder_in_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_278", - "target": "integration_test_nas_sync_test_auth_error_terminates_failed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L286", - "weight": 1.0, - "source": "integration_test_nas_sync_test_auth_error_terminates_failed", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L288", - "weight": 1.0, - "source": "integration_test_nas_sync_test_auth_error_terminates_failed", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_279", - "target": "integration_test_nas_sync_test_auth_error_terminates_failed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_309", - "target": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L316", - "weight": 1.0, - "source": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L317", - "weight": 1.0, - "source": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L329", - "weight": 1.0, - "source": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_310", - "target": "integration_test_nas_sync_test_force_verify_returns_ok_after_compute" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L353", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_353", - "target": "integration_test_nas_sync_test_routine_reconcile_retries_until_remote_listing_settles" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L370", - "weight": 1.0, - "source": "integration_test_nas_sync_test_routine_reconcile_retries_until_remote_listing_settles", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L393", - "weight": 1.0, - "source": "integration_test_nas_sync_test_routine_reconcile_retries_until_remote_listing_settles", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L431", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_431", - "target": "integration_test_nas_sync_test_cleanup_hash_gate_defers_on_remote_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L451", - "weight": 1.0, - "source": "integration_test_nas_sync_test_cleanup_hash_gate_defers_on_remote_mismatch", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L465", - "weight": 1.0, - "source": "integration_test_nas_sync_test_cleanup_hash_gate_defers_on_remote_mismatch", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_494", - "target": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L571", - "weight": 1.0, - "source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L572", - "weight": 1.0, - "source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L574", - "weight": 1.0, - "source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L584", - "weight": 1.0, - "source": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L552", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_552", - "target": "integration_test_nas_sync_test_poller_per_file_enqueue_drives_to_synced_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L568", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_568", - "target": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L657", - "weight": 1.0, - "source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L658", - "weight": 1.0, - "source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L662", - "weight": 1.0, - "source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L672", - "weight": 1.0, - "source": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L626", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_626", - "target": "integration_test_nas_sync_test_poller_to_cleanup_honors_keep_local_and_stamps_cleared" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_494", - "target": "integration_test_nas_sync_test_remote_hash_mismatch_terminal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_contract_py", - "target": "integration_test_lims_contract_load" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_contract_py", - "target": "integration_test_lims_contract_test_me_snapshot_decodes_into_lims_user" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_contract_py", - "target": "integration_test_lims_contract_test_login_response_snapshot_decodes_into_lims_user" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_contract_py", - "target": "integration_test_lims_contract_test_projects_list_snapshot_flows_through_list_projects_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_contract_py", - "target": "integration_test_lims_contract_test_empty_projects_envelope_decodes_to_empty_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_contract_py", - "target": "integration_test_lims_contract_test_project_one_snapshot_decodes_into_lims_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_lims_contract_py", - "target": "integration_test_lims_contract_test_snapshot_files_present_and_non_empty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_rationale_1", - "target": "tests_integration_test_lims_contract_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_test_me_snapshot_decodes_into_lims_user", - "target": "integration_test_lims_contract_load" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_test_login_response_snapshot_decodes_into_lims_user", - "target": "integration_test_lims_contract_load" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_test_projects_list_snapshot_flows_through_list_projects_path", - "target": "integration_test_lims_contract_load" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_test_project_one_snapshot_decodes_into_lims_project", - "target": "integration_test_lims_contract_load" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_rationale_36", - "target": "integration_test_lims_contract_test_me_snapshot_decodes_into_lims_user" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_rationale_44", - "target": "integration_test_lims_contract_test_login_response_snapshot_decodes_into_lims_user" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_rationale_52", - "target": "integration_test_lims_contract_test_projects_list_snapshot_flows_through_list_projects_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_rationale_79", - "target": "integration_test_lims_contract_test_empty_projects_envelope_decodes_to_empty_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_rationale_87", - "target": "integration_test_lims_contract_test_project_one_snapshot_decodes_into_lims_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_lims_contract.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_lims_contract_rationale_101", - "target": "integration_test_lims_contract_test_snapshot_files_present_and_non_empty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_schema_major_mismatch_py", - "target": "integration_test_schema_major_mismatch_cachecase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_schema_major_mismatch_py", - "target": "integration_test_schema_major_mismatch_resolve_reader" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_schema_major_mismatch_py", - "target": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_schema_major_mismatch_py", - "target": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_schema_major_mismatch_rationale_1", - "target": "tests_integration_test_schema_major_mismatch_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_schema_major_mismatch_rationale_40", - "target": "integration_test_schema_major_mismatch_cachecase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L35", - "weight": 0.8, - "confidence_score": 0.5, - "source": "integration_test_schema_major_mismatch_cachecase", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", - "target": "integration_test_schema_major_mismatch_resolve_reader" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", - "target": "integration_test_schema_major_mismatch_resolve_reader" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_schema_major_mismatch_rationale_157", - "target": "integration_test_schema_major_mismatch_resolve_reader" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_schema_major_mismatch_rationale_199", - "target": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L205", - "weight": 1.0, - "source": "integration_test_schema_major_mismatch_test_cross_major_read_raises_schema_major_mismatch", - "target": "cache_sync_state_writer_syncstatewriter_read" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_schema_major_mismatch_rationale_222", - "target": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_schema_major_mismatch.py", - "source_location": "L230", - "weight": 1.0, - "source": "integration_test_schema_major_mismatch_test_cross_major_read_records_higher_majors_too", - "target": "cache_sync_state_writer_syncstatewriter_read" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_creation_json_concurrent_writes_py", - "target": "integration_test_creation_json_concurrent_writes_build_minimal_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_creation_json_concurrent_writes_py", - "target": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_creation_json_concurrent_writes_py", - "target": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_creation_json_concurrent_writes_py", - "target": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_creation_json_concurrent_writes_rationale_1", - "target": "tests_integration_test_creation_json_concurrent_writes_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", - "target": "integration_test_creation_json_concurrent_writes_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", - "target": "integration_test_creation_json_concurrent_writes_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", - "target": "integration_test_creation_json_concurrent_writes_build_minimal_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L34", - "weight": 1.0, - "source": "integration_test_creation_json_concurrent_writes_build_minimal_payload", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L40", - "weight": 1.0, - "source": "integration_test_creation_json_concurrent_writes_build_minimal_payload", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L45", - "weight": 1.0, - "source": "integration_test_creation_json_concurrent_writes_build_minimal_payload", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L52", - "weight": 1.0, - "source": "integration_test_creation_json_concurrent_writes_build_minimal_payload", - "target": "api_schemas_pathsblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_creation_json_concurrent_writes_rationale_58", - "target": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L61", - "weight": 1.0, - "source": "integration_test_creation_json_concurrent_writes_test_ten_concurrent_mutations_all_land", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_creation_json_concurrent_writes_rationale_97", - "target": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L100", - "weight": 1.0, - "source": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_schema_at_current_version", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_creation_json_concurrent_writes_rationale_132", - "target": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_creation_json_concurrent_writes.py", - "source_location": "L137", - "weight": 1.0, - "source": "integration_test_creation_json_concurrent_writes_test_concurrent_mutations_keep_file_valid_json", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_validator_determinism_py", - "target": "integration_test_validator_determinism_build_creation_json_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_validator_determinism_py", - "target": "integration_test_validator_determinism_write_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_validator_determinism_py", - "target": "integration_test_validator_determinism_build_fixture_tree" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_validator_determinism_py", - "target": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_validator_determinism_py", - "target": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_validator_determinism_rationale_1", - "target": "tests_integration_test_validator_determinism_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_validator_determinism_build_fixture_tree", - "target": "integration_test_validator_determinism_build_creation_json_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_validator_determinism_build_fixture_tree", - "target": "integration_test_validator_determinism_write_creation_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", - "target": "integration_test_validator_determinism_build_fixture_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", - "target": "integration_test_validator_determinism_build_fixture_tree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_validator_determinism_rationale_90", - "target": "integration_test_validator_determinism_build_fixture_tree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_validator_determinism_rationale_165", - "target": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L177", - "weight": 1.0, - "source": "integration_test_validator_determinism_test_audit_two_calls_return_byte_identical_finding_lists", - "target": "config_models_validatorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_validator_determinism_rationale_222", - "target": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_validator_determinism.py", - "source_location": "L230", - "weight": 1.0, - "source": "integration_test_validator_determinism_test_audit_byte_identical_with_query_problems_alias", - "target": "config_models_validatorconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_tray_main_imports" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_window_main_imports" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_cli_main_imports" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_version_exposed_and_well_formed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_version_matches_pyproject" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_pyproject_scripts_match_expected" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_spec_file_is_valid_python" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_spec_references_entry_executable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_spec_references_entry_script" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_spec_uses_merge_directive" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_spec_lists_required_hidden_imports" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_spec_declares_macos_bundle_identifier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_workflow_is_valid_yaml" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_workflow_matrix_lists_all_v1_targets" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_workflow_runs_pyinstaller_and_smoke" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_internal_templates_dir_exists" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_internal_plugins_dir_exists" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_local_build_scripts_exist" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_workflow_does_not_run_on_branch_push" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L299", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_workflow_pull_request_targets_main_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_test_pyinstaller_smoke_py", - "target": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_1", - "target": "tests_integration_test_pyinstaller_smoke_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_62", - "target": "integration_test_pyinstaller_smoke_test_tray_main_imports" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_72", - "target": "integration_test_pyinstaller_smoke_test_window_main_imports" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_78", - "target": "integration_test_pyinstaller_smoke_test_cli_main_imports" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_92", - "target": "integration_test_pyinstaller_smoke_test_version_exposed_and_well_formed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_106", - "target": "integration_test_pyinstaller_smoke_test_version_matches_pyproject" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_124", - "target": "integration_test_pyinstaller_smoke_test_pyproject_scripts_match_expected" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_139", - "target": "integration_test_pyinstaller_smoke_test_spec_file_is_valid_python" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_151", - "target": "integration_test_pyinstaller_smoke_test_spec_references_entry_executable" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_165", - "target": "integration_test_pyinstaller_smoke_test_spec_references_entry_script" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_175", - "target": "integration_test_pyinstaller_smoke_test_spec_uses_merge_directive" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_190", - "target": "integration_test_pyinstaller_smoke_test_spec_lists_required_hidden_imports" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_199", - "target": "integration_test_pyinstaller_smoke_test_spec_declares_macos_bundle_identifier" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_210", - "target": "integration_test_pyinstaller_smoke_test_workflow_is_valid_yaml" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_219", - "target": "integration_test_pyinstaller_smoke_test_workflow_matrix_lists_all_v1_targets" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_228", - "target": "integration_test_pyinstaller_smoke_test_workflow_runs_pyinstaller_and_smoke" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_247", - "target": "integration_test_pyinstaller_smoke_test_internal_templates_dir_exists" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L253", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_253", - "target": "integration_test_pyinstaller_smoke_test_internal_plugins_dir_exists" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L264", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_264", - "target": "integration_test_pyinstaller_smoke_test_local_build_scripts_exist" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L284", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_284", - "target": "integration_test_pyinstaller_smoke_test_workflow_does_not_run_on_branch_push" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L300", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_300", - "target": "integration_test_pyinstaller_smoke_test_workflow_pull_request_targets_main_only" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_pyinstaller_smoke.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_pyinstaller_smoke_rationale_311", - "target": "integration_test_pyinstaller_smoke_test_workflow_concurrency_cancels_in_progress" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_record_from_fixture" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_make_dst_with_txt" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_ctx" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_refuse_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_test_hello_plugin_runs_successfully" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_test_timeout_enforcement" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_test_input_required_suspend_resume" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L257", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_test_input_required_cancelled" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L284", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_test_subprocess_crash_contained" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_plugins_test_host_isolation_py", - "target": "plugins_test_host_isolation_test_sanitized_environment_passes_through_path_home_lang" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_1", - "target": "tests_integration_plugins_test_host_isolation_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_stubregistry", - "target": "plugins_test_host_isolation_stubregistry_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_stubregistry", - "target": "plugins_test_host_isolation_stubregistry_get_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_timeout_enforcement", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_input_required_suspend_resume", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_input_required_cancelled", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_subprocess_crash_contained", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_51", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L32", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_host_isolation_stubregistry", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L33", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_host_isolation_stubregistry", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_host_isolation_stubregistry", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_host_isolation_stubregistry", - "target": "plugins_host_pluginhost" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_host_isolation_stubregistry", - "target": "plugins_host_pluginrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_host_isolation_stubregistry", - "target": "plugins_host_pluginregistryprotocol" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L40", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_test_host_isolation_stubregistry", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L468", - "weight": 1.0, - "source": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L886", - "weight": 1.0, - "source": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", - "target": "plugins_test_host_isolation_stubregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", - "target": "plugins_test_host_isolation_record_from_fixture" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_timeout_enforcement", - "target": "plugins_test_host_isolation_record_from_fixture" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", - "target": "plugins_test_host_isolation_record_from_fixture" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_input_required_suspend_resume", - "target": "plugins_test_host_isolation_record_from_fixture" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_input_required_cancelled", - "target": "plugins_test_host_isolation_record_from_fixture" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_subprocess_crash_contained", - "target": "plugins_test_host_isolation_record_from_fixture" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", - "target": "plugins_test_host_isolation_record_from_fixture" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_67", - "target": "plugins_test_host_isolation_record_from_fixture" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", - "target": "plugins_test_host_isolation_make_dst_with_txt" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_timeout_enforcement", - "target": "plugins_test_host_isolation_make_dst_with_txt" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", - "target": "plugins_test_host_isolation_make_dst_with_txt" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_input_required_suspend_resume", - "target": "plugins_test_host_isolation_make_dst_with_txt" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_input_required_cancelled", - "target": "plugins_test_host_isolation_make_dst_with_txt" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_subprocess_crash_contained", - "target": "plugins_test_host_isolation_make_dst_with_txt" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", - "target": "plugins_test_host_isolation_make_dst_with_txt" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_90", - "target": "plugins_test_host_isolation_make_dst_with_txt" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", - "target": "plugins_test_host_isolation_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_timeout_enforcement", - "target": "plugins_test_host_isolation_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", - "target": "plugins_test_host_isolation_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_input_required_suspend_resume", - "target": "plugins_test_host_isolation_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L264", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_input_required_cancelled", - "target": "plugins_test_host_isolation_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_subprocess_crash_contained", - "target": "plugins_test_host_isolation_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", - "target": "plugins_test_host_isolation_ctx" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_99", - "target": "plugins_test_host_isolation_ctx" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L100", - "weight": 1.0, - "source": "plugins_test_host_isolation_ctx", - "target": "plugins_base_plugincontext" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L110", - "weight": 1.0, - "source": "plugins_test_host_isolation_ctx", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_115", - "target": "plugins_test_host_isolation_refuse_input" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_125", - "target": "plugins_test_host_isolation_test_hello_plugin_runs_successfully" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L128", - "weight": 1.0, - "source": "plugins_test_host_isolation_test_hello_plugin_runs_successfully", - "target": "plugins_host_pluginhost" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_150", - "target": "plugins_test_host_isolation_test_timeout_enforcement" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L153", - "weight": 1.0, - "source": "plugins_test_host_isolation_test_timeout_enforcement", - "target": "plugins_host_pluginhost" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_183", - "target": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L192", - "weight": 1.0, - "source": "plugins_test_host_isolation_test_plugin_error_does_not_abort_session", - "target": "plugins_host_pluginhost" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_221", - "target": "plugins_test_host_isolation_test_input_required_suspend_resume" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L224", - "weight": 1.0, - "source": "plugins_test_host_isolation_test_input_required_suspend_resume", - "target": "plugins_host_pluginhost" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L258", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_258", - "target": "plugins_test_host_isolation_test_input_required_cancelled" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L261", - "weight": 1.0, - "source": "plugins_test_host_isolation_test_input_required_cancelled", - "target": "plugins_host_pluginhost" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_285", - "target": "plugins_test_host_isolation_test_subprocess_crash_contained" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L294", - "weight": 1.0, - "source": "plugins_test_host_isolation_test_subprocess_crash_contained", - "target": "plugins_host_pluginhost" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_324", - "target": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L327", - "weight": 1.0, - "source": "plugins_test_host_isolation_test_policy_violation_reverts_forbidden_write", - "target": "plugins_host_pluginhost" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/plugins/test_host_isolation.py", - "source_location": "L360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_test_host_isolation_rationale_360", - "target": "plugins_test_host_isolation_test_sanitized_environment_passes_through_path_home_lang" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_full_project_creation_happy_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_validation_rejects_empty_label" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_validation_rejects_label_over_length" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_validation_rejects_objective_over_length" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_validation_rejects_unknown_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L384", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L400", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_validation_rejects_empty_objective" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L413", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_validation_rejects_empty_operator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L431", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_plugin_input_required_suspend_resume" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L502", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L540", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L562", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L603", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L631", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_status_unknown_session_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L639", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_cancel_unknown_session_is_noop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L662", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L694", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L749", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_noop_nas_sync_returns_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L760", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_resume_unknown_session_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L768", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L804", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_required_template_field_present_passes_validation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L839", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_subscribe_unknown_session_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L848", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L906", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L929", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L948", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_config_required_readme_field_missing_fails" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L974", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1002", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1016", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_format_error_with_non_validation_exception_returns_internal_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1025", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_append_log_writes_log_line" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1041", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1065", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1085", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_required_field_ids_filters_non_dict_entries" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_controller_test_creation_flow_py", - "target": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1", - "target": "tests_integration_controller_test_creation_flow_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_full_project_creation_happy_path", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L230", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_empty_label", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_label_over_length", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L341", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_objective_over_length", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L357", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L371", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_empty_objective", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L416", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_empty_operator", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L452", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L506", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L544", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L584", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L606", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L634", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_status_unknown_session_raises", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L642", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L652", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_unknown_session_is_noop", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L712", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L763", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_resume_unknown_session_raises", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L793", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L829", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_required_template_field_present_passes_validation", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L842", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_subscribe_unknown_session_raises", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L870", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L912", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L935", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L955", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L979", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1006", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1029", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_append_log_writes_log_line", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1047", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1070", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1089", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_67", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L70", - "weight": 1.0, - "source": "controller_test_creation_flow_build_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L76", - "weight": 1.0, - "source": "controller_test_creation_flow_build_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L89", - "weight": 1.0, - "source": "controller_test_creation_flow_build_config", - "target": "config_models_operatorsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L90", - "weight": 1.0, - "source": "controller_test_creation_flow_build_config", - "target": "config_models_readmeconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_68", - "target": "controller_test_creation_flow_build_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L81", - "weight": 1.0, - "source": "controller_test_creation_flow_build_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_full_project_creation_happy_path", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_empty_label", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_label_over_length", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_objective_over_length", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L374", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L406", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_empty_objective", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L419", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_empty_operator", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L512", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L547", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L609", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L643", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L720", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L918", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L939", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L967", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L991", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1009", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1032", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_append_log_writes_log_line", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1051", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1074", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1093", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", - "target": "controller_test_creation_flow_project_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L109", - "weight": 1.0, - "source": "controller_test_creation_flow_project_request", - "target": "controller_creation_projectcreaterequest" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L392", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L587", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L796", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L832", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_required_template_field_present_passes_validation", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L889", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1054", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", - "target": "controller_test_creation_flow_run_request" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L141", - "weight": 1.0, - "source": "controller_test_creation_flow_run_request", - "target": "controller_creation_runcreaterequest" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_full_project_creation_happy_path", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L284", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_empty_label", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L328", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_label_over_length", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_objective_over_length", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_operator_not_in_allowlist", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L372", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_unknown_equipment", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L390", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L404", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_empty_objective", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L417", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_validation_rejects_empty_operator", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L470", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L507", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L545", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L585", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_subscribe_yields_phase_events_and_done_envelope", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L634", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_status_unknown_session_raises", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L642", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L652", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_unknown_session_is_noop", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L717", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L763", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_resume_unknown_session_raises", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L794", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L830", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_required_template_field_present_passes_validation", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L842", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_subscribe_unknown_session_raises", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L887", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L913", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L936", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L965", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L980", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1007", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1030", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_append_log_writes_log_line", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1048", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1071", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1090", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", - "target": "controller_test_creation_flow_build_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L162", - "weight": 1.0, - "source": "controller_test_creation_flow_build_controller", - "target": "controller_creation_creationcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L165", - "weight": 1.0, - "source": "controller_test_creation_flow_build_controller", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L167", - "weight": 1.0, - "source": "controller_test_creation_flow_build_controller", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L168", - "weight": 1.0, - "source": "controller_test_creation_flow_build_controller", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L171", - "weight": 1.0, - "source": "controller_test_creation_flow_build_controller", - "target": "controller_creation_noopreadmegenerator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L172", - "weight": 1.0, - "source": "controller_test_creation_flow_build_controller", - "target": "controller_creation_noopnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L173", - "weight": 1.0, - "source": "controller_test_creation_flow_build_controller", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_full_project_creation_happy_path", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_full_experimental_run_creation_happy_path", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_test_run_creation_uses_test_runs_subdir_and_marks_run_kind", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L513", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L548", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L588", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L644", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_resume_rejects_session_not_in_input_required", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L724", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L835", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_required_template_field_present_passes_validation", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L919", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1010", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1033", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_append_log_writes_log_line", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1052", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_171", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_178", - "target": "controller_test_creation_flow_drain_to_done" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_188", - "target": "controller_test_creation_flow_test_full_project_creation_happy_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_195", - "target": "controller_test_creation_flow_test_full_project_creation_happy_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L242", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_242", - "target": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_249", - "target": "controller_test_creation_flow_test_same_minute_run_creation_collision_is_hard_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_378", - "target": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L385", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_385", - "target": "controller_test_creation_flow_test_validation_rejects_unsafe_project_name_for_runs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L425", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_425", - "target": "controller_test_creation_flow_test_plugin_input_required_suspend_resume" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L469", - "weight": 1.0, - "source": "controller_test_creation_flow_test_plugin_input_required_suspend_resume", - "target": "plugins_host_pluginhost" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L432", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_432", - "target": "controller_test_creation_flow_test_plugin_input_required_suspend_resume" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L501", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_501", - "target": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L496", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_496", - "target": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L503", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_503", - "target": "controller_test_creation_flow_test_cancel_with_discard_files_removes_partial_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L539", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_539", - "target": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L534", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_534", - "target": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L541", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_541", - "target": "controller_test_creation_flow_test_cancel_without_discard_leaves_partial_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L563", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_563", - "target": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L558", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_558", - "target": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L565", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_565", - "target": "controller_test_creation_flow_test_post_validate_blocks_sync_when_placeholder_left_in_file" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L668", - "weight": 1.0, - "source": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", - "target": "controller_creation_noopreadmegenerator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L669", - "weight": 1.0, - "source": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", - "target": "readme_generator_readmecontext" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L671", - "weight": 1.0, - "source": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", - "target": "readme_generator_corefields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L675", - "weight": 1.0, - "source": "controller_test_creation_flow_test_noop_readme_generator_writes_minimal_readme", - "target": "readme_generator_systemfields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L693", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_693", - "target": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L715", - "weight": 1.0, - "source": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L717", - "weight": 1.0, - "source": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache", - "target": "readme_generator_readmegenerator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L688", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_688", - "target": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L695", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_695", - "target": "controller_test_creation_flow_test_real_readme_generator_writes_frontmatter_and_cache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L750", - "weight": 1.0, - "source": "controller_test_creation_flow_test_noop_nas_sync_returns_none", - "target": "controller_creation_noopnassync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L769", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_769", - "target": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L764", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_764", - "target": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L771", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_771", - "target": "controller_test_creation_flow_test_required_template_field_missing_in_readme_extra_fails" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L805", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_805", - "target": "controller_test_creation_flow_test_required_template_field_present_passes_validation", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L800", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_800", - "target": "controller_test_creation_flow_test_required_template_field_present_passes_validation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L807", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_807", - "target": "controller_test_creation_flow_test_required_template_field_present_passes_validation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L849", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_849", - "target": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L886", - "weight": 1.0, - "source": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback", - "target": "plugins_host_pluginhost" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L844", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_844", - "target": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L851", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_851", - "target": "controller_test_creation_flow_test_cancel_input_required_aborts_session_via_plugin_callback" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L907", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_907", - "target": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L902", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_902", - "target": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L909", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_909", - "target": "controller_test_creation_flow_test_cancel_invokes_cleanup_when_compose_path_fails" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L930", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_930", - "target": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L925", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_925", - "target": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L932", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_932", - "target": "controller_test_creation_flow_test_cleanup_removes_existing_directory_when_discard_files_true" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L947", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_947", - "target": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L957", - "weight": 1.0, - "source": "controller_test_creation_flow_test_config_required_readme_field_missing_fails", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L942", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_942", - "target": "controller_test_creation_flow_test_config_required_readme_field_missing_fails" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L949", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_949", - "target": "controller_test_creation_flow_test_config_required_readme_field_missing_fails" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L973", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_973", - "target": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L968", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_968", - "target": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L975", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_975", - "target": "controller_test_creation_flow_test_render_failure_transitions_session_to_failed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1001", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_1001", - "target": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L996", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_996", - "target": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1003", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1003", - "target": "controller_test_creation_flow_test_run_creation_writes_equipment_json_at_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1017", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_1017", - "target": "controller_test_creation_flow_test_format_error_with_non_validation_exception_returns_internal_error", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1012", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1012", - "target": "controller_test_creation_flow_test_format_error_with_non_validation_exception_returns_internal_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1019", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1019", - "target": "controller_test_creation_flow_test_format_error_with_non_validation_exception_returns_internal_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1024", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_1024", - "target": "controller_test_creation_flow_test_append_log_writes_log_line", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1019", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1019", - "target": "controller_test_creation_flow_test_append_log_writes_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1026", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1026", - "target": "controller_test_creation_flow_test_append_log_writes_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1040", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_1040", - "target": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1035", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1035", - "target": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1042", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1042", - "target": "controller_test_creation_flow_test_run_inherits_lims_project_block_from_parent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1064", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_1064", - "target": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1059", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1059", - "target": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1066", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1066", - "target": "controller_test_creation_flow_test_cancel_before_task_starts_invokes_cleanup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1084", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_1084", - "target": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1079", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1079", - "target": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1086", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1086", - "target": "controller_test_creation_flow_test_resume_session_with_no_resume_queue_raises" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1105", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_1105", - "target": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1100", - "target": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1107", - "target": "controller_test_creation_flow_test_subscribe_creates_queue_when_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1129", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_1129", - "target": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1124", - "target": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1131", - "target": "controller_test_creation_flow_test_plugin_pass_aborted_transitions_to_failed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1174", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_1174", - "target": "controller_test_creation_flow_test_required_field_ids_filters_non_dict_entries", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1188", - "weight": 1.0, - "source": "controller_test_creation_flow_test_required_field_ids_filters_non_dict_entries", - "target": "controller_creation_required_field_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1169", - "target": "controller_test_creation_flow_test_required_field_ids_filters_non_dict_entries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1176", - "target": "controller_test_creation_flow_test_required_field_ids_filters_non_dict_entries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1190", - "weight": 1.0, - "source": "controller_test_creation_flow_rationale_1190", - "target": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1185", - "target": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/controller/test_creation_flow.py", - "source_location": "L1192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_test_creation_flow_rationale_1192", - "target": "controller_test_creation_flow_test_run_without_parent_creation_json_fills_stub_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_ready_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_app_with_real_controller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_client" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_full_project_creation_flow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_health_returns_ready_when_setup_complete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_health_warns_when_lims_unreachable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_setup_status_each_incomplete_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_lims_unreachable_does_not_block_creation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_problems_refresh_returns_audit_count" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_get_problems_returns_findings_and_filters" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L333", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_put_config_validates_and_updates_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L353", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_get_tree_in_ready_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_test_websocket_streams_session_events_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L438", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_integration_api_test_full_flow_py", - "target": "api_test_full_flow_build_minimal_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_1", - "target": "tests_integration_api_test_full_flow_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L53", - "weight": 1.0, - "source": "api_test_full_flow_ready_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L59", - "weight": 1.0, - "source": "api_test_full_flow_ready_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L66", - "weight": 1.0, - "source": "api_test_full_flow_ready_config", - "target": "config_models_nasconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L72", - "weight": 1.0, - "source": "api_test_full_flow_ready_config", - "target": "config_models_operatorsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L73", - "weight": 1.0, - "source": "api_test_full_flow_ready_config", - "target": "config_models_readmeconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L74", - "weight": 1.0, - "source": "api_test_full_flow_ready_config", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L75", - "weight": 1.0, - "source": "api_test_full_flow_ready_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L64", - "weight": 1.0, - "source": "api_test_full_flow_ready_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_76", - "target": "api_test_full_flow_app_with_real_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L84", - "weight": 1.0, - "source": "api_test_full_flow_app_with_real_controller", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L85", - "weight": 1.0, - "source": "api_test_full_flow_app_with_real_controller", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L87", - "weight": 1.0, - "source": "api_test_full_flow_app_with_real_controller", - "target": "controller_creation_creationcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L90", - "weight": 1.0, - "source": "api_test_full_flow_app_with_real_controller", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L94", - "weight": 1.0, - "source": "api_test_full_flow_app_with_real_controller", - "target": "controller_creation_noopreadmegenerator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L95", - "weight": 1.0, - "source": "api_test_full_flow_app_with_real_controller", - "target": "controller_creation_noopnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L96", - "weight": 1.0, - "source": "api_test_full_flow_app_with_real_controller", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L98", - "weight": 1.0, - "source": "api_test_full_flow_app_with_real_controller", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L104", - "weight": 1.0, - "source": "api_test_full_flow_app_with_real_controller", - "target": "api_app_auditchannel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L106", - "weight": 1.0, - "source": "api_test_full_flow_app_with_real_controller", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_81", - "target": "api_test_full_flow_app_with_real_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_full_project_creation_flow", - "target": "api_test_full_flow_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_health_returns_ready_when_setup_complete", - "target": "api_test_full_flow_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_health_warns_when_lims_unreachable", - "target": "api_test_full_flow_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_setup_status_each_incomplete_state", - "target": "api_test_full_flow_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", - "target": "api_test_full_flow_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "target": "api_test_full_flow_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_problems_refresh_returns_audit_count", - "target": "api_test_full_flow_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_get_problems_returns_findings_and_filters", - "target": "api_test_full_flow_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L344", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_put_config_validates_and_updates_state", - "target": "api_test_full_flow_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L356", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_get_tree_in_ready_state", - "target": "api_test_full_flow_client" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_111", - "target": "api_test_full_flow_test_full_project_creation_flow" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_117", - "target": "api_test_full_flow_test_full_project_creation_flow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L171", - "weight": 1.0, - "source": "api_test_full_flow_test_health_warns_when_lims_unreachable", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L172", - "weight": 1.0, - "source": "api_test_full_flow_test_health_warns_when_lims_unreachable", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_175", - "target": "api_test_full_flow_test_setup_status_each_incomplete_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L187", - "weight": 1.0, - "source": "api_test_full_flow_test_setup_status_each_incomplete_state", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L195", - "weight": 1.0, - "source": "api_test_full_flow_test_setup_status_each_incomplete_state", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L202", - "weight": 1.0, - "source": "api_test_full_flow_test_setup_status_each_incomplete_state", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L203", - "weight": 1.0, - "source": "api_test_full_flow_test_setup_status_each_incomplete_state", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_181", - "target": "api_test_full_flow_test_setup_status_each_incomplete_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_209", - "target": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L216", - "weight": 1.0, - "source": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L217", - "weight": 1.0, - "source": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_215", - "target": "api_test_full_flow_test_create_session_blocked_when_setup_incomplete" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_233", - "target": "api_test_full_flow_test_lims_unreachable_does_not_block_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L240", - "weight": 1.0, - "source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L241", - "weight": 1.0, - "source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L243", - "weight": 1.0, - "source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "target": "controller_creation_creationcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L246", - "weight": 1.0, - "source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L250", - "weight": 1.0, - "source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "target": "controller_creation_noopreadmegenerator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L251", - "weight": 1.0, - "source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "target": "controller_creation_noopnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L252", - "weight": 1.0, - "source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L254", - "weight": 1.0, - "source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L262", - "weight": 1.0, - "source": "api_test_full_flow_test_lims_unreachable_does_not_block_creation", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_239", - "target": "api_test_full_flow_test_lims_unreachable_does_not_block_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_problems_refresh_returns_audit_count", - "target": "api_test_full_flow_build_minimal_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L284", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_284", - "target": "api_test_full_flow_test_problems_refresh_returns_audit_count" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L292", - "weight": 1.0, - "source": "api_test_full_flow_test_problems_refresh_returns_audit_count", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L295", - "weight": 1.0, - "source": "api_test_full_flow_test_problems_refresh_returns_audit_count", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L301", - "weight": 1.0, - "source": "api_test_full_flow_test_problems_refresh_returns_audit_count", - "target": "api_app_auditchannel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L303", - "weight": 1.0, - "source": "api_test_full_flow_test_problems_refresh_returns_audit_count", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_291", - "target": "api_test_full_flow_test_problems_refresh_returns_audit_count" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L318", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_test_get_problems_returns_findings_and_filters", - "target": "api_test_full_flow_build_minimal_controller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L316", - "weight": 1.0, - "source": "api_test_full_flow_test_get_problems_returns_findings_and_filters", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L319", - "weight": 1.0, - "source": "api_test_full_flow_test_get_problems_returns_findings_and_filters", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L326", - "weight": 1.0, - "source": "api_test_full_flow_test_get_problems_returns_findings_and_filters", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L334", - "weight": 1.0, - "source": "api_test_full_flow_test_put_config_validates_and_updates_state", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L335", - "weight": 1.0, - "source": "api_test_full_flow_test_put_config_validates_and_updates_state", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L337", - "weight": 1.0, - "source": "api_test_full_flow_test_put_config_validates_and_updates_state", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L342", - "weight": 1.0, - "source": "api_test_full_flow_test_put_config_validates_and_updates_state", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L354", - "weight": 1.0, - "source": "api_test_full_flow_test_get_tree_in_ready_state", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L355", - "weight": 1.0, - "source": "api_test_full_flow_test_get_tree_in_ready_state", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_358", - "target": "api_test_full_flow_test_websocket_streams_session_events_sync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L376", - "weight": 1.0, - "source": "api_test_full_flow_test_websocket_streams_session_events_sync", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L377", - "weight": 1.0, - "source": "api_test_full_flow_test_websocket_streams_session_events_sync", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L379", - "weight": 1.0, - "source": "api_test_full_flow_test_websocket_streams_session_events_sync", - "target": "controller_creation_creationcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L382", - "weight": 1.0, - "source": "api_test_full_flow_test_websocket_streams_session_events_sync", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L386", - "weight": 1.0, - "source": "api_test_full_flow_test_websocket_streams_session_events_sync", - "target": "controller_creation_noopreadmegenerator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L387", - "weight": 1.0, - "source": "api_test_full_flow_test_websocket_streams_session_events_sync", - "target": "controller_creation_noopnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L388", - "weight": 1.0, - "source": "api_test_full_flow_test_websocket_streams_session_events_sync", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L390", - "weight": 1.0, - "source": "api_test_full_flow_test_websocket_streams_session_events_sync", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L397", - "weight": 1.0, - "source": "api_test_full_flow_test_websocket_streams_session_events_sync", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L367", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_full_flow_rationale_367", - "target": "api_test_full_flow_test_websocket_streams_session_events_sync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L439", - "weight": 1.0, - "source": "api_test_full_flow_build_minimal_controller", - "target": "controller_creation_creationcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L442", - "weight": 1.0, - "source": "api_test_full_flow_build_minimal_controller", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L445", - "weight": 1.0, - "source": "api_test_full_flow_build_minimal_controller", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L446", - "weight": 1.0, - "source": "api_test_full_flow_build_minimal_controller", - "target": "controller_creation_noopreadmegenerator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L447", - "weight": 1.0, - "source": "api_test_full_flow_build_minimal_controller", - "target": "controller_creation_noopnassync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/api/test_full_flow.py", - "source_location": "L448", - "weight": 1.0, - "source": "api_test_full_flow_build_minimal_controller", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_mock_lims_py", - "target": "fixtures_mock_lims_mocklimsstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_mock_lims_py", - "target": "fixtures_mock_lims_default_user" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_mock_lims_py", - "target": "fixtures_mock_lims_default_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_mock_lims_py", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_rationale_1", - "target": "tests_fixtures_mock_lims_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_mocklimsstate", - "target": "fixtures_mock_lims_mocklimsstate_issue_session" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_mocklimsstate", - "target": "fixtures_mock_lims_mocklimsstate_is_valid_session" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_mocklimsstate", - "target": "fixtures_mock_lims_mocklimsstate_invalidate_sessions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_make_mock_lims_app", - "target": "fixtures_mock_lims_mocklimsstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_rationale_39", - "target": "fixtures_mock_lims_mocklimsstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_rationale_54", - "target": "fixtures_mock_lims_mocklimsstate_issue_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_rationale_63", - "target": "fixtures_mock_lims_mocklimsstate_invalidate_sessions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_make_mock_lims_app", - "target": "fixtures_mock_lims_default_user" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_make_mock_lims_app", - "target": "fixtures_mock_lims_default_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/mock_lims.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_mock_lims_rationale_97", - "target": "fixtures_mock_lims_make_mock_lims_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_stub_rclone_py", - "target": "fixtures_stub_rclone_parse_copy_args" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_stub_rclone_py", - "target": "fixtures_stub_rclone_is_flag_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_stub_rclone_py", - "target": "fixtures_stub_rclone_emit_combined" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_stub_rclone_py", - "target": "fixtures_stub_rclone_flag_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_stub_rclone_py", - "target": "fixtures_stub_rclone_main" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_stub_rclone_py", - "target": "fixtures_stub_rclone_dump_env" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_stub_rclone_py", - "target": "fixtures_stub_rclone_require_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_parse_copy_args", - "target": "fixtures_stub_rclone_is_flag_value" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_main", - "target": "fixtures_stub_rclone_parse_copy_args" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_rationale_49", - "target": "fixtures_stub_rclone_parse_copy_args" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_rationale_55", - "target": "fixtures_stub_rclone_parse_copy_args" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_rationale_61", - "target": "fixtures_stub_rclone_is_flag_value" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_rationale_67", - "target": "fixtures_stub_rclone_is_flag_value" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_emit_combined", - "target": "fixtures_stub_rclone_flag_value" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_main", - "target": "fixtures_stub_rclone_emit_combined" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_rationale_81", - "target": "fixtures_stub_rclone_emit_combined" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_rationale_85", - "target": "fixtures_stub_rclone_emit_combined" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_rationale_110", - "target": "fixtures_stub_rclone_flag_value" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_rationale_114", - "target": "fixtures_stub_rclone_flag_value" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_main", - "target": "fixtures_stub_rclone_dump_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_main", - "target": "fixtures_stub_rclone_require_env" - }, - { - "relation": "imports_from", - "context": "import", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/hello_plugin/__init__.py", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_hello_plugin_init_py", - "target": "tests_fixtures_plugins_hello_plugin_plugin_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/hello_plugin/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "hello_plugin_init_rationale_1", - "target": "tests_fixtures_plugins_hello_plugin_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_hello_plugin_plugin_py", - "target": "hello_plugin_plugin_helloplugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "hello_plugin_plugin_rationale_1", - "target": "tests_fixtures_plugins_hello_plugin_plugin_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "hello_plugin_plugin_helloplugin", - "target": "hello_plugin_plugin_helloplugin_can_handle" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "hello_plugin_plugin_helloplugin", - "target": "hello_plugin_plugin_helloplugin_transform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/hello_plugin/plugin.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "hello_plugin_plugin_rationale_21", - "target": "hello_plugin_plugin_helloplugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "failures_init_rationale_1", - "target": "tests_fixtures_plugins_failures_init_py" - }, - { - "relation": "imports_from", - "context": "import", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/__init__.py", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_failures_error_plugin_init_py", - "target": "tests_fixtures_plugins_failures_error_plugin_plugin_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "error_plugin_init_rationale_1", - "target": "tests_fixtures_plugins_failures_error_plugin_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_failures_error_plugin_plugin_py", - "target": "error_plugin_plugin_errorplugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "error_plugin_plugin_rationale_1", - "target": "tests_fixtures_plugins_failures_error_plugin_plugin_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "error_plugin_plugin_errorplugin", - "target": "error_plugin_plugin_errorplugin_can_handle" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "error_plugin_plugin_errorplugin", - "target": "error_plugin_plugin_errorplugin_transform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "error_plugin_plugin_rationale_18", - "target": "error_plugin_plugin_errorplugin" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L13", - "weight": 0.8, - "confidence_score": 0.5, - "source": "error_plugin_plugin_errorplugin", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/fixtures/plugins/_failures/error_plugin/plugin.py", - "source_location": "L29", - "weight": 1.0, - "source": "error_plugin_plugin_errorplugin_transform", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "imports_from", - "context": "import", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/__init__.py", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_failures_policy_violation_plugin_init_py", - "target": "tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "policy_violation_plugin_init_rationale_1", - "target": "tests_fixtures_plugins_failures_policy_violation_plugin_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py", - "target": "policy_violation_plugin_plugin_policyviolationplugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "policy_violation_plugin_plugin_rationale_1", - "target": "tests_fixtures_plugins_failures_policy_violation_plugin_plugin_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "policy_violation_plugin_plugin_policyviolationplugin", - "target": "policy_violation_plugin_plugin_policyviolationplugin_can_handle" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "policy_violation_plugin_plugin_policyviolationplugin", - "target": "policy_violation_plugin_plugin_policyviolationplugin_transform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "policy_violation_plugin_plugin_rationale_19", - "target": "policy_violation_plugin_plugin_policyviolationplugin" - }, - { - "relation": "imports_from", - "context": "import", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/__init__.py", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_failures_input_required_plugin_init_py", - "target": "tests_fixtures_plugins_failures_input_required_plugin_plugin_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "input_required_plugin_init_rationale_1", - "target": "tests_fixtures_plugins_failures_input_required_plugin_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_failures_input_required_plugin_plugin_py", - "target": "input_required_plugin_plugin_inputrequiredplugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "input_required_plugin_plugin_rationale_1", - "target": "tests_fixtures_plugins_failures_input_required_plugin_plugin_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "input_required_plugin_plugin_inputrequiredplugin", - "target": "input_required_plugin_plugin_inputrequiredplugin_can_handle" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "input_required_plugin_plugin_inputrequiredplugin", - "target": "input_required_plugin_plugin_inputrequiredplugin_transform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "input_required_plugin_plugin_rationale_21", - "target": "input_required_plugin_plugin_inputrequiredplugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/fixtures/plugins/_failures/input_required_plugin/plugin.py", - "source_location": "L38", - "weight": 1.0, - "source": "input_required_plugin_plugin_inputrequiredplugin_transform", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "imports_from", - "context": "import", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/__init__.py", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_failures_crash_plugin_init_py", - "target": "tests_fixtures_plugins_failures_crash_plugin_plugin_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "crash_plugin_init_rationale_1", - "target": "tests_fixtures_plugins_failures_crash_plugin_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_failures_crash_plugin_plugin_py", - "target": "crash_plugin_plugin_crashplugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "crash_plugin_plugin_rationale_1", - "target": "tests_fixtures_plugins_failures_crash_plugin_plugin_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "crash_plugin_plugin_crashplugin", - "target": "crash_plugin_plugin_crashplugin_can_handle" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "crash_plugin_plugin_crashplugin", - "target": "crash_plugin_plugin_crashplugin_transform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/crash_plugin/plugin.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "crash_plugin_plugin_rationale_19", - "target": "crash_plugin_plugin_crashplugin" - }, - { - "relation": "imports_from", - "context": "import", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/__init__.py", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_failures_timeout_plugin_init_py", - "target": "tests_fixtures_plugins_failures_timeout_plugin_plugin_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "timeout_plugin_init_rationale_1", - "target": "tests_fixtures_plugins_failures_timeout_plugin_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_plugins_failures_timeout_plugin_plugin_py", - "target": "timeout_plugin_plugin_timeoutplugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "timeout_plugin_plugin_rationale_1", - "target": "tests_fixtures_plugins_failures_timeout_plugin_plugin_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "timeout_plugin_plugin_timeoutplugin", - "target": "timeout_plugin_plugin_timeoutplugin_can_handle" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "timeout_plugin_plugin_timeoutplugin", - "target": "timeout_plugin_plugin_timeoutplugin_transform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/plugins/_failures/timeout_plugin/plugin.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "timeout_plugin_plugin_rationale_20", - "target": "timeout_plugin_plugin_timeoutplugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/configs/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "configs_init_rationale_1", - "target": "tests_fixtures_configs_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/templates/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "templates_init_rationale_1", - "target": "tests_fixtures_templates_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_18_relay_receive_py", - "target": "e2e_test_flow_18_relay_receive_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_18_relay_receive_py", - "target": "e2e_test_flow_18_relay_receive_test_flow_18_received_equipment_node_appears" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_18_relay_receive_py", - "target": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_18_relay_receive_rationale_1", - "target": "tests_e2e_test_flow_18_relay_receive_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_18_relay_receive_test_flow_18_received_equipment_node_appears", - "target": "e2e_test_flow_18_relay_receive_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_18_relay_receive.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_18_relay_receive_test_flow_18_received_metadata_shows_relay_badge", - "target": "e2e_test_flow_18_relay_receive_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_conftest_py", - "target": "e2e_conftest_free_port" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_conftest_py", - "target": "e2e_conftest_resolve_chromium_executable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_conftest_py", - "target": "e2e_conftest_server_url" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_conftest_py", - "target": "e2e_conftest_browser" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_conftest_py", - "target": "e2e_conftest_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_conftest_rationale_1", - "target": "tests_e2e_conftest_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_conftest_server_url", - "target": "e2e_conftest_free_port" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_conftest_rationale_47", - "target": "e2e_conftest_free_port" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_conftest_browser", - "target": "e2e_conftest_resolve_chromium_executable" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_conftest_rationale_54", - "target": "e2e_conftest_resolve_chromium_executable" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "scripts/generate_screenshots.py", - "source_location": "L353", - "weight": 1.0, - "source": "scripts_generate_screenshots_main", - "target": "e2e_conftest_resolve_chromium_executable" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_conftest_rationale_91", - "target": "e2e_conftest_server_url" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_conftest_rationale_156", - "target": "e2e_conftest_browser" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/conftest.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_conftest_rationale_182", - "target": "e2e_conftest_page" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_fresh_install_setup_py", - "target": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_fresh_install_setup_py", - "target": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_fresh_install_setup_rationale_1", - "target": "tests_e2e_test_flow_00_fresh_install_setup_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_fresh_install_setup_rationale_50", - "target": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L58", - "weight": 1.0, - "source": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", - "target": "e2e_prod_server_free_port" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L59", - "weight": 1.0, - "source": "e2e_test_flow_00_fresh_install_setup_fresh_prod_server", - "target": "e2e_prod_server_prod_app_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_00_fresh_install_setup.py", - "source_location": "L113", - "weight": 1.0, - "source": "e2e_test_flow_00_fresh_install_setup_test_fresh_install_setup_writes_config_and_applies_live", - "target": "e2e_prod_server_resolve_config_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_22_onboarding_redesign_py", - "target": "e2e_test_flow_22_onboarding_redesign_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_22_onboarding_redesign_py", - "target": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_22_onboarding_redesign_py", - "target": "e2e_test_flow_22_onboarding_redesign_test_flow_22_main_window_has_add_equipment_in_toolbar" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_22_onboarding_redesign_rationale_1", - "target": "tests_e2e_test_flow_22_onboarding_redesign_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", - "target": "e2e_test_flow_22_onboarding_redesign_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_22_onboarding_redesign_test_flow_22_main_window_has_add_equipment_in_toolbar", - "target": "e2e_test_flow_22_onboarding_redesign_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L33", - "weight": 1.0, - "source": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", - "target": "page_objects_welcome_page_welcomepage" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_22_onboarding_redesign.py", - "source_location": "L34", - "weight": 1.0, - "source": "e2e_test_flow_22_onboarding_redesign_test_flow_22_welcome_to_add_equipment", - "target": "page_objects_wizard_equipment_page_wizardequipmentpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_24_context_menus_py", - "target": "e2e_test_flow_24_context_menus_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_24_context_menus_py", - "target": "e2e_test_flow_24_context_menus_open_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_24_context_menus_py", - "target": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_24_context_menus_py", - "target": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_24_context_menus_py", - "target": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_24_context_menus_py", - "target": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_24_context_menus_py", - "target": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_24_context_menus_py", - "target": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_24_context_menus_py", - "target": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_24_context_menus_py", - "target": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_rationale_1", - "target": "tests_e2e_test_flow_24_context_menus_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", - "target": "e2e_test_flow_24_context_menus_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", - "target": "e2e_test_flow_24_context_menus_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", - "target": "e2e_test_flow_24_context_menus_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", - "target": "e2e_test_flow_24_context_menus_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", - "target": "e2e_test_flow_24_context_menus_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", - "target": "e2e_test_flow_24_context_menus_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", - "target": "e2e_test_flow_24_context_menus_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", - "target": "e2e_test_flow_24_context_menus_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_owned_equipment_context_menu_items_render", - "target": "e2e_test_flow_24_context_menus_open_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_edit_equipment_deep_links_into_settings", - "target": "e2e_test_flow_24_context_menus_open_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_remove_equipment_deep_links_into_settings", - "target": "e2e_test_flow_24_context_menus_open_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu", - "target": "e2e_test_flow_24_context_menus_open_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_run_context_menu_items_render", - "target": "e2e_test_flow_24_context_menus_open_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu", - "target": "e2e_test_flow_24_context_menus_open_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os", - "target": "e2e_test_flow_24_context_menus_open_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle", - "target": "e2e_test_flow_24_context_menus_open_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_rationale_35", - "target": "e2e_test_flow_24_context_menus_open_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_rationale_73", - "target": "e2e_test_flow_24_context_menus_test_flow_24_received_equipment_has_no_context_menu" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_rationale_98", - "target": "e2e_test_flow_24_context_menus_test_flow_24_file_list_row_context_menu" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_rationale_113", - "target": "e2e_test_flow_24_context_menus_test_flow_24_tombstone_row_has_no_open_in_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_24_context_menus.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_24_context_menus_rationale_133", - "target": "e2e_test_flow_24_context_menus_test_flow_24_keep_local_badge_and_toggle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_08_settings_py", - "target": "e2e_test_flow_08_settings_test_flow_08_settings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_08_settings_py", - "target": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_08_settings_py", - "target": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L108", - "weight": 1.0, - "source": "tests_e2e_test_flow_08_settings_py", - "target": "e2e_test_flow_08_settings_test_flow_08_workstation_section_hides_staging_root", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_08_settings_rationale_1", - "target": "tests_e2e_test_flow_08_settings_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L31", - "weight": 1.0, - "source": "e2e_test_flow_08_settings_test_flow_08_settings", - "target": "page_objects_settings_page_settingspage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_08_settings_rationale_59", - "target": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L64", - "weight": 1.0, - "source": "e2e_test_flow_08_settings_test_flow_08_lims_password_credential", - "target": "page_objects_settings_page_settingspage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_08_settings_rationale_92", - "target": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L93", - "weight": 1.0, - "source": "e2e_test_flow_08_settings_test_flow_08_lims_password_cancel_discards_edit", - "target": "page_objects_settings_page_settingspage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L109", - "weight": 1.0, - "source": "e2e_test_flow_08_settings_rationale_109", - "target": "e2e_test_flow_08_settings_test_flow_08_workstation_section_hides_staging_root", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_08_settings.py", - "source_location": "L112", - "weight": 1.0, - "source": "e2e_test_flow_08_settings_test_flow_08_workstation_section_hides_staging_root", - "target": "page_objects_settings_page_settingspage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_11_crash_recovery.py", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_11_crash_recovery_py", - "target": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_11_crash_recovery.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_11_crash_recovery_rationale_1", - "target": "tests_e2e_test_flow_11_crash_recovery_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_11_crash_recovery.py", - "source_location": "L17", - "weight": 1.0, - "source": "e2e_test_flow_11_crash_recovery_test_flow_11_crash_recovery", - "target": "page_objects_problems_page_problemspage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_03_experimental_run.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_03_experimental_run_py", - "target": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_03_experimental_run.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_03_experimental_run_rationale_1", - "target": "tests_e2e_test_flow_03_experimental_run_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_03_experimental_run.py", - "source_location": "L16", - "weight": 1.0, - "source": "e2e_test_flow_03_experimental_run_test_flow_03_experimental_run", - "target": "page_objects_wizard_run_page_wizardrunpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_prod_server_py", - "target": "e2e_prod_server_free_port" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_prod_server_py", - "target": "e2e_prod_server_prod_app_env" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_prod_server_py", - "target": "e2e_prod_server_resolve_config_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_prod_server_py", - "target": "e2e_prod_server_prodserver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_prod_server_py", - "target": "e2e_prod_server_config_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_rationale_1", - "target": "tests_e2e_prod_server_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_prodserver_init", - "target": "e2e_prod_server_free_port" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_rationale_30", - "target": "e2e_prod_server_free_port" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L130", - "weight": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", - "target": "e2e_prod_server_free_port" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_resolve_config_path", - "target": "e2e_prod_server_prod_app_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_prodserver_init", - "target": "e2e_prod_server_prod_app_env" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_rationale_37", - "target": "e2e_prod_server_prod_app_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L121", - "weight": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", - "target": "e2e_prod_server_prod_app_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_config_path", - "target": "e2e_prod_server_resolve_config_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_rationale_61", - "target": "e2e_prod_server_resolve_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L72", - "weight": 1.0, - "source": "e2e_prod_server_resolve_config_path", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L89", - "weight": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_seed_config", - "target": "e2e_prod_server_resolve_config_path" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_prodserver", - "target": "e2e_prod_server_prodserver_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_prodserver", - "target": "e2e_prod_server_prodserver_start" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_prodserver", - "target": "e2e_prod_server_prodserver_stop" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_prodserver", - "target": "e2e_prod_server_prodserver_restart" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_rationale_76", - "target": "e2e_prod_server_prodserver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L155", - "weight": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_prod_server", - "target": "e2e_prod_server_prodserver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L44", - "weight": 1.0, - "source": "e2e_test_flow_26_equipment_wizard_persist_prod_server", - "target": "e2e_prod_server_prodserver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_prodserver_start", - "target": "e2e_prod_server_prodserver_stop" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_prodserver_restart", - "target": "e2e_prod_server_prodserver_start" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_rationale_99", - "target": "e2e_prod_server_prodserver_start" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_prodserver_restart", - "target": "e2e_prod_server_prodserver_stop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_rationale_133", - "target": "e2e_prod_server_prodserver_stop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_server.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_server_rationale_145", - "target": "e2e_prod_server_prodserver_restart" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_17_picker_step_py", - "target": "e2e_test_flow_17_picker_step_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_17_picker_step_py", - "target": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_17_picker_step_py", - "target": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_disabled_on_received_node" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_17_picker_step_rationale_1", - "target": "tests_e2e_test_flow_17_picker_step_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_enabled_on_owned_node", - "target": "e2e_test_flow_17_picker_step_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_17_picker_step.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_17_picker_step_test_flow_17_creation_buttons_disabled_on_received_node", - "target": "e2e_test_flow_17_picker_step_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L10", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_20_file_explorer_py", - "target": "e2e_test_flow_20_file_explorer_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_20_file_explorer_py", - "target": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_20_file_explorer_py", - "target": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_20_file_explorer_py", - "target": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_20_file_explorer_rationale_1", - "target": "tests_e2e_test_flow_20_file_explorer_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_20_file_explorer_test_flow_20_file_explorer_renders_three_regions", - "target": "e2e_test_flow_20_file_explorer_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_20_file_explorer_test_flow_20_select_run_node_renders_metadata_pane", - "target": "e2e_test_flow_20_file_explorer_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_20_file_explorer.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_20_file_explorer_test_flow_20_breadcrumb_is_present_when_node_selected", - "target": "e2e_test_flow_20_file_explorer_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_05_browse_view_sync_icons.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_05_browse_view_sync_icons_py", - "target": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_05_browse_view_sync_icons.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_05_browse_view_sync_icons_py", - "target": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_static_assets_serve_200" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_05_browse_view_sync_icons.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_05_browse_view_sync_icons_rationale_1", - "target": "tests_e2e_test_flow_05_browse_view_sync_icons_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_05_browse_view_sync_icons.py", - "source_location": "L21", - "weight": 1.0, - "source": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_render_in_tree", - "target": "page_objects_main_page_mainpage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_05_browse_view_sync_icons.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_05_browse_view_sync_icons_rationale_48", - "target": "e2e_test_flow_05_browse_view_sync_icons_test_flow_05_sync_icons_static_assets_serve_200" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_05_browse_view.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_05_browse_view_py", - "target": "e2e_test_flow_05_browse_view_test_flow_05_browse_view" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_05_browse_view.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_05_browse_view_rationale_1", - "target": "tests_e2e_test_flow_05_browse_view_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_05_browse_view.py", - "source_location": "L16", - "weight": 1.0, - "source": "e2e_test_flow_05_browse_view_test_flow_05_browse_view", - "target": "page_objects_main_page_mainpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_16_add_equipment_py", - "target": "e2e_test_flow_16_add_equipment_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_16_add_equipment_py", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_16_add_equipment_py", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_16_add_equipment_py", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_16_add_equipment_py", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_16_add_equipment_py", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_1", - "target": "tests_e2e_test_flow_16_add_equipment_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", - "target": "e2e_test_flow_16_add_equipment_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", - "target": "e2e_test_flow_16_add_equipment_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step", - "target": "e2e_test_flow_16_add_equipment_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", - "target": "e2e_test_flow_16_add_equipment_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", - "target": "e2e_test_flow_16_add_equipment_goto" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L38", - "weight": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_38", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L35", - "weight": 1.0, - "source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step", - "target": "page_objects_wizard_equipment_page_wizardequipmentpage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_34", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_identity_step" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L49", - "weight": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_49", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L46", - "weight": 1.0, - "source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step", - "target": "page_objects_wizard_equipment_page_wizardequipmentpage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_45", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_paths_step" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L61", - "weight": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_61", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L54", - "weight": 1.0, - "source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step", - "target": "page_objects_wizard_equipment_page_wizardequipmentpage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_53", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_sync_mode_step" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L68", - "weight": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_68", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L61", - "weight": 1.0, - "source": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm", - "target": "page_objects_wizard_equipment_page_wizardequipmentpage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_60", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_add_equipment_review_and_confirm" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L78", - "weight": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_78", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L79", - "weight": 1.0, - "source": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back", - "target": "page_objects_wizard_equipment_page_wizardequipmentpage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_16_add_equipment.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_16_add_equipment_rationale_70", - "target": "e2e_test_flow_16_add_equipment_test_flow_16_next_enables_on_valid_input_and_state_survives_back" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L10", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_23_footer_staging_py", - "target": "e2e_test_flow_23_footer_staging_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_23_footer_staging_py", - "target": "e2e_test_flow_23_footer_staging_test_flow_23_footer_staging_segment_renders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_23_footer_staging_py", - "target": "e2e_test_flow_23_footer_staging_test_flow_23_bulk_clear_verified_action_present" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_23_footer_staging_rationale_1", - "target": "tests_e2e_test_flow_23_footer_staging_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_23_footer_staging_test_flow_23_footer_staging_segment_renders", - "target": "e2e_test_flow_23_footer_staging_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_23_footer_staging.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_23_footer_staging_test_flow_23_bulk_clear_verified_action_present", - "target": "e2e_test_flow_23_footer_staging_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_smoke.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_smoke_py", - "target": "e2e_test_smoke_test_root_url_responds_with_html" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_smoke.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_smoke_rationale_1", - "target": "tests_e2e_test_smoke_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_smoke.py", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_smoke_rationale_16", - "target": "e2e_test_smoke_test_root_url_responds_with_html" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_ux_documentation_py", - "target": "e2e_test_ux_documentation_render_doc" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_ux_documentation_py", - "target": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_ux_documentation_py", - "target": "e2e_test_ux_documentation_test_ux_catalog_is_non_trivial" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_ux_documentation_py", - "target": "e2e_test_ux_documentation_references" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_ux_documentation_py", - "target": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_ux_documentation_py", - "target": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_ux_documentation_rationale_1", - "target": "tests_e2e_test_ux_documentation_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current", - "target": "e2e_test_ux_documentation_render_doc" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_ux_documentation_rationale_46", - "target": "e2e_test_ux_documentation_render_doc" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_ux_documentation_rationale_67", - "target": "e2e_test_ux_documentation_test_ux_interactions_doc_is_current" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_ux_documentation_rationale_87", - "target": "e2e_test_ux_documentation_test_ux_catalog_is_non_trivial" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source", - "target": "e2e_test_ux_documentation_references" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered", - "target": "e2e_test_ux_documentation_references" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_ux_documentation_rationale_98", - "target": "e2e_test_ux_documentation_references" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_ux_documentation_rationale_117", - "target": "e2e_test_ux_documentation_test_ux_interaction_testids_exist_in_source" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_ux_documentation.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_ux_documentation_rationale_128", - "target": "e2e_test_ux_documentation_test_ux_interactions_are_e2e_covered" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_app.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_prod_app_py", - "target": "e2e_prod_app_create_prod_app_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_app.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_app_rationale_1", - "target": "tests_e2e_prod_app_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_prod_app.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_prod_app_rationale_24", - "target": "e2e_prod_app_create_prod_app_factory" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/_prod_app.py", - "source_location": "L28", - "weight": 1.0, - "source": "e2e_prod_app_create_prod_app_factory", - "target": "tray_main_build_default_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/_prod_app.py", - "source_location": "L28", - "weight": 1.0, - "source": "e2e_prod_app_create_prod_app_factory", - "target": "exlab_wizard_paths_ensure_state_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_25_production_main_wiring_py", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_25_production_main_wiring_py", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_25_production_main_wiring_py", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_25_production_main_wiring_py", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_25_production_main_wiring_py", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_25_production_main_wiring_py", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_25_production_main_wiring_py", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_25_production_main_wiring_py", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_25_production_main_wiring_py", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_25_production_main_wiring_py", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_1", - "target": "tests_e2e_test_flow_25_production_main_wiring_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L24", - "weight": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_24", - "target": "e2e_test_flow_25_production_main_wiring_goto", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_22", - "target": "e2e_test_flow_25_production_main_wiring_goto" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L43", - "weight": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_43", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_41", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_main_route_renders_redesigned_layout" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L81", - "weight": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_81", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_76", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_add_equipment_button_navigates_to_wizard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L88", - "weight": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_88", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_83", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_select_node_threads_selected_into_url" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L101", - "weight": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_101", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_96", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_selected_query_renders_centre_and_right_panes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L111", - "weight": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_111", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_106", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_breadcrumb_navigation_re_navigates_main" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L127", - "weight": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_127", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_122", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_toggle_right_pane_toggles_query_param" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L138", - "weight": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_138", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_133", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_tree_context_action_deep_links_into_settings" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L153", - "weight": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_153", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_148", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_received_equipment_disables_creation_buttons" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L182", - "weight": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_182", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_25_production_main_wiring.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_25_production_main_wiring_rationale_173", - "target": "e2e_test_flow_25_production_main_wiring_test_flow_25_footer_clear_verified_routes_to_callback" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_full_lifecycle_py", - "target": "e2e_test_flow_00_full_lifecycle_fill" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_full_lifecycle_py", - "target": "e2e_test_flow_00_full_lifecycle_select" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_full_lifecycle_py", - "target": "e2e_test_flow_00_full_lifecycle_step_button" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_full_lifecycle_py", - "target": "e2e_test_flow_00_full_lifecycle_project_next" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_full_lifecycle_py", - "target": "e2e_test_flow_00_full_lifecycle_run_next" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_full_lifecycle_py", - "target": "e2e_test_flow_00_full_lifecycle_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_full_lifecycle_py", - "target": "e2e_test_flow_00_full_lifecycle_prod_server" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_full_lifecycle_py", - "target": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_1", - "target": "tests_e2e_test_flow_00_full_lifecycle_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_00_full_lifecycle_py", - "target": "e2e_test_flow_00_full_lifecycle_pick_radio" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "target": "e2e_test_flow_00_full_lifecycle_fill" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_51", - "target": "e2e_test_flow_00_full_lifecycle_fill" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L299", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "target": "e2e_test_flow_00_full_lifecycle_select" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_65", - "target": "e2e_test_flow_00_full_lifecycle_select" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_project_next", - "target": "e2e_test_flow_00_full_lifecycle_step_button" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_run_next", - "target": "e2e_test_flow_00_full_lifecycle_step_button" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L364", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "target": "e2e_test_flow_00_full_lifecycle_step_button" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_93", - "target": "e2e_test_flow_00_full_lifecycle_step_button" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_100", - "target": "e2e_test_flow_00_full_lifecycle_step_button" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L346", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "target": "e2e_test_flow_00_full_lifecycle_project_next" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_105", - "target": "e2e_test_flow_00_full_lifecycle_project_next" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_112", - "target": "e2e_test_flow_00_full_lifecycle_project_next" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L379", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "target": "e2e_test_flow_00_full_lifecycle_run_next" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_110", - "target": "e2e_test_flow_00_full_lifecycle_run_next" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_117", - "target": "e2e_test_flow_00_full_lifecycle_run_next" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "target": "e2e_test_flow_00_full_lifecycle_goto" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_115", - "target": "e2e_test_flow_00_full_lifecycle_goto" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_122", - "target": "e2e_test_flow_00_full_lifecycle_goto" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_140", - "target": "e2e_test_flow_00_full_lifecycle_prod_server" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_147", - "target": "e2e_test_flow_00_full_lifecycle_prod_server" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L190", - "weight": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "target": "lims_catalogue_write_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L192", - "weight": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "target": "lims_catalogue_offlinecatalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L198", - "weight": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "target": "lims_schemas_limsproject" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_test_full_create_lifecycle", - "target": "e2e_test_flow_00_full_lifecycle_pick_radio" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_13_keyboard.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_13_keyboard_py", - "target": "e2e_test_flow_13_keyboard_test_flow_13_keyboard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_13_keyboard.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_13_keyboard_rationale_1", - "target": "tests_e2e_test_flow_13_keyboard_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/ux_catalog.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_ux_catalog_py", - "target": "e2e_ux_catalog_uxinteraction" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/ux_catalog.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_ux_catalog_rationale_1", - "target": "tests_e2e_ux_catalog_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/ux_catalog.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_ux_catalog_rationale_30", - "target": "e2e_ux_catalog_uxinteraction" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_07_plugin_input_required.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_07_plugin_input_required_py", - "target": "e2e_test_flow_07_plugin_input_required_test_flow_07_plugin_input_required" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_07_plugin_input_required.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_07_plugin_input_required_rationale_1", - "target": "tests_e2e_test_flow_07_plugin_input_required_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_26_equipment_wizard_persist_py", - "target": "e2e_test_flow_26_equipment_wizard_persist_prod_server" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_26_equipment_wizard_persist_py", - "target": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_26_equipment_wizard_persist_rationale_1", - "target": "tests_e2e_test_flow_26_equipment_wizard_persist_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_26_equipment_wizard_persist_rationale_41", - "target": "e2e_test_flow_26_equipment_wizard_persist_prod_server" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_26_equipment_wizard_persist_rationale_54", - "target": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_26_equipment_wizard_persist.py", - "source_location": "L60", - "weight": 1.0, - "source": "e2e_test_flow_26_equipment_wizard_persist_test_equipment_wizard_confirm_persists_to_config", - "target": "page_objects_wizard_equipment_page_wizardequipmentpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_09_orchestrator.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_09_orchestrator_py", - "target": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_09_orchestrator.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_09_orchestrator_rationale_1", - "target": "tests_e2e_test_flow_09_orchestrator_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_09_orchestrator.py", - "source_location": "L21", - "weight": 1.0, - "source": "e2e_test_flow_09_orchestrator_test_flow_09_orchestrator", - "target": "page_objects_staging_page_stagingpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_27_nas_credential_settings_py", - "target": "e2e_test_flow_27_nas_credential_settings_seed_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_27_nas_credential_settings_py", - "target": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_27_nas_credential_settings_py", - "target": "e2e_test_flow_27_nas_credential_settings_nas_prod_server" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_27_nas_credential_settings_py", - "target": "e2e_test_flow_27_nas_credential_settings_setup_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_27_nas_credential_settings_py", - "target": "e2e_test_flow_27_nas_credential_settings_test_nas_remote_gate_configure_and_test" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_rationale_1", - "target": "tests_e2e_test_flow_27_nas_credential_settings_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_27_nas_credential_settings_py", - "target": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", - "target": "e2e_test_flow_27_nas_credential_settings_seed_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_rationale_51", - "target": "e2e_test_flow_27_nas_credential_settings_seed_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L66", - "weight": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_seed_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L71", - "weight": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_seed_config", - "target": "config_models_limsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L73", - "weight": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_seed_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L86", - "weight": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_seed_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L91", - "weight": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_seed_config", - "target": "config_loader_save_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_rationale_47", - "target": "e2e_test_flow_27_nas_credential_settings_seed_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L78", - "weight": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_seed_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_nas_prod_server", - "target": "e2e_test_flow_27_nas_credential_settings_install_stub_rclone" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_rationale_103", - "target": "e2e_test_flow_27_nas_credential_settings_nas_prod_server" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_rationale_106", - "target": "e2e_test_flow_27_nas_credential_settings_nas_prod_server" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_test_nas_remote_gate_configure_and_test", - "target": "e2e_test_flow_27_nas_credential_settings_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_27_nas_credential_settings.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_27_nas_credential_settings_test_nas_credential_gate_set_test_and_clear", - "target": "e2e_test_flow_27_nas_credential_settings_setup_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_15_websocket_reconnect.py", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_15_websocket_reconnect_py", - "target": "e2e_test_flow_15_websocket_reconnect_test_flow_15_websocket_reconnect" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_15_websocket_reconnect.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_15_websocket_reconnect_rationale_1", - "target": "tests_e2e_test_flow_15_websocket_reconnect_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_21_stage_ceiling.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_21_stage_ceiling_py", - "target": "e2e_test_flow_21_stage_ceiling_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_21_stage_ceiling.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_21_stage_ceiling_py", - "target": "e2e_test_flow_21_stage_ceiling_test_flow_21_stage_equipment_metadata_renders_ceiling_note" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_21_stage_ceiling.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_21_stage_ceiling_rationale_1", - "target": "tests_e2e_test_flow_21_stage_ceiling_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_app_py", - "target": "e2e_test_app_teststate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_app_py", - "target": "e2e_test_app_read_query" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_app_py", - "target": "e2e_test_app_classify_test_node" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_app_py", - "target": "e2e_test_app_seeded_metadata_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_app_py", - "target": "e2e_test_app_feed_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_app_py", - "target": "e2e_test_app_seeded_file_entries" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_app_py", - "target": "e2e_test_app_build_test_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L898", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_app_py", - "target": "e2e_test_app_create_app_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_1", - "target": "tests_e2e_test_app_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_build_test_app", - "target": "e2e_test_app_teststate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_68", - "target": "e2e_test_app_teststate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "e2e_test_app_teststate", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L39", - "weight": 0.8, - "confidence_score": 0.5, - "source": "e2e_test_app_teststate", - "target": "ui_notifications_bannerid" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L39", - "weight": 0.8, - "confidence_score": 0.5, - "source": "e2e_test_app_teststate", - "target": "ui_notifications_containerid" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L39", - "weight": 0.8, - "confidence_score": 0.5, - "source": "e2e_test_app_teststate", - "target": "ui_notifications_severity" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L218", - "weight": 0.8, - "confidence_score": 0.5, - "source": "e2e_test_app_teststate", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L558", - "weight": 0.8, - "confidence_score": 0.5, - "source": "e2e_test_app_teststate", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L742", - "weight": 0.8, - "confidence_score": 0.5, - "source": "e2e_test_app_teststate", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L743", - "weight": 0.8, - "confidence_score": 0.5, - "source": "e2e_test_app_teststate", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_103", - "target": "e2e_test_app_read_query" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_110", - "target": "e2e_test_app_classify_test_node" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_130", - "target": "e2e_test_app_seeded_metadata_payload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_seeded_file_entries", - "target": "e2e_test_app_feed_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_192", - "target": "e2e_test_app_feed_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_210", - "target": "e2e_test_app_seeded_file_entries" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/_test_app.py", - "source_location": "L222", - "weight": 1.0, - "source": "e2e_test_app_seeded_file_entries", - "target": "components_file_list_filelistentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L900", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_create_app_factory", - "target": "e2e_test_app_build_test_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_237", - "target": "e2e_test_app_build_test_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/_test_app.py", - "source_location": "L242", - "weight": 1.0, - "source": "e2e_test_app_build_test_app", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/_test_app.py", - "source_location": "L249", - "weight": 1.0, - "source": "e2e_test_app_build_test_app", - "target": "ui_theme_register_static_assets" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/_test_app.py", - "source_location": "L252", - "weight": 1.0, - "source": "e2e_test_app_build_test_app", - "target": "ui_theme_register_theme" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L949", - "weight": 1.0, - "source": "e2e_test_app_rationale_949", - "target": "e2e_test_app_create_app_factory", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L931", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_931", - "target": "e2e_test_app_create_app_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L928", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_928", - "target": "e2e_test_app_create_app_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L910", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_910", - "target": "e2e_test_app_create_app_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L899", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_899", - "target": "e2e_test_app_create_app_factory" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/_test_app.py", - "source_location": "L896", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_app_rationale_896", - "target": "e2e_test_app_create_app_factory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_01_onboarding_py", - "target": "e2e_test_flow_01_onboarding_goto" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_01_onboarding_py", - "target": "e2e_test_flow_01_onboarding_test_flow_01_onboarding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_01_onboarding_rationale_1", - "target": "tests_e2e_test_flow_01_onboarding_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", - "target": "e2e_test_flow_01_onboarding_goto" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_01_onboarding_rationale_19", - "target": "e2e_test_flow_01_onboarding_goto" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L38", - "weight": 1.0, - "source": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", - "target": "page_objects_welcome_page_welcomepage" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_01_onboarding.py", - "source_location": "L39", - "weight": 1.0, - "source": "e2e_test_flow_01_onboarding_test_flow_01_onboarding", - "target": "page_objects_main_page_mainpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_12_quit_coordinator.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_12_quit_coordinator_py", - "target": "e2e_test_flow_12_quit_coordinator_test_flow_12_quit_coordinator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_12_quit_coordinator.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_12_quit_coordinator_rationale_1", - "target": "tests_e2e_test_flow_12_quit_coordinator_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L26", - "weight": 1.0, - "source": "tests_e2e_test_flow_28_selection_search_density_py", - "target": "e2e_test_flow_28_selection_search_density_goto", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L39", - "weight": 1.0, - "source": "tests_e2e_test_flow_28_selection_search_density_py", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_select_file_row_highlights_and_shows_subcard", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L58", - "weight": 1.0, - "source": "tests_e2e_test_flow_28_selection_search_density_py", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_search_filters_tree_and_shows_count", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L67", - "weight": 1.0, - "source": "tests_e2e_test_flow_28_selection_search_density_py", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_search_no_matches_state", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L73", - "weight": 1.0, - "source": "tests_e2e_test_flow_28_selection_search_density_py", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_density_toggle_threads_density_param", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L82", - "weight": 1.0, - "source": "tests_e2e_test_flow_28_selection_search_density_py", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_sync_legend_popover_lists_states", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L94", - "weight": 1.0, - "source": "tests_e2e_test_flow_28_selection_search_density_py", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_selected_tree_node_carries_selected_class", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L1", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_rationale_1", - "target": "tests_e2e_test_flow_28_selection_search_density_py", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L42", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_test_flow_28_select_file_row_highlights_and_shows_subcard", - "target": "e2e_test_flow_28_selection_search_density_goto", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L60", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_test_flow_28_search_filters_tree_and_shows_count", - "target": "e2e_test_flow_28_selection_search_density_goto", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L69", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_test_flow_28_search_no_matches_state", - "target": "e2e_test_flow_28_selection_search_density_goto", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L75", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_test_flow_28_density_toggle_threads_density_param", - "target": "e2e_test_flow_28_selection_search_density_goto", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L84", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_test_flow_28_sync_legend_popover_lists_states", - "target": "e2e_test_flow_28_selection_search_density_goto", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L97", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_test_flow_28_selected_tree_node_carries_selected_class", - "target": "e2e_test_flow_28_selection_search_density_goto", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L40", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_rationale_40", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_select_file_row_highlights_and_shows_subcard", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L59", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_rationale_59", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_search_filters_tree_and_shows_count", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L68", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_rationale_68", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_search_no_matches_state", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L74", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_rationale_74", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_density_toggle_threads_density_param", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L83", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_rationale_83", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_sync_legend_popover_lists_states", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_28_selection_search_density.py", - "source_location": "L95", - "weight": 1.0, - "source": "e2e_test_flow_28_selection_search_density_rationale_95", - "target": "e2e_test_flow_28_selection_search_density_test_flow_28_selected_tree_node_carries_selected_class", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_19_travelling_badge_py", - "target": "e2e_test_flow_19_travelling_badge_free_port" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_19_travelling_badge_py", - "target": "e2e_test_flow_19_travelling_badge_make_seeded_server" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_19_travelling_badge_py", - "target": "e2e_test_flow_19_travelling_badge_test_flow_19_travelling_badge_aggregates_red" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_19_travelling_badge_rationale_1", - "target": "tests_e2e_test_flow_19_travelling_badge_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_19_travelling_badge_make_seeded_server", - "target": "e2e_test_flow_19_travelling_badge_free_port" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_19_travelling_badge_rationale_47", - "target": "e2e_test_flow_19_travelling_badge_make_seeded_server" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_19_travelling_badge.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_19_travelling_badge_rationale_88", - "target": "e2e_test_flow_19_travelling_badge_test_flow_19_travelling_badge_aggregates_red" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_04_test_run.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_04_test_run_py", - "target": "e2e_test_flow_04_test_run_test_flow_04_test_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_04_test_run.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_04_test_run_rationale_1", - "target": "tests_e2e_test_flow_04_test_run_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_04_test_run.py", - "source_location": "L18", - "weight": 1.0, - "source": "e2e_test_flow_04_test_run_test_flow_04_test_run", - "target": "page_objects_wizard_run_page_wizardrunpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_06_problems.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_06_problems_py", - "target": "e2e_test_flow_06_problems_test_flow_06_problems" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_06_problems.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_06_problems_rationale_1", - "target": "tests_e2e_test_flow_06_problems_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_06_problems.py", - "source_location": "L20", - "weight": 1.0, - "source": "e2e_test_flow_06_problems_test_flow_06_problems", - "target": "page_objects_problems_page_problemspage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_14_notifications.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_14_notifications_py", - "target": "e2e_test_flow_14_notifications_test_flow_14_notifications" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_14_notifications.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_14_notifications_rationale_1", - "target": "tests_e2e_test_flow_14_notifications_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_10_schema_mismatch.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_10_schema_mismatch_py", - "target": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_10_schema_mismatch.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_10_schema_mismatch_rationale_1", - "target": "tests_e2e_test_flow_10_schema_mismatch_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_10_schema_mismatch.py", - "source_location": "L18", - "weight": 1.0, - "source": "e2e_test_flow_10_schema_mismatch_test_flow_10_schema_mismatch", - "target": "page_objects_problems_page_problemspage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_02_project_wizard.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_test_flow_02_project_wizard_py", - "target": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_02_project_wizard.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_02_project_wizard_rationale_1", - "target": "tests_e2e_test_flow_02_project_wizard_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/e2e/test_flow_02_project_wizard.py", - "source_location": "L15", - "weight": 1.0, - "source": "e2e_test_flow_02_project_wizard_test_flow_02_project_wizard", - "target": "page_objects_wizard_project_page_wizardprojectpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_problems_page_py", - "target": "page_objects_problems_page_problemspage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_problems_page_py", - "target": "page_objects_problems_page_table" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_problems_page_py", - "target": "page_objects_problems_page_empty_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_rationale_1", - "target": "tests_e2e_page_objects_problems_page_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_problemspage", - "target": "page_objects_problems_page_problemspage_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_problemspage", - "target": "page_objects_problems_page_problemspage_row" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_problemspage", - "target": "page_objects_problems_page_problemspage_row_state" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_problemspage", - "target": "page_objects_problems_page_problemspage_row_override" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_problemspage", - "target": "page_objects_problems_page_problemspage_row_revoke" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_rationale_12", - "target": "page_objects_problems_page_problemspage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_rationale_28", - "target": "page_objects_problems_page_problemspage_row" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_rationale_32", - "target": "page_objects_problems_page_problemspage_row_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_rationale_36", - "target": "page_objects_problems_page_problemspage_row_override" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/problems_page.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_problems_page_rationale_40", - "target": "page_objects_problems_page_problemspage_row_revoke" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_settingspage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_incomplete_banner" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_paths_templates" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_paths_plugin" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_paths_local_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_lims_password_primary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_lims_password_secondary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_lims_password_input" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_lims_password_save" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_lims_password_cancel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_lims_password_clear_confirm" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_lims_password_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_equipment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_equipment_add" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_save" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_discard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_settings_page_py", - "target": "page_objects_settings_page_saved_marker" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_settings_page_rationale_1", - "target": "tests_e2e_page_objects_settings_page_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_settings_page_settingspage", - "target": "page_objects_settings_page_settingspage_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_settings_page_settingspage", - "target": "page_objects_settings_page_settingspage_nav" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_settings_page_settingspage", - "target": "page_objects_settings_page_settingspage_section" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_settings_page_rationale_12", - "target": "page_objects_settings_page_settingspage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_settings_page_rationale_28", - "target": "page_objects_settings_page_settingspage_nav" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/settings_page.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_settings_page_rationale_32", - "target": "page_objects_settings_page_settingspage_section" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_init_rationale_1", - "target": "tests_e2e_page_objects_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L8", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_wizardequipmentpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_step_identity" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_equipment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_label" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_step_paths" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_local_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_nas_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_sync_mode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_nas_note" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_stage_note" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_confirm" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_cancel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_next_button" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_back" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_success" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_equipment_page_rationale_1", - "target": "tests_e2e_page_objects_wizard_equipment_page_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_transport_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_sftp_host" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_sftp_user" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_sftp_remote_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_smb_host" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_smb_share" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_equipment_page_py", - "target": "page_objects_wizard_equipment_page_smb_user" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_equipment_page.py", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_equipment_page_wizardequipmentpage", - "target": "page_objects_wizard_equipment_page_wizardequipmentpage_init" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_staging_page_py", - "target": "page_objects_staging_page_stagingpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_staging_page_py", - "target": "page_objects_staging_page_dock" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_staging_page_py", - "target": "page_objects_staging_page_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_staging_page_rationale_1", - "target": "tests_e2e_page_objects_staging_page_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_staging_page_stagingpage", - "target": "page_objects_staging_page_stagingpage_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_staging_page_stagingpage", - "target": "page_objects_staging_page_stagingpage_row" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_staging_page_stagingpage", - "target": "page_objects_staging_page_stagingpage_force_sync" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_staging_page_stagingpage", - "target": "page_objects_staging_page_stagingpage_clear" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_staging_page_stagingpage", - "target": "page_objects_staging_page_stagingpage_view_log" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_staging_page_rationale_12", - "target": "page_objects_staging_page_stagingpage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_staging_page_rationale_27", - "target": "page_objects_staging_page_stagingpage_force_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_staging_page_rationale_31", - "target": "page_objects_staging_page_stagingpage_clear" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/staging_page.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_staging_page_rationale_35", - "target": "page_objects_staging_page_stagingpage_view_log" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_run_page_py", - "target": "page_objects_wizard_run_page_wizardrunpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_run_page_py", - "target": "page_objects_wizard_run_page_stepper" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_run_page_py", - "target": "page_objects_wizard_run_page_title" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_run_page_py", - "target": "page_objects_wizard_run_page_mode_badge_experimental" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_run_page_py", - "target": "page_objects_wizard_run_page_mode_badge_test" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_run_page_py", - "target": "page_objects_wizard_run_page_back" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_run_page_py", - "target": "page_objects_wizard_run_page_cancel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_run_page_py", - "target": "page_objects_wizard_run_page_next" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_run_page_py", - "target": "page_objects_wizard_run_page_submit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_run_page_py", - "target": "page_objects_wizard_run_page_success_card" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_run_page_rationale_1", - "target": "tests_e2e_page_objects_wizard_run_page_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_run_page_wizardrunpage", - "target": "page_objects_wizard_run_page_wizardrunpage_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_run_page_wizardrunpage", - "target": "page_objects_wizard_run_page_wizardrunpage_step" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_run_page_rationale_12", - "target": "page_objects_wizard_run_page_wizardrunpage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_run_page.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_run_page_rationale_38", - "target": "page_objects_wizard_run_page_wizardrunpage_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_project_page_py", - "target": "page_objects_wizard_project_page_wizardprojectpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_project_page_py", - "target": "page_objects_wizard_project_page_card" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_project_page_py", - "target": "page_objects_wizard_project_page_stepper" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_project_page_py", - "target": "page_objects_wizard_project_page_lims_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_project_page_py", - "target": "page_objects_wizard_project_page_lims_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_project_page_py", - "target": "page_objects_wizard_project_page_back" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_project_page_py", - "target": "page_objects_wizard_project_page_cancel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_project_page_py", - "target": "page_objects_wizard_project_page_next" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_project_page_py", - "target": "page_objects_wizard_project_page_submit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_wizard_project_page_py", - "target": "page_objects_wizard_project_page_success_card" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_project_page_rationale_1", - "target": "tests_e2e_page_objects_wizard_project_page_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_project_page_wizardprojectpage", - "target": "page_objects_wizard_project_page_wizardprojectpage_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_project_page_wizardprojectpage", - "target": "page_objects_wizard_project_page_wizardprojectpage_step" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_project_page_rationale_12", - "target": "page_objects_wizard_project_page_wizardprojectpage" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/wizard_project_page.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_wizard_project_page_rationale_28", - "target": "page_objects_wizard_project_page_wizardprojectpage_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_mainpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_tree" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_setup_incomplete_banner" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_toolbar_new_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_toolbar_new_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_toolbar_new_test_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_toolbar_settings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_toolbar_refresh" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_toolbar_add_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_search_box" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_tab_metadata" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_tab_problems" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_toggle_right_pane" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_footer_clear_verified" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_main_page_py", - "target": "page_objects_main_page_footer_staging_segment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_main_page_rationale_1", - "target": "tests_e2e_page_objects_main_page_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_main_page_mainpage", - "target": "page_objects_main_page_mainpage_init" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/main_page.py", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_main_page_rationale_16", - "target": "page_objects_main_page_mainpage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_welcome_page_py", - "target": "page_objects_welcome_page_welcomepage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_welcome_page_py", - "target": "page_objects_welcome_page_card" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_welcome_page_py", - "target": "page_objects_welcome_page_headline" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_welcome_page_py", - "target": "page_objects_welcome_page_autostart_toggle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_welcome_page_py", - "target": "page_objects_welcome_page_get_started" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_welcome_page_py", - "target": "page_objects_welcome_page_skip_for_now" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_page_objects_welcome_page_py", - "target": "page_objects_welcome_page_status_marker" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_welcome_page_rationale_1", - "target": "tests_e2e_page_objects_welcome_page_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_welcome_page_welcomepage", - "target": "page_objects_welcome_page_welcomepage_init" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/page_objects/welcome_page.py", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "page_objects_welcome_page_rationale_12", - "target": "page_objects_welcome_page_welcomepage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/conf.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_conf_py", - "target": "source_conf_noisefilter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/conf.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_conf_py", - "target": "source_conf_setup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "docs/source/conf.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "source_conf_rationale_1", - "target": "docs_source_conf_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "docs/source/conf.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "source_conf_noisefilter", - "target": "source_conf_noisefilter_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "docs/source/conf.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "source_conf_noisefilter", - "target": "source_conf_noisefilter_filter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "docs/source/conf.py", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "source_conf_setup", - "target": "source_conf_noisefilter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "docs/source/conf.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "source_conf_rationale_201", - "target": "source_conf_noisefilter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "docs/source/conf.py", - "source_location": "L272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "source_conf_rationale_272", - "target": "source_conf_setup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_py", - "target": "scripts_generate_screenshots_free_port" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_py", - "target": "scripts_generate_screenshots_start_server" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_py", - "target": "scripts_generate_screenshots_stop_server" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_py", - "target": "scripts_generate_screenshots_capture" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_py", - "target": "scripts_generate_screenshots_capture_capability" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_py", - "target": "scripts_generate_screenshots_capability_plan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_py", - "target": "scripts_generate_screenshots_main" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_rationale_1", - "target": "scripts_generate_screenshots_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_start_server", - "target": "scripts_generate_screenshots_free_port" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_rationale_70", - "target": "scripts_generate_screenshots_free_port" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L365", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_main", - "target": "scripts_generate_screenshots_start_server" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_rationale_77", - "target": "scripts_generate_screenshots_start_server" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L388", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_main", - "target": "scripts_generate_screenshots_stop_server" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_rationale_139", - "target": "scripts_generate_screenshots_stop_server" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_capture_capability", - "target": "scripts_generate_screenshots_capture" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_rationale_158", - "target": "scripts_generate_screenshots_capture" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L380", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_main", - "target": "scripts_generate_screenshots_capture_capability" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_rationale_185", - "target": "scripts_generate_screenshots_capture_capability" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_main", - "target": "scripts_generate_screenshots_capability_plan" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_rationale_210", - "target": "scripts_generate_screenshots_capability_plan" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "scripts/generate_screenshots.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "scripts_generate_screenshots_rationale_338", - "target": "scripts_generate_screenshots_main" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_app_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_platform" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_home" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_env_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_os_state_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_os_cache_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_os_central_log_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_suggested_staging_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_ensure_state_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_ensure_central_log_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_validate_project_short_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_project_name_violations" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_validate_project_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_compose_project_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L420", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_lims_slot_satisfied" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L437", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_paths_complete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L447", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_nas_in_use" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L454", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_nas_remote_satisfied" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L483", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L533", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_orchestrator_identity_complete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L544", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L578", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_missing_nas_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L601", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_missing_orchestrator_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L611", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_missing_paths_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L624", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_missing_lims_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L643", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_setup_state_next_action" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L673", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L678", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L683", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_equipment_json_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L688", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_readme_fields_json_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L698", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_is_run_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L708", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_is_test_run_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L713", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_run_dir_stem" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_1", - "target": "src_exlab_wizard_paths_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L447", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_password_required_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_paths_py", - "target": "exlab_wizard_paths_nas_slot_satisfied" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_config_path", - "target": "exlab_wizard_paths_app_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_state_path", - "target": "exlab_wizard_paths_app_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_cache_path", - "target": "exlab_wizard_paths_app_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_central_log_path", - "target": "exlab_wizard_paths_app_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_suggested_staging_root", - "target": "exlab_wizard_paths_app_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_96", - "target": "exlab_wizard_paths_app_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L249", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_wipe", - "target": "exlab_wizard_paths_app_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_config_path", - "target": "exlab_wizard_paths_platform" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_state_path", - "target": "exlab_wizard_paths_platform" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_cache_path", - "target": "exlab_wizard_paths_platform" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_central_log_path", - "target": "exlab_wizard_paths_platform" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_suggested_staging_root", - "target": "exlab_wizard_paths_platform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_108", - "target": "exlab_wizard_paths_platform" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_config_path", - "target": "exlab_wizard_paths_home" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_state_path", - "target": "exlab_wizard_paths_home" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_cache_path", - "target": "exlab_wizard_paths_home" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_central_log_path", - "target": "exlab_wizard_paths_home" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_suggested_staging_root", - "target": "exlab_wizard_paths_home" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_119", - "target": "exlab_wizard_paths_home" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_config_path", - "target": "exlab_wizard_paths_env_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_state_path", - "target": "exlab_wizard_paths_env_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_cache_path", - "target": "exlab_wizard_paths_env_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_os_central_log_path", - "target": "exlab_wizard_paths_env_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_suggested_staging_root", - "target": "exlab_wizard_paths_env_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_128", - "target": "exlab_wizard_paths_env_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_134", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L420", - "weight": 1.0, - "source": "tray_main_main", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L425", - "weight": 1.0, - "source": "tray_dependencies_load_config_safely", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L433", - "weight": 1.0, - "source": "tray_dependencies_make_save_config", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L32", - "weight": 1.0, - "source": "dev_seed_main", - "target": "exlab_wizard_paths_os_config_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_ensure_state_dir", - "target": "exlab_wizard_paths_os_state_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_146", - "target": "exlab_wizard_paths_os_state_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_158", - "target": "exlab_wizard_paths_os_cache_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_ensure_central_log_dir", - "target": "exlab_wizard_paths_os_central_log_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_170", - "target": "exlab_wizard_paths_os_central_log_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L244", - "weight": 1.0, - "source": "logging_manager_build_real_handlers", - "target": "exlab_wizard_paths_os_central_log_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_189", - "target": "exlab_wizard_paths_suggested_staging_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L632", - "weight": 1.0, - "source": "pages_settings_render_section_body", - "target": "exlab_wizard_paths_suggested_staging_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_ensure_state_dir", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_ensure_central_log_dir", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_221", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L645", - "weight": 1.0, - "source": "ui_mount_ensure_staging_root", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L63", - "weight": 1.0, - "source": "config_test_bootstrap_write_starter_test_config", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L326", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L429", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_metadata", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L352", - "weight": 1.0, - "source": "tray_main_bootstrap_test_config", - "target": "exlab_wizard_paths_ensure_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_227", - "target": "exlab_wizard_paths_ensure_state_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L417", - "weight": 1.0, - "source": "tray_main_main", - "target": "exlab_wizard_paths_ensure_state_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L153", - "weight": 1.0, - "source": "window_main_main", - "target": "exlab_wizard_paths_ensure_state_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L31", - "weight": 1.0, - "source": "dev_seed_main", - "target": "exlab_wizard_paths_ensure_state_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_232", - "target": "exlab_wizard_paths_ensure_central_log_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L245", - "weight": 1.0, - "source": "logging_manager_build_real_handlers", - "target": "exlab_wizard_paths_ensure_central_log_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L387", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_compose_run_path", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L410", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_compose_project_path", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L242", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_242", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L254", - "weight": 1.0, - "source": "exlab_wizard_paths_canonicalize_equipment_id", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L340", - "weight": 1.0, - "source": "config_models_validate_equipment_id", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L486", - "weight": 1.0, - "source": "controller_creation_creationcontroller_validate_inputs", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L111", - "weight": 1.0, - "source": "sample_data_spec_check_id", - "target": "exlab_wizard_paths_canonicalize_equipment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_273", - "target": "exlab_wizard_paths_validate_project_short_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L283", - "weight": 1.0, - "source": "exlab_wizard_paths_validate_project_short_id", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L79", - "weight": 1.0, - "source": "sample_data_spec_check_short_id", - "target": "exlab_wizard_paths_validate_project_short_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_validate_project_name", - "target": "exlab_wizard_paths_project_name_violations" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L291", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_291", - "target": "exlab_wizard_paths_project_name_violations" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L320", - "weight": 1.0, - "source": "validator_rules_check_unsafe_project_name", - "target": "exlab_wizard_paths_project_name_violations" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L388", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_compose_run_path", - "target": "exlab_wizard_paths_validate_project_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L411", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_compose_project_path", - "target": "exlab_wizard_paths_validate_project_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_349", - "target": "exlab_wizard_paths_validate_project_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L356", - "weight": 1.0, - "source": "exlab_wizard_paths_validate_project_name", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L503", - "weight": 1.0, - "source": "controller_creation_creationcontroller_validate_inputs", - "target": "exlab_wizard_paths_validate_project_name" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L92", - "weight": 1.0, - "source": "sample_data_spec_check_name", - "target": "exlab_wizard_paths_validate_project_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_368", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L802", - "weight": 1.0, - "source": "controller_creation_creationcontroller_compose_destination_path", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L358", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "exlab_wizard_paths_compose_run_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_402", - "target": "exlab_wizard_paths_compose_project_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L796", - "weight": 1.0, - "source": "controller_creation_creationcontroller_compose_destination_path", - "target": "exlab_wizard_paths_compose_project_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L321", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "exlab_wizard_paths_compose_project_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L526", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_evaluate_setup_state", - "target": "exlab_wizard_paths_lims_slot_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L425", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_425", - "target": "exlab_wizard_paths_lims_slot_satisfied" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L515", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_evaluate_setup_state", - "target": "exlab_wizard_paths_paths_complete" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L438", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_438", - "target": "exlab_wizard_paths_paths_complete" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L460", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_nas_remote_satisfied", - "target": "exlab_wizard_paths_nas_in_use" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_448", - "target": "exlab_wizard_paths_nas_in_use" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L505", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_evaluate_setup_state", - "target": "exlab_wizard_paths_nas_remote_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L455", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_455", - "target": "exlab_wizard_paths_nas_remote_satisfied" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L463", - "weight": 1.0, - "source": "exlab_wizard_paths_nas_remote_satisfied", - "target": "api_dependencies_nas_remote_available" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L517", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_evaluate_setup_state", - "target": "exlab_wizard_paths_orchestrator_identity_complete" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L473", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_473", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L164", - "weight": 1.0, - "source": "api_setup_compute_setup_state", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L879", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_nas_keyring_missing", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L898", - "weight": 1.0, - "source": "unit_test_paths_test_evaluate_setup_state_nas_state_resolves_once_password_added", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L524", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_evaluate_setup_state", - "target": "exlab_wizard_paths_nas_slot_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L490", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_490", - "target": "exlab_wizard_paths_evaluate_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L515", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_515", - "target": "exlab_wizard_paths_orchestrator_identity_complete" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L534", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_534", - "target": "exlab_wizard_paths_orchestrator_identity_complete" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L568", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_setup_state_missing", - "target": "exlab_wizard_paths_missing_paths_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L570", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_setup_state_missing", - "target": "exlab_wizard_paths_missing_orchestrator_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L572", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_setup_state_missing", - "target": "exlab_wizard_paths_missing_nas_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L574", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_setup_state_missing", - "target": "exlab_wizard_paths_missing_lims_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L529", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_529", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L200", - "weight": 1.0, - "source": "api_setup_setup_state_gate", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L910", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_missing_for_no_nas_credential_lists_per_equipment", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L550", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_550", - "target": "exlab_wizard_paths_setup_state_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L561", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_561", - "target": "exlab_wizard_paths_missing_nas_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L596", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_missing_nas_fields", - "target": "exlab_wizard_paths_password_required_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L583", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_583", - "target": "exlab_wizard_paths_missing_nas_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L572", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_572", - "target": "exlab_wizard_paths_missing_orchestrator_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L602", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_602", - "target": "exlab_wizard_paths_missing_orchestrator_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L614", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_614", - "target": "exlab_wizard_paths_setup_state_next_action" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L822", - "weight": 1.0, - "source": "ui_mount_setup_next_action", - "target": "exlab_wizard_paths_setup_state_next_action" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/test_paths.py", - "source_location": "L923", - "weight": 1.0, - "source": "unit_test_paths_test_setup_state_next_action_for_no_nas_credential", - "target": "exlab_wizard_paths_setup_state_next_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L644", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_644", - "target": "exlab_wizard_paths_setup_state_next_action" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L680", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_creation_json_path", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L685", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_equipment_json_path", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L690", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_readme_fields_json_path", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L644", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_644", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L54", - "weight": 1.0, - "source": "cache_sync_state_writer_sync_state_path", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L397", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L429", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_metadata", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L998", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L674", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_674", - "target": "exlab_wizard_paths_cache_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_649", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1012", - "weight": 1.0, - "source": "ui_mount_metadata_for_run", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1025", - "weight": 1.0, - "source": "validator_engine_validator_read_creation_for", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L693", - "weight": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L774", - "weight": 1.0, - "source": "controller_creation_creationcontroller_resolve_run_lims_block", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L981", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L463", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_metadata", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L472", - "weight": 1.0, - "source": "routers_browse_relay_label_from_first_run", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L505", - "weight": 1.0, - "source": "routers_browse_find_run_root", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L629", - "weight": 1.0, - "source": "routers_browse_build_project_node", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L661", - "weight": 1.0, - "source": "routers_browse_build_run_node", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L369", - "weight": 1.0, - "source": "routers_problems_require_creation_json", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L349", - "weight": 1.0, - "source": "routers_staging_is_real_run", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L385", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_enqueue", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L968", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1061", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_mark_synced", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1079", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_mark_cleaned", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L679", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_679", - "target": "exlab_wizard_paths_creation_json_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L654", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_654", - "target": "exlab_wizard_paths_equipment_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1097", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_equipment_json", - "target": "exlab_wizard_paths_equipment_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L311", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_equipment", - "target": "exlab_wizard_paths_equipment_json_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L684", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_684", - "target": "exlab_wizard_paths_equipment_json_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L659", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_659", - "target": "exlab_wizard_paths_readme_fields_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L832", - "weight": 1.0, - "source": "validator_engine_validator_apply_missing_required_field_rule", - "target": "exlab_wizard_paths_readme_fields_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L202", - "weight": 1.0, - "source": "readme_generator_readmegenerator_generate_sync", - "target": "exlab_wizard_paths_readme_fields_json_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L223", - "weight": 1.0, - "source": "controller_creation_noopreadmegenerator_generate", - "target": "exlab_wizard_paths_readme_fields_json_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L689", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_689", - "target": "exlab_wizard_paths_readme_fields_json_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L669", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_669", - "target": "exlab_wizard_paths_is_run_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L364", - "weight": 1.0, - "source": "validator_rules_check_mode_prefix_mismatch", - "target": "exlab_wizard_paths_is_run_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L639", - "weight": 1.0, - "source": "validator_engine_validator_classify_level", - "target": "exlab_wizard_paths_is_run_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L689", - "weight": 1.0, - "source": "validator_engine_validator_compute_run_path", - "target": "exlab_wizard_paths_is_run_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L625", - "weight": 1.0, - "source": "routers_browse_build_project_node", - "target": "exlab_wizard_paths_is_run_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L79", - "weight": 1.0, - "source": "orchestrator_scan_walk_equipment_run_leaves", - "target": "exlab_wizard_paths_is_run_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L699", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_699", - "target": "exlab_wizard_paths_is_run_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L679", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_679", - "target": "exlab_wizard_paths_is_test_run_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L363", - "weight": 1.0, - "source": "validator_rules_check_mode_prefix_mismatch", - "target": "exlab_wizard_paths_is_test_run_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L646", - "weight": 1.0, - "source": "validator_engine_validator_classify_level", - "target": "exlab_wizard_paths_is_test_run_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L75", - "weight": 1.0, - "source": "orchestrator_scan_walk_equipment_run_leaves", - "target": "exlab_wizard_paths_is_test_run_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L180", - "weight": 1.0, - "source": "orchestrator_staging_query_path_identity", - "target": "exlab_wizard_paths_is_test_run_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L709", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_709", - "target": "exlab_wizard_paths_is_test_run_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L684", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_684", - "target": "exlab_wizard_paths_run_dir_stem" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L108", - "weight": 1.0, - "source": "pages_wizard_run_preview_path_segments", - "target": "exlab_wizard_paths_run_dir_stem" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L714", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_714", - "target": "exlab_wizard_paths_run_dir_stem" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_448", - "target": "exlab_wizard_paths_password_required_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_init_rationale_1", - "target": "src_exlab_wizard_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_templateloaderror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_reason" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_keyringunavailableerror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_errors_py", - "target": "exlab_wizard_errors_setupincompleteerror" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_1", - "target": "src_exlab_wizard_errors_py" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_exlaberror", - "target": "exception" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_configerror", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_validationerror", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_templateloaderror", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_pluginerror", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_plugininputrequired", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_schemamajormismatcherror", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_keyringunavailableerror", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_setupincompleteerror", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_20", - "target": "exlab_wizard_errors_exlaberror" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_init_transporterror", - "target": "exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_24", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_client_limsclient", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L40", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_catalogue_offlinecatalogue", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_pathsconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_limsconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_readmedefaultfield", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_readmeconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_bandwidthwindow", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_bandwidthconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_rcloneperf", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_nasconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_equipmentconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_nascleanupconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_loggingconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_operatorsconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_validatorconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_pluginsconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_syncconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_orchestratorstagingcleanup", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_orchestratorconfig", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_config", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L638", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L638", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L638", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L638", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L638", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L638", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L638", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L638", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L26", - "weight": 0.8, - "source": "sample_data_spec_samplefile", - "target": "exlab_wizard_errors_configerror", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L26", - "weight": 0.8, - "source": "sample_data_spec_samplerun", - "target": "exlab_wizard_errors_configerror", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L26", - "weight": 0.8, - "source": "sample_data_spec_sampleproject", - "target": "exlab_wizard_errors_configerror", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L26", - "weight": 0.8, - "source": "sample_data_spec_sampleequipment", - "target": "exlab_wizard_errors_configerror", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_config_configupdateresponse", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_config_equipmentappendresponse", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L93", - "weight": 1.0, - "source": "lims_client_limsclient_login", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L96", - "weight": 1.0, - "source": "lims_catalogue_read_catalogue", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L610", - "weight": 1.0, - "source": "config_models_config_with_equipment_appended", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L74", - "weight": 1.0, - "source": "config_loader_apply_test_mode_prefix", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L102", - "weight": 1.0, - "source": "config_loader_load_config", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L113", - "weight": 1.0, - "source": "config_loader_load_config_from_text", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L646", - "weight": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_rclonesftptransport", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_rclonesmbtransport", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "config_models_orchestratorstagingtransport", - "target": "exlab_wizard_errors_configerror" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_28", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L85", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L85", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L85", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L85", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L85", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L85", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L85", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L85", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L476", - "weight": 1.0, - "source": "controller_creation_creationcontroller_validate_inputs", - "target": "exlab_wizard_errors_validationerror" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_templatecorefieldredeclarederror", - "target": "exlab_wizard_errors_templateloaderror" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_32", - "target": "exlab_wizard_errors_templateloaderror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "template_copier_driver_resolvedtemplate", - "target": "exlab_wizard_errors_templateloaderror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "template_copier_driver_renderresult", - "target": "exlab_wizard_errors_templateloaderror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "template_copier_driver_templateengine", - "target": "exlab_wizard_errors_templateloaderror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L137", - "weight": 1.0, - "source": "template_copier_driver_templateengine_resolve", - "target": "exlab_wizard_errors_templateloaderror" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_36", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "template_copier_driver_resolvedtemplate", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "template_copier_driver_renderresult", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "template_copier_driver_templateengine", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_corefields", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_templatefielddecl", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_customfield", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_systemfields", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_readmecontext", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_readmegenerator", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L250", - "weight": 1.0, - "source": "template_copier_driver_extract_readme_fields", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L277", - "weight": 1.0, - "source": "readme_generator_reject_core_redeclaration", - "target": "exlab_wizard_errors_templatecorefieldredeclarederror" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_40", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_base_filechange", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_base_plugincontext", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_base_plugin", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_workeroutcome", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_swallowcallbackerrors", - "target": "exlab_wizard_errors_pluginerror" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_plugininputrequired", - "target": "exlab_wizard_errors_plugininputrequired_init" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_44", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_base_filechange", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_base_plugincontext", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_base_plugin", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_workeroutcome", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_swallowcallbackerrors", - "target": "exlab_wizard_errors_plugininputrequired" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_plugininputrequired_init", - "target": "exlab_wizard_errors_schemamajormismatcherror_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_schemamajormismatcherror", - "target": "exlab_wizard_errors_schemamajormismatcherror_init" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_56", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L50", - "weight": 0.8, - "confidence_score": 0.5, - "source": "cache_equipment_equipmentcachewriter", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L44", - "weight": 1.0, - "source": "io_json_files_require_schema_major", - "target": "exlab_wizard_errors_schemamajormismatcherror" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_65", - "target": "exlab_wizard_errors_keyringunavailableerror" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L44", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_keyring_store_keyringstore", - "target": "exlab_wizard_errors_keyringunavailableerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L190", - "weight": 1.0, - "source": "lims_keyring_store_keyringstore_passphrase", - "target": "exlab_wizard_errors_keyringunavailableerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L214", - "weight": 1.0, - "source": "lims_keyring_store_keyringstore_load_fallback", - "target": "exlab_wizard_errors_keyringunavailableerror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L263", - "weight": 1.0, - "source": "lims_keyring_store_decode_envelope", - "target": "exlab_wizard_errors_keyringunavailableerror" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/errors.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_errors_rationale_69", - "target": "exlab_wizard_errors_setupincompleteerror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/__main__.py", - "source_location": "L6", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_main_py", - "target": "exlab_wizard_main_main" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/__main__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_main_rationale_1", - "target": "src_exlab_wizard_main_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_theme_py", - "target": "ui_theme_build_root_css" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_theme_py", - "target": "ui_theme_register_theme" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_theme_py", - "target": "ui_theme_resolve_assets_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_theme_py", - "target": "ui_theme_register_static_assets" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_rationale_1", - "target": "src_exlab_wizard_ui_theme_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_register_theme", - "target": "ui_theme_build_root_css" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_rationale_26", - "target": "ui_theme_build_root_css" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L129", - "weight": 1.0, - "source": "ui_theme_rationale_129", - "target": "ui_theme_register_theme", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L84", - "weight": 1.0, - "source": "ui_mount_mount_ui", - "target": "ui_theme_register_theme" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_rationale_113", - "target": "ui_theme_register_theme" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_rationale_101", - "target": "ui_theme_register_theme" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_register_static_assets", - "target": "ui_theme_resolve_assets_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L158", - "weight": 1.0, - "source": "ui_theme_rationale_158", - "target": "ui_theme_resolve_assets_dir", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_rationale_142", - "target": "ui_theme_resolve_assets_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_rationale_135", - "target": "ui_theme_resolve_assets_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_rationale_123", - "target": "ui_theme_resolve_assets_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L173", - "weight": 1.0, - "source": "ui_theme_rationale_173", - "target": "ui_theme_register_static_assets", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L79", - "weight": 1.0, - "source": "ui_mount_mount_ui", - "target": "ui_theme_register_static_assets" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_rationale_157", - "target": "ui_theme_register_static_assets" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_rationale_150", - "target": "ui_theme_register_static_assets" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/theme.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_theme_rationale_138", - "target": "ui_theme_register_static_assets" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_equipment_form_py", - "target": "ui_equipment_form_build_equipment_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_equipment_form_rationale_1", - "target": "src_exlab_wizard_ui_equipment_form_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_equipment_form_rationale_29", - "target": "ui_equipment_form_build_equipment_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L93", - "weight": 1.0, - "source": "ui_equipment_form_build_equipment_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L63", - "weight": 1.0, - "source": "ui_equipment_form_build_equipment_config", - "target": "constants_enums_syncmode" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L127", - "weight": 1.0, - "source": "pages_wizard_equipment_assemble_equipment_config", - "target": "ui_equipment_form_build_equipment_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L141", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_build_equipment_sftp", - "target": "ui_equipment_form_build_equipment_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_dynamic_form.py", - "source_location": "L148", - "weight": 1.0, - "source": "ui_test_dynamic_form_test_build_equipment_smb", - "target": "ui_equipment_form_build_equipment_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_equipment_form_rationale_54", - "target": "ui_equipment_form_build_equipment_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L70", - "weight": 1.0, - "source": "ui_equipment_form_build_equipment_config", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L79", - "weight": 1.0, - "source": "ui_equipment_form_build_equipment_config", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L87", - "weight": 1.0, - "source": "ui_equipment_form_build_equipment_config", - "target": "config_models_orchestratorstagingtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/equipment_form.py", - "source_location": "L88", - "weight": 1.0, - "source": "ui_equipment_form_build_equipment_config", - "target": "constants_enums_orchestratortransporttype" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/design.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_design_rationale_1", - "target": "src_exlab_wizard_ui_design_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_severity" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_bannerid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_containerid" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_actionspec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_emit_toast" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_notify_success" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_notify_info" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_notify_warning" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_notify_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_notify_field_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_notify_form_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_clear_field_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_clear_form_errors" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_get_field_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_get_form_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_show_banner" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_clear_banner" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L318", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_list_active_banners" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_banner_overflow_count" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L341", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_notifications_py", - "target": "ui_notifications_reset_for_tests" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_1", - "target": "src_exlab_wizard_ui_notifications_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_36", - "target": "ui_notifications_severity" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_45", - "target": "ui_notifications_bannerid" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_59", - "target": "ui_notifications_containerid" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_68", - "target": "ui_notifications_actionspec" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_notify_success", - "target": "ui_notifications_emit_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_notify_info", - "target": "ui_notifications_emit_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_notify_warning", - "target": "ui_notifications_emit_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_notify_error", - "target": "ui_notifications_emit_toast" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_113", - "target": "ui_notifications_emit_toast" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_166", - "target": "ui_notifications_notify_success" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_180", - "target": "ui_notifications_notify_info" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_191", - "target": "ui_notifications_notify_warning" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_205", - "target": "ui_notifications_notify_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_224", - "target": "ui_notifications_notify_field_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_234", - "target": "ui_notifications_notify_form_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_244", - "target": "ui_notifications_clear_field_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L250", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_250", - "target": "ui_notifications_clear_form_errors" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_256", - "target": "ui_notifications_get_field_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L262", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_262", - "target": "ui_notifications_get_form_error" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L281", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_281", - "target": "ui_notifications_show_banner" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_313", - "target": "ui_notifications_clear_banner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_banner_overflow_count", - "target": "ui_notifications_list_active_banners" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L321", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_321", - "target": "ui_notifications_list_active_banners" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L335", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_335", - "target": "ui_notifications_banner_overflow_count" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/notifications.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_notifications_rationale_342", - "target": "ui_notifications_reset_for_tests" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_spawn_background" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_mount_ui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_register_pages" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L430", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_lims_credential_handlers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L543", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_nas_test_connection" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_persist_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L625", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_ensure_staging_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L651", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_apply_live_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L611", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_nas_remote_missing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L689", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_is_setup_ready" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L721", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_apply_autostart" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L740", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_build_main_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L772", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_panel_sessions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L789", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_operation_counts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L806", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_setup_next_action" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L829", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_build_main_query" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L850", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_classify_node" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L890", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_build_metadata_payload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L921", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_metadata_for_owned_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L936", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_metadata_for_relay_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L950", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_metadata_for_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L984", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_count_dir_children" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L999", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_metadata_for_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1003", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_build_selected_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1052", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_build_selected_folder" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1033", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_drive_folder_feed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1094", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_fetch_folder_async" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_refresh_selected_folder" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_file_context_action" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1303", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_open_in_os" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1343", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1367", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_resume_operation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1425", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1471", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1480", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_cancel_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1521", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1569", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1602", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_templates_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1610", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_template_names" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1627", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1660", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1694", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_lims_projects" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1724", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1732", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_await_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1749", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1794", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_close_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1802", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_submit_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1835", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_submit_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1868", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_run_creation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1905", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_render_run_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1919", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_safe_audit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1950", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_show_toast" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1", - "target": "src_exlab_wizard_ui_mount_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1931", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_build_staging_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1963", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_render_unavailable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L486", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_nas_credential_handlers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L668", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_mount_py", - "target": "ui_mount_nas_credential_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1072", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_drive_folder_feed", - "target": "ui_mount_spawn_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_run_staging_action", - "target": "ui_mount_spawn_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1300", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_toggle_keep_local", - "target": "ui_mount_spawn_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1566", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_open_log_dialog", - "target": "ui_mount_spawn_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L62", - "weight": 1.0, - "source": "ui_mount_rationale_62", - "target": "ui_mount_spawn_background", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_bulk_clear_verified", - "target": "ui_mount_spawn_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_59", - "target": "ui_mount_spawn_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_mount_ui", - "target": "ui_mount_register_pages" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L70", - "weight": 1.0, - "source": "ui_mount_rationale_70", - "target": "ui_mount_mount_ui", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L149", - "weight": 1.0, - "source": "tray_main_build_default_app", - "target": "ui_mount_mount_ui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_67", - "target": "ui_mount_mount_ui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L98", - "weight": 1.0, - "source": "ui_mount_rationale_98", - "target": "ui_mount_register_pages", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_95", - "target": "ui_mount_register_pages" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_90", - "target": "ui_mount_register_pages" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L472", - "weight": 1.0, - "source": "ui_mount_rationale_472", - "target": "ui_mount_lims_credential_handlers", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L469", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_469", - "target": "ui_mount_lims_credential_handlers" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L464", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_464", - "target": "ui_mount_lims_credential_handlers" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L462", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_462", - "target": "ui_mount_lims_credential_handlers" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L427", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_427", - "target": "ui_mount_lims_credential_handlers" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L433", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_433", - "target": "ui_mount_lims_credential_handlers" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L526", - "weight": 1.0, - "source": "ui_mount_rationale_526", - "target": "ui_mount_nas_test_connection", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L561", - "weight": 1.0, - "source": "ui_mount_nas_test_connection", - "target": "components_test_connection_panel_testconnectionresult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L523", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_523", - "target": "ui_mount_nas_test_connection" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L518", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_518", - "target": "ui_mount_nas_test_connection" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L516", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_516", - "target": "ui_mount_nas_test_connection" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L481", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_481", - "target": "ui_mount_nas_test_connection" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L544", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_544", - "target": "ui_mount_nas_test_connection" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_persist_config", - "target": "ui_mount_show_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L619", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_persist_config", - "target": "ui_mount_ensure_staging_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_persist_config", - "target": "ui_mount_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L582", - "weight": 1.0, - "source": "ui_mount_rationale_582", - "target": "ui_mount_persist_config", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L579", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_579", - "target": "ui_mount_persist_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L574", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_574", - "target": "ui_mount_persist_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L572", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_572", - "target": "ui_mount_persist_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L537", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_537", - "target": "ui_mount_persist_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L594", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_594", - "target": "ui_mount_persist_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L648", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_ensure_staging_root", - "target": "ui_mount_show_toast" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L614", - "weight": 1.0, - "source": "ui_mount_rationale_614", - "target": "ui_mount_ensure_staging_root", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L611", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_611", - "target": "ui_mount_ensure_staging_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L606", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_606", - "target": "ui_mount_ensure_staging_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L604", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_604", - "target": "ui_mount_ensure_staging_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L569", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_569", - "target": "ui_mount_ensure_staging_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L626", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_626", - "target": "ui_mount_ensure_staging_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L640", - "weight": 1.0, - "source": "ui_mount_rationale_640", - "target": "ui_mount_apply_live_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L662", - "weight": 1.0, - "source": "ui_mount_apply_live_config", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L637", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_637", - "target": "ui_mount_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L632", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_632", - "target": "ui_mount_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L630", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_630", - "target": "ui_mount_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L595", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_595", - "target": "ui_mount_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L652", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_652", - "target": "ui_mount_apply_live_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1539", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_missing_setup_sections", - "target": "ui_mount_nas_remote_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L657", - "weight": 1.0, - "source": "ui_mount_rationale_657", - "target": "ui_mount_nas_remote_missing", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L632", - "weight": 1.0, - "source": "ui_mount_nas_remote_missing", - "target": "api_dependencies_nas_remote_available" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L654", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_654", - "target": "ui_mount_nas_remote_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_649", - "target": "ui_mount_nas_remote_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L647", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_647", - "target": "ui_mount_nas_remote_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L612", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_612", - "target": "ui_mount_nas_remote_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L756", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_build_main_state", - "target": "ui_mount_is_setup_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L681", - "weight": 1.0, - "source": "ui_mount_rationale_681", - "target": "ui_mount_is_setup_ready", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L715", - "weight": 1.0, - "source": "ui_mount_is_setup_ready", - "target": "api_setup_compute_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L678", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_678", - "target": "ui_mount_is_setup_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L673", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_673", - "target": "ui_mount_is_setup_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L671", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_671", - "target": "ui_mount_is_setup_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L636", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_636", - "target": "ui_mount_is_setup_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L690", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_690", - "target": "ui_mount_is_setup_ready" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L713", - "weight": 1.0, - "source": "ui_mount_rationale_713", - "target": "ui_mount_apply_autostart", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L734", - "weight": 1.0, - "source": "ui_mount_apply_autostart", - "target": "components_filter_chips_toggle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L710", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_710", - "target": "ui_mount_apply_autostart" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L705", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_705", - "target": "ui_mount_apply_autostart" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L703", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_703", - "target": "ui_mount_apply_autostart" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L668", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_668", - "target": "ui_mount_apply_autostart" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L722", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_722", - "target": "ui_mount_apply_autostart" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L754", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_build_main_state", - "target": "ui_mount_operation_counts" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L757", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_build_main_state", - "target": "ui_mount_setup_next_action" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L759", - "weight": 1.0, - "source": "ui_mount_build_main_state", - "target": "components_status_bar_segment_derive_footer_segment_states" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L800", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_operation_counts", - "target": "ui_mount_panel_sessions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_build_operation_rows", - "target": "ui_mount_panel_sessions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L787", - "weight": 1.0, - "source": "ui_mount_rationale_787", - "target": "ui_mount_panel_sessions", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L786", - "weight": 1.0, - "source": "ui_mount_panel_sessions", - "target": "controller_session_store_on_operations_panel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L769", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_769", - "target": "ui_mount_panel_sessions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L764", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_764", - "target": "ui_mount_panel_sessions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L762", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_762", - "target": "ui_mount_panel_sessions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L727", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_727", - "target": "ui_mount_panel_sessions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L719", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_719", - "target": "ui_mount_panel_sessions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L773", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_773", - "target": "ui_mount_panel_sessions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L804", - "weight": 1.0, - "source": "ui_mount_rationale_804", - "target": "ui_mount_operation_counts", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L786", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_786", - "target": "ui_mount_operation_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L781", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_781", - "target": "ui_mount_operation_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L779", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_779", - "target": "ui_mount_operation_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L744", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_744", - "target": "ui_mount_operation_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L736", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_736", - "target": "ui_mount_operation_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L790", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_790", - "target": "ui_mount_operation_counts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L821", - "weight": 1.0, - "source": "ui_mount_rationale_821", - "target": "ui_mount_setup_next_action", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L822", - "weight": 1.0, - "source": "ui_mount_setup_next_action", - "target": "api_setup_compute_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L803", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_803", - "target": "ui_mount_setup_next_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L798", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_798", - "target": "ui_mount_setup_next_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L796", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_796", - "target": "ui_mount_setup_next_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L761", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_761", - "target": "ui_mount_setup_next_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L753", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_753", - "target": "ui_mount_setup_next_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L807", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_807", - "target": "ui_mount_setup_next_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L851", - "weight": 1.0, - "source": "ui_mount_rationale_851", - "target": "ui_mount_build_main_query", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L833", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_833", - "target": "ui_mount_build_main_query" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L828", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_828", - "target": "ui_mount_build_main_query" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L826", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_826", - "target": "ui_mount_build_main_query" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L791", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_791", - "target": "ui_mount_build_main_query" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L783", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_783", - "target": "ui_mount_build_main_query" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L776", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_776", - "target": "ui_mount_build_main_query" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L830", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_830", - "target": "ui_mount_build_main_query" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L884", - "weight": 1.0, - "source": "ui_mount_rationale_884", - "target": "ui_mount_classify_node", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L866", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_866", - "target": "ui_mount_classify_node" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L861", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_861", - "target": "ui_mount_classify_node" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L859", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_859", - "target": "ui_mount_classify_node" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L824", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_824", - "target": "ui_mount_classify_node" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L816", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_816", - "target": "ui_mount_classify_node" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L797", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_797", - "target": "ui_mount_classify_node" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L851", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_851", - "target": "ui_mount_classify_node" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L908", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_build_metadata_payload", - "target": "ui_mount_metadata_for_owned_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L910", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_build_metadata_payload", - "target": "ui_mount_metadata_for_relay_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L912", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_build_metadata_payload", - "target": "ui_mount_metadata_for_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L914", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_build_metadata_payload", - "target": "ui_mount_metadata_for_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L928", - "weight": 1.0, - "source": "ui_mount_rationale_928", - "target": "ui_mount_build_metadata_payload", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L910", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_910", - "target": "ui_mount_build_metadata_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L905", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_905", - "target": "ui_mount_build_metadata_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L903", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_903", - "target": "ui_mount_build_metadata_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L868", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_868", - "target": "ui_mount_build_metadata_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L860", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_860", - "target": "ui_mount_build_metadata_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L841", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_841", - "target": "ui_mount_build_metadata_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L895", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_895", - "target": "ui_mount_build_metadata_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L955", - "weight": 1.0, - "source": "ui_mount_rationale_955", - "target": "ui_mount_metadata_for_owned_equipment", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L937", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_937", - "target": "ui_mount_metadata_for_owned_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L932", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_932", - "target": "ui_mount_metadata_for_owned_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L930", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_930", - "target": "ui_mount_metadata_for_owned_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L895", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_895", - "target": "ui_mount_metadata_for_owned_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L887", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_887", - "target": "ui_mount_metadata_for_owned_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L868", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_868", - "target": "ui_mount_metadata_for_owned_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L922", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_922", - "target": "ui_mount_metadata_for_owned_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L970", - "weight": 1.0, - "source": "ui_mount_rationale_970", - "target": "ui_mount_metadata_for_relay_equipment", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L952", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_952", - "target": "ui_mount_metadata_for_relay_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L947", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_947", - "target": "ui_mount_metadata_for_relay_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L945", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_945", - "target": "ui_mount_metadata_for_relay_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L910", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_910", - "target": "ui_mount_metadata_for_relay_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L902", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_902", - "target": "ui_mount_metadata_for_relay_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L883", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_883", - "target": "ui_mount_metadata_for_relay_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L937", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_937", - "target": "ui_mount_metadata_for_relay_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L966", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_metadata_for_project", - "target": "ui_mount_count_dir_children" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L984", - "weight": 1.0, - "source": "ui_mount_rationale_984", - "target": "ui_mount_metadata_for_project", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L966", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_966", - "target": "ui_mount_metadata_for_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L961", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_961", - "target": "ui_mount_metadata_for_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L959", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_959", - "target": "ui_mount_metadata_for_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L924", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_924", - "target": "ui_mount_metadata_for_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L916", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_916", - "target": "ui_mount_metadata_for_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L897", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_897", - "target": "ui_mount_metadata_for_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L951", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_951", - "target": "ui_mount_metadata_for_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1018", - "weight": 1.0, - "source": "ui_mount_rationale_1018", - "target": "ui_mount_count_dir_children", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1000", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1000", - "target": "ui_mount_count_dir_children" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L995", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_995", - "target": "ui_mount_count_dir_children" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L993", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_993", - "target": "ui_mount_count_dir_children" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L958", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_958", - "target": "ui_mount_count_dir_children" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L950", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_950", - "target": "ui_mount_count_dir_children" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L931", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_931", - "target": "ui_mount_count_dir_children" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L985", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_985", - "target": "ui_mount_count_dir_children" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1033", - "weight": 1.0, - "source": "ui_mount_rationale_1033", - "target": "ui_mount_metadata_for_run", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1016", - "weight": 1.0, - "source": "ui_mount_metadata_for_run", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1015", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1015", - "target": "ui_mount_metadata_for_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1010", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1010", - "target": "ui_mount_metadata_for_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1008", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1008", - "target": "ui_mount_metadata_for_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L973", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_973", - "target": "ui_mount_metadata_for_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L965", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_965", - "target": "ui_mount_metadata_for_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L946", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_946", - "target": "ui_mount_metadata_for_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1000", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1000", - "target": "ui_mount_metadata_for_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1036", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_build_selected_file", - "target": "ui_mount_build_selected_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1076", - "weight": 1.0, - "source": "ui_mount_rationale_1076", - "target": "ui_mount_build_selected_file", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1045", - "weight": 1.0, - "source": "ui_mount_build_selected_file", - "target": "pages_staging_format_bytes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1058", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1058", - "target": "ui_mount_build_selected_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1053", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1053", - "target": "ui_mount_build_selected_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1051", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1051", - "target": "ui_mount_build_selected_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1016", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1016", - "target": "ui_mount_build_selected_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1008", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1008", - "target": "ui_mount_build_selected_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1125", - "weight": 1.0, - "source": "ui_mount_rationale_1125", - "target": "ui_mount_build_selected_folder", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1083", - "weight": 1.0, - "source": "ui_mount_build_selected_folder", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1107", - "target": "ui_mount_build_selected_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1102", - "target": "ui_mount_build_selected_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1100", - "target": "ui_mount_build_selected_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1065", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1065", - "target": "ui_mount_build_selected_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1057", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1057", - "target": "ui_mount_build_selected_folder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1064", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_drive_folder_feed", - "target": "ui_mount_fetch_folder_async" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1166", - "weight": 1.0, - "source": "ui_mount_rationale_1166", - "target": "ui_mount_drive_folder_feed", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1080", - "weight": 1.0, - "source": "ui_mount_drive_folder_feed", - "target": "components_file_list_filelistentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1148", - "target": "ui_mount_drive_folder_feed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1143", - "target": "ui_mount_drive_folder_feed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1141", - "target": "ui_mount_drive_folder_feed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1106", - "target": "ui_mount_drive_folder_feed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1098", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1098", - "target": "ui_mount_drive_folder_feed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L999", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_999", - "target": "ui_mount_drive_folder_feed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L980", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_980", - "target": "ui_mount_drive_folder_feed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1034", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1034", - "target": "ui_mount_drive_folder_feed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1227", - "weight": 1.0, - "source": "ui_mount_rationale_1227", - "target": "ui_mount_fetch_folder_async", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1209", - "target": "ui_mount_fetch_folder_async" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1204", - "target": "ui_mount_fetch_folder_async" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1202", - "target": "ui_mount_fetch_folder_async" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1167", - "target": "ui_mount_fetch_folder_async" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1159", - "target": "ui_mount_fetch_folder_async" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1060", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1060", - "target": "ui_mount_fetch_folder_async" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1041", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1041", - "target": "ui_mount_fetch_folder_async" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1095", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1095", - "target": "ui_mount_fetch_folder_async" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1251", - "weight": 1.0, - "source": "ui_mount_rationale_1251", - "target": "ui_mount_refresh_selected_folder", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1233", - "target": "ui_mount_refresh_selected_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1228", - "target": "ui_mount_refresh_selected_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1226", - "target": "ui_mount_refresh_selected_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1191", - "target": "ui_mount_refresh_selected_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1183", - "target": "ui_mount_refresh_selected_folder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_run_staging_action", - "target": "ui_mount_show_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_run_staging_action", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1291", - "weight": 1.0, - "source": "ui_mount_rationale_1291", - "target": "ui_mount_run_staging_action", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1273", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1268", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1261", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1259", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1224", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1216", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1183", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1084", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1084", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1065", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1065", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1119", - "target": "ui_mount_run_staging_action" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_file_context_action", - "target": "ui_mount_show_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_file_context_action", - "target": "ui_mount_open_in_os" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_file_context_action", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1356", - "weight": 1.0, - "source": "ui_mount_rationale_1356", - "target": "ui_mount_file_context_action", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1376", - "target": "ui_mount_file_context_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1371", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1371", - "target": "ui_mount_file_context_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1364", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1364", - "target": "ui_mount_file_context_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1362", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1362", - "target": "ui_mount_file_context_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1327", - "target": "ui_mount_file_context_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1319", - "target": "ui_mount_file_context_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1286", - "target": "ui_mount_file_context_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1187", - "target": "ui_mount_file_context_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1168", - "target": "ui_mount_file_context_action" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1222", - "target": "ui_mount_file_context_action" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_toggle_keep_local", - "target": "ui_mount_show_toast" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1395", - "weight": 1.0, - "source": "ui_mount_rationale_1395", - "target": "ui_mount_toggle_keep_local", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1278", - "weight": 1.0, - "source": "ui_mount_toggle_keep_local", - "target": "routers_browse_find_run_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1282", - "weight": 1.0, - "source": "ui_mount_toggle_keep_local", - "target": "routers_browse_run_relative_posix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1415", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1415", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1410", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1410", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1403", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1401", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1366", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1358", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1325", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1226", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1207", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1261", - "target": "ui_mount_toggle_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1438", - "weight": 1.0, - "source": "ui_mount_rationale_1438", - "target": "ui_mount_open_in_os", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1458", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1458", - "target": "ui_mount_open_in_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1453", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1453", - "target": "ui_mount_open_in_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1446", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1446", - "target": "ui_mount_open_in_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1444", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1444", - "target": "ui_mount_open_in_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1409", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1409", - "target": "ui_mount_open_in_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1401", - "target": "ui_mount_open_in_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1368", - "target": "ui_mount_open_in_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1269", - "target": "ui_mount_open_in_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1250", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1250", - "target": "ui_mount_open_in_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1304", - "target": "ui_mount_open_in_os" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1355", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_open_operations_modal", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1466", - "weight": 1.0, - "source": "ui_mount_rationale_1466", - "target": "ui_mount_build_operation_rows", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1486", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1486", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1481", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1481", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1474", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1474", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1472", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1437", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1437", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1429", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1429", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1396", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1297", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1278", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1332", - "target": "ui_mount_build_operation_rows" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1353", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_open_operations_modal", - "target": "ui_mount_show_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_open_operations_modal", - "target": "ui_mount_resume_operation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_open_operations_modal", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1360", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_open_operations_modal", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1478", - "weight": 1.0, - "source": "ui_mount_rationale_1478", - "target": "ui_mount_open_operations_modal", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1356", - "weight": 1.0, - "source": "ui_mount_open_operations_modal", - "target": "components_operations_modal_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1498", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1498", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1493", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1486", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1486", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1484", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1484", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1449", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1449", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1441", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1441", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1408", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1408", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1309", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1290", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1344", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1344", - "target": "ui_mount_open_operations_modal" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_open_operation_details", - "target": "ui_mount_show_toast" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1502", - "weight": 1.0, - "source": "ui_mount_rationale_1502", - "target": "ui_mount_open_operation_details", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1522", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1522", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1517", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1517", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1510", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1510", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1508", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1508", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1473", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1473", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1465", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1465", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1432", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1432", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1333", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1333", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1314", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1368", - "target": "ui_mount_open_operation_details" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1413", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_resume_operation", - "target": "ui_mount_show_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1415", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_resume_operation", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1536", - "weight": 1.0, - "source": "ui_mount_rationale_1536", - "target": "ui_mount_resume_operation", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1556", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1556", - "target": "ui_mount_resume_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1551", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1551", - "target": "ui_mount_resume_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1544", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1544", - "target": "ui_mount_resume_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1542", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1542", - "target": "ui_mount_resume_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1507", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1507", - "target": "ui_mount_resume_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1499", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1499", - "target": "ui_mount_resume_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1466", - "target": "ui_mount_resume_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1367", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1367", - "target": "ui_mount_resume_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1348", - "target": "ui_mount_resume_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1402", - "target": "ui_mount_resume_operation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1779", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_consume_session_progress", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1568", - "weight": 1.0, - "source": "ui_mount_rationale_1568", - "target": "ui_mount_open_input_required_dialog", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1458", - "weight": 1.0, - "source": "ui_mount_open_input_required_dialog", - "target": "components_input_required_dialog_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1588", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1588", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1583", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1583", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1576", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1576", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1574", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1574", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1539", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1539", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1531", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1531", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1498", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1498", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1399", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1399", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1380", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1380", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1434", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1434", - "target": "ui_mount_open_input_required_dialog" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1475", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_cancel_operation", - "target": "ui_mount_show_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1477", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_cancel_operation", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1606", - "weight": 1.0, - "source": "ui_mount_rationale_1606", - "target": "ui_mount_cancel_operation", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1626", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1626", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1621", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1614", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1614", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1612", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1612", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1577", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1577", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1569", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1569", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1536", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1536", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1437", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1437", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1418", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1472", - "target": "ui_mount_cancel_operation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1615", - "weight": 1.0, - "source": "ui_mount_rationale_1615", - "target": "ui_mount_cancel_session", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1635", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1635", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1630", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1630", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1623", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1623", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1621", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1586", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1586", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1578", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1578", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1545", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1545", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1446", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1446", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1427", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1427", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1481", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1481", - "target": "ui_mount_cancel_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1656", - "weight": 1.0, - "source": "ui_mount_rationale_1656", - "target": "ui_mount_open_log_dialog", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1676", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1676", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1671", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1671", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1664", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1664", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1662", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1662", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1627", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1627", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1619", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1619", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1586", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1586", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1487", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1468", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1468", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1522", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1522", - "target": "ui_mount_open_log_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1704", - "weight": 1.0, - "source": "ui_mount_rationale_1704", - "target": "ui_mount_missing_setup_sections", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1597", - "weight": 1.0, - "source": "ui_mount_missing_setup_sections", - "target": "api_dependencies_lims_password_present" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1724", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1724", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1719", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1719", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1712", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1712", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1710", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1710", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1675", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1675", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1667", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1667", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1634", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1634", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1535", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1535", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1516", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1516", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_missing_setup_sections", - "target": "ui_mount_nas_credential_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1570", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1570", - "target": "ui_mount_missing_setup_sections" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1612", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_template_names", - "target": "ui_mount_templates_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1636", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_template_questions_map", - "target": "ui_mount_templates_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1808", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_submit_project", - "target": "ui_mount_templates_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1841", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_submit_run", - "target": "ui_mount_templates_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1737", - "weight": 1.0, - "source": "ui_mount_rationale_1737", - "target": "ui_mount_templates_dir", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1757", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1757", - "target": "ui_mount_templates_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1752", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1752", - "target": "ui_mount_templates_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1745", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1745", - "target": "ui_mount_templates_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1743", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1743", - "target": "ui_mount_templates_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1708", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1708", - "target": "ui_mount_templates_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1700", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1700", - "target": "ui_mount_templates_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1667", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1667", - "target": "ui_mount_templates_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1568", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1568", - "target": "ui_mount_templates_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1549", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1549", - "target": "ui_mount_templates_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1603", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1603", - "target": "ui_mount_templates_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1911", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_render_run_wizard", - "target": "ui_mount_template_names" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1745", - "weight": 1.0, - "source": "ui_mount_rationale_1745", - "target": "ui_mount_template_names", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1765", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1765", - "target": "ui_mount_template_names" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1760", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1760", - "target": "ui_mount_template_names" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1753", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1753", - "target": "ui_mount_template_names" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1751", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1751", - "target": "ui_mount_template_names" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1716", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1716", - "target": "ui_mount_template_names" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1708", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1708", - "target": "ui_mount_template_names" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1675", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1675", - "target": "ui_mount_template_names" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1576", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1576", - "target": "ui_mount_template_names" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1557", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1557", - "target": "ui_mount_template_names" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1611", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1611", - "target": "ui_mount_template_names" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1913", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_render_run_wizard", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1762", - "weight": 1.0, - "source": "ui_mount_rationale_1762", - "target": "ui_mount_template_questions_map", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1644", - "weight": 1.0, - "source": "ui_mount_template_questions_map", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1645", - "weight": 1.0, - "source": "ui_mount_template_questions_map", - "target": "constants_enums_templatetype" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1782", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1782", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1777", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1777", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1770", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1770", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1768", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1768", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1733", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1733", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1725", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1725", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1692", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1692", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1593", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1574", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1574", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1628", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1628", - "target": "ui_mount_template_questions_map" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1721", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_lims_projects", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1795", - "weight": 1.0, - "source": "ui_mount_rationale_1795", - "target": "ui_mount_lims_catalogue_projects", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1676", - "weight": 1.0, - "source": "ui_mount_lims_catalogue_projects", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1815", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1815", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1810", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1810", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1803", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1803", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1801", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1801", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1766", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1766", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1758", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1758", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1725", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1725", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1626", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1626", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1607", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1661", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1661", - "target": "ui_mount_lims_catalogue_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1829", - "weight": 1.0, - "source": "ui_mount_rationale_1829", - "target": "ui_mount_lims_projects", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1849", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1849", - "target": "ui_mount_lims_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1844", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1844", - "target": "ui_mount_lims_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1837", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1837", - "target": "ui_mount_lims_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1835", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1835", - "target": "ui_mount_lims_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1800", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1800", - "target": "ui_mount_lims_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1792", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1792", - "target": "ui_mount_lims_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1759", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1759", - "target": "ui_mount_lims_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1660", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1660", - "target": "ui_mount_lims_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1641", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1641", - "target": "ui_mount_lims_projects" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1695", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1695", - "target": "ui_mount_lims_projects" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1912", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_render_run_wizard", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1859", - "weight": 1.0, - "source": "ui_mount_rationale_1859", - "target": "ui_mount_equipment_ids", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1879", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1879", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1874", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1874", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1867", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1867", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1865", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1865", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1830", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1830", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1822", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1822", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1789", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1789", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1690", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1690", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1671", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1671", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1725", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1725", - "target": "ui_mount_equipment_ids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1889", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_run_creation", - "target": "ui_mount_await_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1867", - "weight": 1.0, - "source": "ui_mount_rationale_1867", - "target": "ui_mount_await_session", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1887", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1887", - "target": "ui_mount_await_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1882", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1882", - "target": "ui_mount_await_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1875", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1875", - "target": "ui_mount_await_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1873", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1873", - "target": "ui_mount_await_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1838", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1838", - "target": "ui_mount_await_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1830", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1830", - "target": "ui_mount_await_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1797", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1797", - "target": "ui_mount_await_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1698", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1698", - "target": "ui_mount_await_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1679", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1679", - "target": "ui_mount_await_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1733", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1733", - "target": "ui_mount_await_session" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1788", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_consume_session_progress", - "target": "ui_mount_close_dialog" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1888", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_run_creation", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1886", - "weight": 1.0, - "source": "ui_mount_rationale_1886", - "target": "ui_mount_consume_session_progress", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1906", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1906", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1901", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1901", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1894", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1894", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1892", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1892", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1857", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1857", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1849", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1849", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1816", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1816", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1717", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1717", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1698", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1698", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1752", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1752", - "target": "ui_mount_consume_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1929", - "weight": 1.0, - "source": "ui_mount_rationale_1929", - "target": "ui_mount_close_dialog", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1949", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1949", - "target": "ui_mount_close_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1944", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1944", - "target": "ui_mount_close_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1937", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1937", - "target": "ui_mount_close_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1935", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1935", - "target": "ui_mount_close_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1900", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1900", - "target": "ui_mount_close_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1892", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1892", - "target": "ui_mount_close_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1859", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1859", - "target": "ui_mount_close_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1760", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1760", - "target": "ui_mount_close_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1741", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1741", - "target": "ui_mount_close_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1795", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1795", - "target": "ui_mount_close_dialog" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1806", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_submit_project", - "target": "ui_mount_show_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1830", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_submit_project", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1937", - "weight": 1.0, - "source": "ui_mount_rationale_1937", - "target": "ui_mount_submit_project", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1816", - "weight": 1.0, - "source": "ui_mount_submit_project", - "target": "controller_creation_projectcreaterequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1957", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1957", - "target": "ui_mount_submit_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1952", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1952", - "target": "ui_mount_submit_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1945", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1945", - "target": "ui_mount_submit_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1943", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1943", - "target": "ui_mount_submit_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1908", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1908", - "target": "ui_mount_submit_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1900", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1900", - "target": "ui_mount_submit_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1867", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1867", - "target": "ui_mount_submit_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1768", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1768", - "target": "ui_mount_submit_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1749", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1749", - "target": "ui_mount_submit_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1803", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1803", - "target": "ui_mount_submit_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1839", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_submit_run", - "target": "ui_mount_show_toast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1863", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_submit_run", - "target": "ui_mount_run_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1914", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_render_run_wizard", - "target": "ui_mount_submit_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1970", - "weight": 1.0, - "source": "ui_mount_rationale_1970", - "target": "ui_mount_submit_run", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1852", - "weight": 1.0, - "source": "ui_mount_submit_run", - "target": "controller_creation_runcreaterequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1990", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1990", - "target": "ui_mount_submit_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1985", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1985", - "target": "ui_mount_submit_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1978", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1978", - "target": "ui_mount_submit_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1976", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1976", - "target": "ui_mount_submit_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1941", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1941", - "target": "ui_mount_submit_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1933", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1933", - "target": "ui_mount_submit_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1900", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1900", - "target": "ui_mount_submit_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1801", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1801", - "target": "ui_mount_submit_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1782", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1782", - "target": "ui_mount_submit_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1836", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1836", - "target": "ui_mount_submit_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1892", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_run_creation", - "target": "ui_mount_show_toast" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2011", - "weight": 1.0, - "source": "ui_mount_rationale_2011", - "target": "ui_mount_run_creation", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2031", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_2031", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2026", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_2026", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2019", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_2019", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2017", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_2017", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1982", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1982", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1974", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1974", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1941", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1941", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1842", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1842", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1823", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1823", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1877", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1877", - "target": "ui_mount_run_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2054", - "weight": 1.0, - "source": "ui_mount_rationale_2054", - "target": "ui_mount_safe_audit", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2074", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_2074", - "target": "ui_mount_safe_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2069", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_2069", - "target": "ui_mount_safe_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2062", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_2062", - "target": "ui_mount_safe_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2060", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_2060", - "target": "ui_mount_safe_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2025", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_2025", - "target": "ui_mount_safe_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L2017", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_2017", - "target": "ui_mount_safe_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1984", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1984", - "target": "ui_mount_safe_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1885", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1885", - "target": "ui_mount_safe_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1866", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1866", - "target": "ui_mount_safe_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1920", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1920", - "target": "ui_mount_safe_audit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_bulk_clear_verified", - "target": "ui_mount_show_toast" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_keyboard_py", - "target": "ui_keyboard_shortcut" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_keyboard_py", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_keyboard_py", - "target": "ui_keyboard_shortcutbinding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_keyboard_py", - "target": "ui_keyboard_shortcutregistry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_keyboard_py", - "target": "ui_keyboard_list_bindings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_keyboard_py", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_keyboard_py", - "target": "ui_keyboard_is_macos" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_keyboard_py", - "target": "ui_keyboard_combo_for_current_os" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_keyboard_py", - "target": "ui_keyboard_resolve" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_keyboard_py", - "target": "ui_keyboard_bind_global_shortcuts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_1", - "target": "src_exlab_wizard_ui_keyboard_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_25", - "target": "ui_keyboard_shortcut" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_keycombo", - "target": "ui_keyboard_keycombo_matches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_40", - "target": "ui_keyboard_keycombo" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_resolve", - "target": "ui_keyboard_keycombo_matches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_49", - "target": "ui_keyboard_keycombo_matches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_62", - "target": "ui_keyboard_shortcutbinding" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_shortcutregistry", - "target": "ui_keyboard_shortcutregistry_register" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_shortcutregistry", - "target": "ui_keyboard_shortcutregistry_dispatch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_131", - "target": "ui_keyboard_shortcutregistry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_141", - "target": "ui_keyboard_shortcutregistry_register" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_155", - "target": "ui_keyboard_shortcutregistry_dispatch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_176", - "target": "ui_keyboard_list_bindings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_combo_for_current_os", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_182", - "target": "ui_keyboard_get_binding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_combo_for_current_os", - "target": "ui_keyboard_is_macos" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_resolve", - "target": "ui_keyboard_is_macos" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_195", - "target": "ui_keyboard_is_macos" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_201", - "target": "ui_keyboard_combo_for_current_os" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_215", - "target": "ui_keyboard_resolve" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/keyboard.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_keyboard_rationale_225", - "target": "ui_keyboard_bind_global_shortcuts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_file_list_py", - "target": "components_file_list_filelistentry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_file_list_py", - "target": "components_file_list_fileliststate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_file_list_py", - "target": "components_file_list_filelistdiff" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_file_list_py", - "target": "components_file_list_diff_file_lists" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_file_list_py", - "target": "components_file_list_row_background" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_file_list_py", - "target": "components_file_list_render_file_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_file_list_py", - "target": "components_file_list_render_header" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_file_list_py", - "target": "components_file_list_render_row" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_1", - "target": "src_exlab_wizard_ui_components_file_list_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L40", - "weight": 1.0, - "source": "components_file_list_rationale_40", - "target": "components_file_list_filelistentry", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "components_file_list_filelistentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "components_file_list_filelistentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_39", - "target": "components_file_list_filelistentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L60", - "weight": 1.0, - "source": "components_file_list_rationale_60", - "target": "components_file_list_fileliststate", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L432", - "weight": 0.8, - "confidence_score": 0.5, - "source": "pages_main_mainpagestate", - "target": "components_file_list_fileliststate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L446", - "weight": 1.0, - "source": "pages_main_render_centre_file_list", - "target": "components_file_list_fileliststate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_59", - "target": "components_file_list_fileliststate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_diff_file_lists", - "target": "components_file_list_filelistdiff" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L73", - "weight": 1.0, - "source": "components_file_list_rationale_73", - "target": "components_file_list_filelistdiff", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_72", - "target": "components_file_list_filelistdiff" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_69", - "target": "components_file_list_filelistdiff" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L84", - "weight": 1.0, - "source": "components_file_list_rationale_84", - "target": "components_file_list_diff_file_lists", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_83", - "target": "components_file_list_diff_file_lists" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_80", - "target": "components_file_list_diff_file_lists" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L258", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_render_row", - "target": "components_file_list_row_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L123", - "weight": 1.0, - "source": "components_file_list_rationale_123", - "target": "components_file_list_row_background", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_122", - "target": "components_file_list_row_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_119", - "target": "components_file_list_row_background" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_render_file_list", - "target": "components_file_list_render_header" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_render_file_list", - "target": "components_file_list_render_row" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L180", - "weight": 1.0, - "source": "components_file_list_rationale_180", - "target": "components_file_list_render_file_list", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L450", - "weight": 1.0, - "source": "pages_main_render_centre_file_list", - "target": "components_file_list_render_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_179", - "target": "components_file_list_render_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_173", - "target": "components_file_list_render_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_172", - "target": "components_file_list_render_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_169", - "target": "components_file_list_render_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_118", - "target": "components_file_list_render_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L224", - "weight": 1.0, - "source": "components_file_list_rationale_224", - "target": "components_file_list_render_header", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_221", - "target": "components_file_list_render_header" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_215", - "target": "components_file_list_render_header" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_212", - "target": "components_file_list_render_header" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_210", - "target": "components_file_list_render_header" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_207", - "target": "components_file_list_render_header" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_file_list_rationale_156", - "target": "components_file_list_render_header" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L192", - "weight": 1.0, - "source": "components_file_list_render_row", - "target": "pages_staging_format_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/components/file_list.py", - "source_location": "L293", - "weight": 1.0, - "source": "components_file_list_render_row", - "target": "components_sync_status_icon_sync_status_icon" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_test_connection_panel_py", - "target": "components_test_connection_panel_testconnectionresult" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_test_connection_panel_py", - "target": "components_test_connection_panel_panel_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_test_connection_panel_py", - "target": "components_test_connection_panel_test_connection_panel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_test_connection_panel_rationale_1", - "target": "src_exlab_wizard_ui_components_test_connection_panel_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_test_connection_panel_rationale_30", - "target": "components_test_connection_panel_testconnectionresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_test_connection_panel_test_connection_panel", - "target": "components_test_connection_panel_panel_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_test_connection_panel_rationale_39", - "target": "components_test_connection_panel_panel_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_connection_panel.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_test_connection_panel_rationale_74", - "target": "components_test_connection_panel_test_connection_panel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_override_badge_py", - "target": "components_override_badge_override_badge_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_override_badge_py", - "target": "components_override_badge_override_badge" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_override_badge_rationale_1", - "target": "src_exlab_wizard_ui_components_override_badge_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_override_badge_override_badge", - "target": "components_override_badge_override_badge_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_override_badge_rationale_21", - "target": "components_override_badge_override_badge_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/override_badge.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_override_badge_rationale_39", - "target": "components_override_badge_override_badge" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_treefilters" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_equipmentnode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_projectnode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_runnode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_treenode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_matches_search" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_filter_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_filter_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_build_nodes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_sync_icon_url" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L251", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_to_nicegui_nodes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_ctx_emit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_tree_header_slot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L363", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_py", - "target": "components_tree_build_tree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_1", - "target": "src_exlab_wizard_ui_components_tree_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_build_tree", - "target": "components_tree_treefilters" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_72", - "target": "components_tree_treefilters" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_treefilters", - "target": "constants_enums_runkind" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_treefilters", - "target": "constants_enums_runsyncstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_treefilters", - "target": "constants_enums_treeprojectstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L25", - "weight": 0.8, - "confidence_score": 0.5, - "source": "pages_main_mainpagestate", - "target": "components_tree_treefilters" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L88", - "weight": 1.0, - "source": "pages_main_chip_state_to_tree_filters", - "target": "components_tree_treefilters" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_equipmentnode", - "target": "constants_enums_runkind" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_equipmentnode", - "target": "constants_enums_runsyncstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_equipmentnode", - "target": "constants_enums_treeprojectstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_projectnode", - "target": "constants_enums_runkind" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_projectnode", - "target": "constants_enums_runsyncstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_projectnode", - "target": "constants_enums_treeprojectstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_runnode", - "target": "constants_enums_runkind" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_runnode", - "target": "constants_enums_runsyncstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_runnode", - "target": "constants_enums_treeprojectstatus" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_build_nodes", - "target": "components_tree_treenode" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_106", - "target": "components_tree_treenode" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_treenode", - "target": "constants_enums_runkind" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_treenode", - "target": "constants_enums_runsyncstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_tree_treenode", - "target": "constants_enums_treeprojectstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L27", - "weight": 0.8, - "source": "pages_main_mainpagestate", - "target": "components_tree_treenode", - "confidence_score": 0.5 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_build_nodes", - "target": "components_tree_matches_search" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_118", - "target": "components_tree_matches_search" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_build_nodes", - "target": "components_tree_filter_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_126", - "target": "components_tree_filter_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_build_nodes", - "target": "components_tree_filter_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_140", - "target": "components_tree_filter_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L392", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_build_tree", - "target": "components_tree_build_nodes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_153", - "target": "components_tree_build_nodes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L373", - "weight": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "components_tree_build_nodes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L274", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_to_nicegui_nodes", - "target": "components_tree_sync_icon_url" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_236", - "target": "components_tree_sync_icon_url" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_build_tree", - "target": "components_tree_to_nicegui_nodes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_252", - "target": "components_tree_to_nicegui_nodes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_tree_header_slot", - "target": "components_tree_ctx_emit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L306", - "weight": 1.0, - "source": "components_tree_rationale_306", - "target": "components_tree_ctx_emit", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L298", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_298", - "target": "components_tree_ctx_emit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L433", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_build_tree", - "target": "components_tree_tree_header_slot" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L382", - "weight": 1.0, - "source": "components_tree_rationale_382", - "target": "components_tree_build_tree", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L267", - "weight": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "components_tree_build_tree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree.py", - "source_location": "L372", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_rationale_372", - "target": "components_tree_build_tree" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/breadcrumb.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_breadcrumb_py", - "target": "components_breadcrumb_breadcrumbsegment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/breadcrumb.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_breadcrumb_py", - "target": "components_breadcrumb_segments_from_node_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/breadcrumb.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_breadcrumb_py", - "target": "components_breadcrumb_render_breadcrumb" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/breadcrumb.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_breadcrumb_rationale_1", - "target": "src_exlab_wizard_ui_components_breadcrumb_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/breadcrumb.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_breadcrumb_segments_from_node_id", - "target": "components_breadcrumb_breadcrumbsegment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/breadcrumb.py", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_breadcrumb_rationale_16", - "target": "components_breadcrumb_breadcrumbsegment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/breadcrumb.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_breadcrumb_render_breadcrumb", - "target": "components_breadcrumb_segments_from_node_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/breadcrumb.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_breadcrumb_rationale_24", - "target": "components_breadcrumb_segments_from_node_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/breadcrumb.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_breadcrumb_rationale_45", - "target": "components_breadcrumb_render_breadcrumb" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L233", - "weight": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "components_breadcrumb_render_breadcrumb" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_run_badge.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_test_run_badge_py", - "target": "components_test_run_badge_test_run_badge_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_run_badge.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_test_run_badge_py", - "target": "components_test_run_badge_test_run_badge" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_run_badge.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_test_run_badge_rationale_1", - "target": "src_exlab_wizard_ui_components_test_run_badge_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_run_badge.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_test_run_badge_test_run_badge", - "target": "components_test_run_badge_test_run_badge_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_run_badge.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_test_run_badge_rationale_20", - "target": "components_test_run_badge_test_run_badge_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/test_run_badge.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_test_run_badge_rationale_31", - "target": "components_test_run_badge_test_run_badge" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_selected_file_card_title" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_kv" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_kv_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_render_selected_file_card" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_render_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_render_received_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_render_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_render_runs_folder" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_render_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_metadata_pane_py", - "target": "components_metadata_pane_render_received_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_rationale_1", - "target": "src_exlab_wizard_ui_components_metadata_pane_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L38", - "weight": 1.0, - "source": "components_metadata_pane_rationale_38", - "target": "components_metadata_pane_metadatapanestate", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L460", - "weight": 0.8, - "confidence_score": 0.5, - "source": "pages_main_mainpagestate", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L477", - "weight": 1.0, - "source": "pages_main_render_right_pane", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_rationale_37", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_rationale_30", - "target": "components_metadata_pane_metadatapanestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_selected_file_card", - "target": "components_metadata_pane_selected_file_card_title" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L52", - "weight": 1.0, - "source": "components_metadata_pane_rationale_52", - "target": "components_metadata_pane_selected_file_card_title", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_rationale_51", - "target": "components_metadata_pane_selected_file_card_title" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_metadata_pane", - "target": "components_metadata_pane_render_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_metadata_pane", - "target": "components_metadata_pane_render_received_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_metadata_pane", - "target": "components_metadata_pane_render_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_metadata_pane", - "target": "components_metadata_pane_render_runs_folder" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_metadata_pane", - "target": "components_metadata_pane_render_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_metadata_pane", - "target": "components_metadata_pane_render_received_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_metadata_pane", - "target": "components_metadata_pane_render_selected_file_card" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L68", - "weight": 1.0, - "source": "components_metadata_pane_rationale_68", - "target": "components_metadata_pane_render_metadata_pane", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L482", - "weight": 1.0, - "source": "pages_main_render_right_pane", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_rationale_67", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_rationale_43", - "target": "components_metadata_pane_render_metadata_pane" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_selected_file_card", - "target": "components_metadata_pane_kv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_equipment", - "target": "components_metadata_pane_kv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_received_equipment", - "target": "components_metadata_pane_kv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_project", - "target": "components_metadata_pane_kv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_runs_folder", - "target": "components_metadata_pane_kv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_run", - "target": "components_metadata_pane_kv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_received_run", - "target": "components_metadata_pane_kv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_render_selected_file_card", - "target": "components_metadata_pane_kv_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L133", - "weight": 1.0, - "source": "components_metadata_pane_rationale_133", - "target": "components_metadata_pane_kv_sync", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L136", - "weight": 1.0, - "source": "components_metadata_pane_kv_sync", - "target": "components_sync_status_icon_sync_status_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_rationale_130", - "target": "components_metadata_pane_kv_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_rationale_124", - "target": "components_metadata_pane_kv_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L151", - "weight": 1.0, - "source": "components_metadata_pane_rationale_151", - "target": "components_metadata_pane_render_selected_file_card", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_rationale_148", - "target": "components_metadata_pane_render_selected_file_card" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/metadata_pane.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_metadata_pane_rationale_142", - "target": "components_metadata_pane_render_selected_file_card" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_travelling_badge_py", - "target": "components_travelling_badge_badgeprops" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_travelling_badge_py", - "target": "components_travelling_badge_findinglocation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_travelling_badge_py", - "target": "components_travelling_badge_travelling_badges" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_travelling_badge_py", - "target": "components_travelling_badge_shallowest_collapsed_ancestor" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_travelling_badge_rationale_1", - "target": "src_exlab_wizard_ui_components_travelling_badge_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_travelling_badge_travelling_badges", - "target": "components_travelling_badge_badgeprops" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_travelling_badge_rationale_27", - "target": "components_travelling_badge_badgeprops" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_travelling_badge_badgeprops", - "target": "constants_enums_tier" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_travelling_badge_rationale_35", - "target": "components_travelling_badge_findinglocation" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L20", - "weight": 0.8, - "confidence_score": 0.5, - "source": "components_travelling_badge_findinglocation", - "target": "constants_enums_tier" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_travelling_badge_travelling_badges", - "target": "components_travelling_badge_shallowest_collapsed_ancestor" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_travelling_badge_rationale_50", - "target": "components_travelling_badge_travelling_badges" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/travelling_badge.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_travelling_badge_rationale_85", - "target": "components_travelling_badge_shallowest_collapsed_ancestor" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", - "target": "components_bandwidth_schedule_editor_schedulewindow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", - "target": "components_bandwidth_schedule_editor_bandwidthschedule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", - "target": "components_bandwidth_schedule_editor_validate_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", - "target": "components_bandwidth_schedule_editor_find_overlaps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", - "target": "components_bandwidth_schedule_editor_schedule_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_bandwidth_schedule_editor_py", - "target": "components_bandwidth_schedule_editor_bandwidth_schedule_editor" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_rationale_1", - "target": "src_exlab_wizard_ui_components_bandwidth_schedule_editor_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_rationale_32", - "target": "components_bandwidth_schedule_editor_schedulewindow" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_rationale_42", - "target": "components_bandwidth_schedule_editor_bandwidthschedule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_schedule_props", - "target": "components_bandwidth_schedule_editor_validate_window" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", - "target": "components_bandwidth_schedule_editor_validate_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_rationale_50", - "target": "components_bandwidth_schedule_editor_validate_window" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_schedule_props", - "target": "components_bandwidth_schedule_editor_find_overlaps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_rationale_64", - "target": "components_bandwidth_schedule_editor_find_overlaps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_bandwidth_schedule_editor", - "target": "components_bandwidth_schedule_editor_schedule_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_rationale_82", - "target": "components_bandwidth_schedule_editor_schedule_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/bandwidth_schedule_editor.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_bandwidth_schedule_editor_rationale_102", - "target": "components_bandwidth_schedule_editor_bandwidth_schedule_editor" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/input_required_dialog.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_input_required_dialog_py", - "target": "components_input_required_dialog_field_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/input_required_dialog.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_input_required_dialog_py", - "target": "components_input_required_dialog_collect_default_values" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/input_required_dialog.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_input_required_dialog_py", - "target": "components_input_required_dialog_input_required_dialog" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/input_required_dialog.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_input_required_dialog_rationale_1", - "target": "src_exlab_wizard_ui_components_input_required_dialog_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/input_required_dialog.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_input_required_dialog_collect_default_values", - "target": "components_input_required_dialog_field_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/input_required_dialog.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_input_required_dialog_input_required_dialog", - "target": "components_input_required_dialog_field_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/input_required_dialog.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_input_required_dialog_rationale_24", - "target": "components_input_required_dialog_field_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/input_required_dialog.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_input_required_dialog_input_required_dialog", - "target": "components_input_required_dialog_collect_default_values" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/input_required_dialog.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_input_required_dialog_rationale_30", - "target": "components_input_required_dialog_collect_default_values" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/input_required_dialog.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_input_required_dialog_rationale_58", - "target": "components_input_required_dialog_input_required_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L32", - "weight": 1.0, - "source": "src_exlab_wizard_ui_components_status_bar_segment_py", - "target": "components_status_bar_segment_footersegmentstates", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L46", - "weight": 1.0, - "source": "src_exlab_wizard_ui_components_status_bar_segment_py", - "target": "components_status_bar_segment_derive_footer_segment_states", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_status_bar_segment_py", - "target": "components_status_bar_segment_segmentspec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_status_bar_segment_py", - "target": "components_status_bar_segment_segment_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_status_bar_segment_py", - "target": "components_status_bar_segment_status_bar_segment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_status_bar_segment_rationale_1", - "target": "src_exlab_wizard_ui_components_status_bar_segment_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L69", - "weight": 1.0, - "source": "components_status_bar_segment_derive_footer_segment_states", - "target": "components_status_bar_segment_footersegmentstates", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L33", - "weight": 1.0, - "source": "components_status_bar_segment_rationale_33", - "target": "components_status_bar_segment_footersegmentstates", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L52", - "weight": 1.0, - "source": "components_status_bar_segment_rationale_52", - "target": "components_status_bar_segment_derive_footer_segment_states", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_status_bar_segment_segment_spec", - "target": "components_status_bar_segment_segmentspec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L78", - "weight": 1.0, - "source": "components_status_bar_segment_rationale_78", - "target": "components_status_bar_segment_segmentspec", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_status_bar_segment_rationale_33", - "target": "components_status_bar_segment_segmentspec" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_status_bar_segment_status_bar_segment", - "target": "components_status_bar_segment_segment_spec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L91", - "weight": 1.0, - "source": "components_status_bar_segment_rationale_91", - "target": "components_status_bar_segment_segment_spec", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_status_bar_segment_rationale_46", - "target": "components_status_bar_segment_segment_spec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L115", - "weight": 1.0, - "source": "components_status_bar_segment_rationale_115", - "target": "components_status_bar_segment_status_bar_segment", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/status_bar_segment.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_status_bar_segment_rationale_70", - "target": "components_status_bar_segment_status_bar_segment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L118", - "weight": 1.0, - "source": "src_exlab_wizard_ui_components_sync_status_icon_py", - "target": "components_sync_status_icon_sync_legend_entries", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_sync_status_icon_py", - "target": "components_sync_status_icon_sync_status_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_sync_status_icon_py", - "target": "components_sync_status_icon_sync_status_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_sync_status_icon_rationale_1", - "target": "src_exlab_wizard_ui_components_sync_status_icon_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L119", - "weight": 1.0, - "source": "components_sync_status_icon_rationale_119", - "target": "components_sync_status_icon_sync_legend_entries", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L610", - "weight": 1.0, - "source": "pages_main_render_sync_legend", - "target": "components_sync_status_icon_sync_legend_entries" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_sync_status_icon_sync_status_icon", - "target": "components_sync_status_icon_sync_status_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L138", - "weight": 1.0, - "source": "components_sync_status_icon_rationale_138", - "target": "components_sync_status_icon_sync_status_props", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_sync_status_icon_rationale_125", - "target": "components_sync_status_icon_sync_status_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_sync_status_icon_rationale_113", - "target": "components_sync_status_icon_sync_status_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L177", - "weight": 1.0, - "source": "components_sync_status_icon_rationale_177", - "target": "components_sync_status_icon_sync_status_icon", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_sync_status_icon_rationale_164", - "target": "components_sync_status_icon_sync_status_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_sync_status_icon_rationale_162", - "target": "components_sync_status_icon_sync_status_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_sync_status_icon_rationale_161", - "target": "components_sync_status_icon_sync_status_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_status_icon.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_sync_status_icon_rationale_140", - "target": "components_sync_status_icon_sync_status_icon" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_framed_pane_py", - "target": "components_framed_pane_card_style" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_framed_pane_py", - "target": "components_framed_pane_header_style" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_framed_pane_py", - "target": "components_framed_pane_body_style" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_framed_pane_py", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_framed_pane_rationale_1", - "target": "src_exlab_wizard_ui_components_framed_pane_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_framed_pane_rationale_69", - "target": "components_framed_pane_card_style" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L380", - "weight": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "components_framed_pane_card_style" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_framed_pane_rationale_66", - "target": "components_framed_pane_card_style" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_framed_pane_rationale_78", - "target": "components_framed_pane_header_style" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_framed_pane_rationale_75", - "target": "components_framed_pane_header_style" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_framed_pane_rationale_83", - "target": "components_framed_pane_body_style" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_framed_pane_rationale_80", - "target": "components_framed_pane_body_style" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L97", - "weight": 1.0, - "source": "components_framed_pane_rationale_97", - "target": "components_framed_pane_framed_pane", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L268", - "weight": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_framed_pane_rationale_96", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_framed_pane_rationale_92", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/framed_pane.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_framed_pane_rationale_86", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L52", - "weight": 1.0, - "source": "ui_test_framed_pane_test_framed_pane_yields_none_without_nicegui", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L57", - "weight": 1.0, - "source": "ui_test_framed_pane_test_framed_pane_with_count_yields_none_without_nicegui", - "target": "components_framed_pane_framed_pane" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree_context_menu.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_context_menu_py", - "target": "components_tree_context_menu_render_equipment_context_menu" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree_context_menu.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_tree_context_menu_py", - "target": "components_tree_context_menu_render_run_context_menu" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree_context_menu.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_context_menu_rationale_1", - "target": "src_exlab_wizard_ui_components_tree_context_menu_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree_context_menu.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_context_menu_rationale_55", - "target": "components_tree_context_menu_render_equipment_context_menu" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/tree_context_menu.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_tree_context_menu_rationale_84", - "target": "components_tree_context_menu_render_run_context_menu" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_init_rationale_1", - "target": "src_exlab_wizard_ui_components_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_operations_modal_py", - "target": "components_operations_modal_operationrow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_operations_modal_py", - "target": "components_operations_modal_from_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_operations_modal_py", - "target": "components_operations_modal_operation_columns" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_operations_modal_py", - "target": "components_operations_modal_sort_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_operations_modal_py", - "target": "components_operations_modal_state_glyph" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_operations_modal_py", - "target": "components_operations_modal_operations_modal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_operations_modal_rationale_1", - "target": "src_exlab_wizard_ui_components_operations_modal_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_operations_modal_rationale_35", - "target": "components_operations_modal_operationrow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L72", - "weight": 1.0, - "source": "components_operations_modal_from_session", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L74", - "weight": 1.0, - "source": "components_operations_modal_from_session", - "target": "controller_session_store_project_identifier" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_operations_modal_operations_modal", - "target": "components_operations_modal_operation_columns" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_operations_modal_rationale_81", - "target": "components_operations_modal_operation_columns" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_operations_modal_operations_modal", - "target": "components_operations_modal_sort_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_operations_modal_rationale_94", - "target": "components_operations_modal_sort_rows" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_operations_modal_operations_modal", - "target": "components_operations_modal_state_glyph" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_operations_modal_rationale_108", - "target": "components_operations_modal_state_glyph" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/operations_modal.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_operations_modal_rationale_120", - "target": "components_operations_modal_operations_modal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_credential_field_py", - "target": "components_credential_field_credentialstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_credential_field_py", - "target": "components_credential_field_begin_edit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_credential_field_py", - "target": "components_credential_field_cancel_edit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_credential_field_py", - "target": "components_credential_field_commit_edit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_credential_field_py", - "target": "components_credential_field_clear_credential" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_credential_field_py", - "target": "components_credential_field_credential_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_credential_field_py", - "target": "components_credential_field_credential_field" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_rationale_1", - "target": "src_exlab_wizard_ui_components_credential_field_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_begin_edit", - "target": "components_credential_field_credentialstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_cancel_edit", - "target": "components_credential_field_credentialstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_commit_edit", - "target": "components_credential_field_credentialstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_clear_credential", - "target": "components_credential_field_credentialstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_credential_field", - "target": "components_credential_field_credentialstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_rationale_29", - "target": "components_credential_field_credentialstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_rationale_42", - "target": "components_credential_field_begin_edit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_rationale_55", - "target": "components_credential_field_cancel_edit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_rationale_61", - "target": "components_credential_field_commit_edit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_rationale_75", - "target": "components_credential_field_clear_credential" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_credential_field", - "target": "components_credential_field_credential_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_rationale_82", - "target": "components_credential_field_credential_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/credential_field.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_credential_field_rationale_121", - "target": "components_credential_field_credential_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_session_progress_py", - "target": "components_session_progress_phaserow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_session_progress_py", - "target": "components_session_progress_compute_phase_rows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_session_progress_py", - "target": "components_session_progress_session_progress" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_session_progress_py", - "target": "components_session_progress_sessionprogressstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_session_progress_py", - "target": "components_session_progress_apply_frame" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_session_progress_rationale_1", - "target": "src_exlab_wizard_ui_components_session_progress_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_session_progress_compute_phase_rows", - "target": "components_session_progress_phaserow" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_session_progress_rationale_47", - "target": "components_session_progress_phaserow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_session_progress_session_progress", - "target": "components_session_progress_compute_phase_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_session_progress_rationale_61", - "target": "components_session_progress_compute_phase_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_session_progress_rationale_101", - "target": "components_session_progress_session_progress" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_session_progress_rationale_172", - "target": "components_session_progress_sessionprogressstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/session_progress.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_session_progress_rationale_187", - "target": "components_session_progress_apply_frame" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_validation_summary_py", - "target": "components_validation_summary_findingexcerpt" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_validation_summary_py", - "target": "components_validation_summary_validationsummary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_validation_summary_py", - "target": "components_validation_summary_header_line" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_validation_summary_py", - "target": "components_validation_summary_excerpt_line" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_validation_summary_py", - "target": "components_validation_summary_overflow_line" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_validation_summary_py", - "target": "components_validation_summary_override_line" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_validation_summary_py", - "target": "components_validation_summary_validation_summary" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_rationale_1", - "target": "src_exlab_wizard_ui_components_validation_summary_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_rationale_24", - "target": "components_validation_summary_findingexcerpt" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_rationale_32", - "target": "components_validation_summary_validationsummary" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_validation_summary", - "target": "components_validation_summary_header_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_rationale_44", - "target": "components_validation_summary_header_line" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_validation_summary", - "target": "components_validation_summary_excerpt_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_rationale_62", - "target": "components_validation_summary_excerpt_line" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_validation_summary", - "target": "components_validation_summary_overflow_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_rationale_68", - "target": "components_validation_summary_overflow_line" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_validation_summary", - "target": "components_validation_summary_override_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_rationale_83", - "target": "components_validation_summary_override_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/validation_summary.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_validation_summary_rationale_94", - "target": "components_validation_summary_validation_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_rollup.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_sync_rollup_py", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_rollup.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_sync_rollup_rationale_1", - "target": "src_exlab_wizard_ui_components_sync_rollup_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/sync_rollup.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_sync_rollup_rationale_40", - "target": "components_sync_rollup_sync_rollup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/mode_badge.py", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_mode_badge_py", - "target": "components_mode_badge_mode_badge_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/mode_badge.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_mode_badge_py", - "target": "components_mode_badge_mode_badge" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/mode_badge.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_mode_badge_rationale_1", - "target": "src_exlab_wizard_ui_components_mode_badge_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/mode_badge.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_mode_badge_mode_badge", - "target": "components_mode_badge_mode_badge_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/mode_badge.py", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_mode_badge_rationale_18", - "target": "components_mode_badge_mode_badge_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/mode_badge.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_mode_badge_rationale_53", - "target": "components_mode_badge_mode_badge" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_filter_chips_py", - "target": "components_filter_chips_chipdefinition" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_filter_chips_py", - "target": "components_filter_chips_chipstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_filter_chips_py", - "target": "components_filter_chips_initial_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_filter_chips_py", - "target": "components_filter_chips_toggle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_filter_chips_py", - "target": "components_filter_chips_is_active" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_filter_chips_py", - "target": "components_filter_chips_list_active" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_filter_chips_py", - "target": "components_filter_chips_filter_chips" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_rationale_1", - "target": "src_exlab_wizard_ui_components_filter_chips_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_rationale_24", - "target": "components_filter_chips_chipdefinition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_initial_state", - "target": "components_filter_chips_chipstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_toggle", - "target": "components_filter_chips_chipstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_rationale_33", - "target": "components_filter_chips_chipstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_filter_chips", - "target": "components_filter_chips_initial_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_rationale_39", - "target": "components_filter_chips_initial_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_rationale_45", - "target": "components_filter_chips_toggle" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_filter_chips", - "target": "components_filter_chips_is_active" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_rationale_52", - "target": "components_filter_chips_is_active" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_rationale_58", - "target": "components_filter_chips_list_active" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/filter_chips.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_filter_chips_rationale_69", - "target": "components_filter_chips_filter_chips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/empty_state.py", - "source_location": "L21", - "weight": 1.0, - "source": "src_exlab_wizard_ui_components_empty_state_py", - "target": "components_empty_state_empty_state", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/empty_state.py", - "source_location": "L1", - "weight": 1.0, - "source": "components_empty_state_rationale_1", - "target": "src_exlab_wizard_ui_components_empty_state_py", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/empty_state.py", - "source_location": "L22", - "weight": 1.0, - "source": "components_empty_state_rationale_22", - "target": "components_empty_state_empty_state", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/banner_stack.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_banner_stack_py", - "target": "components_banner_stack_banner_stack_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/banner_stack.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_banner_stack_py", - "target": "components_banner_stack_color_for_severity" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/banner_stack.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_components_banner_stack_py", - "target": "components_banner_stack_banner_stack" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/banner_stack.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_banner_stack_rationale_1", - "target": "src_exlab_wizard_ui_components_banner_stack_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/banner_stack.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_banner_stack_banner_stack", - "target": "components_banner_stack_banner_stack_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/banner_stack.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_banner_stack_rationale_26", - "target": "components_banner_stack_banner_stack_props" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/banner_stack.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_banner_stack_banner_stack", - "target": "components_banner_stack_color_for_severity" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/banner_stack.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_banner_stack_rationale_39", - "target": "components_banner_stack_color_for_severity" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/components/banner_stack.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "components_banner_stack_rationale_51", - "target": "components_banner_stack_banner_stack" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_run_py", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_run_py", - "target": "pages_wizard_run_title_text" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_run_py", - "target": "pages_wizard_run_primary_button_label" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_run_py", - "target": "pages_wizard_run_primary_button_color" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_run_py", - "target": "pages_wizard_run_preview_path_segments" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_run_py", - "target": "pages_wizard_run_can_advance" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_run_py", - "target": "pages_wizard_run_render_run_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_run_py", - "target": "pages_wizard_run_render_run_step_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L347", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_run_py", - "target": "pages_wizard_run_step_helper_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_rationale_1", - "target": "src_exlab_wizard_ui_pages_wizard_run_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_rationale_56", - "target": "pages_wizard_run_runwizardstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "pages_wizard_run_runwizardstate", - "target": "pages_templates_templatequestion" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_render_run_wizard", - "target": "pages_wizard_run_title_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_rationale_76", - "target": "pages_wizard_run_title_text" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_render_run_wizard", - "target": "pages_wizard_run_primary_button_label" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_step_helper_text", - "target": "pages_wizard_run_primary_button_label" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_rationale_84", - "target": "pages_wizard_run_primary_button_label" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_render_run_wizard", - "target": "pages_wizard_run_primary_button_color" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_rationale_90", - "target": "pages_wizard_run_primary_button_color" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_rationale_96", - "target": "pages_wizard_run_preview_path_segments" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_rationale_123", - "target": "pages_wizard_run_can_advance" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_render_run_wizard", - "target": "pages_wizard_run_step_helper_text" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_render_run_wizard", - "target": "pages_wizard_run_render_run_step_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_rationale_151", - "target": "pages_wizard_run_render_run_wizard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_rationale_302", - "target": "pages_wizard_run_render_run_step_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_run.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_run_rationale_348", - "target": "pages_wizard_run_step_helper_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_init_rationale_1", - "target": "src_exlab_wizard_ui_pages_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_templates_py", - "target": "pages_templates_templatesummary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_templates_py", - "target": "pages_templates_templatequestion" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_templates_py", - "target": "pages_templates_template_questions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_templates_py", - "target": "pages_templates_list_templates" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_templates_py", - "target": "pages_templates_create_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_templates_py", - "target": "pages_templates_render_question_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_templates_py", - "target": "pages_templates_render_template_manager" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_templates_rationale_1", - "target": "src_exlab_wizard_ui_pages_templates_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_templates_list_templates", - "target": "pages_templates_templatesummary" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_templates_rationale_50", - "target": "pages_templates_templatesummary" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_templates_template_questions", - "target": "pages_templates_templatequestion" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_templates_rationale_67", - "target": "pages_templates_templatequestion" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "pages_wizard_project_projectwizardstate", - "target": "pages_templates_templatequestion" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_templates_rationale_96", - "target": "pages_templates_template_questions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_templates_rationale_150", - "target": "pages_templates_list_templates" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_templates_rationale_199", - "target": "pages_templates_create_template" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L250", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_templates_rationale_250", - "target": "pages_templates_render_question_field" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/templates.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_templates_rationale_302", - "target": "pages_templates_render_template_manager" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_problems_py", - "target": "pages_problems_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_problems_py", - "target": "pages_problems_problemspagestate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_problems_py", - "target": "pages_problems_severity_chip_definitions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_problems_py", - "target": "pages_problems_class_chip_definitions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_problems_py", - "target": "pages_problems_state_chip_definitions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_problems_py", - "target": "pages_problems_filter_findings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_problems_py", - "target": "pages_problems_empty_state_text" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_problems_py", - "target": "pages_problems_validate_override_reason" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_problems_py", - "target": "pages_problems_near_limit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_problems_py", - "target": "pages_problems_render_problems_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_1", - "target": "src_exlab_wizard_ui_pages_problems_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_40", - "target": "pages_problems_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_render_problems_page", - "target": "pages_problems_problemspagestate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_55", - "target": "pages_problems_problemspagestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_render_problems_page", - "target": "pages_problems_severity_chip_definitions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_71", - "target": "pages_problems_severity_chip_definitions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_render_problems_page", - "target": "pages_problems_class_chip_definitions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_80", - "target": "pages_problems_class_chip_definitions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_render_problems_page", - "target": "pages_problems_state_chip_definitions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_89", - "target": "pages_problems_state_chip_definitions" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_render_problems_page", - "target": "pages_problems_filter_findings" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_109", - "target": "pages_problems_filter_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_render_problems_page", - "target": "pages_problems_empty_state_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_132", - "target": "pages_problems_empty_state_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_145", - "target": "pages_problems_validate_override_reason" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_160", - "target": "pages_problems_near_limit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/problems.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_problems_rationale_175", - "target": "pages_problems_render_problems_page" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_equipment_py", - "target": "pages_wizard_equipment_equipmentwizardstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_equipment_py", - "target": "pages_wizard_equipment_can_advance" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_equipment_py", - "target": "pages_wizard_equipment_assemble_equipment_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_equipment_py", - "target": "pages_wizard_equipment_render_wizard_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L253", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_equipment_py", - "target": "pages_wizard_equipment_maybe_confirm" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_equipment_py", - "target": "pages_wizard_equipment_render_identity_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_equipment_py", - "target": "pages_wizard_equipment_render_paths_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_equipment_py", - "target": "pages_wizard_equipment_render_sync_mode_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_equipment_py", - "target": "pages_wizard_equipment_render_review_step" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_rationale_1", - "target": "src_exlab_wizard_ui_pages_wizard_equipment_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_render_wizard_equipment", - "target": "pages_wizard_equipment_equipmentwizardstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L58", - "weight": 1.0, - "source": "pages_wizard_equipment_rationale_58", - "target": "pages_wizard_equipment_equipmentwizardstate", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L25", - "weight": 0.8, - "confidence_score": 0.5, - "source": "pages_wizard_equipment_equipmentwizardstate", - "target": "config_models_equipmentconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_rationale_52", - "target": "pages_wizard_equipment_equipmentwizardstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_rationale_50", - "target": "pages_wizard_equipment_equipmentwizardstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L79", - "weight": 1.0, - "source": "pages_wizard_equipment_rationale_79", - "target": "pages_wizard_equipment_can_advance", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_rationale_73", - "target": "pages_wizard_equipment_can_advance" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_rationale_85", - "target": "pages_wizard_equipment_can_advance" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_maybe_confirm", - "target": "pages_wizard_equipment_assemble_equipment_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L107", - "weight": 1.0, - "source": "pages_wizard_equipment_rationale_107", - "target": "pages_wizard_equipment_assemble_equipment_config", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_rationale_101", - "target": "pages_wizard_equipment_assemble_equipment_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_rationale_122", - "target": "pages_wizard_equipment_assemble_equipment_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L127", - "weight": 1.0, - "source": "pages_wizard_equipment_rationale_127", - "target": "pages_wizard_equipment_render_wizard_equipment", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_rationale_121", - "target": "pages_wizard_equipment_render_wizard_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_equipment.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_equipment_rationale_155", - "target": "pages_wizard_equipment_render_wizard_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_nas_mode_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_settings_sections_for" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_settingsstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_first_incomplete_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_save_button_label" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_section_has_warning" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_section_is_dirty" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_finalize_settings_draft" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_lims_credential_initial_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_render_settings_page" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_render_chip_editor" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_render_section_body" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L712", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_render_equipment_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L768", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_render_nas_remote_section" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_1", - "target": "src_exlab_wizard_ui_pages_settings_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_password_requiring_nas_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L839", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_settings_py", - "target": "pages_settings_render_nas_credentials_section" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_settings_sections_for", - "target": "pages_settings_nas_mode_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L62", - "weight": 1.0, - "source": "pages_settings_rationale_62", - "target": "pages_settings_nas_mode_equipment", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_63", - "target": "pages_settings_nas_mode_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_settings_page", - "target": "pages_settings_settings_sections_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L77", - "weight": 1.0, - "source": "pages_settings_rationale_77", - "target": "pages_settings_settings_sections_for", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_78", - "target": "pages_settings_settings_sections_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_settings_sections_for", - "target": "pages_settings_password_requiring_nas_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_79", - "target": "pages_settings_settings_sections_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_settings_page", - "target": "pages_settings_settingsstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L96", - "weight": 1.0, - "source": "pages_settings_rationale_96", - "target": "pages_settings_settingsstate", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L15", - "weight": 0.8, - "confidence_score": 0.5, - "source": "pages_settings_settingsstate", - "target": "config_models_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_97", - "target": "pages_settings_settingsstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_99", - "target": "pages_settings_settingsstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_settings_page", - "target": "pages_settings_first_incomplete_section" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L105", - "weight": 1.0, - "source": "pages_settings_rationale_105", - "target": "pages_settings_first_incomplete_section", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_106", - "target": "pages_settings_first_incomplete_section" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_108", - "target": "pages_settings_first_incomplete_section" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_settings_page", - "target": "pages_settings_save_button_label" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L125", - "weight": 1.0, - "source": "pages_settings_rationale_125", - "target": "pages_settings_save_button_label", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_126", - "target": "pages_settings_save_button_label" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_129", - "target": "pages_settings_save_button_label" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_settings_page", - "target": "pages_settings_section_has_warning" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L135", - "weight": 1.0, - "source": "pages_settings_rationale_135", - "target": "pages_settings_section_has_warning", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_136", - "target": "pages_settings_section_has_warning" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_139", - "target": "pages_settings_section_has_warning" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_settings_page", - "target": "pages_settings_section_is_dirty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L141", - "weight": 1.0, - "source": "pages_settings_rationale_141", - "target": "pages_settings_section_is_dirty", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_142", - "target": "pages_settings_section_is_dirty" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_145", - "target": "pages_settings_section_is_dirty" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L257", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_settings_page", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L147", - "weight": 1.0, - "source": "pages_settings_rationale_147", - "target": "pages_settings_build_settings_draft", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_148", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_151", - "target": "pages_settings_build_settings_draft" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L158", - "weight": 1.0, - "source": "pages_settings_rationale_158", - "target": "pages_settings_finalize_settings_draft", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_159", - "target": "pages_settings_finalize_settings_draft" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_162", - "target": "pages_settings_finalize_settings_draft" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L543", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_section_body", - "target": "pages_settings_lims_credential_initial_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L176", - "weight": 1.0, - "source": "pages_settings_rationale_176", - "target": "pages_settings_lims_credential_initial_state", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_177", - "target": "pages_settings_lims_credential_initial_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L890", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_nas_credentials_section", - "target": "pages_settings_lims_credential_initial_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_180", - "target": "pages_settings_lims_credential_initial_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L343", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_settings_page", - "target": "pages_settings_render_section_body" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L205", - "weight": 1.0, - "source": "pages_settings_rationale_205", - "target": "pages_settings_render_settings_page", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_206", - "target": "pages_settings_render_settings_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_211", - "target": "pages_settings_render_settings_page" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L584", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_section_body", - "target": "pages_settings_render_chip_editor" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L394", - "weight": 1.0, - "source": "pages_settings_rationale_394", - "target": "pages_settings_render_chip_editor", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_395", - "target": "pages_settings_render_chip_editor" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_401", - "target": "pages_settings_render_chip_editor" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L554", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_section_body", - "target": "pages_settings_render_equipment_section" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L548", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_section_body", - "target": "pages_settings_render_nas_remote_section" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L483", - "weight": 1.0, - "source": "pages_settings_rationale_483", - "target": "pages_settings_render_section_body", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L484", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_484", - "target": "pages_settings_render_section_body" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L556", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_section_body", - "target": "pages_settings_render_nas_credentials_section" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L492", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_492", - "target": "pages_settings_render_section_body" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L700", - "weight": 1.0, - "source": "pages_settings_rationale_700", - "target": "pages_settings_render_equipment_section", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L705", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_705", - "target": "pages_settings_render_equipment_section" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L713", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_713", - "target": "pages_settings_render_equipment_section" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L770", - "weight": 1.0, - "source": "pages_settings_rationale_770", - "target": "pages_settings_render_nas_remote_section", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L791", - "weight": 1.0, - "source": "pages_settings_render_nas_remote_section", - "target": "api_dependencies_nas_remote_available" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L775", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_775", - "target": "pages_settings_render_nas_remote_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/welcome.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_welcome_py", - "target": "pages_welcome_welcomecardspec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/welcome.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_welcome_py", - "target": "pages_welcome_welcome_card_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/welcome.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_welcome_py", - "target": "pages_welcome_render_welcome_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/welcome.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_welcome_rationale_1", - "target": "src_exlab_wizard_ui_pages_welcome_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/welcome.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_welcome_welcome_card_spec", - "target": "pages_welcome_welcomecardspec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/welcome.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_welcome_rationale_41", - "target": "pages_welcome_welcomecardspec" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/welcome.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_welcome_render_welcome_page", - "target": "pages_welcome_welcome_card_spec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/welcome.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_welcome_rationale_54", - "target": "pages_welcome_welcome_card_spec" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/welcome.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_welcome_rationale_73", - "target": "pages_welcome_render_welcome_page" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_mainpagestate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_default_chips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_chip_state_to_tree_filters" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L117", - "weight": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_count_search_results", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L138", - "weight": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_density_card_class", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_problems_badge_text" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_setup_incomplete_banner_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_render_file_explorer_page" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L584", - "weight": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_render_sync_legend", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L421", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L453", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_main_py", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_1", - "target": "src_exlab_wizard_ui_pages_main_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "pages_main_mainpagestate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L35", - "weight": 1.0, - "source": "pages_main_rationale_35", - "target": "pages_main_mainpagestate", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "pages_main_mainpagestate", - "target": "pages_staging_stagingdockstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_34", - "target": "pages_main_mainpagestate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_33", - "target": "pages_main_mainpagestate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "pages_main_default_chips" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L97", - "weight": 1.0, - "source": "pages_main_rationale_97", - "target": "pages_main_default_chips", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_89", - "target": "pages_main_default_chips" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_77", - "target": "pages_main_default_chips" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_76", - "target": "pages_main_default_chips" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "pages_main_chip_state_to_tree_filters" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L107", - "weight": 1.0, - "source": "pages_main_rationale_107", - "target": "pages_main_chip_state_to_tree_filters", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_99", - "target": "pages_main_chip_state_to_tree_filters" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_87", - "target": "pages_main_chip_state_to_tree_filters" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_86", - "target": "pages_main_chip_state_to_tree_filters" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L372", - "weight": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "pages_main_count_search_results", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L118", - "weight": 1.0, - "source": "pages_main_rationale_118", - "target": "pages_main_count_search_results", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L446", - "weight": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "pages_main_density_card_class", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L139", - "weight": 1.0, - "source": "pages_main_rationale_139", - "target": "pages_main_density_card_class", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L473", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_render_right_pane", - "target": "pages_main_problems_badge_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L151", - "weight": 1.0, - "source": "pages_main_rationale_151", - "target": "pages_main_problems_badge_text", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_110", - "target": "pages_main_problems_badge_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_98", - "target": "pages_main_problems_badge_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_97", - "target": "pages_main_problems_badge_text" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "pages_main_setup_incomplete_banner_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L163", - "weight": 1.0, - "source": "pages_main_rationale_163", - "target": "pages_main_setup_incomplete_banner_props", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_122", - "target": "pages_main_setup_incomplete_banner_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_110", - "target": "pages_main_setup_incomplete_banner_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_109", - "target": "pages_main_setup_incomplete_banner_props" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L299", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L369", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_render_file_explorer_page", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L214", - "weight": 1.0, - "source": "pages_main_rationale_214", - "target": "pages_main_render_file_explorer_page", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_172", - "target": "pages_main_render_file_explorer_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_170", - "target": "pages_main_render_file_explorer_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_158", - "target": "pages_main_render_file_explorer_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_157", - "target": "pages_main_render_file_explorer_page" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L585", - "weight": 1.0, - "source": "pages_main_rationale_585", - "target": "pages_main_render_sync_legend", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L631", - "weight": 1.0, - "source": "pages_main_rationale_631", - "target": "pages_main_render_centre_file_list", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_493", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L491", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_491", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_479", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L475", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_475", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L483", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_483", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_489", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L490", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_490", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L485", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_485", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L484", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_484", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L463", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_463", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L462", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_462", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L460", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_460", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_448", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L446", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_446", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L440", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_440", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L434", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_434", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L428", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_428", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L427", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_427", - "target": "pages_main_render_centre_file_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L671", - "weight": 1.0, - "source": "pages_main_rationale_671", - "target": "pages_main_render_right_pane", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L532", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_532", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L530", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_530", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L518", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_518", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L514", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_514", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L522", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_522", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L528", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_528", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L529", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_529", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L524", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_524", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L523", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_523", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L502", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_502", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_494", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L492", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_492", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L480", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_480", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L478", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_478", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_472", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_466", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L460", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_460", - "target": "pages_main_render_right_pane" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/main.py", - "source_location": "L459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_main_rationale_459", - "target": "pages_main_render_right_pane" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_staging_py", - "target": "pages_staging_stagingdockstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_staging_py", - "target": "pages_staging_format_bytes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_staging_py", - "target": "pages_staging_format_elapsed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_staging_py", - "target": "pages_staging_state_pill_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_staging_py", - "target": "pages_staging_row_props" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_staging_py", - "target": "pages_staging_run_label" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_staging_py", - "target": "pages_staging_render_staging_dock" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_staging_py", - "target": "pages_staging_invoke" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_rationale_1", - "target": "src_exlab_wizard_ui_pages_staging_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_rationale_87", - "target": "pages_staging_stagingdockstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "pages_staging_stagingdockstate", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_row_props", - "target": "pages_staging_format_bytes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_rationale_107", - "target": "pages_staging_format_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_row_props", - "target": "pages_staging_format_elapsed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_rationale_127", - "target": "pages_staging_format_elapsed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_row_props", - "target": "pages_staging_state_pill_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_rationale_143", - "target": "pages_staging_state_pill_props" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_row_props", - "target": "pages_staging_run_label" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_render_staging_dock", - "target": "pages_staging_row_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_rationale_159", - "target": "pages_staging_row_props" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_rationale_178", - "target": "pages_staging_run_label" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_render_staging_dock", - "target": "pages_staging_invoke" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_rationale_190", - "target": "pages_staging_render_staging_dock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/staging.py", - "source_location": "L310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_staging_rationale_310", - "target": "pages_staging_invoke" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_project_py", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_project_py", - "target": "pages_wizard_project_can_advance" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_project_py", - "target": "pages_wizard_project_preview_step_clear" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_project_py", - "target": "pages_wizard_project_disk_space_pre_flight_message" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_project_py", - "target": "pages_wizard_project_render_project_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_project_py", - "target": "pages_wizard_project_render_project_step_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_pages_wizard_project_py", - "target": "pages_wizard_project_step_helper_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_rationale_1", - "target": "src_exlab_wizard_ui_pages_wizard_project_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_render_project_wizard", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_rationale_62", - "target": "pages_wizard_project_projectwizardstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_can_advance", - "target": "pages_wizard_project_preview_step_clear" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_render_project_wizard", - "target": "pages_wizard_project_can_advance" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_rationale_85", - "target": "pages_wizard_project_can_advance" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_rationale_112", - "target": "pages_wizard_project_preview_step_clear" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_rationale_122", - "target": "pages_wizard_project_disk_space_pre_flight_message" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_render_project_wizard", - "target": "pages_wizard_project_step_helper_text" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_render_project_wizard", - "target": "pages_wizard_project_render_project_step_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_rationale_141", - "target": "pages_wizard_project_render_project_wizard" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_rationale_294", - "target": "pages_wizard_project_render_project_step_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/wizard_project.py", - "source_location": "L397", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_wizard_project_rationale_397", - "target": "pages_wizard_project_step_helper_text" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/refresh_coordinator.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_client_refresh_coordinator_py", - "target": "client_refresh_coordinator_refreshcoordinator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/refresh_coordinator.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_refresh_coordinator_rationale_1", - "target": "src_exlab_wizard_ui_client_refresh_coordinator_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/refresh_coordinator.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_refresh_coordinator_refreshcoordinator", - "target": "client_refresh_coordinator_refreshcoordinator_record_tree_refresh" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/refresh_coordinator.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_refresh_coordinator_refreshcoordinator", - "target": "client_refresh_coordinator_refreshcoordinator_record_folder_refresh" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/refresh_coordinator.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_refresh_coordinator_refreshcoordinator", - "target": "client_refresh_coordinator_refreshcoordinator_should_skip_folder" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/refresh_coordinator.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_refresh_coordinator_refreshcoordinator", - "target": "client_refresh_coordinator_refreshcoordinator_should_skip_tree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/refresh_coordinator.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_refresh_coordinator_rationale_22", - "target": "client_refresh_coordinator_refreshcoordinator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/refresh_coordinator.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_refresh_coordinator_rationale_34", - "target": "client_refresh_coordinator_refreshcoordinator_should_skip_folder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/refresh_coordinator.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_refresh_coordinator_rationale_38", - "target": "client_refresh_coordinator_refreshcoordinator_should_skip_tree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_init_rationale_1", - "target": "src_exlab_wizard_ui_client_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_client_folder_feed_py", - "target": "client_folder_feed_folderfeedstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_client_folder_feed_py", - "target": "client_folder_feed_folderfeed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_ui_client_folder_feed_py", - "target": "client_folder_feed_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_rationale_1", - "target": "src_exlab_wizard_ui_client_folder_feed_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_folderfeed_init", - "target": "client_folder_feed_folderfeedstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_rationale_26", - "target": "client_folder_feed_folderfeedstate" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_folderfeed", - "target": "client_folder_feed_folderfeed_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_folderfeed", - "target": "client_folder_feed_folderfeed_start" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_folderfeed", - "target": "client_folder_feed_folderfeed_stop" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_folderfeed", - "target": "client_folder_feed_folderfeed_pause" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_folderfeed", - "target": "client_folder_feed_folderfeed_resume" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_folderfeed", - "target": "client_folder_feed_folderfeed_loop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_rationale_34", - "target": "client_folder_feed_folderfeed" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_folderfeed_start", - "target": "client_folder_feed_folderfeed_stop" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_folderfeed_start", - "target": "client_folder_feed_folderfeed_loop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_rationale_54", - "target": "client_folder_feed_folderfeed_start" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_rationale_75", - "target": "client_folder_feed_folderfeed_pause" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/client/folder_feed.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "client_folder_feed_rationale_79", - "target": "client_folder_feed_folderfeed_resume" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_keyring_store_py", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L258", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_keyring_store_py", - "target": "lims_keyring_store_decode_envelope" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_rationale_1", - "target": "src_exlab_wizard_lims_keyring_store_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_is_keyring_available" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_get_password" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_set_password" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_delete_password" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_fallback_get" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_fallback_set" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_fallback_delete" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_passphrase" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_derive_key" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_load_fallback" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L230", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_save_fallback" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore", - "target": "lims_keyring_store_keyringstore_existing_salt" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_rationale_63", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L573", - "weight": 1.0, - "source": "tray_dependencies_build_keyring_store", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L198", - "weight": 1.0, - "source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L221", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L261", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", - "target": "lims_keyring_store_keyringstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_is_keyring_available", - "target": "lims_keyring_store_keyringstore_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_is_keyring_available", - "target": "lims_keyring_store_keyringstore_delete_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_rationale_92", - "target": "lims_keyring_store_keyringstore_is_keyring_available" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_get_password", - "target": "lims_keyring_store_keyringstore_fallback_get" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_rationale_110", - "target": "lims_keyring_store_keyringstore_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_set_password", - "target": "lims_keyring_store_keyringstore_fallback_set" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_rationale_131", - "target": "lims_keyring_store_keyringstore_set_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_delete_password", - "target": "lims_keyring_store_keyringstore_fallback_delete" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_rationale_145", - "target": "lims_keyring_store_keyringstore_delete_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_fallback_get", - "target": "lims_keyring_store_keyringstore_load_fallback" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_fallback_set", - "target": "lims_keyring_store_keyringstore_load_fallback" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_fallback_set", - "target": "lims_keyring_store_keyringstore_save_fallback" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_fallback_delete", - "target": "lims_keyring_store_keyringstore_load_fallback" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_fallback_delete", - "target": "lims_keyring_store_keyringstore_save_fallback" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_load_fallback", - "target": "lims_keyring_store_keyringstore_passphrase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_save_fallback", - "target": "lims_keyring_store_keyringstore_passphrase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_load_fallback", - "target": "lims_keyring_store_keyringstore_derive_key" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_save_fallback", - "target": "lims_keyring_store_keyringstore_derive_key" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_load_fallback", - "target": "lims_keyring_store_decode_envelope" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_save_fallback", - "target": "lims_keyring_store_keyringstore_existing_salt" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L242", - "weight": 1.0, - "source": "lims_keyring_store_keyringstore_save_fallback", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/keyring_store.py", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_keyring_store_keyringstore_existing_salt", - "target": "lims_keyring_store_decode_envelope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_client_py", - "target": "lims_client_limsclient" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_client_py", - "target": "lims_client_endpoint" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_client_py", - "target": "lims_client_email" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_client_py", - "target": "lims_client_project_from_row" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_rationale_1", - "target": "src_exlab_wizard_lims_client_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient", - "target": "lims_client_limsclient_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient", - "target": "lims_client_limsclient_login" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient", - "target": "lims_client_limsclient_list_projects" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient", - "target": "lims_client_limsclient_get_project" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient", - "target": "lims_client_limsclient_get_me" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient", - "target": "lims_client_limsclient_health_check" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient", - "target": "lims_client_limsclient_close" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient", - "target": "lims_client_limsclient_get_json" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient", - "target": "lims_client_limsclient_request_with_relogin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_rationale_43", - "target": "lims_client_limsclient" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L28", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_client_limsclient", - "target": "lims_schemas_healthstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L28", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_client_limsclient", - "target": "lims_schemas_limsproject" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L28", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_client_limsclient", - "target": "lims_schemas_limsuser" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L617", - "weight": 1.0, - "source": "tray_dependencies_build_lims_client", - "target": "lims_client_limsclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient_request_with_relogin", - "target": "lims_client_limsclient_login" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_rationale_81", - "target": "lims_client_limsclient_login" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient_list_projects", - "target": "lims_client_limsclient_get_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient_list_projects", - "target": "lims_client_project_from_row" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_rationale_106", - "target": "lims_client_limsclient_list_projects" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient_get_project", - "target": "lims_client_limsclient_request_with_relogin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient_get_project", - "target": "lims_client_project_from_row" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_rationale_126", - "target": "lims_client_limsclient_get_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient_get_me", - "target": "lims_client_limsclient_get_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_rationale_140", - "target": "lims_client_limsclient_get_me" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient_health_check", - "target": "lims_client_limsclient_request_with_relogin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_rationale_145", - "target": "lims_client_limsclient_health_check" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L157", - "weight": 1.0, - "source": "lims_client_limsclient_health_check", - "target": "lims_schemas_healthstatus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_rationale_168", - "target": "lims_client_limsclient_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_limsclient_get_json", - "target": "lims_client_limsclient_request_with_relogin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_client_rationale_181", - "target": "lims_client_limsclient_request_with_relogin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L196", - "weight": 1.0, - "source": "lims_client_project_from_row", - "target": "lims_schemas_limsproject" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/client.py", - "source_location": "L205", - "weight": 1.0, - "source": "lims_client_project_from_row", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_cache_py", - "target": "lims_cache_limscache" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_cache_py", - "target": "lims_cache_row_to_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_rationale_1", - "target": "src_exlab_wizard_lims_cache_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache", - "target": "lims_cache_limscache_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache", - "target": "lims_cache_limscache_close" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache", - "target": "lims_cache_limscache_upsert_many" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache", - "target": "lims_cache_limscache_list_projects" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache", - "target": "lims_cache_limscache_get_project" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache", - "target": "lims_cache_limscache_is_fresh" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache", - "target": "lims_cache_limscache_require_conn" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_rationale_103", - "target": "lims_cache_limscache" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L35", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_cache_limscache", - "target": "lims_schemas_limsproject" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_rationale_116", - "target": "lims_cache_limscache_init" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_rationale_124", - "target": "lims_cache_limscache_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache_upsert_many", - "target": "lims_cache_limscache_require_conn" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_rationale_130", - "target": "lims_cache_limscache_upsert_many" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache_list_projects", - "target": "lims_cache_limscache_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache_list_projects", - "target": "lims_cache_row_to_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_rationale_159", - "target": "lims_cache_limscache_list_projects" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache_get_project", - "target": "lims_cache_limscache_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache_get_project", - "target": "lims_cache_row_to_project" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_rationale_172", - "target": "lims_cache_limscache_get_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_limscache_is_fresh", - "target": "lims_cache_limscache_require_conn" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_cache_rationale_181", - "target": "lims_cache_limscache_is_fresh" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L191", - "weight": 1.0, - "source": "lims_cache_limscache_is_fresh", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L195", - "weight": 1.0, - "source": "lims_cache_limscache_is_fresh", - "target": "utils_time_utc_now" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/cache.py", - "source_location": "L222", - "weight": 1.0, - "source": "lims_cache_row_to_project", - "target": "lims_schemas_limsproject" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_schemas_py", - "target": "lims_schemas_limsproject" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_schemas_py", - "target": "lims_schemas_limsuser" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_schemas_py", - "target": "lims_schemas_healthstatus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_schemas_rationale_1", - "target": "src_exlab_wizard_lims_schemas_py" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_schemas_limsproject", - "target": "struct" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_schemas_rationale_41", - "target": "lims_schemas_limsproject" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "lims_catalogue_offlinecatalogue", - "target": "lims_schemas_limsproject" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_schemas_limsuser", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_schema_filesyncrecord", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_schema_syncstatejson", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_phaseevent", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_progressevent", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_inputrequiredevent", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_warningevent", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_doneevent", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_failedevent", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_snapshotevent", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_deltaevent", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_limsprojectblock", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_templateblock", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_pluginisolation", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_pluginapplied", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_pathsblock", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_orchestratorblock", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_overrideentry", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_tombstoneentry", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_creationjson", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_readmefieldsjson", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_equipmentjson", - "target": "struct" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_testrunsjson", - "target": "struct" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_schemas_rationale_66", - "target": "lims_schemas_limsuser" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/schemas.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_schemas_rationale_80", - "target": "lims_schemas_healthstatus" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_catalogue_py", - "target": "lims_catalogue_offlinecatalogue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_catalogue_py", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_catalogue_py", - "target": "lims_catalogue_write_catalogue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_lims_catalogue_py", - "target": "lims_catalogue_project_to_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_catalogue_rationale_1", - "target": "src_exlab_wizard_lims_catalogue_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_catalogue_read_catalogue", - "target": "lims_catalogue_offlinecatalogue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_catalogue_rationale_52", - "target": "lims_catalogue_offlinecatalogue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_catalogue_rationale_73", - "target": "lims_catalogue_read_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L93", - "weight": 1.0, - "source": "lims_catalogue_read_catalogue", - "target": "io_json_files_read_msgspec_json_raw" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_catalogue_write_catalogue", - "target": "lims_catalogue_project_to_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_catalogue_rationale_136", - "target": "lims_catalogue_write_catalogue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L152", - "weight": 1.0, - "source": "lims_catalogue_write_catalogue", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/lims/catalogue.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "lims_catalogue_rationale_156", - "target": "lims_catalogue_project_to_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_findings_py", - "target": "validator_findings_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_findings_py", - "target": "validator_findings_from_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_findings_rationale_1", - "target": "src_exlab_wizard_validator_findings_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_findings_finding", - "target": "validator_findings_finding_to_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_findings_rationale_42", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L90", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_creationvalidationinput", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L90", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeequipment", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L90", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeproject", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L90", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeall", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L90", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_validator", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L117", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L117", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L117", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L117", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L117", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L117", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L117", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L117", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L64", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "validator_findings_finding" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L64", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "validator_findings_finding" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/findings.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_findings_rationale_91", - "target": "validator_findings_finding_to_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_scan_for_placeholders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_check_illegal_filesystem_character" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_scan_for_illegal_chars" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_check_reserved_filesystem_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L305", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_check_unsafe_project_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_check_mode_prefix_mismatch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L429", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_check_orphan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L465", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_check_missing_required_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L503", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_lookup_field_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L520", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_rules_py", - "target": "validator_rules_check_malformed_yaml_front_matter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_1", - "target": "src_exlab_wizard_validator_rules_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_check_unresolved_placeholder", - "target": "validator_rules_scan_for_placeholders" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_89", - "target": "validator_rules_check_unresolved_placeholder" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_127", - "target": "validator_rules_scan_for_placeholders" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_check_illegal_filesystem_character", - "target": "validator_rules_scan_for_illegal_chars" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_190", - "target": "validator_rules_check_illegal_filesystem_character" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_211", - "target": "validator_rules_scan_for_illegal_chars" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_270", - "target": "validator_rules_check_reserved_filesystem_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L306", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_306", - "target": "validator_rules_check_unsafe_project_name" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_345", - "target": "validator_rules_check_mode_prefix_mismatch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L430", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_430", - "target": "validator_rules_check_orphan" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_check_missing_required_field", - "target": "validator_rules_lookup_field_value" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L470", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_470", - "target": "validator_rules_check_missing_required_field" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L504", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_504", - "target": "validator_rules_lookup_field_value" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/rules.py", - "source_location": "L521", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_rules_rationale_521", - "target": "validator_rules_check_malformed_yaml_front_matter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_split_path_segments" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_auditscopeequipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_auditscopeproject" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_auditscopeall" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_validator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_materialise" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L428", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_from_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1041", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_extract_overrides_and_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1061", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_materialise_audit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_tier_rank" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_finding_sort_key" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_validator_engine_py", - "target": "validator_engine_level_for_orphan" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_1", - "target": "src_exlab_wizard_validator_engine_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_115", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_creationvalidationinput", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_creationvalidationinput", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L68", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_creationvalidationinput", - "target": "config_models_validatorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1149", - "weight": 1.0, - "source": "controller_creation_creationcontroller_post_validate", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L68", - "weight": 1.0, - "source": "sync_pre_sync_gate_is_eligible", - "target": "validator_engine_creationvalidationinput" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L333", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_validate_creation", - "target": "validator_engine_split_path_segments" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_163", - "target": "validator_engine_split_path_segments" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_auditscopeequipment", - "target": "typeddict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_194", - "target": "validator_engine_auditscopeequipment" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeequipment", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeequipment", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L68", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeequipment", - "target": "config_models_validatorconfig" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_auditscopeproject", - "target": "typeddict" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_auditscopeall", - "target": "typeddict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_207", - "target": "validator_engine_auditscopeproject" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeproject", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeproject", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L68", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeproject", - "target": "config_models_validatorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_218", - "target": "validator_engine_auditscopeall" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeall", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeall", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L68", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_auditscopeall", - "target": "config_models_validatorconfig" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L251", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_reconfigure" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L303", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_validate_creation" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L451", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_audit" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L482", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_query_problems" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_resolve_scope_roots" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L513", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_walk_root" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L532", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_walk_dir" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L602", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_classify_level" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L655", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_compute_run_path" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L697", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_apply_directory_rules" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L787", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_extend_findings" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L814", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_apply_missing_required_field_rule" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L862", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_apply_directory_name_rules" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L905", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_apply_file_rules" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L978", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_content_scan_eligible" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L996", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_read_text_for_scan" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1014", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator", - "target": "validator_engine_validator_read_creation_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_237", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_validator", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_validator", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L68", - "weight": 0.8, - "confidence_score": 0.5, - "source": "validator_engine_validator", - "target": "config_models_validatorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L116", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L58", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L63", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "validator_engine_validator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L47", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "validator_engine_validator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L258", - "weight": 1.0, - "source": "validator_engine_validator_init", - "target": "config_models_validatorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_282", - "target": "validator_engine_validator_reconfigure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L291", - "weight": 1.0, - "source": "validator_engine_validator_reconfigure", - "target": "config_models_validatorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L384", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_validate_creation", - "target": "validator_engine_materialise" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_304", - "target": "validator_engine_validator_validate_creation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_audit", - "target": "validator_engine_validator_resolve_scope_roots" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_audit", - "target": "validator_engine_validator_walk_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L490", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_query_problems", - "target": "validator_engine_validator_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L452", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_452", - "target": "validator_engine_validator_audit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L483", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_483", - "target": "validator_engine_validator_query_problems" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L495", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_495", - "target": "validator_engine_validator_resolve_scope_roots" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_walk_root", - "target": "validator_engine_validator_walk_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L514", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_514", - "target": "validator_engine_validator_walk_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L554", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_walk_dir", - "target": "validator_engine_validator_classify_level" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L555", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_walk_dir", - "target": "validator_engine_validator_read_creation_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L556", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_walk_dir", - "target": "validator_engine_validator_compute_run_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L559", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_walk_dir", - "target": "validator_engine_validator_apply_directory_rules" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L581", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_walk_dir", - "target": "validator_engine_validator_apply_file_rules" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L589", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_walk_dir", - "target": "validator_engine_validator_apply_directory_name_rules" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L539", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_539", - "target": "validator_engine_validator_walk_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_607", - "target": "validator_engine_validator_classify_level" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L661", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_661", - "target": "validator_engine_validator_compute_run_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L722", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_directory_rules", - "target": "validator_engine_extract_overrides_and_sync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L725", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_directory_rules", - "target": "validator_engine_level_for_orphan" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L727", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_directory_rules", - "target": "validator_engine_validator_extend_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L755", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_directory_rules", - "target": "validator_engine_validator_apply_missing_required_field_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L779", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_directory_rules", - "target": "validator_engine_validator_apply_directory_name_rules" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L707", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_707", - "target": "validator_engine_validator_apply_directory_rules" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L805", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_extend_findings", - "target": "validator_engine_materialise_audit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L850", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_missing_required_field_rule", - "target": "validator_engine_validator_extend_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L881", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_directory_name_rules", - "target": "validator_engine_validator_extend_findings" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L925", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_file_rules", - "target": "validator_engine_validator_extend_findings" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L797", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_797", - "target": "validator_engine_validator_extend_findings" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L824", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_824", - "target": "validator_engine_validator_apply_missing_required_field_rule" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L836", - "weight": 1.0, - "source": "validator_engine_validator_apply_missing_required_field_rule", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_directory_name_rules", - "target": "validator_engine_extract_overrides_and_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L871", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_871", - "target": "validator_engine_validator_apply_directory_name_rules" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L921", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_file_rules", - "target": "validator_engine_extract_overrides_and_sync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L958", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_file_rules", - "target": "validator_engine_validator_content_scan_eligible" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L960", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_validator_apply_file_rules", - "target": "validator_engine_validator_read_text_for_scan" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L914", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_914", - "target": "validator_engine_validator_apply_file_rules" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L979", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_979", - "target": "validator_engine_validator_content_scan_eligible" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L997", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_997", - "target": "validator_engine_validator_read_text_for_scan" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1017", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_1017", - "target": "validator_engine_validator_read_creation_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1029", - "weight": 1.0, - "source": "validator_engine_validator_read_creation_for", - "target": "io_json_files_read_msgspec_json_raw" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1054", - "weight": 1.0, - "source": "validator_engine_extract_overrides_and_sync", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_finding_sort_key", - "target": "validator_engine_tier_rank" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_1113", - "target": "validator_engine_tier_rank" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_1127", - "target": "validator_engine_finding_sort_key" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/validator/engine.py", - "source_location": "L1144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "validator_engine_rationale_1144", - "target": "validator_engine_level_for_orphan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_equipment_py", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_equipment_py", - "target": "cache_equipment_write_equipment_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_equipment_py", - "target": "cache_equipment_read_equipment_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_equipment_py", - "target": "cache_equipment_read_test_runs_marker_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_equipment_py", - "target": "cache_equipment_write_test_runs_marker_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_equipment_py", - "target": "cache_equipment_read_existing_first_seen_at" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_rationale_1", - "target": "src_exlab_wizard_cache_equipment_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_equipmentcachewriter", - "target": "cache_equipment_equipmentcachewriter_write_equipment" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_equipmentcachewriter", - "target": "cache_equipment_equipmentcachewriter_read_equipment" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_equipmentcachewriter", - "target": "cache_equipment_equipmentcachewriter_write_test_runs_marker" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_equipmentcachewriter", - "target": "cache_equipment_equipmentcachewriter_read_test_runs_marker" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_rationale_64", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L48", - "weight": 0.8, - "confidence_score": 0.5, - "source": "cache_equipment_equipmentcachewriter", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L48", - "weight": 0.8, - "confidence_score": 0.5, - "source": "cache_equipment_equipmentcachewriter", - "target": "api_schemas_testrunsjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L49", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "cache_equipment_equipmentcachewriter", - "confidence_score": 0.5 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L494", - "weight": 1.0, - "source": "tray_dependencies_build_equipment_writer", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L161", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_init", - "target": "cache_equipment_equipmentcachewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_rationale_74", - "target": "cache_equipment_equipmentcachewriter_write_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_rationale_92", - "target": "cache_equipment_equipmentcachewriter_read_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_rationale_107", - "target": "cache_equipment_equipmentcachewriter_write_test_runs_marker" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_write_equipment_sync", - "target": "cache_equipment_read_existing_first_seen_at" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L129", - "weight": 1.0, - "source": "cache_equipment_write_equipment_sync", - "target": "cache_init_lock_path_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L130", - "weight": 1.0, - "source": "cache_equipment_write_equipment_sync", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L148", - "weight": 1.0, - "source": "cache_equipment_write_equipment_sync", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L152", - "weight": 1.0, - "source": "cache_equipment_read_equipment_sync", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_rationale_155", - "target": "cache_equipment_equipmentcachewriter_read_test_runs_marker" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L164", - "weight": 1.0, - "source": "cache_equipment_read_test_runs_marker_sync", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L169", - "weight": 1.0, - "source": "cache_equipment_write_test_runs_marker_sync", - "target": "cache_init_lock_path_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L175", - "weight": 1.0, - "source": "cache_equipment_write_test_runs_marker_sync", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_equipment_rationale_184", - "target": "cache_equipment_read_existing_first_seen_at" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/equipment.py", - "source_location": "L196", - "weight": 1.0, - "source": "cache_equipment_read_existing_first_seen_at", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_sync_state_schema_py", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_sync_state_schema_py", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_schema_rationale_1", - "target": "src_exlab_wizard_cache_sync_state_schema_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_schema_rationale_24", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L33", - "weight": 0.8, - "confidence_score": 0.5, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_limsprojectblock", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_templateblock", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_pluginisolation", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_pluginapplied", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_pathsblock", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_orchestratorblock", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_overrideentry", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_tombstoneentry", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_creationjson", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_readmefieldsjson", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_equipmentjson", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_testrunsjson", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L229", - "weight": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L266", - "weight": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", - "target": "cache_sync_state_schema_filesyncrecord" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_schema.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_schema_rationale_60", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L33", - "weight": 0.8, - "confidence_score": 0.5, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_limsprojectblock", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_templateblock", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_pluginisolation", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_pluginapplied", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_pathsblock", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_orchestratorblock", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_overrideentry", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_tombstoneentry", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_creationjson", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_readmefieldsjson", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_equipmentjson", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_schemas_testrunsjson", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L71", - "weight": 1.0, - "source": "cache_sync_state_writer_empty_state", - "target": "cache_sync_state_schema_syncstatejson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_sync_state_writer_py", - "target": "cache_sync_state_writer_sync_state_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_sync_state_writer_py", - "target": "cache_sync_state_writer_ensure_cache_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_sync_state_writer_py", - "target": "cache_sync_state_writer_empty_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_sync_state_writer_py", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_sync_state_writer_py", - "target": "cache_sync_state_writer_rollup_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_sync_state_writer_py", - "target": "cache_sync_state_writer_decode_locked" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_sync_state_writer_py", - "target": "cache_sync_state_writer_with_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_1", - "target": "src_exlab_wizard_cache_sync_state_writer_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_read_blocking", - "target": "cache_sync_state_writer_sync_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", - "target": "cache_sync_state_writer_sync_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L262", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", - "target": "cache_sync_state_writer_sync_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", - "target": "cache_sync_state_writer_sync_state_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_53", - "target": "cache_sync_state_writer_sync_state_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", - "target": "cache_sync_state_writer_ensure_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", - "target": "cache_sync_state_writer_ensure_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", - "target": "cache_sync_state_writer_ensure_cache_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_58", - "target": "cache_sync_state_writer_ensure_cache_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_decode_locked", - "target": "cache_sync_state_writer_empty_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_70", - "target": "cache_sync_state_writer_empty_state" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_writer_syncstatewriter_read" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_writer_syncstatewriter_read_sync" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_writer_syncstatewriter_upsert_file" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_writer_syncstatewriter_set_keep_local" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_writer_syncstatewriter_mark_cleared" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_writer_syncstatewriter_mark_cleared_sync" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_writer_syncstatewriter_read_blocking" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L278", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter", - "target": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_75", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L681", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_runnode", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L681", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_projectnode", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L681", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_equipmentnode", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L681", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_relayequipmentnode", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L681", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_treeresponse", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L681", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_folderentry", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L681", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_folderresponse", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L681", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_rundetail", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L681", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_runlogentry", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L681", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_runlogresponse", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L283", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_stagedrunrow", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L283", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_staginglistresponse", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L283", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_forcesyncresponse", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L283", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_clearresponse", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L283", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_clearverifiedresponse", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L283", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_keeplocalrequest", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L283", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_keeplocalresponse", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_quiescence_poller_nassynclike", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_quiescence_poller_filesnapshot", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_staging_query_stagedrunsummary", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L812", - "weight": 1.0, - "source": "tray_dependencies_build_sync_state_writer", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L525", - "weight": 1.0, - "source": "routers_browse_read_sync_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L684", - "weight": 1.0, - "source": "routers_browse_run_rollup_status", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L295", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_init", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_clear.py", - "source_location": "L52", - "weight": 1.0, - "source": "orchestrator_staging_clear_clear_run_dir", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L107", - "weight": 1.0, - "source": "orchestrator_staging_query_list_staged_runs", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1085", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1036", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", - "target": "cache_sync_state_writer_syncstatewriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_83", - "target": "cache_sync_state_writer_syncstatewriter_read" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_read_sync", - "target": "cache_sync_state_writer_syncstatewriter_read_blocking" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_93", - "target": "cache_sync_state_writer_syncstatewriter_read_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_117", - "target": "cache_sync_state_writer_syncstatewriter_upsert_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_153", - "target": "cache_sync_state_writer_syncstatewriter_set_keep_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_162", - "target": "cache_sync_state_writer_syncstatewriter_mark_cleared" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_mark_cleared_sync", - "target": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_rationale_170", - "target": "cache_sync_state_writer_syncstatewriter_mark_cleared_sync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_read_blocking", - "target": "cache_sync_state_writer_decode_locked" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L204", - "weight": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_read_blocking", - "target": "cache_init_lock_path_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", - "target": "cache_sync_state_writer_decode_locked" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", - "target": "cache_sync_state_writer_decode_locked" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", - "target": "cache_sync_state_writer_decode_locked" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L215", - "weight": 1.0, - "source": "cache_sync_state_writer_decode_locked", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", - "target": "cache_sync_state_writer_with_file" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L227", - "weight": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", - "target": "cache_init_lock_path_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L247", - "weight": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_upsert_file_blocking", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", - "target": "cache_sync_state_writer_with_file" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L264", - "weight": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", - "target": "cache_init_lock_path_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L269", - "weight": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_set_keep_local_blocking", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L281", - "weight": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", - "target": "cache_init_lock_path_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L283", - "weight": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/sync_state_writer.py", - "source_location": "L284", - "weight": 1.0, - "source": "cache_sync_state_writer_syncstatewriter_mark_cleared_blocking", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/__init__.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_init_py", - "target": "cache_init_lock_path_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/__init__.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_init_rationale_15", - "target": "cache_init_lock_path_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L244", - "weight": 1.0, - "source": "cache_creation_writer_creationwriter_write_creation_sync", - "target": "cache_init_lock_path_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L253", - "weight": 1.0, - "source": "cache_creation_writer_creationwriter_update_creation_sync", - "target": "cache_init_lock_path_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L268", - "weight": 1.0, - "source": "cache_creation_writer_creationwriter_read_creation_sync", - "target": "cache_init_lock_path_for" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_log_writer_py", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_log_writer_py", - "target": "cache_log_writer_render_tags" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_log_writer_py", - "target": "cache_log_writer_truncate_if_needed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_log_writer_py", - "target": "cache_log_writer_append_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_log_writer_rationale_1", - "target": "src_exlab_wizard_cache_log_writer_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_log_writer_format_log_line", - "target": "cache_log_writer_render_tags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_log_writer_format_log_line", - "target": "cache_log_writer_truncate_if_needed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_log_writer_rationale_83", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L101", - "weight": 1.0, - "source": "cache_log_writer_format_log_line", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1242", - "weight": 1.0, - "source": "controller_creation_creationcontroller_append_log", - "target": "cache_log_writer_format_log_line" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_log_writer_rationale_123", - "target": "cache_log_writer_render_tags" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_log_writer_rationale_144", - "target": "cache_log_writer_truncate_if_needed" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/log_writer.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_log_writer_rationale_183", - "target": "cache_log_writer_append_log_line" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1248", - "weight": 1.0, - "source": "controller_creation_creationcontroller_append_log", - "target": "cache_log_writer_append_log_line" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_creation_writer_py", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_creation_writer_py", - "target": "cache_creation_writer_is_future" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_creation_writer_py", - "target": "cache_creation_writer_apply_migration_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_creation_writer_py", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L316", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_creation_writer_py", - "target": "cache_creation_writer_payload_to_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_cache_creation_writer_py", - "target": "cache_creation_writer_merge_unknown_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_1", - "target": "src_exlab_wizard_cache_creation_writer_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_select_active_overrides", - "target": "cache_creation_writer_is_future" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_74", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L79", - "weight": 1.0, - "source": "sync_pre_sync_gate_is_eligible", - "target": "cache_creation_writer_select_active_overrides" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_124", - "target": "cache_creation_writer_is_future" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L131", - "weight": 1.0, - "source": "cache_creation_writer_is_future", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter_update_creation_sync", - "target": "cache_creation_writer_apply_migration_defaults" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter_read_creation_sync", - "target": "cache_creation_writer_apply_migration_defaults" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_144", - "target": "cache_creation_writer_apply_migration_defaults" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter", - "target": "cache_creation_writer_creationwriter_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter", - "target": "cache_creation_writer_creationwriter_write_creation" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter", - "target": "cache_creation_writer_creationwriter_update_creation_atomic" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter", - "target": "cache_creation_writer_creationwriter_read_creation_snapshot" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter", - "target": "cache_creation_writer_creationwriter_write_creation_sync" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L248", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter", - "target": "cache_creation_writer_creationwriter_update_creation_sync" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter", - "target": "cache_creation_writer_creationwriter_read_creation_sync" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter", - "target": "cache_creation_writer_creationwriter_decode_raw" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L300", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter", - "target": "cache_creation_writer_creationwriter_encode_and_replace" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_189", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "cache_creation_writer_creationwriter", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L56", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L56", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L56", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L56", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L56", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L56", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L56", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L56", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L48", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "cache_creation_writer_creationwriter", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L25", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L25", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L25", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L488", - "weight": 1.0, - "source": "tray_dependencies_build_creation_writer", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L160", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_init", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L26", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L786", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L837", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1035", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L372", - "weight": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L444", - "weight": 1.0, - "source": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L503", - "weight": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", - "target": "cache_creation_writer_creationwriter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_192", - "target": "cache_creation_writer_creationwriter_init" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_205", - "target": "cache_creation_writer_creationwriter_write_creation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_219", - "target": "cache_creation_writer_creationwriter_update_creation_atomic" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_233", - "target": "cache_creation_writer_creationwriter_read_creation_snapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter_write_creation_sync", - "target": "cache_creation_writer_creationwriter_encode_and_replace" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter_write_creation_sync", - "target": "cache_creation_writer_payload_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter_update_creation_sync", - "target": "cache_creation_writer_creationwriter_decode_raw" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter_update_creation_sync", - "target": "cache_creation_writer_payload_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter_update_creation_sync", - "target": "cache_creation_writer_merge_unknown_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L264", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter_update_creation_sync", - "target": "cache_creation_writer_creationwriter_encode_and_replace" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_creationwriter_read_creation_sync", - "target": "cache_creation_writer_creationwriter_decode_raw" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_277", - "target": "cache_creation_writer_creationwriter_decode_raw" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L288", - "weight": 1.0, - "source": "cache_creation_writer_creationwriter_decode_raw", - "target": "io_json_files_read_msgspec_json_raw" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L294", - "weight": 1.0, - "source": "cache_creation_writer_creationwriter_decode_raw", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_301", - "target": "cache_creation_writer_creationwriter_encode_and_replace" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L308", - "weight": 1.0, - "source": "cache_creation_writer_creationwriter_encode_and_replace", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L317", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_317", - "target": "cache_creation_writer_payload_to_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/cache/creation_writer.py", - "source_location": "L328", - "weight": 1.0, - "confidence_score": 1.0, - "source": "cache_creation_writer_rationale_328", - "target": "cache_creation_writer_merge_unknown_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_parse_hhmm" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_pathsconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_limsconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_id_matches_question_id_grammar" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L298", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_serialize_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_choice_requires_non_empty_options" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_readmeconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_bandwidthwindow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_serialize_days" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_from_must_precede_to" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_upload_mbps_positive_or_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_rcloneperf" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_nasconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L307", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_equipmentconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_serialize_sync_mode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_validate_equipment_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L375", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_loggingconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_normalize_and_validate_level" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_operatorsconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_default_content_scan_extensions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L454", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_validatorconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_extensions_must_start_with_dot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_pluginsconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L492", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_default_ignore_globs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L496", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_syncconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L513", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L524", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_serialize_mode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L529", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L554", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L572", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_cross_field_invariants" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L592", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_config_with_equipment_appended" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_1", - "target": "src_exlab_wizard_config_models_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_transport_requires_keyring_password" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L288", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_orchestratorstagingtransport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_models_py", - "target": "config_models_sync_mode_dictates_transport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_from_must_precede_to", - "target": "config_models_parse_hhmm" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_70", - "target": "config_models_parse_hhmm" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_74", - "target": "config_models_parse_hhmm" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_94", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L42", - "weight": 1.0, - "source": "config_test_bootstrap_write_starter_test_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L293", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_main_trayapp", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L302", - "weight": 1.0, - "source": "tray_main_bootstrap_test_config", - "target": "config_models_pathsconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L58", - "weight": 1.0, - "source": "ui_test_settings_nas_credentials_config_with", - "target": "config_models_pathsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "config_models_pathsconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_98", - "target": "config_models_pathsconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_109", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_setupstatusresponse", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_limstestrequest", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_equipmenttestrequest", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_proberesult", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_autostartrequest", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_autostartresult", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "config_models_limsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "config_models_limsconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_113", - "target": "config_models_limsconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_125", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L51", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "config_models_readmedefaultfield", - "confidence_score": 0.5 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_129", - "target": "config_models_readmedefaultfield" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_166", - "target": "config_models_readmeconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L51", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "config_models_readmeconfig", - "confidence_score": 0.5 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L225", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_build_and_reload_config", - "target": "config_models_readmeconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_170", - "target": "config_models_readmeconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_179", - "target": "config_models_bandwidthwindow" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_183", - "target": "config_models_bandwidthwindow" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_202", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L146", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_sftp", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L167", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_smb", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L950", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L43", - "weight": 1.0, - "source": "transports_test_rclone_env_test_build_rclone_env_sftp_emits_all_keys", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L66", - "weight": 1.0, - "source": "transports_test_rclone_env_test_build_rclone_env_smb_minimal_omits_domain", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L90", - "weight": 1.0, - "source": "transports_test_rclone_env_test_build_rclone_env_smb_with_domain_includes_domain_key", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_test_rclone_env_keyring", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_test_rclone_env_brokenkeyring", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L138", - "weight": 1.0, - "source": "transports_test_rclone_env_equipment", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L66", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_transport", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_206", - "target": "config_models_bandwidthconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_224", - "target": "config_models_rcloneperf" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "config_models_rcloneperf" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "config_models_rcloneperf" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "config_models_rcloneperf" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_238", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "config_models_nasconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L360", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "config_models_nasconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_266", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L51", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "config_models_equipmentconfig", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_setupstatusresponse", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_limstestrequest", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_equipmenttestrequest", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_proberesult", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_autostartrequest", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L36", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_setup_autostartresult", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_config_configupdateresponse", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_config_equipmentappendresponse", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L206", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_build_and_reload_config", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L293", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_main_trayapp", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L26", - "weight": 1.0, - "source": "ui_test_settings_nas_credentials_nas_equipment", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L42", - "weight": 1.0, - "source": "ui_test_settings_nas_credentials_stage_equipment", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L136", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_sftp", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L155", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_smb", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_test_rclone_env_keyring", - "target": "config_models_equipmentconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_test_rclone_env_brokenkeyring", - "target": "config_models_equipmentconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L148", - "weight": 1.0, - "source": "transports_test_rclone_env_equipment", - "target": "config_models_equipmentconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L308", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_308", - "target": "config_models_equipmentconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_312", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_376", - "target": "config_models_nascleanupconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L328", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_328", - "target": "config_models_loggingconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L392", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_392", - "target": "config_models_loggingconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_359", - "target": "config_models_operatorsconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L51", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "config_models_operatorsconfig", - "confidence_score": 0.5 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L226", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_build_and_reload_config", - "target": "config_models_operatorsconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L423", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_423", - "target": "config_models_operatorsconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_391", - "target": "config_models_validatorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L455", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_455", - "target": "config_models_validatorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L416", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_416", - "target": "config_models_pluginsconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L480", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_480", - "target": "config_models_pluginsconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L433", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_433", - "target": "config_models_syncconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L497", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_497", - "target": "config_models_syncconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L450", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_450", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L514", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_514", - "target": "config_models_orchestratorstagingcleanup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_466", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L47", - "weight": 1.0, - "source": "config_test_bootstrap_write_starter_test_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L293", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_main_trayapp", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L307", - "weight": 1.0, - "source": "tray_main_bootstrap_test_config", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L60", - "weight": 1.0, - "source": "ui_test_settings_nas_credentials_config_with", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L530", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_530", - "target": "config_models_orchestratorconfig" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L606", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_config_with_equipment_appended", - "target": "config_models_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L502", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_502", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L42", - "weight": 0.8, - "source": "controller_metadata_assembly_templatedesc", - "target": "config_models_config", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L51", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "config_models_config", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_app_auditchannel", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "api_app_appdependencies", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_config_configupdateresponse", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_config_equipmentappendresponse", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_stagedrunrow", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_staginglistresponse", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_forcesyncresponse", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_clearresponse", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_clearverifiedresponse", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_keeplocalrequest", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_keeplocalresponse", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L55", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_quiescence_poller_nassynclike", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L55", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_quiescence_poller_filesnapshot", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L55", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L31", - "weight": 0.8, - "confidence_score": 0.5, - "source": "orchestrator_staging_query_stagedrunsummary", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L293", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_main_trayapp", - "target": "config_models_config" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "config_models_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L555", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_555", - "target": "config_models_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L541", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_541", - "target": "config_models_config_with_equipment_appended" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_593", - "target": "config_models_config_with_equipment_appended" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_loader_py", - "target": "config_loader_test_mode_enabled" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_loader_py", - "target": "config_loader_apply_test_mode_prefix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_loader_py", - "target": "config_loader_yaml" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_loader_py", - "target": "config_loader_load_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_loader_py", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_loader_py", - "target": "config_loader_save_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_loader_py", - "target": "config_loader_deep_merge" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_config_loader_py", - "target": "config_loader_dump_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_rationale_1", - "target": "src_exlab_wizard_config_loader_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_load_config_from_text", - "target": "config_loader_test_mode_enabled" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_rationale_34", - "target": "config_loader_test_mode_enabled" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_load_config_from_text", - "target": "config_loader_apply_test_mode_prefix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_rationale_44", - "target": "config_loader_apply_test_mode_prefix" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_load_config_from_text", - "target": "config_loader_yaml" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_save_config", - "target": "config_loader_yaml" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_dump_config", - "target": "config_loader_yaml" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_rationale_80", - "target": "config_loader_yaml" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_load_config", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_rationale_93", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L429", - "weight": 1.0, - "source": "tray_dependencies_load_config_safely", - "target": "config_loader_load_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L203", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_build_and_reload_config", - "target": "config_loader_load_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_rationale_109", - "target": "config_loader_load_config_from_text" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_save_config", - "target": "config_loader_deep_merge" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_rationale_129", - "target": "config_loader_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L153", - "weight": 1.0, - "source": "config_loader_save_config", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L52", - "weight": 1.0, - "source": "config_test_bootstrap_write_starter_test_config", - "target": "config_loader_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L229", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_build_and_reload_config", - "target": "config_loader_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L337", - "weight": 1.0, - "source": "tray_main_bootstrap_test_config", - "target": "config_loader_save_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_rationale_158", - "target": "config_loader_deep_merge" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/loader.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_loader_rationale_172", - "target": "config_loader_dump_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L18", - "weight": 1.0, - "source": "src_exlab_wizard_config_test_bootstrap_py", - "target": "config_test_bootstrap_write_starter_test_config", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L68", - "weight": 1.0, - "source": "src_exlab_wizard_config_test_bootstrap_py", - "target": "config_test_bootstrap_bootstrap_test_config", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L1", - "weight": 1.0, - "source": "config_test_bootstrap_rationale_1", - "target": "src_exlab_wizard_config_test_bootstrap_py", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L79", - "weight": 1.0, - "source": "config_test_bootstrap_bootstrap_test_config", - "target": "config_test_bootstrap_write_starter_test_config", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L19", - "weight": 1.0, - "source": "config_test_bootstrap_rationale_19", - "target": "config_test_bootstrap_write_starter_test_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L35", - "weight": 1.0, - "source": "dev_seed_main", - "target": "config_test_bootstrap_write_starter_test_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L69", - "weight": 1.0, - "source": "config_test_bootstrap_rationale_69", - "target": "config_test_bootstrap_bootstrap_test_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/config/test_bootstrap.py", - "source_location": "L83", - "weight": 1.0, - "source": "config_test_bootstrap_bootstrap_test_config", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L340", - "weight": 1.0, - "source": "tray_main_main", - "target": "config_test_bootstrap_bootstrap_test_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_registry_py", - "target": "plugins_registry_pluginmanifest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_registry_py", - "target": "plugins_registry_pluginrecord" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_registry_py", - "target": "plugins_registry_pluginplan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_registry_py", - "target": "plugins_registry_registryreport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_registry_py", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_registry_py", - "target": "plugins_registry_as_str_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_registry_py", - "target": "plugins_registry_suffix_or_full" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_1", - "target": "src_exlab_wizard_plugins_registry_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_load_plugin", - "target": "plugins_registry_pluginmanifest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_63", - "target": "plugins_registry_pluginmanifest" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_load_plugin", - "target": "plugins_registry_pluginrecord" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_84", - "target": "plugins_registry_pluginrecord" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L377", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_candidates_for", - "target": "plugins_registry_pluginplan" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_104", - "target": "plugins_registry_pluginplan" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_reload", - "target": "plugins_registry_registryreport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_116", - "target": "plugins_registry_registryreport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry", - "target": "plugins_registry_pluginregistry_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry", - "target": "plugins_registry_pluginregistry_reload" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry", - "target": "plugins_registry_pluginregistry_absorb" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry", - "target": "plugins_registry_pluginregistry_iter_root" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L230", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry", - "target": "plugins_registry_pluginregistry_load_plugin" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry", - "target": "plugins_registry_pluginregistry_get" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry", - "target": "plugins_registry_pluginregistry_list_all" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L362", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry", - "target": "plugins_registry_pluginregistry_candidates_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_129", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L510", - "weight": 1.0, - "source": "tray_dependencies_build_plugin_host", - "target": "plugins_registry_pluginregistry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_reload", - "target": "plugins_registry_pluginregistry_iter_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_reload", - "target": "plugins_registry_pluginregistry_absorb" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_158", - "target": "plugins_registry_pluginregistry_reload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_absorb", - "target": "plugins_registry_pluginregistry_get" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_187", - "target": "plugins_registry_pluginregistry_absorb" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_iter_root", - "target": "plugins_registry_pluginregistry_load_plugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_215", - "target": "plugins_registry_pluginregistry_iter_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_load_plugin", - "target": "plugins_registry_pluginregistry_get" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L333", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_load_plugin", - "target": "plugins_registry_as_str_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_235", - "target": "plugins_registry_pluginregistry_load_plugin" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L246", - "weight": 1.0, - "source": "plugins_registry_pluginregistry_load_plugin", - "target": "io_yaml_files_load_yaml_manifest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L355", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_355", - "target": "plugins_registry_pluginregistry_get" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L373", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_candidates_for", - "target": "plugins_registry_pluginregistry_list_all" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_359", - "target": "plugins_registry_pluginregistry_list_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L375", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_pluginregistry_candidates_for", - "target": "plugins_registry_suffix_or_full" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L363", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_363", - "target": "plugins_registry_pluginregistry_candidates_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L387", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_387", - "target": "plugins_registry_as_str_list" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/registry.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_registry_rationale_394", - "target": "plugins_registry_suffix_or_full" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_pluginrecord" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_pluginregistryprotocol" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_apply_rlimits" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_sanitized_env" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_snapshot_tree" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_is_forbidden_write" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_diff_and_collect_violations" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_read_silently" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L346", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_revert_to_snapshot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L397", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_drain_stderr" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L447", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_emit_forwarded_log" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_resolve_run_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_pluginhost" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L797", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_spawnoutcome" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L807", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L817", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_read_stdout_envelope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L838", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_build_applied_entry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L876", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_exit_code_to_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L900", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_listbackedregistry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L918", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_build_test_registry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L925", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_host_py", - "target": "plugins_host_applied_entry_as_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_1", - "target": "src_exlab_wizard_plugins_host_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_87", - "target": "plugins_host_pluginrecord" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_pluginrecord", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_pluginrecord", - "target": "plugins_base_plugincontext" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginregistryprotocol", - "target": "protocol" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginregistryprotocol", - "target": "plugins_host_pluginregistryprotocol_get_record" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_117", - "target": "plugins_host_pluginregistryprotocol" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_pluginregistryprotocol", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_pluginregistryprotocol", - "target": "plugins_base_plugincontext" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_readmegeneratorprotocol", - "target": "protocol" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_nassyncprotocol", - "target": "protocol" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_nassynclike", - "target": "protocol" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L584", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_run_one", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_136", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_inputrequiredpayload", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_inputrequiredpayload", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "plugins_host_inputrequiredpayload" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L518", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_run_pass", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_151", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_pluginpassresult", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_pluginpassresult", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L846", - "weight": 1.0, - "source": "controller_creation_creationcontroller_plugin_pass", - "target": "plugins_host_pluginpassresult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_169", - "target": "plugins_host_apply_rlimits" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L671", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_spawn_worker", - "target": "plugins_host_sanitized_env" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_215", - "target": "plugins_host_sanitized_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L568", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_run_one", - "target": "plugins_host_snapshot_tree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_241", - "target": "plugins_host_snapshot_tree" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_diff_and_collect_violations", - "target": "plugins_host_is_forbidden_write" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L281", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_281", - "target": "plugins_host_is_forbidden_write" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_diff_and_collect_violations", - "target": "plugins_host_read_silently" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L606", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_run_one", - "target": "plugins_host_diff_and_collect_violations" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_289", - "target": "plugins_host_diff_and_collect_violations" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_339", - "target": "plugins_host_read_silently" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L609", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_run_one", - "target": "plugins_host_revert_to_snapshot" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L350", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_350", - "target": "plugins_host_revert_to_snapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L440", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_drain_stderr", - "target": "plugins_host_emit_forwarded_log" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L721", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_spawn_worker", - "target": "plugins_host_drain_stderr" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_403", - "target": "plugins_host_drain_stderr" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L453", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_453", - "target": "plugins_host_emit_forwarded_log" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L787", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_stderr_path_for", - "target": "plugins_host_resolve_run_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L473", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_473", - "target": "plugins_host_resolve_run_id" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost", - "target": "plugins_host_pluginhost_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L502", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost", - "target": "plugins_host_pluginhost_run_pass" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L548", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost", - "target": "plugins_host_pluginhost_run_one" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L629", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost", - "target": "plugins_host_pluginhost_spawn_worker" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L766", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost", - "target": "plugins_host_pluginhost_terminate" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L783", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost", - "target": "plugins_host_pluginhost_stderr_path_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L488", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_488", - "target": "plugins_host_pluginhost" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_pluginhost", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_pluginhost", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "plugins_host_pluginhost" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "plugins_host_pluginhost" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "plugins_host_pluginhost" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "plugins_host_pluginhost" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "plugins_host_pluginhost" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "plugins_host_pluginhost" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "plugins_host_pluginhost" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L100", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "plugins_host_pluginhost" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L522", - "weight": 1.0, - "source": "tray_dependencies_build_plugin_host", - "target": "plugins_host_pluginhost" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L521", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_run_pass", - "target": "plugins_host_listbackedregistry_get_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L529", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_run_pass", - "target": "plugins_host_pluginhost_run_one" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L509", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_509", - "target": "plugins_host_pluginhost_run_pass" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L575", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_run_one", - "target": "plugins_host_pluginhost_spawn_worker" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_run_one", - "target": "plugins_host_build_applied_entry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L555", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_555", - "target": "plugins_host_pluginhost_run_one" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L662", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_spawn_worker", - "target": "plugins_host_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L685", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_spawn_worker", - "target": "plugins_host_pluginhost_stderr_path_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L723", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_spawn_worker", - "target": "plugins_host_read_stdout_envelope" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L730", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_spawn_worker", - "target": "plugins_host_pluginhost_terminate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L740", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_pluginhost_spawn_worker", - "target": "plugins_host_spawnoutcome" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L637", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_637", - "target": "plugins_host_pluginhost_spawn_worker" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L767", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_767", - "target": "plugins_host_pluginhost_terminate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L784", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_784", - "target": "plugins_host_pluginhost_stderr_path_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L798", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_798", - "target": "plugins_host_spawnoutcome" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_spawnoutcome", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_spawnoutcome", - "target": "plugins_base_plugincontext" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L818", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_818", - "target": "plugins_host_read_stdout_envelope" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L852", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_build_applied_entry", - "target": "plugins_host_exit_code_to_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L847", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_847", - "target": "plugins_host_build_applied_entry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L877", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_877", - "target": "plugins_host_exit_code_to_status" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L911", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_listbackedregistry", - "target": "plugins_host_listbackedregistry_get_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L920", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_build_test_registry", - "target": "plugins_host_listbackedregistry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L901", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_901", - "target": "plugins_host_listbackedregistry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L57", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_listbackedregistry", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L59", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_host_listbackedregistry", - "target": "plugins_base_plugincontext" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L919", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_919", - "target": "plugins_host_build_test_registry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/host.py", - "source_location": "L926", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_host_rationale_926", - "target": "plugins_host_applied_entry_as_json" - }, - { - "relation": "imports_from", - "context": "import", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_logger_py", - "target": "abc" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_logger_py", - "target": "plugins_logger_pluginlogframe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_logger_py", - "target": "plugins_logger_pluginlogger" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_logger_py", - "target": "plugins_logger_debug" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_logger_py", - "target": "plugins_logger_info" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_logger_py", - "target": "plugins_logger_warning" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_logger_py", - "target": "plugins_logger_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_logger_py", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_logger_py", - "target": "plugins_logger_workerpluginlogger" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_rationale_1", - "target": "src_exlab_wizard_plugins_logger_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger_emit", - "target": "plugins_logger_pluginlogframe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_rationale_47", - "target": "plugins_logger_pluginlogframe" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_pluginlogger", - "target": "abc" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger", - "target": "plugins_logger_pluginlogger" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger", - "target": "plugins_logger_pluginlogger" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_rationale_60", - "target": "plugins_logger_pluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_base_filechange", - "target": "plugins_logger_pluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_base_plugincontext", - "target": "plugins_logger_pluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_base_plugin", - "target": "plugins_logger_pluginlogger" - }, - { - "relation": "imports_from", - "context": "import", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_base_py", - "target": "abc" - }, - { - "relation": "inherits", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_plugin", - "target": "abc" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger", - "target": "plugins_logger_hostpluginlogger_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger", - "target": "plugins_logger_hostpluginlogger_debug" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger", - "target": "plugins_logger_hostpluginlogger_info" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger", - "target": "plugins_logger_hostpluginlogger_warning" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger", - "target": "plugins_logger_hostpluginlogger_error" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger", - "target": "plugins_logger_hostpluginlogger_emit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_rationale_86", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L101", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L101", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L101", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L101", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L101", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L101", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L101", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L101", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L864", - "weight": 1.0, - "source": "controller_creation_creationcontroller_plugin_pass", - "target": "plugins_logger_hostpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L96", - "weight": 1.0, - "source": "plugins_logger_hostpluginlogger_init", - "target": "logging_manager_get_logger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger_debug", - "target": "plugins_logger_workerpluginlogger_emit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger_info", - "target": "plugins_logger_workerpluginlogger_emit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger_warning", - "target": "plugins_logger_workerpluginlogger_emit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_hostpluginlogger_error", - "target": "plugins_logger_workerpluginlogger_emit" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger", - "target": "plugins_logger_workerpluginlogger_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger", - "target": "plugins_logger_workerpluginlogger_debug" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger", - "target": "plugins_logger_workerpluginlogger_info" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger", - "target": "plugins_logger_workerpluginlogger_warning" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger", - "target": "plugins_logger_workerpluginlogger_error" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger", - "target": "plugins_logger_workerpluginlogger_emit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_rationale_122", - "target": "plugins_logger_workerpluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_workeroutcome", - "target": "plugins_logger_workerpluginlogger" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_swallowcallbackerrors", - "target": "plugins_logger_workerpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L352", - "weight": 1.0, - "source": "plugins_worker_main", - "target": "plugins_logger_workerpluginlogger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger_debug", - "target": "plugins_logger_workerpluginlogger_emit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger_info", - "target": "plugins_logger_workerpluginlogger_emit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger_warning", - "target": "plugins_logger_workerpluginlogger_emit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/logger.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_logger_workerpluginlogger_error", - "target": "plugins_logger_workerpluginlogger_emit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_base_py", - "target": "plugins_base_filechange" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_base_py", - "target": "plugins_base_plugincontext" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_base_py", - "target": "plugins_base_plugin" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_base_py", - "target": "plugins_base_can_handle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_base_py", - "target": "plugins_base_transform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_rationale_1", - "target": "src_exlab_wizard_plugins_base_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_plugin_describe_changes", - "target": "plugins_base_filechange" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_rationale_54", - "target": "plugins_base_filechange" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_workeroutcome", - "target": "plugins_base_filechange" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_swallowcallbackerrors", - "target": "plugins_base_filechange" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_rationale_74", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_workeroutcome", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_swallowcallbackerrors", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "plugins_base_plugincontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L99", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "plugins_base_plugincontext" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L120", - "weight": 1.0, - "source": "plugins_worker_build_context", - "target": "plugins_base_plugincontext" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L854", - "weight": 1.0, - "source": "controller_creation_creationcontroller_plugin_pass", - "target": "plugins_base_plugincontext" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_plugin", - "target": "plugins_base_plugin_validate_variables" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_plugin", - "target": "plugins_base_plugin_pre_transform_all" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_plugin", - "target": "plugins_base_plugin_post_transform_all" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_plugin", - "target": "plugins_base_plugin_describe_changes" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_plugin", - "target": "plugins_base_plugin_on_plugin_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_rationale_97", - "target": "plugins_base_plugin" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_workeroutcome", - "target": "plugins_base_plugin" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "plugins_worker_swallowcallbackerrors", - "target": "plugins_base_plugin" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_rationale_154", - "target": "plugins_base_plugin_validate_variables" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_rationale_171", - "target": "plugins_base_plugin_pre_transform_all" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_rationale_180", - "target": "plugins_base_plugin_post_transform_all" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_rationale_187", - "target": "plugins_base_plugin_describe_changes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/base.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_base_rationale_202", - "target": "plugins_base_plugin_on_plugin_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_worker_py", - "target": "plugins_worker_workeroutcome" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_worker_py", - "target": "plugins_worker_read_stdin_envelope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_worker_py", - "target": "plugins_worker_decode_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_worker_py", - "target": "plugins_worker_build_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_worker_py", - "target": "plugins_worker_load_plugin_class" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_worker_py", - "target": "plugins_worker_run_lifecycle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_worker_py", - "target": "plugins_worker_serialize_change" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_worker_py", - "target": "plugins_worker_swallowcallbackerrors" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L350", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_plugins_worker_py", - "target": "plugins_worker_main" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_rationale_1", - "target": "src_exlab_wizard_plugins_worker_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_run_lifecycle", - "target": "plugins_worker_workeroutcome" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_rationale_58", - "target": "plugins_worker_workeroutcome" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L355", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_main", - "target": "plugins_worker_read_stdin_envelope" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_rationale_74", - "target": "plugins_worker_read_stdin_envelope" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_build_context", - "target": "plugins_worker_decode_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_rationale_89", - "target": "plugins_worker_decode_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_main", - "target": "plugins_worker_build_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_rationale_110", - "target": "plugins_worker_build_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_main", - "target": "plugins_worker_load_plugin_class" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_rationale_145", - "target": "plugins_worker_load_plugin_class" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_run_lifecycle", - "target": "plugins_worker_swallowcallbackerrors" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_run_lifecycle", - "target": "plugins_worker_serialize_change" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_main", - "target": "plugins_worker_run_lifecycle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_rationale_177", - "target": "plugins_worker_run_lifecycle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_rationale_297", - "target": "plugins_worker_serialize_change" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_swallowcallbackerrors", - "target": "plugins_worker_swallowcallbackerrors_enter" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L322", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_swallowcallbackerrors", - "target": "plugins_worker_swallowcallbackerrors_exit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_rationale_312", - "target": "plugins_worker_swallowcallbackerrors" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/plugins/_worker.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugins_worker_rationale_351", - "target": "plugins_worker_main" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_runkind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_syncstatus" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_tier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_problemclass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_findingkind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_templatetype" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_runscope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_limsprojectstatus" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_limsprojectsource" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_runsyncstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_setupstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_syncmode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_stagingcleanupmode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_creationlevel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_fieldtype" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_bandwidthday" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_sessionkind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_nextaction" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_auditscopekind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_directorylevel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_platform" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_setupnextaction" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L318", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_synchandlestate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_pluginsourceroot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_treeprojectstatus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_1", - "target": "src_exlab_wizard_constants_enums_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_transporttype" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_enums_py", - "target": "constants_enums_orchestratortransporttype" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_15", - "target": "constants_enums_runkind" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_samplefile", - "target": "constants_enums_runkind", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_samplerun", - "target": "constants_enums_runkind", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_sampleproject", - "target": "constants_enums_runkind", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_sampleequipment", - "target": "constants_enums_runkind", - "confidence_score": 0.5 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L206", - "weight": 1.0, - "source": "controller_metadata_assembly_build_creation_json", - "target": "constants_enums_runkind" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L305", - "weight": 1.0, - "source": "routers_sessions_build_run_request", - "target": "constants_enums_runkind" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1052", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "constants_enums_runkind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_25", - "target": "constants_enums_syncstatus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_samplefile", - "target": "constants_enums_syncstatus", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_samplerun", - "target": "constants_enums_syncstatus", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_sampleproject", - "target": "constants_enums_syncstatus", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_sampleequipment", - "target": "constants_enums_syncstatus", - "confidence_score": 0.5 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_42", - "target": "constants_enums_tier" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_49", - "target": "constants_enums_problemclass" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_66", - "target": "constants_enums_findingkind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_77", - "target": "constants_enums_templatetype" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L159", - "weight": 1.0, - "source": "template_copier_driver_templateengine_resolve", - "target": "constants_enums_templatetype" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_85", - "target": "constants_enums_runscope" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L190", - "weight": 1.0, - "source": "template_copier_driver_templateengine_resolve", - "target": "constants_enums_runscope" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_96", - "target": "constants_enums_limsprojectstatus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_110", - "target": "constants_enums_limsprojectsource" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1003", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "constants_enums_limsprojectsource" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_118", - "target": "constants_enums_runsyncstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_138", - "target": "constants_enums_setupstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_160", - "target": "constants_enums_syncmode" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_samplefile", - "target": "constants_enums_syncmode", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_samplerun", - "target": "constants_enums_syncmode", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_sampleproject", - "target": "constants_enums_syncmode", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L25", - "weight": 0.8, - "source": "sample_data_spec_sampleequipment", - "target": "constants_enums_syncmode", - "confidence_score": 0.5 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_174", - "target": "constants_enums_syncmode" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_174", - "target": "constants_enums_stagingcleanupmode" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_188", - "target": "constants_enums_stagingcleanupmode" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_181", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_195", - "target": "constants_enums_pluginstatus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_191", - "target": "constants_enums_creationlevel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_205", - "target": "constants_enums_creationlevel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_201", - "target": "constants_enums_fieldtype" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L252", - "weight": 1.0, - "source": "controller_metadata_assembly_readme_decls_from_template", - "target": "constants_enums_fieldtype" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1291", - "weight": 1.0, - "source": "controller_creation_readme_decls_from_template", - "target": "constants_enums_fieldtype" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_226", - "target": "constants_enums_fieldtype" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_211", - "target": "constants_enums_bandwidthday" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_236", - "target": "constants_enums_bandwidthday" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_223", - "target": "constants_enums_sessionkind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L248", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_248", - "target": "constants_enums_sessionkind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_235", - "target": "constants_enums_nextaction" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_260", - "target": "constants_enums_nextaction" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L242", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_242", - "target": "constants_enums_auditscopekind" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L294", - "weight": 1.0, - "source": "routers_problems_build_scope", - "target": "constants_enums_auditscopekind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_267", - "target": "constants_enums_auditscopekind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_255", - "target": "constants_enums_directorylevel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_280", - "target": "constants_enums_directorylevel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_272", - "target": "constants_enums_platform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_297", - "target": "constants_enums_platform" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_280", - "target": "constants_enums_setupnextaction" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L305", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_305", - "target": "constants_enums_setupnextaction" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_294", - "target": "constants_enums_synchandlestate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_319", - "target": "constants_enums_synchandlestate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L306", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_306", - "target": "constants_enums_pluginsourceroot" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_331", - "target": "constants_enums_pluginsourceroot" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_313", - "target": "constants_enums_treeprojectstatus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_338", - "target": "constants_enums_treeprojectstatus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_160", - "target": "constants_enums_transporttype" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/patterns.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_patterns_rationale_1", - "target": "src_exlab_wizard_constants_patterns_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/limits.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_limits_rationale_1", - "target": "src_exlab_wizard_constants_limits_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/filenames.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_filenames_rationale_1", - "target": "src_exlab_wizard_constants_filenames_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/keyring.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_keyring_rationale_1", - "target": "src_exlab_wizard_constants_keyring_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/keyring.py", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_constants_keyring_py", - "target": "constants_keyring_keyring_nas_username" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/app.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_app_rationale_1", - "target": "src_exlab_wizard_constants_app_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/schema_versions.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_schema_versions_rationale_1", - "target": "src_exlab_wizard_constants_schema_versions_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_io_json_files_py", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_io_json_files_py", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_io_json_files_py", - "target": "io_json_files_read_msgspec_json_raw" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_io_json_files_py", - "target": "io_json_files_peek_and_check_major" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_json_files_rationale_1", - "target": "src_exlab_wizard_io_json_files_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_json_files_read_msgspec_json_raw", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_json_files_peek_and_check_major", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_json_files_rationale_29", - "target": "io_json_files_require_schema_major" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_json_files_read_msgspec_json", - "target": "io_json_files_peek_and_check_major" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_json_files_rationale_59", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L475", - "weight": 1.0, - "source": "routers_browse_relay_label_from_first_run", - "target": "io_json_files_read_msgspec_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/json_files.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_json_files_rationale_78", - "target": "io_json_files_read_msgspec_json_raw" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_init_rationale_1", - "target": "src_exlab_wizard_io_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/atomic_write.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_io_atomic_write_py", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/atomic_write.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_atomic_write_rationale_1", - "target": "src_exlab_wizard_io_atomic_write_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/atomic_write.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_atomic_write_rationale_22", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L181", - "weight": 1.0, - "source": "tray_server_runner_serverrunner_write_state_file", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L144", - "weight": 1.0, - "source": "tray_autostart_autostartmanager_write_plist", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L166", - "weight": 1.0, - "source": "tray_autostart_autostartmanager_write_systemd_unit", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L171", - "weight": 1.0, - "source": "tray_autostart_autostartmanager_write_desktop_file", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/storage_secret.py", - "source_location": "L52", - "weight": 1.0, - "source": "tray_storage_secret_load_or_create_storage_secret", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L211", - "weight": 1.0, - "source": "readme_generator_readmegenerator_generate_sync", - "target": "io_atomic_write_atomic_write_bytes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/yaml_files.py", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_io_yaml_files_py", - "target": "io_yaml_files_load_yaml_manifest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/yaml_files.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_yaml_files_rationale_1", - "target": "src_exlab_wizard_io_yaml_files_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/io/yaml_files.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "io_yaml_files_rationale_21", - "target": "io_yaml_files_load_yaml_manifest" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L142", - "weight": 1.0, - "source": "template_copier_driver_templateengine_resolve", - "target": "io_yaml_files_load_yaml_manifest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_template_copier_driver_py", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_template_copier_driver_py", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_template_copier_driver_py", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_template_copier_driver_py", - "target": "template_copier_driver_extract_readme_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L307", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_template_copier_driver_py", - "target": "template_copier_driver_snapshot_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_rationale_1", - "target": "src_exlab_wizard_template_copier_driver_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_templateengine_resolve", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_rationale_61", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "template_copier_driver_resolvedtemplate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_templateengine_render", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_rationale_96", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "template_copier_driver_renderresult" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_templateengine", - "target": "template_copier_driver_templateengine_resolve" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L257", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_templateengine", - "target": "template_copier_driver_templateengine_render" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_rationale_110", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L109", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L500", - "weight": 1.0, - "source": "tray_dependencies_build_template_engine", - "target": "template_copier_driver_templateengine" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_templateengine_resolve", - "target": "template_copier_driver_extract_readme_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L318", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_snapshot_files", - "target": "template_copier_driver_templateengine_resolve" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_rationale_113", - "target": "template_copier_driver_templateengine_resolve" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_templateengine_render", - "target": "template_copier_driver_snapshot_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_rationale_263", - "target": "template_copier_driver_templateengine_render" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/template/copier_driver.py", - "source_location": "L308", - "weight": 1.0, - "confidence_score": 1.0, - "source": "template_copier_driver_rationale_308", - "target": "template_copier_driver_snapshot_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_utils_time_py", - "target": "utils_time_utc_now" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_utils_time_py", - "target": "utils_time_utc_now_or" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_utils_time_py", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_utils_time_py", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_utils_time_py", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_utils_time_py", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_time_rationale_1", - "target": "src_exlab_wizard_utils_time_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_time_rationale_29", - "target": "utils_time_utc_now" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L941", - "weight": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "utils_time_utc_now" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1243", - "weight": 1.0, - "source": "controller_creation_creationcontroller_append_log", - "target": "utils_time_utc_now" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L107", - "weight": 1.0, - "source": "controller_session_store_sessionstore_open", - "target": "utils_time_utc_now" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L180", - "weight": 1.0, - "source": "controller_session_store_sessionstore_heartbeat", - "target": "utils_time_utc_now" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L211", - "weight": 1.0, - "source": "controller_session_store_sessionstore_abandoned_older_than", - "target": "utils_time_utc_now" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L976", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "utils_time_utc_now" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_time_rationale_40", - "target": "utils_time_utc_now_or" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L186", - "weight": 1.0, - "source": "sync_queue_compute_next_attempt_at", - "target": "utils_time_utc_now_or" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L444", - "weight": 1.0, - "source": "sync_queue_syncqueue_record_failure", - "target": "utils_time_utc_now_or" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L106", - "weight": 1.0, - "source": "orchestrator_staging_query_list_staged_runs", - "target": "utils_time_utc_now_or" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_time_rationale_50", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L178", - "weight": 1.0, - "source": "tray_server_runner_serverrunner_write_state_file", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1049", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1102", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_equipment_json", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1179", - "weight": 1.0, - "source": "controller_creation_creationcontroller_transition", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L356", - "weight": 1.0, - "source": "api_app_audit_loop", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L330", - "weight": 1.0, - "source": "routers_problems_last_audit_at", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L279", - "weight": 1.0, - "source": "sync_queue_syncqueue_insert", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L525", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_next_due_job", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L647", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L194", - "weight": 1.0, - "source": "orchestrator_staging_query_dir_mtime_iso", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L872", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_reconcile_synced_files", - "target": "utils_time_utc_now_iso" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_time_rationale_59", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L204", - "weight": 1.0, - "source": "readme_generator_readmegenerator_generate_sync", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L428", - "weight": 1.0, - "source": "readme_generator_system_fields_dict", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L308", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_equipment", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L391", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L461", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_metadata", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L794", - "weight": 1.0, - "source": "routers_browse_scan_folder_sync", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L101", - "weight": 1.0, - "source": "routers_operations_session_to_entry", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L187", - "weight": 1.0, - "source": "sync_queue_compute_next_attempt_at", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L445", - "weight": 1.0, - "source": "sync_queue_syncqueue_record_failure", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L112", - "weight": 1.0, - "source": "logging_format_format_utc_timestamp", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L195", - "weight": 1.0, - "source": "orchestrator_staging_query_dir_mtime_iso", - "target": "utils_time_dt_to_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_time_parse_utc_iso_or_none", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_time_rationale_70", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L366", - "weight": 1.0, - "source": "readme_generator_check_value_type", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L300", - "weight": 1.0, - "source": "routers_sessions_build_run_request", - "target": "utils_time_parse_utc_iso" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/time.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_time_rationale_85", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L56", - "weight": 1.0, - "source": "sync_cleanup_has_recent_revocation", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L94", - "weight": 1.0, - "source": "sync_cleanup_cleanup_interlocks_satisfied", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L200", - "weight": 1.0, - "source": "orchestrator_staging_query_parse_iso", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L206", - "weight": 1.0, - "source": "orchestrator_staging_query_iso_to_epoch", - "target": "utils_time_parse_utc_iso_or_none" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_init_rationale_1", - "target": "src_exlab_wizard_utils_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/state.py", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_utils_state_py", - "target": "utils_state_assert_forward_transition" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/state.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_state_rationale_1", - "target": "src_exlab_wizard_utils_state_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/utils/state.py", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "utils_state_rationale_19", - "target": "utils_state_assert_forward_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L168", - "weight": 1.0, - "source": "controller_state_machine_assert_transition", - "target": "utils_state_assert_forward_transition" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_icon_py", - "target": "tray_icon_default_icon_image" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_icon_py", - "target": "tray_icon_build_icon" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_icon_py", - "target": "tray_icon_import_pystray" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_icon_py", - "target": "tray_icon_safe_call" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_icon_rationale_1", - "target": "src_exlab_wizard_tray_icon_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_icon_build_icon", - "target": "tray_icon_default_icon_image" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_icon_rationale_40", - "target": "tray_icon_default_icon_image" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_icon_build_icon", - "target": "tray_icon_import_pystray" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_icon_build_icon", - "target": "tray_icon_safe_call" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_icon_rationale_68", - "target": "tray_icon_build_icon" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L107", - "weight": 1.0, - "source": "tray_main_trayapp_run", - "target": "tray_icon_build_icon" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_icon_rationale_95", - "target": "tray_icon_import_pystray" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/icon.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_icon_rationale_102", - "target": "tray_icon_safe_call" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_server_runner_py", - "target": "tray_server_runner_pick_free_port" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_server_runner_py", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_server_runner_py", - "target": "tray_server_runner_port" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_server_runner_py", - "target": "tray_server_runner_is_running" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_server_runner_py", - "target": "tray_server_runner_state_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_rationale_1", - "target": "src_exlab_wizard_tray_server_runner_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_serverrunner_start", - "target": "tray_server_runner_pick_free_port" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_rationale_42", - "target": "tray_server_runner_pick_free_port" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_serverrunner", - "target": "tray_server_runner_serverrunner_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_serverrunner", - "target": "tray_server_runner_serverrunner_start" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_serverrunner", - "target": "tray_server_runner_serverrunner_stop" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_serverrunner", - "target": "tray_server_runner_serverrunner_build_uvicorn" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_serverrunner", - "target": "tray_server_runner_serverrunner_write_state_file" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_serverrunner", - "target": "tray_server_runner_serverrunner_delete_state_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_rationale_56", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_quit_coordinator_quitcoordinator", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L39", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_main_trayapp", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L166", - "weight": 1.0, - "source": "tray_main_build_default_components", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L366", - "weight": 1.0, - "source": "tray_main_run_smoke", - "target": "tray_server_runner_serverrunner" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_serverrunner_start", - "target": "tray_server_runner_serverrunner_build_uvicorn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_serverrunner_start", - "target": "tray_server_runner_serverrunner_write_state_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_rationale_76", - "target": "tray_server_runner_serverrunner_start" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_serverrunner_stop", - "target": "tray_server_runner_serverrunner_delete_state_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_rationale_104", - "target": "tray_server_runner_serverrunner_stop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_rationale_151", - "target": "tray_server_runner_serverrunner_build_uvicorn" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_rationale_171", - "target": "tray_server_runner_serverrunner_write_state_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/server_runner.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_server_runner_rationale_184", - "target": "tray_server_runner_serverrunner_delete_state_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_autostart_py", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_autostart_py", - "target": "tray_autostart_executable_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_autostart_py", - "target": "tray_autostart_platform" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_autostart_py", - "target": "tray_autostart_render_plist" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_autostart_py", - "target": "tray_autostart_render_systemd_unit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L251", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_autostart_py", - "target": "tray_autostart_render_desktop_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_autostart_py", - "target": "tray_autostart_detect_platform" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_autostart_py", - "target": "tray_autostart_silently_unlink" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L281", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_autostart_py", - "target": "tray_autostart_import_winreg" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_rationale_1", - "target": "src_exlab_wizard_tray_autostart_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_is_registered" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_register" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_unregister" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_plist_path" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_write_plist" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_systemd_path" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_desktop_path" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_register_linux" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_write_systemd_unit" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_write_desktop_file" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_set_win_reg_value" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_delete_win_reg_value" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager", - "target": "tray_autostart_autostartmanager_win_reg_value" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_rationale_55", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L35", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_main_trayapp", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L170", - "weight": 1.0, - "source": "tray_main_build_default_components", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L134", - "weight": 1.0, - "source": "tray_dependencies_build_production_dependencies", - "target": "tray_autostart_autostartmanager" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_init", - "target": "tray_autostart_platform" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_init", - "target": "tray_autostart_detect_platform" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_is_registered", - "target": "tray_autostart_autostartmanager_plist_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_is_registered", - "target": "tray_autostart_autostartmanager_win_reg_value" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_is_registered", - "target": "tray_autostart_autostartmanager_systemd_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_is_registered", - "target": "tray_autostart_autostartmanager_desktop_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_rationale_94", - "target": "tray_autostart_autostartmanager_is_registered" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_register", - "target": "tray_autostart_autostartmanager_write_plist" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_register", - "target": "tray_autostart_autostartmanager_set_win_reg_value" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_register", - "target": "tray_autostart_autostartmanager_register_linux" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_rationale_104", - "target": "tray_autostart_autostartmanager_register" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_unregister", - "target": "tray_autostart_silently_unlink" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_unregister", - "target": "tray_autostart_autostartmanager_plist_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_unregister", - "target": "tray_autostart_autostartmanager_delete_win_reg_value" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_unregister", - "target": "tray_autostart_autostartmanager_systemd_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_unregister", - "target": "tray_autostart_autostartmanager_desktop_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_rationale_114", - "target": "tray_autostart_autostartmanager_unregister" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_write_plist", - "target": "tray_autostart_autostartmanager_plist_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_write_plist", - "target": "tray_autostart_render_plist" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_write_systemd_unit", - "target": "tray_autostart_autostartmanager_systemd_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_write_desktop_file", - "target": "tray_autostart_autostartmanager_desktop_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_register_linux", - "target": "tray_autostart_autostartmanager_write_systemd_unit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_register_linux", - "target": "tray_autostart_autostartmanager_write_desktop_file" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_write_systemd_unit", - "target": "tray_autostart_render_systemd_unit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_write_desktop_file", - "target": "tray_autostart_render_desktop_file" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_set_win_reg_value", - "target": "tray_autostart_import_winreg" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_delete_win_reg_value", - "target": "tray_autostart_import_winreg" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_autostartmanager_win_reg_value", - "target": "tray_autostart_import_winreg" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_rationale_211", - "target": "tray_autostart_render_plist" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_rationale_237", - "target": "tray_autostart_render_systemd_unit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_rationale_252", - "target": "tray_autostart_render_desktop_file" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/autostart.py", - "source_location": "L282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_autostart_rationale_282", - "target": "tray_autostart_import_winreg" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_quit_coordinator_py", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_quit_coordinator_py", - "target": "tray_quit_coordinator_safe_count" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_rationale_1", - "target": "src_exlab_wizard_tray_quit_coordinator_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_quitcoordinator", - "target": "tray_quit_coordinator_quitcoordinator_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_quitcoordinator", - "target": "tray_quit_coordinator_quitcoordinator_quit" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_quitcoordinator", - "target": "tray_quit_coordinator_quitcoordinator_is_idle" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_quitcoordinator", - "target": "tray_quit_coordinator_quitcoordinator_wait_for_idle" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_quitcoordinator", - "target": "tray_quit_coordinator_quitcoordinator_prompt_force_quit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_rationale_50", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L35", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_quit_coordinator_quitcoordinator", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L38", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_main_trayapp", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L171", - "weight": 1.0, - "source": "tray_main_build_default_components", - "target": "tray_quit_coordinator_quitcoordinator" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_quitcoordinator_quit", - "target": "tray_quit_coordinator_quitcoordinator_wait_for_idle" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_quitcoordinator_quit", - "target": "tray_quit_coordinator_quitcoordinator_prompt_force_quit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_rationale_83", - "target": "tray_quit_coordinator_quitcoordinator_quit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_quitcoordinator_is_idle", - "target": "tray_quit_coordinator_safe_count" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_quitcoordinator_wait_for_idle", - "target": "tray_quit_coordinator_quitcoordinator_is_idle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_rationale_113", - "target": "tray_quit_coordinator_quitcoordinator_is_idle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_rationale_126", - "target": "tray_quit_coordinator_quitcoordinator_wait_for_idle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_rationale_148", - "target": "tray_quit_coordinator_quitcoordinator_prompt_force_quit" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/quit_coordinator.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_quit_coordinator_rationale_164", - "target": "tray_quit_coordinator_safe_count" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_window_launcher_py", - "target": "tray_window_launcher_resolve_window_executable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_window_launcher_py", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_window_launcher_py", - "target": "tray_window_launcher_is_alive" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_window_launcher_py", - "target": "tray_window_launcher_pid" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_rationale_1", - "target": "src_exlab_wizard_tray_window_launcher_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_windowlauncher_argv", - "target": "tray_window_launcher_resolve_window_executable" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_rationale_36", - "target": "tray_window_launcher_resolve_window_executable" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_windowlauncher", - "target": "tray_window_launcher_windowlauncher_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_windowlauncher", - "target": "tray_window_launcher_windowlauncher_open" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_windowlauncher", - "target": "tray_window_launcher_windowlauncher_close" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_windowlauncher", - "target": "tray_window_launcher_windowlauncher_argv" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_windowlauncher", - "target": "tray_window_launcher_windowlauncher_focus_existing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_rationale_56", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_main_trayapp", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L167", - "weight": 1.0, - "source": "tray_main_build_default_components", - "target": "tray_window_launcher_windowlauncher" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_windowlauncher_open", - "target": "tray_window_launcher_windowlauncher_focus_existing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_windowlauncher_open", - "target": "tray_window_launcher_windowlauncher_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_rationale_78", - "target": "tray_window_launcher_windowlauncher_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_rationale_90", - "target": "tray_window_launcher_windowlauncher_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_rationale_121", - "target": "tray_window_launcher_windowlauncher_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/window_launcher.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_window_launcher_rationale_127", - "target": "tray_window_launcher_windowlauncher_focus_existing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_notifications_py", - "target": "tray_notifications_notify" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_notifications_py", - "target": "tray_notifications_default_notifier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_notifications_py", - "target": "tray_notifications_noop_notifier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_notifications_py", - "target": "tray_notifications_bucket" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_notifications_py", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_notifications_py", - "target": "tray_notifications_coalesced_message" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_rationale_1", - "target": "src_exlab_wizard_tray_notifications_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_notify", - "target": "tray_notifications_default_notifier" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_notificationbus_flush", - "target": "tray_notifications_notify" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_rationale_56", - "target": "tray_notifications_notify" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_rationale_71", - "target": "tray_notifications_default_notifier" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_notificationbus_emit", - "target": "tray_notifications_bucket" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_rationale_91", - "target": "tray_notifications_bucket" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_notificationbus", - "target": "tray_notifications_notificationbus_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_notificationbus", - "target": "tray_notifications_notificationbus_emit" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_notificationbus", - "target": "tray_notifications_notificationbus_flush_pending" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_notificationbus", - "target": "tray_notifications_notificationbus_cancel_all" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_notificationbus", - "target": "tray_notifications_notificationbus_flush" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_rationale_100", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_main_trayapp", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L168", - "weight": 1.0, - "source": "tray_main_build_default_components", - "target": "tray_notifications_notificationbus" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_rationale_126", - "target": "tray_notifications_notificationbus_emit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_notificationbus_flush_pending", - "target": "tray_notifications_notificationbus_flush" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_rationale_154", - "target": "tray_notifications_notificationbus_flush_pending" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_rationale_167", - "target": "tray_notifications_notificationbus_cancel_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_notificationbus_flush", - "target": "tray_notifications_coalesced_message" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/notifications.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_notifications_rationale_193", - "target": "tray_notifications_coalesced_message" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_main_py", - "target": "tray_main_trayapp" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_main_py", - "target": "tray_main_build_default_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_main_py", - "target": "tray_main_build_default_components" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_main_py", - "target": "tray_main_tray_backend_available" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_main_py", - "target": "tray_main_parse_argv" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L357", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_main_py", - "target": "tray_main_run_smoke" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L390", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_main_py", - "target": "tray_main_main" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_1", - "target": "src_exlab_wizard_tray_main_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_main_py", - "target": "tray_main_bootstrap_test_config" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_trayapp", - "target": "tray_main_trayapp_start_server" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_trayapp", - "target": "tray_main_trayapp_open_window" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_trayapp", - "target": "tray_main_trayapp_request_quit" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_trayapp", - "target": "tray_main_trayapp_shutdown" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_trayapp", - "target": "tray_main_trayapp_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_build_default_components", - "target": "tray_main_trayapp" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_50", - "target": "tray_main_trayapp" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L40", - "weight": 0.8, - "confidence_score": 0.5, - "source": "tray_main_trayapp", - "target": "tray_status_statusticker" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_trayapp_run", - "target": "tray_main_trayapp_start_server" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_70", - "target": "tray_main_trayapp_start_server" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_74", - "target": "tray_main_trayapp_open_window" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_trayapp_request_quit", - "target": "tray_main_trayapp_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_78", - "target": "tray_main_trayapp_request_quit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_trayapp_run", - "target": "tray_main_trayapp_shutdown" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L431", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_main", - "target": "tray_main_trayapp_shutdown" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_92", - "target": "tray_main_trayapp_shutdown" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L428", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_main", - "target": "tray_main_trayapp_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_99", - "target": "tray_main_trayapp_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_build_default_components", - "target": "tray_main_build_default_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L365", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_run_smoke", - "target": "tray_main_build_default_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_130", - "target": "tray_main_build_default_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L144", - "weight": 1.0, - "source": "tray_main_build_default_app", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L145", - "weight": 1.0, - "source": "tray_main_build_default_app", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L149", - "weight": 1.0, - "source": "tray_main_build_default_app", - "target": "tray_storage_secret_load_or_create_storage_secret" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_build_default_components", - "target": "tray_main_tray_backend_available" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L426", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_main", - "target": "tray_main_build_default_components" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_158", - "target": "tray_main_build_default_components" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L169", - "weight": 1.0, - "source": "tray_main_build_default_components", - "target": "tray_status_statusticker" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_195", - "target": "tray_main_tray_backend_available" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L397", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_main", - "target": "tray_main_parse_argv" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_208", - "target": "tray_main_parse_argv" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_main", - "target": "tray_main_run_smoke" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L277", - "weight": 1.0, - "source": "tray_main_rationale_277", - "target": "tray_main_run_smoke", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_351", - "target": "tray_main_run_smoke" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_358", - "target": "tray_main_run_smoke" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L310", - "weight": 1.0, - "source": "tray_main_rationale_310", - "target": "tray_main_main", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L413", - "weight": 1.0, - "source": "tray_main_main", - "target": "logging_manager_configure_logging" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L419", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_main", - "target": "tray_main_bootstrap_test_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L384", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_384", - "target": "tray_main_main" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L391", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_391", - "target": "tray_main_main" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L264", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_plugin_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_lims_identity" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_refresh_plugin_host_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_reload_lims_client" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L318", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_reload_nas_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_reload_quiescence_poller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L377", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_schedule_bringup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_fire_and_forget" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L415", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_try" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_load_config_safely" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L432", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_make_save_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L442", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_derive_validator_inputs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L468", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_validator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L479", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_session_store" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L485", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_creation_writer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L491", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_equipment_writer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L497", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_template_engine" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L503", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_plugin_host" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_controller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L559", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_keyring_store" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L576", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_lims_keyring_password" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L596", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_check_keyring_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L606", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_lims_client" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L616", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_hydrate_nas_remotes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L667", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_make_equipment_probe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L732", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_make_lims_probe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L749", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_nas_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L791", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_make_nas_sync_snapshot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L803", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_sync_state_writer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L815", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_build_quiescence_poller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L848", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_make_autostart_toggle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L860", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_make_session_store_snapshot" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_1", - "target": "src_exlab_wizard_tray_dependencies_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L624", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_nas_keyring_password" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L643", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_dependencies_py", - "target": "tray_dependencies_check_nas_passwords_present" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_build_production_dependencies", - "target": "tray_dependencies_try" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_build_production_dependencies", - "target": "tray_dependencies_make_save_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_build_production_dependencies", - "target": "tray_dependencies_make_lims_probe" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_build_production_dependencies", - "target": "tray_dependencies_make_nas_sync_snapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_build_production_dependencies", - "target": "tray_dependencies_make_autostart_toggle" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_build_production_dependencies", - "target": "tray_dependencies_make_equipment_probe" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_build_production_dependencies", - "target": "tray_dependencies_make_session_store_snapshot" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_47", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L57", - "weight": 1.0, - "source": "tray_dependencies_build_production_dependencies", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L224", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L265", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_48", - "target": "tray_dependencies_build_production_dependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_apply_live_config", - "target": "tray_dependencies_try" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_apply_live_config", - "target": "tray_dependencies_derive_validator_inputs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_apply_live_config", - "target": "tray_dependencies_plugin_dir" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_apply_live_config", - "target": "tray_dependencies_refresh_plugin_host_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_apply_live_config", - "target": "tray_dependencies_lims_identity" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_apply_live_config", - "target": "tray_dependencies_reload_lims_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_apply_live_config", - "target": "tray_dependencies_reload_nas_sync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_apply_live_config", - "target": "tray_dependencies_reload_quiescence_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L257", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_apply_live_config", - "target": "tray_dependencies_schedule_bringup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_160", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L202", - "weight": 1.0, - "source": "tray_dependencies_apply_live_config", - "target": "logging_manager_configure_logging" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L182", - "weight": 1.0, - "source": "routers_config_apply_live_config", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_168", - "target": "tray_dependencies_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_263", - "target": "tray_dependencies_lims_identity" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_271", - "target": "tray_dependencies_lims_identity" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_275", - "target": "tray_dependencies_refresh_plugin_host_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_283", - "target": "tray_dependencies_refresh_plugin_host_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_reload_lims_client", - "target": "tray_dependencies_try" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_reload_lims_client", - "target": "tray_dependencies_fire_and_forget" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_290", - "target": "tray_dependencies_reload_lims_client" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L298", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_298", - "target": "tray_dependencies_reload_lims_client" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L333", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_reload_nas_sync", - "target": "tray_dependencies_try" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_311", - "target": "tray_dependencies_reload_nas_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_319", - "target": "tray_dependencies_reload_nas_sync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L364", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_reload_quiescence_poller", - "target": "tray_dependencies_try" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_342", - "target": "tray_dependencies_reload_quiescence_poller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L350", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_350", - "target": "tray_dependencies_reload_quiescence_poller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L399", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_schedule_bringup", - "target": "tray_dependencies_fire_and_forget" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L370", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_370", - "target": "tray_dependencies_schedule_bringup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_378", - "target": "tray_dependencies_schedule_bringup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_395", - "target": "tray_dependencies_fire_and_forget" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_403", - "target": "tray_dependencies_fire_and_forget" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L408", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_408", - "target": "tray_dependencies_try" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L416", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_416", - "target": "tray_dependencies_try" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L471", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_build_validator", - "target": "tray_dependencies_derive_validator_inputs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_435", - "target": "tray_dependencies_derive_validator_inputs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L443", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_443", - "target": "tray_dependencies_derive_validator_inputs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L482", - "weight": 1.0, - "source": "tray_dependencies_build_session_store", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L541", - "weight": 1.0, - "source": "tray_dependencies_build_controller", - "target": "controller_creation_creationcontroller" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L549", - "weight": 1.0, - "source": "tray_dependencies_build_controller", - "target": "readme_generator_readmegenerator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L552", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_552", - "target": "tray_dependencies_build_keyring_store" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L560", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_560", - "target": "tray_dependencies_build_keyring_store" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L603", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_check_keyring_present", - "target": "tray_dependencies_lims_keyring_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L569", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_569", - "target": "tray_dependencies_lims_keyring_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L577", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_577", - "target": "tray_dependencies_lims_keyring_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L617", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_617", - "target": "tray_dependencies_hydrate_nas_remotes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L630", - "weight": 1.0, - "source": "tray_dependencies_hydrate_nas_remotes", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L638", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_638", - "target": "tray_dependencies_make_equipment_probe" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L230", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing", - "target": "tray_dependencies_make_equipment_probe" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L269", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", - "target": "tray_dependencies_make_equipment_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L668", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_668", - "target": "tray_dependencies_make_equipment_probe" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L701", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_701", - "target": "tray_dependencies_build_nas_sync" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L781", - "weight": 1.0, - "source": "tray_dependencies_build_nas_sync", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L757", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_757", - "target": "tray_dependencies_build_nas_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L749", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_749", - "target": "tray_dependencies_build_sync_state_writer" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L804", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_804", - "target": "tray_dependencies_build_sync_state_writer" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L841", - "weight": 1.0, - "source": "tray_dependencies_build_quiescence_poller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_status_py", - "target": "tray_status_statussnapshot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_status_py", - "target": "tray_status_snapshot_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_status_py", - "target": "tray_status_format_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_status_py", - "target": "tray_status_statusticker" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_status_py", - "target": "tray_status_safe_int" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_rationale_1", - "target": "src_exlab_wizard_tray_status_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_snapshot_status", - "target": "tray_status_statussnapshot" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_rationale_46", - "target": "tray_status_statussnapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_snapshot_status", - "target": "tray_status_safe_int" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_statusticker_tick_once", - "target": "tray_status_snapshot_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_rationale_58", - "target": "tray_status_snapshot_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_statusticker_tick_once", - "target": "tray_status_format_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_rationale_77", - "target": "tray_status_format_status" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_statusticker", - "target": "tray_status_statusticker_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_statusticker", - "target": "tray_status_statusticker_start" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_statusticker", - "target": "tray_status_statusticker_stop" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_statusticker", - "target": "tray_status_statusticker_tick_once" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_statusticker", - "target": "tray_status_statusticker_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_rationale_92", - "target": "tray_status_statusticker" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_rationale_121", - "target": "tray_status_statusticker_start" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_rationale_130", - "target": "tray_status_statusticker_stop" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_statusticker_run", - "target": "tray_status_statusticker_tick_once" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_rationale_137", - "target": "tray_status_statusticker_tick_once" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/status.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_status_rationale_163", - "target": "tray_status_safe_int" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/storage_secret.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_tray_storage_secret_py", - "target": "tray_storage_secret_load_or_create_storage_secret" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/storage_secret.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_storage_secret_rationale_1", - "target": "src_exlab_wizard_tray_storage_secret_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/storage_secret.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_storage_secret_rationale_32", - "target": "tray_storage_secret_load_or_create_storage_secret" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_corefields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_customfield" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_systemfields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_readmecontext" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_readmegenerator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_validate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_validate_core_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_reject_core_redeclaration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_validate_required_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L298", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_validate_field_id_uniqueness" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_validate_typed_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L335", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_check_value_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_validate_custom_field_labels" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L397", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_is_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_core_fields_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_custom_fields_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L426", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_system_fields_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L438", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_build_front_matter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L458", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_render_readme_bytes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_readme_generator_py", - "target": "readme_generator_build_readme_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_1", - "target": "src_exlab_wizard_readme_generator_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_97", - "target": "readme_generator_corefields" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L51", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_corefields", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L158", - "weight": 1.0, - "source": "controller_metadata_assembly_build_readme_context", - "target": "readme_generator_corefields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L954", - "weight": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "readme_generator_corefields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_111", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L51", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_templatefielddecl", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L249", - "weight": 1.0, - "source": "controller_metadata_assembly_readme_decls_from_template", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L274", - "weight": 1.0, - "source": "controller_metadata_assembly_readme_decls_from_config", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1288", - "weight": 1.0, - "source": "controller_creation_readme_decls_from_template", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1313", - "weight": 1.0, - "source": "controller_creation_readme_decls_from_config", - "target": "readme_generator_templatefielddecl" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_129", - "target": "readme_generator_customfield" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L51", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_customfield", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L137", - "weight": 1.0, - "source": "controller_metadata_assembly_build_readme_context", - "target": "readme_generator_customfield" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L932", - "weight": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "readme_generator_customfield" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_141", - "target": "readme_generator_systemfields" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L51", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_systemfields", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L144", - "weight": 1.0, - "source": "controller_metadata_assembly_build_readme_context", - "target": "readme_generator_systemfields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L940", - "weight": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "readme_generator_systemfields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_154", - "target": "readme_generator_readmecontext" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L51", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_readmecontext", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L156", - "weight": 1.0, - "source": "controller_metadata_assembly_build_readme_context", - "target": "readme_generator_readmecontext" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L952", - "weight": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "readme_generator_readmecontext" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_readmegenerator", - "target": "readme_generator_readmegenerator_generate" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_readmegenerator", - "target": "readme_generator_readmegenerator_generate_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_177", - "target": "readme_generator_readmegenerator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L51", - "weight": 0.8, - "confidence_score": 0.5, - "source": "readme_generator_readmegenerator", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L159", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_init", - "target": "readme_generator_readmegenerator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_180", - "target": "readme_generator_readmegenerator_generate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_readmegenerator_generate_sync", - "target": "readme_generator_validate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_readmegenerator_generate_sync", - "target": "readme_generator_build_front_matter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_readmegenerator_generate_sync", - "target": "readme_generator_render_readme_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L208", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_readmegenerator_generate_sync", - "target": "readme_generator_build_readme_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_validate", - "target": "readme_generator_validate_core_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_validate", - "target": "readme_generator_reject_core_redeclaration" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_validate", - "target": "readme_generator_validate_required_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_validate", - "target": "readme_generator_validate_field_id_uniqueness" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L242", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_validate", - "target": "readme_generator_validate_typed_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_validate", - "target": "readme_generator_validate_custom_field_labels" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_229", - "target": "readme_generator_validate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_validate_required_fields", - "target": "readme_generator_is_present" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_validate_typed_fields", - "target": "readme_generator_is_present" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_validate_typed_fields", - "target": "readme_generator_check_value_type" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_319", - "target": "readme_generator_validate_typed_fields" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L379", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_379", - "target": "readme_generator_validate_custom_field_labels" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_398", - "target": "readme_generator_is_present" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L450", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_build_front_matter", - "target": "readme_generator_core_fields_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L485", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_build_readme_fields", - "target": "readme_generator_core_fields_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L453", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_build_front_matter", - "target": "readme_generator_custom_fields_list" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L488", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_build_readme_fields", - "target": "readme_generator_custom_fields_list" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L454", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_build_front_matter", - "target": "readme_generator_system_fields_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_build_readme_fields", - "target": "readme_generator_system_fields_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L439", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_439", - "target": "readme_generator_build_front_matter" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_459", - "target": "readme_generator_render_readme_bytes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L481", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_generator_rationale_481", - "target": "readme_generator_build_readme_fields" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/readme/generator.py", - "source_location": "L482", - "weight": 1.0, - "source": "readme_generator_build_readme_fields", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_projectcreaterequest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_runcreaterequest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_sessionhandle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_readmegeneratorprotocol" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L210", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_noopreadmegenerator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_nassyncprotocol" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_noopnassync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_creationcontroller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_session_store" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L733", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_short_id_for" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L749", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_project_name_for" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L782", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_run_kind_value_for" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_format_error" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_required_field_ids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_has_hard_finding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1343", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_attach_resolved" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_1", - "target": "src_exlab_wizard_controller_creation_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_readme_decls_from_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_readme_decls_from_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_creation_py", - "target": "controller_creation_os_username" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L136", - "weight": 1.0, - "source": "controller_creation_rationale_136", - "target": "controller_creation_projectcreaterequest", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L71", - "weight": 0.8, - "source": "controller_creation_projectcreaterequest", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "controller_session_store_session" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L285", - "weight": 1.0, - "source": "routers_sessions_build_project_request", - "target": "controller_creation_projectcreaterequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_142", - "target": "controller_creation_projectcreaterequest" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_projectcreaterequest", - "target": "api_schemas_templateblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L155", - "weight": 1.0, - "source": "controller_creation_rationale_155", - "target": "controller_creation_runcreaterequest", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L71", - "weight": 0.8, - "source": "controller_creation_runcreaterequest", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "controller_session_store_session" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L301", - "weight": 1.0, - "source": "routers_sessions_build_run_request", - "target": "controller_creation_runcreaterequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_161", - "target": "controller_creation_runcreaterequest" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_runcreaterequest", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_handle", - "target": "controller_creation_sessionhandle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L180", - "weight": 1.0, - "source": "controller_creation_rationale_180", - "target": "controller_creation_sessionhandle", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L71", - "weight": 0.8, - "source": "controller_creation_sessionhandle", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "controller_session_store_session" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_186", - "target": "controller_creation_sessionhandle" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_sessionhandle", - "target": "api_schemas_templateblock" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_readmegeneratorprotocol", - "target": "controller_creation_readmegeneratorprotocol_generate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L194", - "weight": 1.0, - "source": "controller_creation_rationale_194", - "target": "controller_creation_readmegeneratorprotocol", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L71", - "weight": 0.8, - "source": "controller_creation_readmegeneratorprotocol", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "controller_session_store_session" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_200", - "target": "controller_creation_readmegeneratorprotocol" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_readmegeneratorprotocol", - "target": "api_schemas_templateblock" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_noopreadmegenerator", - "target": "controller_creation_noopreadmegenerator_generate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L274", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_init", - "target": "controller_creation_noopreadmegenerator" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L205", - "weight": 1.0, - "source": "controller_creation_rationale_205", - "target": "controller_creation_noopreadmegenerator", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L71", - "weight": 0.8, - "source": "controller_creation_noopreadmegenerator", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "controller_session_store_session" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_211", - "target": "controller_creation_noopreadmegenerator" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopreadmegenerator", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L976", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "controller_creation_noopreadmegenerator_generate" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_nassyncprotocol", - "target": "controller_creation_nassyncprotocol_enqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L221", - "weight": 1.0, - "source": "controller_creation_rationale_221", - "target": "controller_creation_nassyncprotocol", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L71", - "weight": 0.8, - "source": "controller_creation_nassyncprotocol", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "controller_session_store_session" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_227", - "target": "controller_creation_nassyncprotocol" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_nassyncprotocol", - "target": "api_schemas_templateblock" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_noopnassync", - "target": "controller_creation_noopnassync_enqueue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_init", - "target": "controller_creation_noopnassync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L227", - "weight": 1.0, - "source": "controller_creation_rationale_227", - "target": "controller_creation_noopnassync", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L71", - "weight": 0.8, - "source": "controller_creation_noopnassync", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "controller_session_store_session" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_233", - "target": "controller_creation_noopnassync" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_noopnassync", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L690", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_noopnassync_enqueue" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_apply_config" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_create_project" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_create_run" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_resume" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L353", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_cancel" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_status" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_subscribe" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L427", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_launch" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L465", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_validate_inputs" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_run_pipeline" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L627", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_pipeline_states" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L728", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_resolve_template" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L762", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_resolve_run_lims_block" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L793", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_compose_destination_path" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L810", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_render" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L837", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_plugin_pass" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L898", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_build_readme_context" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L963", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_write_cache" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1078", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_write_equipment_json" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_post_validate" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_transition" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_publish" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_fail" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_cleanup" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_handle" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller", - "target": "controller_creation_creationcontroller_append_log" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L239", - "weight": 1.0, - "source": "controller_creation_rationale_239", - "target": "controller_creation_creationcontroller", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L71", - "weight": 0.8, - "source": "controller_creation_creationcontroller", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "controller_session_store_session" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L79", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L80", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_245", - "target": "controller_creation_creationcontroller" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L46", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_creation_creationcontroller", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L278", - "weight": 1.0, - "source": "controller_creation_creationcontroller_init", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L289", - "weight": 1.0, - "source": "controller_creation_rationale_289", - "target": "controller_creation_creationcontroller_apply_config", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L295", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_295", - "target": "controller_creation_creationcontroller_apply_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L322", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_create_project", - "target": "controller_creation_creationcontroller_launch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L306", - "weight": 1.0, - "source": "controller_creation_rationale_306", - "target": "controller_creation_creationcontroller_create_project", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_312", - "target": "controller_creation_creationcontroller_create_project" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_create_run", - "target": "controller_creation_creationcontroller_launch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L319", - "weight": 1.0, - "source": "controller_creation_rationale_319", - "target": "controller_creation_creationcontroller_create_run", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_325", - "target": "controller_creation_creationcontroller_create_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_resume", - "target": "controller_creation_creationcontroller_handle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L324", - "weight": 1.0, - "source": "controller_creation_rationale_324", - "target": "controller_creation_creationcontroller_resume", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_330", - "target": "controller_creation_creationcontroller_resume" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_cancel", - "target": "controller_creation_creationcontroller_cleanup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L348", - "weight": 1.0, - "source": "controller_creation_rationale_348", - "target": "controller_creation_creationcontroller_cancel", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_354", - "target": "controller_creation_creationcontroller_cancel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_status", - "target": "controller_creation_creationcontroller_handle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L391", - "weight": 1.0, - "source": "controller_creation_rationale_391", - "target": "controller_creation_creationcontroller_status", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L397", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_397", - "target": "controller_creation_creationcontroller_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L398", - "weight": 1.0, - "source": "controller_creation_rationale_398", - "target": "controller_creation_creationcontroller_subscribe", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L404", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_404", - "target": "controller_creation_creationcontroller_subscribe" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L444", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_launch", - "target": "controller_creation_creationcontroller_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L446", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_launch", - "target": "controller_creation_creationcontroller_validate_inputs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_launch", - "target": "controller_creation_creationcontroller_fail" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_launch", - "target": "controller_creation_format_error" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L449", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_launch", - "target": "controller_creation_creationcontroller_handle" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L457", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_launch", - "target": "controller_creation_creationcontroller_run_pipeline" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L422", - "weight": 1.0, - "source": "controller_creation_rationale_422", - "target": "controller_creation_creationcontroller_launch", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L428", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_428", - "target": "controller_creation_creationcontroller_launch" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L501", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_validate_inputs", - "target": "controller_creation_project_name_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L575", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_validate_inputs", - "target": "controller_creation_creationcontroller_resolve_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L576", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_validate_inputs", - "target": "controller_creation_attach_resolved" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L580", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_validate_inputs", - "target": "controller_creation_required_field_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L460", - "weight": 1.0, - "source": "controller_creation_rationale_460", - "target": "controller_creation_creationcontroller_validate_inputs", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_466", - "target": "controller_creation_creationcontroller_validate_inputs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L610", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_run_pipeline", - "target": "controller_creation_creationcontroller_pipeline_states" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L620", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_run_pipeline", - "target": "controller_creation_creationcontroller_cleanup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L621", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_run_pipeline", - "target": "controller_creation_creationcontroller_publish" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L624", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_run_pipeline", - "target": "controller_creation_format_error" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L625", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_run_pipeline", - "target": "controller_creation_creationcontroller_fail" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L602", - "weight": 1.0, - "source": "controller_creation_rationale_602", - "target": "controller_creation_creationcontroller_run_pipeline", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L608", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_608", - "target": "controller_creation_creationcontroller_run_pipeline" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L631", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_creationcontroller_compose_destination_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L653", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_creationcontroller_resolve_run_lims_block" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L656", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_creationcontroller_render" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L659", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_creationcontroller_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L660", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_creationcontroller_plugin_pass" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L664", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_creationcontroller_fail" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L672", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_creationcontroller_write_cache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L683", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_creationcontroller_post_validate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L684", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_has_hard_finding" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L701", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_creationcontroller_publish" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L722", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_pipeline_states", - "target": "controller_creation_creationcontroller_append_log" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L622", - "weight": 1.0, - "source": "controller_creation_rationale_622", - "target": "controller_creation_creationcontroller_pipeline_states", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L628", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_628", - "target": "controller_creation_creationcontroller_pipeline_states" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L832", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_render", - "target": "controller_creation_short_id_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L853", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_plugin_pass", - "target": "controller_creation_short_id_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L948", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "controller_creation_short_id_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L799", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_compose_destination_path", - "target": "controller_creation_project_name_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L831", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_render", - "target": "controller_creation_project_name_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1002", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "controller_creation_project_name_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L757", - "weight": 1.0, - "source": "controller_creation_rationale_757", - "target": "controller_creation_creationcontroller_resolve_run_lims_block", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L763", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_763", - "target": "controller_creation_creationcontroller_resolve_run_lims_block" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L950", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "controller_creation_run_kind_value_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1007", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "controller_creation_run_kind_value_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_post_validate", - "target": "controller_creation_run_kind_value_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_cleanup", - "target": "controller_creation_creationcontroller_compose_destination_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L810", - "weight": 1.0, - "source": "controller_creation_rationale_810", - "target": "controller_creation_creationcontroller_render", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L816", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_816", - "target": "controller_creation_creationcontroller_render" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L975", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "controller_creation_creationcontroller_build_readme_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L899", - "weight": 1.0, - "source": "controller_creation_rationale_899", - "target": "controller_creation_creationcontroller_build_readme_context", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L909", - "weight": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "controller_metadata_assembly_templatedesc" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L917", - "weight": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "controller_metadata_assembly_build_readme_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L930", - "weight": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "controller_metadata_assembly_os_username" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L914", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "controller_creation_readme_decls_from_template" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L915", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "controller_creation_readme_decls_from_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L942", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_build_readme_context", - "target": "controller_creation_os_username" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L905", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_905", - "target": "controller_creation_creationcontroller_build_readme_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1074", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "controller_creation_creationcontroller_write_equipment_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L943", - "weight": 1.0, - "source": "controller_creation_rationale_943", - "target": "controller_creation_creationcontroller_write_cache", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L991", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1019", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1024", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1008", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "controller_metadata_assembly_templatedesc" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1016", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "controller_metadata_assembly_build_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L973", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_973", - "target": "controller_creation_creationcontroller_write_cache" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1040", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1047", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1054", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1061", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_cache", - "target": "api_schemas_pathsblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1045", - "weight": 1.0, - "source": "controller_creation_rationale_1045", - "target": "controller_creation_creationcontroller_write_equipment_json", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1103", - "weight": 1.0, - "source": "controller_creation_creationcontroller_write_equipment_json", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1083", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_1083", - "target": "controller_creation_creationcontroller_write_equipment_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1082", - "weight": 1.0, - "source": "controller_creation_rationale_1082", - "target": "controller_creation_creationcontroller_post_validate", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_1120", - "target": "controller_creation_creationcontroller_post_validate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_transition", - "target": "controller_creation_creationcontroller_publish" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1164", - "weight": 1.0, - "source": "controller_creation_creationcontroller_transition", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_fail", - "target": "controller_creation_creationcontroller_publish" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_creationcontroller_fail", - "target": "controller_creation_creationcontroller_cleanup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1161", - "weight": 1.0, - "source": "controller_creation_rationale_1161", - "target": "controller_creation_creationcontroller_cleanup", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_1199", - "target": "controller_creation_creationcontroller_cleanup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1194", - "weight": 1.0, - "source": "controller_creation_rationale_1194", - "target": "controller_creation_creationcontroller_append_log", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_1232", - "target": "controller_creation_creationcontroller_append_log" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1219", - "weight": 1.0, - "source": "controller_creation_rationale_1219", - "target": "controller_creation_required_field_ids", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1257", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_1257", - "target": "controller_creation_required_field_ids" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1238", - "weight": 1.0, - "source": "controller_creation_rationale_1238", - "target": "controller_creation_attach_resolved", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1346", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_1346", - "target": "controller_creation_attach_resolved" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_state_machine_py", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_state_machine_py", - "target": "controller_state_machine_phase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_state_machine_py", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_state_machine_py", - "target": "controller_state_machine_build_valid_transitions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_state_machine_py", - "target": "controller_state_machine_assert_transition" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_state_machine_rationale_1", - "target": "src_exlab_wizard_controller_state_machine_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_state_machine_rationale_46", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_session_store_session", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_session_store_sessionstore", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_operations_operationentry", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_operations_operationsresponse", - "target": "controller_state_machine_sessionstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_state_machine_rationale_67", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_session_store_session", - "target": "controller_state_machine_phase" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L30", - "weight": 0.8, - "confidence_score": 0.5, - "source": "controller_session_store_sessionstore", - "target": "controller_state_machine_phase" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_state_machine_rationale_103", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L152", - "weight": 1.0, - "source": "controller_session_store_sessionstore_transition", - "target": "controller_state_machine_state_to_phase" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_state_machine_rationale_140", - "target": "controller_state_machine_build_valid_transitions" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/state_machine.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_state_machine_rationale_160", - "target": "controller_state_machine_assert_transition" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L150", - "weight": 1.0, - "source": "controller_session_store_sessionstore_transition", - "target": "controller_state_machine_assert_transition" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L68", - "weight": 1.0, - "source": "src_exlab_wizard_controller_metadata_assembly_py", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L96", - "weight": 1.0, - "source": "src_exlab_wizard_controller_metadata_assembly_py", - "target": "controller_metadata_assembly_build_readme_context", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L168", - "weight": 1.0, - "source": "src_exlab_wizard_controller_metadata_assembly_py", - "target": "controller_metadata_assembly_build_creation_json", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L230", - "weight": 1.0, - "source": "src_exlab_wizard_controller_metadata_assembly_py", - "target": "controller_metadata_assembly_readme_decls_from_template", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L262", - "weight": 1.0, - "source": "src_exlab_wizard_controller_metadata_assembly_py", - "target": "controller_metadata_assembly_readme_decls_from_config", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L287", - "weight": 1.0, - "source": "src_exlab_wizard_controller_metadata_assembly_py", - "target": "controller_metadata_assembly_os_username", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L1", - "weight": 1.0, - "source": "controller_metadata_assembly_rationale_1", - "target": "src_exlab_wizard_controller_metadata_assembly_py", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L69", - "weight": 1.0, - "source": "controller_metadata_assembly_rationale_69", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L34", - "weight": 0.8, - "source": "controller_metadata_assembly_templatedesc", - "target": "api_schemas_creationjson", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L34", - "weight": 0.8, - "source": "controller_metadata_assembly_templatedesc", - "target": "api_schemas_limsprojectblock", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L34", - "weight": 0.8, - "source": "controller_metadata_assembly_templatedesc", - "target": "api_schemas_orchestratorblock", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L34", - "weight": 0.8, - "source": "controller_metadata_assembly_templatedesc", - "target": "api_schemas_pathsblock", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L34", - "weight": 0.8, - "source": "controller_metadata_assembly_templatedesc", - "target": "api_schemas_pluginapplied", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L34", - "weight": 0.8, - "source": "controller_metadata_assembly_templatedesc", - "target": "api_schemas_templateblock", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L70", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "controller_metadata_assembly_templatedesc", - "confidence_score": 0.5 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L120", - "weight": 1.0, - "source": "controller_metadata_assembly_build_readme_context", - "target": "controller_metadata_assembly_readme_decls_from_template", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L121", - "weight": 1.0, - "source": "controller_metadata_assembly_build_readme_context", - "target": "controller_metadata_assembly_readme_decls_from_config", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L112", - "weight": 1.0, - "source": "controller_metadata_assembly_rationale_112", - "target": "controller_metadata_assembly_build_readme_context", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L431", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_metadata", - "target": "controller_metadata_assembly_build_readme_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L184", - "weight": 1.0, - "source": "controller_metadata_assembly_rationale_184", - "target": "controller_metadata_assembly_build_creation_json", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L194", - "weight": 1.0, - "source": "controller_metadata_assembly_build_creation_json", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L201", - "weight": 1.0, - "source": "controller_metadata_assembly_build_creation_json", - "target": "api_schemas_creationjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L208", - "weight": 1.0, - "source": "controller_metadata_assembly_build_creation_json", - "target": "api_schemas_templateblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L215", - "weight": 1.0, - "source": "controller_metadata_assembly_build_creation_json", - "target": "api_schemas_pathsblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L448", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_metadata", - "target": "controller_metadata_assembly_build_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L231", - "weight": 1.0, - "source": "controller_metadata_assembly_rationale_231", - "target": "controller_metadata_assembly_readme_decls_from_template", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L263", - "weight": 1.0, - "source": "controller_metadata_assembly_rationale_263", - "target": "controller_metadata_assembly_readme_decls_from_config", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/metadata_assembly.py", - "source_location": "L288", - "weight": 1.0, - "source": "controller_metadata_assembly_rationale_288", - "target": "controller_metadata_assembly_os_username", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_session_store_py", - "target": "controller_session_store_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_session_store_py", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L259", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_session_store_py", - "target": "controller_session_store_on_operations_panel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_controller_session_store_py", - "target": "controller_session_store_project_identifier" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_1", - "target": "src_exlab_wizard_controller_session_store_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_session", - "target": "controller_session_store_session_is_terminal" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore_open", - "target": "controller_session_store_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_47", - "target": "controller_session_store_session" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_88", - "target": "controller_session_store_session_is_terminal" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_open" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_get" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_iter_sorted" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_transition" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_attach_event_queue" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_heartbeat" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_close" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_abandoned_older_than" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_gc_loop" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore", - "target": "controller_session_store_sessionstore_gc_once" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_93", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L282", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "controller_session_store_sessionstore" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_105", - "target": "controller_session_store_sessionstore_open" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore_transition", - "target": "controller_session_store_sessionstore_get" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore_attach_event_queue", - "target": "controller_session_store_sessionstore_get" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore_heartbeat", - "target": "controller_session_store_sessionstore_get" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore_close", - "target": "controller_session_store_sessionstore_get" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore_gc_once", - "target": "controller_session_store_sessionstore_get" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L284", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_project_identifier", - "target": "controller_session_store_sessionstore_get" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_126", - "target": "controller_session_store_sessionstore_get" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_130", - "target": "controller_session_store_sessionstore_iter_sorted" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore_gc_once", - "target": "controller_session_store_sessionstore_transition" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_139", - "target": "controller_session_store_sessionstore_transition" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_160", - "target": "controller_session_store_sessionstore_attach_event_queue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_172", - "target": "controller_session_store_sessionstore_heartbeat" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore_gc_once", - "target": "controller_session_store_sessionstore_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_183", - "target": "controller_session_store_sessionstore_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore_gc_once", - "target": "controller_session_store_sessionstore_abandoned_older_than" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_203", - "target": "controller_session_store_sessionstore_abandoned_older_than" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_sessionstore_gc_loop", - "target": "controller_session_store_sessionstore_gc_once" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_219", - "target": "controller_session_store_sessionstore_gc_loop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_237", - "target": "controller_session_store_sessionstore_gc_once" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L260", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_260", - "target": "controller_session_store_on_operations_panel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/session_store.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_session_store_rationale_271", - "target": "controller_session_store_project_identifier" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L103", - "weight": 1.0, - "source": "routers_operations_session_to_entry", - "target": "controller_session_store_project_identifier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L29", - "weight": 1.0, - "source": "src_exlab_wizard_sample_data_spec_py", - "target": "sample_data_spec_samplefile", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L37", - "weight": 1.0, - "source": "src_exlab_wizard_sample_data_spec_py", - "target": "sample_data_spec_check_relpath", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L50", - "weight": 1.0, - "source": "src_exlab_wizard_sample_data_spec_py", - "target": "sample_data_spec_samplerun", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L63", - "weight": 1.0, - "source": "src_exlab_wizard_sample_data_spec_py", - "target": "sample_data_spec_sampleproject", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L75", - "weight": 1.0, - "source": "src_exlab_wizard_sample_data_spec_py", - "target": "sample_data_spec_check_short_id", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L85", - "weight": 1.0, - "source": "src_exlab_wizard_sample_data_spec_py", - "target": "sample_data_spec_check_name", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L97", - "weight": 1.0, - "source": "src_exlab_wizard_sample_data_spec_py", - "target": "sample_data_spec_sampleequipment", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L107", - "weight": 1.0, - "source": "src_exlab_wizard_sample_data_spec_py", - "target": "sample_data_spec_check_id", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/spec.py", - "source_location": "L1", - "weight": 1.0, - "source": "sample_data_spec_rationale_1", - "target": "src_exlab_wizard_sample_data_spec_py", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L86", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_spec_samplerun", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L86", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_spec_sampleproject", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L86", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_spec_sampleequipment", - "confidence_score": 0.5 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L121", - "weight": 1.0, - "source": "src_exlab_wizard_sample_data_generator_py", - "target": "sample_data_generator_generate_samples", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L147", - "weight": 1.0, - "source": "src_exlab_wizard_sample_data_generator_py", - "target": "sample_data_generator_sampledatagenerator", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L1", - "weight": 1.0, - "source": "sample_data_generator_rationale_1", - "target": "src_exlab_wizard_sample_data_generator_py", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L144", - "weight": 1.0, - "source": "sample_data_generator_generate_samples", - "target": "sample_data_generator_sampledatagenerator_generate", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L144", - "weight": 1.0, - "source": "sample_data_generator_generate_samples", - "target": "sample_data_generator_sampledatagenerator", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L127", - "weight": 1.0, - "source": "sample_data_generator_rationale_127", - "target": "sample_data_generator_generate_samples", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L38", - "weight": 1.0, - "source": "dev_seed_main", - "target": "sample_data_generator_generate_samples" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L150", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_generator_sampledatagenerator_init", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L163", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_generator_sampledatagenerator_generate", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L171", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_generator_sampledatagenerator_generate_async", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L194", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_generator_sampledatagenerator_build_and_reload_config", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L239", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_generator_sampledatagenerator_wipe", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L286", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_generator_sampledatagenerator_write_equipment", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L313", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_generator_sampledatagenerator_write_project", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L401", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_generator_sampledatagenerator_write_metadata", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L469", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_generator_sampledatagenerator_run_date", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L479", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator", - "target": "sample_data_generator_sampledatagenerator_write_payload", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L148", - "weight": 1.0, - "source": "sample_data_generator_rationale_148", - "target": "sample_data_generator_sampledatagenerator", - "confidence_score": 1.0 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L43", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "api_schemas_equipmentjson", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L43", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "api_schemas_limsprojectblock", - "confidence_score": 0.5 - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L43", - "weight": 0.8, - "source": "sample_data_generator_sampledatagenerator", - "target": "api_schemas_testrunsjson", - "confidence_score": 0.5 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L165", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_generate", - "target": "sample_data_generator_sampledatagenerator_generate_async", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L446", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_metadata", - "target": "sample_data_generator_sampledatagenerator_generate", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L164", - "weight": 1.0, - "source": "sample_data_generator_rationale_164", - "target": "sample_data_generator_sampledatagenerator_generate", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L172", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_generate_async", - "target": "sample_data_generator_sampledatagenerator_build_and_reload_config", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L185", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_generate_async", - "target": "sample_data_generator_sampledatagenerator_wipe", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L188", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_generate_async", - "target": "sample_data_generator_sampledatagenerator_write_equipment", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L195", - "weight": 1.0, - "source": "sample_data_generator_rationale_195", - "target": "sample_data_generator_sampledatagenerator_build_and_reload_config", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L240", - "weight": 1.0, - "source": "sample_data_generator_rationale_240", - "target": "sample_data_generator_sampledatagenerator_wipe", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L297", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_equipment", - "target": "sample_data_generator_sampledatagenerator_write_project", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L301", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_equipment", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L337", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "sample_data_generator_sampledatagenerator_write_metadata", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L357", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "sample_data_generator_sampledatagenerator_run_date", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L366", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "sample_data_generator_sampledatagenerator_write_payload", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L328", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L389", - "weight": 1.0, - "source": "sample_data_generator_sampledatagenerator_write_project", - "target": "api_schemas_testrunsjson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L420", - "weight": 1.0, - "source": "sample_data_generator_rationale_420", - "target": "sample_data_generator_sampledatagenerator_write_metadata", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L470", - "weight": 1.0, - "source": "sample_data_generator_rationale_470", - "target": "sample_data_generator_sampledatagenerator_run_date", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sample_data/generator.py", - "source_location": "L480", - "weight": 1.0, - "source": "sample_data_generator_rationale_480", - "target": "sample_data_generator_sampledatagenerator_write_payload", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_pywebview_app_py", - "target": "window_pywebview_app_build_window_url" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_pywebview_app_py", - "target": "window_pywebview_app_is_debug_enabled" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_pywebview_app_py", - "target": "window_pywebview_app_run_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_pywebview_app_py", - "target": "window_pywebview_app_import_webview" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_pywebview_app_rationale_1", - "target": "src_exlab_wizard_window_pywebview_app_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_pywebview_app_run_window", - "target": "window_pywebview_app_build_window_url" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_pywebview_app_rationale_43", - "target": "window_pywebview_app_build_window_url" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_pywebview_app_run_window", - "target": "window_pywebview_app_is_debug_enabled" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_pywebview_app_rationale_52", - "target": "window_pywebview_app_is_debug_enabled" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_pywebview_app_run_window", - "target": "window_pywebview_app_import_webview" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_pywebview_app_rationale_65", - "target": "window_pywebview_app_run_window" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L177", - "weight": 1.0, - "source": "window_main_default_handoff", - "target": "window_pywebview_app_run_window" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/pywebview_app.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_pywebview_app_rationale_94", - "target": "window_pywebview_app_import_webview" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_main_py", - "target": "window_main_serverhandshake" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_main_py", - "target": "window_main_read_server_handshake" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_main_py", - "target": "window_main_is_pid_alive" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_main_py", - "target": "window_main_posix_is_pid_alive" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_main_py", - "target": "window_main_win_is_pid_alive" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_main_py", - "target": "window_main_main" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_window_main_py", - "target": "window_main_default_handoff" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_rationale_1", - "target": "src_exlab_wizard_window_main_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_serverhandshake", - "target": "window_main_serverhandshake_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_read_server_handshake", - "target": "window_main_serverhandshake" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_rationale_39", - "target": "window_main_serverhandshake" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_main", - "target": "window_main_read_server_handshake" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_rationale_50", - "target": "window_main_read_server_handshake" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_is_pid_alive", - "target": "window_main_win_is_pid_alive" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_is_pid_alive", - "target": "window_main_posix_is_pid_alive" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_rationale_75", - "target": "window_main_is_pid_alive" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_rationale_140", - "target": "window_main_main" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/window/main.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "window_main_rationale_174", - "target": "window_main_default_handoff" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_health_py", - "target": "api_health_healthresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_health_py", - "target": "api_health_build_health_router" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_health_py", - "target": "api_health_component_rollup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_health_py", - "target": "api_health_validator_health" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_health_py", - "target": "api_health_nas_sync_health" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_health_py", - "target": "api_health_lims_health" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_health_py", - "target": "api_health_plugin_host_health" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_health_py", - "target": "api_health_session_store_health" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_health_py", - "target": "api_health_top_level_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_rationale_1", - "target": "src_exlab_wizard_api_health_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_rationale_36", - "target": "api_health_healthresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_rationale_48", - "target": "api_health_build_health_router" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L320", - "weight": 1.0, - "source": "api_app_create_app", - "target": "api_health_build_health_router" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_component_rollup", - "target": "api_health_validator_health" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_component_rollup", - "target": "api_health_nas_sync_health" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_component_rollup", - "target": "api_health_lims_health" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_component_rollup", - "target": "api_health_plugin_host_health" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_component_rollup", - "target": "api_health_session_store_health" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_rationale_73", - "target": "api_health_component_rollup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/health.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_health_rationale_162", - "target": "api_health_top_level_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_dependencies_py", - "target": "api_dependencies_lims_password_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_dependencies_py", - "target": "api_dependencies_nas_remote_available" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_dependencies_py", - "target": "api_dependencies_require_deps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_dependencies_py", - "target": "api_dependencies_require_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_dependencies_rationale_1", - "target": "src_exlab_wizard_api_dependencies_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_dependencies_py", - "target": "api_dependencies_nas_password_present" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_dependencies_rationale_32", - "target": "api_dependencies_lims_password_present" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L167", - "weight": 1.0, - "source": "api_setup_compute_setup_state", - "target": "api_dependencies_lims_password_present" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_dependencies_rationale_52", - "target": "api_dependencies_nas_remote_available" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L167", - "weight": 1.0, - "source": "api_setup_compute_setup_state", - "target": "api_dependencies_nas_remote_available" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_dependencies_rationale_75", - "target": "api_dependencies_require_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L335", - "weight": 1.0, - "source": "routers_problems_require_validator", - "target": "api_dependencies_require_deps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L349", - "weight": 1.0, - "source": "routers_problems_require_cache_writer", - "target": "api_dependencies_require_deps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_dependencies_rationale_76", - "target": "api_dependencies_require_deps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_dependencies_rationale_95", - "target": "api_dependencies_require_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_dependencies_rationale_96", - "target": "api_dependencies_require_controller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/_dependencies.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_dependencies_rationale_52", - "target": "api_dependencies_nas_password_present" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_events_py", - "target": "api_events_phaseevent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_events_py", - "target": "api_events_progressevent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_events_py", - "target": "api_events_inputrequiredevent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_events_py", - "target": "api_events_warningevent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_events_py", - "target": "api_events_doneevent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_events_py", - "target": "api_events_failedevent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_events_py", - "target": "api_events_snapshotevent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_events_py", - "target": "api_events_deltaevent" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_events_py", - "target": "api_events_encode_event" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_events_py", - "target": "api_events_event_from_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_1", - "target": "src_exlab_wizard_api_events_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_52", - "target": "api_events_phaseevent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_69", - "target": "api_events_progressevent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_82", - "target": "api_events_inputrequiredevent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_102", - "target": "api_events_warningevent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_119", - "target": "api_events_doneevent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_135", - "target": "api_events_failedevent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_152", - "target": "api_events_snapshotevent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_169", - "target": "api_events_deltaevent" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_190", - "target": "api_events_encode_event" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L355", - "weight": 1.0, - "source": "routers_sessions_stream_session_events", - "target": "api_events_encode_event" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L392", - "weight": 1.0, - "source": "routers_problems_stream_audit_channel", - "target": "api_events_encode_event" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/events.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_events_rationale_199", - "target": "api_events_event_from_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L349", - "weight": 1.0, - "source": "routers_sessions_stream_session_events", - "target": "api_events_event_from_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L389", - "weight": 1.0, - "source": "routers_problems_stream_audit_channel", - "target": "api_events_event_from_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_setupstatusresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_limstestrequest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_equipmenttestrequest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_proberesult" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_autostartrequest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_autostartresult" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_compute_setup_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_is_creation_blocked" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_setup_state_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_build_setup_router" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_coerce_probe_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_resolve_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_setup_py", - "target": "api_setup_await_or_call" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_1", - "target": "src_exlab_wizard_api_setup_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_72", - "target": "api_setup_setupstatusresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_73", - "target": "api_setup_setupstatusresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_83", - "target": "api_setup_limstestrequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_84", - "target": "api_setup_limstestrequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_99", - "target": "api_setup_equipmenttestrequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_100", - "target": "api_setup_equipmenttestrequest" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L322", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_coerce_probe_dict", - "target": "api_setup_proberesult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_115", - "target": "api_setup_proberesult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_116", - "target": "api_setup_proberesult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_133", - "target": "api_setup_autostartrequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_134", - "target": "api_setup_autostartrequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_141", - "target": "api_setup_autostartresult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_142", - "target": "api_setup_autostartresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_setup_state_gate", - "target": "api_setup_compute_setup_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_155", - "target": "api_setup_compute_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L106", - "weight": 1.0, - "source": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential", - "target": "api_setup_compute_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L168", - "weight": 1.0, - "source": "api_setup_compute_setup_state", - "target": "api_dependencies_nas_password_present" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_156", - "target": "api_setup_compute_setup_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_setup_state_gate", - "target": "api_setup_is_creation_blocked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_172", - "target": "api_setup_is_creation_blocked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_173", - "target": "api_setup_is_creation_blocked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L182", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_182", - "target": "api_setup_setup_state_gate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L203", - "weight": 1.0, - "source": "api_setup_setup_state_gate", - "target": "api_dependencies_nas_password_present" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_183", - "target": "api_setup_setup_state_gate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_217", - "target": "api_setup_build_setup_router" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L321", - "weight": 1.0, - "source": "api_app_create_app", - "target": "api_setup_build_setup_router" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_222", - "target": "api_setup_build_setup_router" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_302", - "target": "api_setup_coerce_probe_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_313", - "target": "api_setup_coerce_probe_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_319", - "target": "api_setup_resolve_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_330", - "target": "api_setup_resolve_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_338", - "target": "api_setup_await_or_call" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/setup.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_setup_rationale_349", - "target": "api_setup_await_or_call" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_templateblock" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_pathsblock" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_overrideentry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L242", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_tombstone_entry_to_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_parse_validation_override_entry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_creationjson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_schemas_py", - "target": "api_schemas_testrunsjson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_1", - "target": "src_exlab_wizard_api_schemas_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_87", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "api_schemas_limsprojectblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_107", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "api_schemas_templateblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "api_schemas_templateblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_123", - "target": "api_schemas_pluginisolation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_135", - "target": "api_schemas_pluginapplied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_153", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "api_schemas_pathsblock" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "api_schemas_pathsblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_164", - "target": "api_schemas_orchestratorblock" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_195", - "target": "api_schemas_overrideentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_findingresponse", - "target": "api_schemas_overrideentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_problemsresponse", - "target": "api_schemas_overrideentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_overriderequest", - "target": "api_schemas_overrideentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_overrideresponse", - "target": "api_schemas_overrideentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_revokerequest", - "target": "api_schemas_overrideentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_tombstoneresponse", - "target": "api_schemas_overrideentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_refreshresponse", - "target": "api_schemas_overrideentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_217", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_findingresponse", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_problemsresponse", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_overriderequest", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_overrideresponse", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_revokerequest", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_tombstoneresponse", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L37", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_problems_refreshresponse", - "target": "api_schemas_tombstoneentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_233", - "target": "api_schemas_override_entry_to_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_243", - "target": "api_schemas_tombstone_entry_to_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_252", - "target": "api_schemas_parse_validation_override_entry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_276", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_runnode", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_projectnode", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_equipmentnode", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_relayequipmentnode", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_treeresponse", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_folderentry", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_folderresponse", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_rundetail", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_runlogentry", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L29", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_browse_runlogresponse", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L24", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L24", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L24", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1344", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "api_schemas_creationjson" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L19", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "api_schemas_creationjson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_314", - "target": "api_schemas_readmefieldsjson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L335", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_335", - "target": "api_schemas_equipmentjson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/schemas.py", - "source_location": "L356", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_schemas_rationale_356", - "target": "api_schemas_testrunsjson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_app_py", - "target": "api_app_auditchannel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_app_py", - "target": "api_app_drain" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_app_py", - "target": "api_app_finding_to_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_app_py", - "target": "api_app_appdependencies" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_app_py", - "target": "api_app_create_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L339", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_app_py", - "target": "api_app_audit_loop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L381", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_app_py", - "target": "api_app_diff_findings" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_1", - "target": "src_exlab_wizard_api_app_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel", - "target": "api_app_auditchannel_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel", - "target": "api_app_auditchannel_subscribe" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel", - "target": "api_app_auditchannel_publish_snapshot" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel", - "target": "api_app_auditchannel_publish_delta" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel", - "target": "api_app_auditchannel_broadcast" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel", - "target": "api_app_auditchannel_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_create_app", - "target": "api_app_auditchannel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_78", - "target": "api_app_auditchannel" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel_subscribe", - "target": "api_app_drain" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_90", - "target": "api_app_auditchannel_subscribe" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel_publish_snapshot", - "target": "api_app_finding_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel_publish_snapshot", - "target": "api_app_auditchannel_broadcast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L371", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_audit_loop", - "target": "api_app_auditchannel_publish_snapshot" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel_publish_delta", - "target": "api_app_finding_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_auditchannel_publish_delta", - "target": "api_app_auditchannel_broadcast" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L373", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_audit_loop", - "target": "api_app_auditchannel_publish_delta" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_129", - "target": "api_app_auditchannel_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_140", - "target": "api_app_drain" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_153", - "target": "api_app_finding_to_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L271", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_create_app", - "target": "api_app_appdependencies" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_168", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L105", - "weight": 1.0, - "source": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential", - "target": "api_app_appdependencies" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L110", - "weight": 1.0, - "source": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", - "target": "api_app_appdependencies" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_265", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L315", - "weight": 1.0, - "source": "api_app_create_app", - "target": "routers_sessions_build_sessions_router" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L316", - "weight": 1.0, - "source": "api_app_create_app", - "target": "routers_operations_build_operations_router" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L317", - "weight": 1.0, - "source": "api_app_create_app", - "target": "routers_problems_build_problems_router" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L318", - "weight": 1.0, - "source": "api_app_create_app", - "target": "routers_config_build_config_router" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L319", - "weight": 1.0, - "source": "api_app_create_app", - "target": "routers_browse_build_browse_router" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L327", - "weight": 1.0, - "source": "api_app_create_app", - "target": "routers_staging_build_staging_router" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L330", - "weight": 1.0, - "source": "api_app_create_app", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L111", - "weight": 1.0, - "source": "api_test_setup_test_get_setup_status_lists_missing_nas_credential_per_equipment", - "target": "api_app_create_app" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_261", - "target": "api_app_create_app" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_audit_loop", - "target": "api_app_diff_findings" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L344", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_344", - "target": "api_app_audit_loop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L340", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_340", - "target": "api_app_audit_loop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L388", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_388", - "target": "api_app_diff_findings" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/app.py", - "source_location": "L384", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_app_rationale_384", - "target": "api_app_diff_findings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_extract_or_create_trace_id" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_build_error_envelope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_error_response" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_exlab_validation_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_pydantic_validation_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_pydantic_error_to_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_config_error_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_keyring_unavailable_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_schema_major_mismatch_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_setup_incomplete_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_template_load_error_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L303", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_http_exception_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L336", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_status_to_code" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_generic_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_errors_py", - "target": "api_errors_register" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_1", - "target": "src_exlab_wizard_api_errors_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_error_response", - "target": "api_errors_extract_or_create_trace_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L357", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_generic_handler", - "target": "api_errors_extract_or_create_trace_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_97", - "target": "api_errors_extract_or_create_trace_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_error_response", - "target": "api_errors_build_error_envelope" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_118", - "target": "api_errors_build_error_envelope" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_exlab_validation_handler", - "target": "api_errors_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_pydantic_validation_handler", - "target": "api_errors_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_config_error_handler", - "target": "api_errors_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_keyring_unavailable_handler", - "target": "api_errors_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_schema_major_mismatch_handler", - "target": "api_errors_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_setup_incomplete_handler", - "target": "api_errors_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L295", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_template_load_error_handler", - "target": "api_errors_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_http_exception_handler", - "target": "api_errors_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_generic_handler", - "target": "api_errors_error_response" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_150", - "target": "api_errors_error_response" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_176", - "target": "api_errors_exlab_validation_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_pydantic_validation_handler", - "target": "api_errors_pydantic_error_to_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_200", - "target": "api_errors_pydantic_validation_handler" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_229", - "target": "api_errors_pydantic_error_to_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_266", - "target": "api_errors_setup_incomplete_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_http_exception_handler", - "target": "api_errors_status_to_code" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_304", - "target": "api_errors_http_exception_handler" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_337", - "target": "api_errors_status_to_code" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L350", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_350", - "target": "api_errors_generic_handler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L383", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_register_exception_handlers", - "target": "api_errors_register" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L369", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_369", - "target": "api_errors_register_exception_handlers" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/errors.py", - "source_location": "L400", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_errors_rationale_400", - "target": "api_errors_register" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_runnode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_projectnode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_equipmentnode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_relayequipmentnode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_treeresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_folderentry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_folderresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_rundetail" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_runlogentry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_runlogresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_build_browse_router" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L341", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_run_log_from_queue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L375", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_path_is_under_allowed_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L405", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_build_equipment_node" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L420", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_build_received_equipment_nodes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L463", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_relay_label_from_first_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_find_run_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L515", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_read_sync_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L531", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_file_state_from_record" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L550", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_per_file_sync_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L571", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_run_relative_posix" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L579", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_iter_run_or_project_subdirs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L602", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_scan_projects" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L610", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_build_project_node" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L639", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_scan_run_children" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L652", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_build_run_node" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L675", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_run_rollup_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L696", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_read_readme" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L712", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_scan_folder_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L808", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_tombstone_entries" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L853", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_build_hierarchy_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L887", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_browse_py", - "target": "routers_browse_projects_for_ui_tree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_1", - "target": "src_exlab_wizard_api_routers_browse_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L666", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_run_node", - "target": "routers_browse_runnode" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L900", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_projects_for_ui_tree", - "target": "routers_browse_runnode" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L630", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_project_node", - "target": "routers_browse_projectnode" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L893", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_projects_for_ui_tree", - "target": "routers_browse_projectnode" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L410", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_equipment_node", - "target": "routers_browse_equipmentnode" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L873", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_hierarchy_dict", - "target": "routers_browse_equipmentnode" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_92", - "target": "routers_browse_equipmentnode" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L452", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_received_equipment_nodes", - "target": "routers_browse_relayequipmentnode" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_110", - "target": "routers_browse_relayequipmentnode" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L789", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_folder_sync", - "target": "routers_browse_folderentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L839", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_tombstone_entries", - "target": "routers_browse_folderentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_133", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "routers_browse_folderentry" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "routers_browse_folderentry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L805", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_folder_sync", - "target": "routers_browse_folderresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_157", - "target": "routers_browse_folderresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "routers_browse_folderresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1729", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "routers_browse_folderresponse" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_run_log_from_queue", - "target": "routers_browse_runlogentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_181", - "target": "routers_browse_runlogentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_200", - "target": "routers_browse_runlogresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_215", - "target": "routers_browse_build_browse_router" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L342", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_342", - "target": "routers_browse_run_log_from_queue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L732", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_folder_sync", - "target": "routers_browse_path_is_under_allowed_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_376", - "target": "routers_browse_path_is_under_allowed_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L347", - "weight": 1.0, - "source": "routers_staging_is_real_run", - "target": "routers_browse_path_is_under_allowed_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L407", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_equipment_node", - "target": "routers_browse_scan_projects" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L872", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_hierarchy_dict", - "target": "routers_browse_build_equipment_node" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_received_equipment_nodes", - "target": "routers_browse_scan_projects" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L454", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_received_equipment_nodes", - "target": "routers_browse_relay_label_from_first_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L878", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_hierarchy_dict", - "target": "routers_browse_build_received_equipment_nodes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L421", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_421", - "target": "routers_browse_build_received_equipment_nodes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_relay_label_from_first_run", - "target": "routers_browse_iter_run_or_project_subdirs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L464", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_464", - "target": "routers_browse_relay_label_from_first_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L560", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_per_file_sync_status", - "target": "routers_browse_find_run_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L772", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_folder_sync", - "target": "routers_browse_find_run_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L495", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_495", - "target": "routers_browse_find_run_root" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L563", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_per_file_sync_status", - "target": "routers_browse_read_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L773", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_folder_sync", - "target": "routers_browse_read_sync_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L516", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_516", - "target": "routers_browse_read_sync_state" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L568", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_per_file_sync_status", - "target": "routers_browse_file_state_from_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L795", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_folder_sync", - "target": "routers_browse_file_state_from_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L834", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_tombstone_entries", - "target": "routers_browse_file_state_from_record" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L532", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_532", - "target": "routers_browse_file_state_from_record" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L566", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_per_file_sync_status", - "target": "routers_browse_run_relative_posix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L551", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_551", - "target": "routers_browse_per_file_sync_status" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L784", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_folder_sync", - "target": "routers_browse_run_relative_posix" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L572", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_572", - "target": "routers_browse_run_relative_posix" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L606", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_projects", - "target": "routers_browse_iter_run_or_project_subdirs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L613", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_project_node", - "target": "routers_browse_iter_run_or_project_subdirs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L647", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_run_children", - "target": "routers_browse_iter_run_or_project_subdirs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L580", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_580", - "target": "routers_browse_iter_run_or_project_subdirs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L605", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_projects", - "target": "routers_browse_build_project_node" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L603", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_603", - "target": "routers_browse_scan_projects" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L616", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_project_node", - "target": "routers_browse_scan_run_children" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L628", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_project_node", - "target": "routers_browse_build_run_node" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L646", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_run_children", - "target": "routers_browse_build_run_node" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L665", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_run_node", - "target": "routers_browse_run_rollup_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L653", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_653", - "target": "routers_browse_build_run_node" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L676", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_676", - "target": "routers_browse_run_rollup_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L697", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_697", - "target": "routers_browse_read_readme" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L803", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_scan_folder_sync", - "target": "routers_browse_tombstone_entries" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L713", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_713", - "target": "routers_browse_scan_folder_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L814", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_814", - "target": "routers_browse_tombstone_entries" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L877", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_build_hierarchy_dict", - "target": "routers_browse_projects_for_ui_tree" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/browse.py", - "source_location": "L854", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_browse_rationale_854", - "target": "routers_browse_build_hierarchy_dict" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_sessions_py", - "target": "routers_sessions_projectsessionbody" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_sessions_py", - "target": "routers_sessions_runsessionbody" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_sessions_py", - "target": "routers_sessions_sessionhandleresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_sessions_py", - "target": "routers_sessions_resumebody" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_sessions_py", - "target": "routers_sessions_cancelbody" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_sessions_py", - "target": "routers_sessions_build_sessions_router" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L284", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_sessions_py", - "target": "routers_sessions_build_project_request" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L297", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_sessions_py", - "target": "routers_sessions_build_run_request" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L316", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_sessions_py", - "target": "routers_sessions_handle_to_response" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L336", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_sessions_py", - "target": "routers_sessions_stream_session_events" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_rationale_1", - "target": "src_exlab_wizard_api_routers_sessions_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_rationale_64", - "target": "routers_sessions_projectsessionbody" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_rationale_84", - "target": "routers_sessions_runsessionbody" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_handle_to_response", - "target": "routers_sessions_sessionhandleresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_rationale_106", - "target": "routers_sessions_sessionhandleresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_rationale_120", - "target": "routers_sessions_resumebody" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_rationale_128", - "target": "routers_sessions_cancelbody" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_rationale_141", - "target": "routers_sessions_build_sessions_router" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L317", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_rationale_317", - "target": "routers_sessions_handle_to_response" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/sessions.py", - "source_location": "L341", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_sessions_rationale_341", - "target": "routers_sessions_stream_session_events" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_config_py", - "target": "routers_config_configupdateresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_config_py", - "target": "routers_config_equipmentappendresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_config_py", - "target": "routers_config_build_config_router" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_config_py", - "target": "routers_config_await_or_call" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_config_py", - "target": "routers_config_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_config_rationale_1", - "target": "src_exlab_wizard_api_routers_config_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_config_rationale_47", - "target": "routers_config_configupdateresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_config_rationale_58", - "target": "routers_config_equipmentappendresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_config_rationale_75", - "target": "routers_config_build_config_router" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_config_rationale_164", - "target": "routers_config_await_or_call" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/config.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_config_rationale_172", - "target": "routers_config_apply_live_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_init_rationale_1", - "target": "src_exlab_wizard_api_routers_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_operations_py", - "target": "routers_operations_operationentry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_operations_py", - "target": "routers_operations_operationsresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_operations_py", - "target": "routers_operations_build_operations_router" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_operations_py", - "target": "routers_operations_session_to_entry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_operations_rationale_1", - "target": "src_exlab_wizard_api_routers_operations_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L96", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_operations_session_to_entry", - "target": "routers_operations_operationentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_operations_rationale_37", - "target": "routers_operations_operationentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_operations_rationale_52", - "target": "routers_operations_operationsresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/operations.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_operations_rationale_60", - "target": "routers_operations_build_operations_router" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_findingresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_problemsresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_overriderequest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_overrideresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_revokerequest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_tombstoneresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_refreshresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_build_problems_router" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L292", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_build_scope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L321", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_matches_filters" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_last_audit_at" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_require_validator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_require_cache_writer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L362", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_require_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L381", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_problems_py", - "target": "routers_problems_stream_audit_channel" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_rationale_1", - "target": "src_exlab_wizard_api_routers_problems_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_rationale_68", - "target": "routers_problems_findingresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_rationale_84", - "target": "routers_problems_problemsresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_rationale_93", - "target": "routers_problems_overriderequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_rationale_104", - "target": "routers_problems_overrideresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_rationale_118", - "target": "routers_problems_revokerequest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_rationale_139", - "target": "routers_problems_refreshresponse" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_rationale_153", - "target": "routers_problems_build_problems_router" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L363", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_rationale_363", - "target": "routers_problems_require_creation_json" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/problems.py", - "source_location": "L382", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_problems_rationale_382", - "target": "routers_problems_stream_audit_channel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_stagedrunrow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_staginglistresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_forcesyncresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_clearresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_clearverifiedresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_keeplocalrequest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_keeplocalresponse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_build_staging_router" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_row_from_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_is_real_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_require_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L370", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_api_routers_staging_py", - "target": "routers_staging_require_nas_sync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_1", - "target": "src_exlab_wizard_api_routers_staging_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L316", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_row_from_summary", - "target": "routers_staging_stagedrunrow" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_60", - "target": "routers_staging_stagedrunrow" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_stagedrunrow", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_76", - "target": "routers_staging_staginglistresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_staginglistresponse", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_84", - "target": "routers_staging_forcesyncresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_forcesyncresponse", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_94", - "target": "routers_staging_clearresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_clearresponse", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_104", - "target": "routers_staging_clearverifiedresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_clearverifiedresponse", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_112", - "target": "routers_staging_keeplocalrequest" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_keeplocalrequest", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_127", - "target": "routers_staging_keeplocalresponse" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "routers_staging_keeplocalresponse", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_142", - "target": "routers_staging_build_staging_router" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_330", - "target": "routers_staging_is_real_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/api/routers/staging.py", - "source_location": "L353", - "weight": 1.0, - "confidence_score": 1.0, - "source": "routers_staging_rationale_353", - "target": "routers_staging_require_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/dev/__init__.py", - "source_location": "L1", - "weight": 1.0, - "source": "dev_init_rationale_1", - "target": "src_exlab_wizard_dev_init_py", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L15", - "weight": 1.0, - "source": "src_exlab_wizard_dev_seed_py", - "target": "dev_seed_main", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L1", - "weight": 1.0, - "source": "dev_seed_rationale_1", - "target": "src_exlab_wizard_dev_seed_py", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/dev/seed.py", - "source_location": "L16", - "weight": 1.0, - "source": "dev_seed_rationale_16", - "target": "dev_seed_main", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_queue_py", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_queue_py", - "target": "sync_queue_syncjobrow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_queue_py", - "target": "sync_queue_decode_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_queue_py", - "target": "sync_queue_encode_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_queue_py", - "target": "sync_queue_row_to_job" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_queue_py", - "target": "sync_queue_compute_next_attempt_at" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_queue_py", - "target": "sync_queue_syncqueue" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_queue_py", - "target": "sync_queue_db_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L541", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_queue_py", - "target": "sync_queue_is_terminal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_1", - "target": "src_exlab_wizard_sync_queue_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_row_to_job", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_70", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L44", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L44", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L44", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L45", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "sync_queue_syncjobstate" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_row_to_job", - "target": "sync_queue_syncjobrow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L274", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_insert", - "target": "sync_queue_syncjobrow" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_117", - "target": "sync_queue_syncjobrow" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L44", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "sync_queue_syncjobrow" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L44", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "sync_queue_syncjobrow" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L44", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "sync_queue_syncjobrow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_row_to_job", - "target": "sync_queue_decode_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_135", - "target": "sync_queue_decode_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_insert", - "target": "sync_queue_encode_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L529", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_requeue_with_files", - "target": "sync_queue_encode_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_152", - "target": "sync_queue_encode_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L321", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_get_by_id", - "target": "sync_queue_row_to_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_get_by_run_path", - "target": "sync_queue_row_to_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_list_in_state", - "target": "sync_queue_row_to_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L353", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_list_all", - "target": "sync_queue_row_to_job" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_157", - "target": "sync_queue_row_to_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L465", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_record_failure", - "target": "sync_queue_compute_next_attempt_at" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_176", - "target": "sync_queue_compute_next_attempt_at" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_close" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_require_conn" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_require_job" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L256", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_insert" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_get_by_id" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_get_by_run_path" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L336", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_list_in_state" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L347", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_list_all" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L357", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_transition" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L425", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_record_failure" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L475", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_reset_to_queued" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L500", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_requeue_with_files" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L534", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue", - "target": "sync_queue_syncqueue_delete" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L191", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_191", - "target": "sync_queue_syncqueue" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L44", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "sync_queue_syncqueue" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L44", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "sync_queue_syncqueue" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L44", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "sync_queue_syncqueue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L301", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_init", - "target": "sync_queue_syncqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_207", - "target": "sync_queue_syncqueue_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L318", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_get_by_id", - "target": "sync_queue_syncqueue_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_get_by_run_path", - "target": "sync_queue_syncqueue_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L344", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_list_in_state", - "target": "sync_queue_syncqueue_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_list_all", - "target": "sync_queue_syncqueue_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L230", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_230", - "target": "sync_queue_syncqueue_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_insert", - "target": "sync_queue_syncqueue_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_get_by_id", - "target": "sync_queue_syncqueue_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_get_by_run_path", - "target": "sync_queue_syncqueue_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_list_in_state", - "target": "sync_queue_syncqueue_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_list_all", - "target": "sync_queue_syncqueue_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_transition", - "target": "sync_queue_syncqueue_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L484", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_reset_to_queued", - "target": "sync_queue_syncqueue_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L515", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_requeue_with_files", - "target": "sync_queue_syncqueue_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L536", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_delete", - "target": "sync_queue_syncqueue_require_conn" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L248", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_require_job", - "target": "sync_queue_syncqueue_get_by_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L375", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_transition", - "target": "sync_queue_syncqueue_require_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L442", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_record_failure", - "target": "sync_queue_syncqueue_require_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L483", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_reset_to_queued", - "target": "sync_queue_syncqueue_require_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L514", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_requeue_with_files", - "target": "sync_queue_syncqueue_require_job" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L242", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_242", - "target": "sync_queue_syncqueue_require_job" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_265", - "target": "sync_queue_syncqueue_insert" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L498", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_reset_to_queued", - "target": "sync_queue_syncqueue_get_by_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L532", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_requeue_with_files", - "target": "sync_queue_syncqueue_get_by_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_311", - "target": "sync_queue_syncqueue_get_by_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_324", - "target": "sync_queue_syncqueue_get_by_run_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_337", - "target": "sync_queue_syncqueue_list_in_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L348", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_348", - "target": "sync_queue_syncqueue_list_all" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L447", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_syncqueue_record_failure", - "target": "sync_queue_syncqueue_transition" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L370", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_370", - "target": "sync_queue_syncqueue_transition" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L433", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_433", - "target": "sync_queue_syncqueue_record_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L476", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_476", - "target": "sync_queue_syncqueue_reset_to_queued" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L505", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_505", - "target": "sync_queue_syncqueue_requeue_with_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/queue.py", - "source_location": "L535", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_queue_rationale_535", - "target": "sync_queue_syncqueue_delete" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_manifest_py", - "target": "sync_manifest_remoteentry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_manifest_py", - "target": "sync_manifest_remotemanifest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_manifest_py", - "target": "sync_manifest_to_epoch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_manifest_py", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_rationale_1", - "target": "src_exlab_wizard_sync_manifest_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_parse_lsjson", - "target": "sync_manifest_remoteentry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_rationale_28", - "target": "sync_manifest_remoteentry" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_remotemanifest", - "target": "sync_manifest_remotemanifest_size_matches" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_remotemanifest", - "target": "sync_manifest_remotemanifest_has" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_remotemanifest", - "target": "sync_manifest_remotemanifest_matches" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_parse_lsjson", - "target": "sync_manifest_remotemanifest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_rationale_37", - "target": "sync_manifest_remotemanifest" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "sync_manifest_remotemanifest" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "sync_manifest_remotemanifest" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L42", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "sync_manifest_remotemanifest" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_rationale_42", - "target": "sync_manifest_remotemanifest_size_matches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_rationale_47", - "target": "sync_manifest_remotemanifest_has" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_remotemanifest_matches", - "target": "sync_manifest_to_epoch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_rationale_53", - "target": "sync_manifest_remotemanifest_matches" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/manifest.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_manifest_rationale_84", - "target": "sync_manifest_parse_lsjson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_syncjobhandle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_remote_subpath" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_build_driver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_remoteresolution" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L257", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L887", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_discover_run_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L912", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_file_signature" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L921", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_write_files_from" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1046", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_compute_nas_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_1", - "target": "src_exlab_wizard_sync_nas_client_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_remote_name_for" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_build_target_for" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_resolve_env_for_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_nas_client_py", - "target": "sync_nas_client_build_transport_driver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_enqueue", - "target": "sync_nas_client_syncjobhandle" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_94", - "target": "sync_nas_client_syncjobhandle" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L55", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "sync_verifier_verifyresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_syncjobhandle", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_99", - "target": "sync_nas_client_syncjobhandle" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L681", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_target_for_equipment", - "target": "sync_nas_client_remote_subpath" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_113", - "target": "sync_nas_client_remote_subpath" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L692", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_driver_for_equipment", - "target": "sync_nas_client_build_driver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_126", - "target": "sync_nas_client_build_driver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L139", - "weight": 1.0, - "source": "sync_nas_client_build_driver", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L665", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_resolve_remote", - "target": "sync_nas_client_remoteresolution" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_148", - "target": "sync_nas_client_remoteresolution" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L55", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L56", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_remoteresolution", - "target": "sync_verifier_verifyresult" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L328", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_apply_config" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_close" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L347", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_enqueue" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L441", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_status" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L452", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_retry" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L457", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_force_verify" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L502", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_worker_loop" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L522", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_next_due_job" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L533", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_drive_job" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L619", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_handle_verify_transport_error" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L652", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_resolve_remote" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L673", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_target_for_equipment" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L684", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_driver_for_equipment" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L754", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_build_push" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L766", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_build_check" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L741", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_build_lsjson" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L779", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_compute_local_shas" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L822", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_handle_push_failure" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L940", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_maybe_cleanup" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1002", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_delete_local" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1023", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_infer_equipment_id" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1050", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_mark_blocked" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1059", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_mark_synced" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1072", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_mark_cleaned" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_169", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L55", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L61", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "sync_verifier_verifyresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L41", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L804", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L848", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1041", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L388", - "weight": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L454", - "weight": 1.0, - "source": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L522", - "weight": 1.0, - "source": "integration_test_nas_sync_test_remote_hash_mismatch_terminal", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_nas_client_nassyncclient", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L846", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient", - "target": "sync_nas_client_nassyncclient_reconcile_synced_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L258", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_258", - "target": "sync_nas_client_nassyncclient" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_init", - "target": "sync_nas_client_nassyncclient_worker_loop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_243", - "target": "sync_nas_client_nassyncclient_init" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_329", - "target": "sync_nas_client_nassyncclient_init" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_228", - "target": "sync_nas_client_nassyncclient_apply_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L314", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_314", - "target": "sync_nas_client_nassyncclient_apply_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L937", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_write_files_from", - "target": "sync_nas_client_nassyncclient_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_249", - "target": "sync_nas_client_nassyncclient_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L335", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_335", - "target": "sync_nas_client_nassyncclient_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_enqueue", - "target": "sync_nas_client_nassyncclient_mark_blocked" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L402", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_enqueue", - "target": "sync_nas_client_nassyncclient_infer_equipment_id" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_enqueue", - "target": "sync_nas_client_compute_nas_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_266", - "target": "sync_nas_client_nassyncclient_enqueue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L388", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_enqueue", - "target": "sync_pre_sync_gate_is_eligible" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_352", - "target": "sync_nas_client_nassyncclient_enqueue" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L356", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_356", - "target": "sync_nas_client_nassyncclient_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L442", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_442", - "target": "sync_nas_client_nassyncclient_status" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L367", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_367", - "target": "sync_nas_client_nassyncclient_retry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L453", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_453", - "target": "sync_nas_client_nassyncclient_retry" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L488", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_force_verify", - "target": "sync_nas_client_nassyncclient_build_check" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_force_verify", - "target": "sync_nas_client_write_files_from" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L372", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_372", - "target": "sync_nas_client_nassyncclient_force_verify" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L480", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_force_verify", - "target": "sync_verifier_verifyresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L492", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_force_verify", - "target": "transports_rclone_rclonedriver_check" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L458", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_458", - "target": "sync_nas_client_nassyncclient_force_verify" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L505", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_worker_loop", - "target": "sync_nas_client_nassyncclient_next_due_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L516", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_worker_loop", - "target": "sync_nas_client_nassyncclient_drive_job" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L417", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_417", - "target": "sync_nas_client_nassyncclient_worker_loop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L503", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_503", - "target": "sync_nas_client_nassyncclient_worker_loop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L437", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_437", - "target": "sync_nas_client_nassyncclient_next_due_job" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L523", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_523", - "target": "sync_nas_client_nassyncclient_next_due_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L596", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_discover_run_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L597", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_nassyncclient_compute_local_shas" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L603", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_nassyncclient_build_push" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_write_files_from" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L619", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_nassyncclient_handle_push_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L649", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_nassyncclient_mark_synced" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L650", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_nassyncclient_maybe_cleanup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L561", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_nassyncclient_build_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L565", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_nassyncclient_handle_verify_transport_error" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L576", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_file_signature" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_448", - "target": "sync_nas_client_nassyncclient_drive_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L584", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_bandwidth_effective_bandwidth_limit_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L609", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "transports_rclone_rclonedriver_push" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L563", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "transports_rclone_rclonedriver_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L634", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_nassyncclient_build_check" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L683", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_nas_client_nassyncclient_reconcile_synced_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L534", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_534", - "target": "sync_nas_client_nassyncclient_drive_job" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L656", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "transports_rclone_rclonedriver_check" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L658", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_drive_job", - "target": "sync_verifier_verifyresult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L620", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_620", - "target": "sync_nas_client_nassyncclient_handle_verify_transport_error" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L680", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_target_for_equipment", - "target": "sync_nas_client_nassyncclient_resolve_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L693", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_driver_for_equipment", - "target": "sync_nas_client_nassyncclient_resolve_remote" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L756", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_build_lsjson", - "target": "sync_nas_client_nassyncclient_resolve_remote" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L653", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_653", - "target": "sync_nas_client_nassyncclient_resolve_remote" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L674", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_674", - "target": "sync_nas_client_nassyncclient_target_for_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L707", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_build_push", - "target": "sync_nas_client_nassyncclient_driver_for_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L733", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_build_check", - "target": "sync_nas_client_nassyncclient_driver_for_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L755", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_build_lsjson", - "target": "sync_nas_client_nassyncclient_driver_for_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L685", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_685", - "target": "sync_nas_client_nassyncclient_driver_for_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L697", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_697", - "target": "sync_nas_client_nassyncclient_build_push" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L763", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_build_push", - "target": "sync_nas_client_build_transport_driver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L755", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_755", - "target": "sync_nas_client_nassyncclient_build_push" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L958", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "sync_nas_client_nassyncclient_build_check" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L723", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_723", - "target": "sync_nas_client_nassyncclient_build_check" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L776", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_build_check", - "target": "sync_nas_client_build_transport_driver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L767", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_767", - "target": "sync_nas_client_nassyncclient_build_check" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L948", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "sync_nas_client_nassyncclient_build_lsjson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L742", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_742", - "target": "sync_nas_client_nassyncclient_build_lsjson" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L771", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_771", - "target": "sync_nas_client_nassyncclient_compute_local_shas" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L784", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_784", - "target": "sync_nas_client_nassyncclient_compute_local_shas" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L810", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_810", - "target": "sync_nas_client_nassyncclient_handle_push_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L823", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_823", - "target": "sync_nas_client_nassyncclient_handle_push_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L874", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_reconcile_synced_files", - "target": "sync_nas_client_file_signature" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L959", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "sync_nas_client_write_files_from" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L992", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "sync_nas_client_nassyncclient_delete_local" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L993", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "sync_nas_client_nassyncclient_mark_cleaned" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L888", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_888", - "target": "sync_nas_client_nassyncclient_maybe_cleanup" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L977", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "sync_cleanup_cleanup_interlocks_satisfied" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L950", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "transports_rclone_rclonedriver_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L962", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_maybe_cleanup", - "target": "transports_rclone_rclonedriver_check" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L941", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_941", - "target": "sync_nas_client_nassyncclient_maybe_cleanup" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L993", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_993", - "target": "sync_nas_client_nassyncclient_delete_local" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1015", - "weight": 1.0, - "source": "sync_nas_client_nassyncclient_delete_local", - "target": "sync_run_delete_delete_run_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1007", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_1007", - "target": "sync_nas_client_nassyncclient_delete_local" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1010", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_1010", - "target": "sync_nas_client_nassyncclient_infer_equipment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1024", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_1024", - "target": "sync_nas_client_nassyncclient_infer_equipment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1037", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_1037", - "target": "sync_nas_client_nassyncclient_mark_blocked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1051", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_1051", - "target": "sync_nas_client_nassyncclient_mark_blocked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1046", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_1046", - "target": "sync_nas_client_nassyncclient_mark_synced" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1060", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_1060", - "target": "sync_nas_client_nassyncclient_mark_synced" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1059", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_1059", - "target": "sync_nas_client_nassyncclient_mark_cleaned" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L1073", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_1073", - "target": "sync_nas_client_nassyncclient_mark_cleaned" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_cleanup_py", - "target": "sync_cleanup_has_recent_revocation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L65", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_cleanup_py", - "target": "sync_cleanup_cleanup_interlocks_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_cleanup_rationale_1", - "target": "src_exlab_wizard_sync_cleanup_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_cleanup_cleanup_interlocks_satisfied", - "target": "sync_cleanup_has_recent_revocation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_cleanup_rationale_45", - "target": "sync_cleanup_has_recent_revocation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/cleanup.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_cleanup_rationale_74", - "target": "sync_cleanup_cleanup_interlocks_satisfied" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_bandwidth_py", - "target": "sync_bandwidth_mbps_to_kibps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_bandwidth_py", - "target": "sync_bandwidth_parse_hhmm" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_bandwidth_py", - "target": "sync_bandwidth_is_window_active" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_bandwidth_py", - "target": "sync_bandwidth_effective_bandwidth_limit_kibps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_bandwidth_rationale_1", - "target": "src_exlab_wizard_sync_bandwidth_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_bandwidth_effective_bandwidth_limit_kibps", - "target": "sync_bandwidth_mbps_to_kibps" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_bandwidth_rationale_42", - "target": "sync_bandwidth_mbps_to_kibps" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_bandwidth_is_window_active", - "target": "sync_bandwidth_parse_hhmm" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_bandwidth_rationale_56", - "target": "sync_bandwidth_parse_hhmm" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_bandwidth_effective_bandwidth_limit_kibps", - "target": "sync_bandwidth_is_window_active" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_bandwidth_rationale_64", - "target": "sync_bandwidth_is_window_active" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/bandwidth.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_bandwidth_rationale_89", - "target": "sync_bandwidth_effective_bandwidth_limit_kibps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_pre_sync_gate_py", - "target": "sync_pre_sync_gate_file_names_in_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_pre_sync_gate_py", - "target": "sync_pre_sync_gate_is_eligible" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_pre_sync_gate_rationale_1", - "target": "src_exlab_wizard_sync_pre_sync_gate_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_pre_sync_gate_is_eligible", - "target": "sync_pre_sync_gate_file_names_in_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_pre_sync_gate_rationale_33", - "target": "sync_pre_sync_gate_file_names_in_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/pre_sync_gate.py", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_pre_sync_gate_rationale_52", - "target": "sync_pre_sync_gate_is_eligible" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_verifier_py", - "target": "sync_verifier_verifyresult" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_verifier_py", - "target": "sync_verifier_from_check_result" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_verifier_py", - "target": "sync_verifier_verifier" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_verifier_rationale_1", - "target": "src_exlab_wizard_sync_verifier_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_verifier_verifier_verify", - "target": "sync_verifier_verifyresult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_verifier_rationale_43", - "target": "sync_verifier_verifyresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_verifier_verifyresult", - "target": "transports_rclone_checkresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L104", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_verifier_verifyresult", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_verifier_verifier_verify", - "target": "sync_verifier_from_check_result" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_verifier_verifier", - "target": "sync_verifier_verifier_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_verifier_verifier", - "target": "sync_verifier_verifier_verify" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_verifier_rationale_94", - "target": "sync_verifier_verifier" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L34", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_verifier_verifier", - "target": "transports_rclone_checkresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L104", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_verifier_verifier", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_verifier_rationale_116", - "target": "sync_verifier_verifier_verify" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/verifier.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_verifier_rationale_118", - "target": "sync_verifier_verifier_verify" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_run_delete_py", - "target": "sync_run_delete_delete_run_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_run_delete_py", - "target": "sync_run_delete_prune_empty_dirs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_run_delete_rationale_1", - "target": "src_exlab_wizard_sync_run_delete_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_run_delete_delete_run_files", - "target": "sync_run_delete_prune_empty_dirs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_run_delete_rationale_44", - "target": "sync_run_delete_delete_run_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_clear.py", - "source_location": "L68", - "weight": 1.0, - "source": "orchestrator_staging_clear_clear_run_dir", - "target": "sync_run_delete_delete_run_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/run_delete.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_run_delete_rationale_95", - "target": "sync_run_delete_prune_empty_dirs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_init_py", - "target": "transports_init_transporterrorkind" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_init_py", - "target": "transports_init_transportresult" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_init_py", - "target": "transports_init_transporterror" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_init_rationale_1", - "target": "src_exlab_wizard_sync_transports_init_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_init_rationale_22", - "target": "transports_init_transporterrorkind" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_init_rationale_46", - "target": "transports_init_transportresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L265", - "weight": 1.0, - "source": "transports_rclone_rclonedriver_push", - "target": "transports_init_transportresult" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_init_transporterror", - "target": "transports_init_transporterror_init" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/__init__.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_init_rationale_61", - "target": "transports_init_transporterror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L262", - "weight": 1.0, - "source": "transports_rclone_rclonedriver_push", - "target": "transports_init_transporterror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L330", - "weight": 1.0, - "source": "transports_rclone_rclonedriver_check", - "target": "transports_init_transporterror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L344", - "weight": 1.0, - "source": "transports_rclone_rclonedriver_lsjson", - "target": "transports_init_transporterror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L174", - "weight": 1.0, - "source": "sync_nas_client_resolve_env_for_equipment", - "target": "transports_init_transporterror" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L206", - "weight": 1.0, - "source": "transports_rclone_obscure", - "target": "transports_init_transporterror" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_rclone_py", - "target": "transports_rclone_classify_failure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_rclone_py", - "target": "transports_rclone_checkresult" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_rclone_py", - "target": "transports_rclone_aboutresult" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_rclone_py", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L400", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_rclone_py", - "target": "transports_rclone_parse_combined" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_1", - "target": "src_exlab_wizard_sync_transports_rclone_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_rclone_py", - "target": "transports_rclone_build_rclone_env" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_rclone_py", - "target": "transports_rclone_pass_env_keys_for" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L188", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_rclone_py", - "target": "transports_rclone_obscure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_push", - "target": "transports_rclone_classify_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L344", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_check", - "target": "transports_rclone_classify_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L384", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_about", - "target": "transports_rclone_classify_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L346", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_lsjson", - "target": "transports_rclone_classify_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_59", - "target": "transports_rclone_classify_failure" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_70", - "target": "transports_rclone_classify_failure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L432", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_parse_combined", - "target": "transports_rclone_checkresult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_83", - "target": "transports_rclone_checkresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L833", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "transports_rclone_checkresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L150", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_rclone_checkresult", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L150", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_rclone_checkresult", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_94", - "target": "transports_rclone_checkresult" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L381", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_about", - "target": "transports_rclone_aboutresult" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_106", - "target": "transports_rclone_aboutresult" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L150", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_rclone_aboutresult", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L150", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_rclone_aboutresult", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_117", - "target": "transports_rclone_aboutresult" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver", - "target": "transports_rclone_rclonedriver_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver", - "target": "transports_rclone_rclonedriver_global_flags" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver", - "target": "transports_rclone_rclonedriver_checkers_flags" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver", - "target": "transports_rclone_rclonedriver_push" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver", - "target": "transports_rclone_rclonedriver_check" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver", - "target": "transports_rclone_rclonedriver_about" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver", - "target": "transports_rclone_rclonedriver_lsjson" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver", - "target": "transports_rclone_rclonedriver_listremotes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_125", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L140", - "weight": 1.0, - "source": "sync_test_transports_test_rclone_push_forwards_env", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L150", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_rclone_rclonedriver", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L150", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_rclone_rclonedriver", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L219", - "weight": 1.0, - "source": "sync_nas_client_build_transport_driver", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L221", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_221", - "target": "transports_rclone_rclonedriver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_push", - "target": "transports_rclone_rclonedriver_global_flags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_check", - "target": "transports_rclone_rclonedriver_global_flags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L306", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_about", - "target": "transports_rclone_rclonedriver_global_flags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_lsjson", - "target": "transports_rclone_rclonedriver_global_flags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_listremotes", - "target": "transports_rclone_rclonedriver_global_flags" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_141", - "target": "transports_rclone_rclonedriver_global_flags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_push", - "target": "transports_rclone_rclonedriver_checkers_flags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_check", - "target": "transports_rclone_rclonedriver_checkers_flags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L337", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_lsjson", - "target": "transports_rclone_rclonedriver_checkers_flags" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_148", - "target": "transports_rclone_rclonedriver_checkers_flags" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_166", - "target": "transports_rclone_rclonedriver_push" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L259", - "weight": 1.0, - "source": "transports_rclone_rclonedriver_push", - "target": "transports_run_run_subprocess" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_236", - "target": "transports_rclone_rclonedriver_push" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rclonedriver_check", - "target": "transports_rclone_parse_combined" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_217", - "target": "transports_rclone_rclonedriver_check" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L327", - "weight": 1.0, - "source": "transports_rclone_rclonedriver_check", - "target": "transports_run_run_subprocess" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_286", - "target": "transports_rclone_rclonedriver_check" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L295", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_295", - "target": "transports_rclone_rclonedriver_about" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L379", - "weight": 1.0, - "source": "transports_rclone_rclonedriver_about", - "target": "transports_run_run_subprocess" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L365", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_365", - "target": "transports_rclone_rclonedriver_about" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_326", - "target": "transports_rclone_rclonedriver_lsjson" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L341", - "weight": 1.0, - "source": "transports_rclone_rclonedriver_lsjson", - "target": "transports_run_run_subprocess" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L352", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_352", - "target": "transports_rclone_rclonedriver_listremotes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L360", - "weight": 1.0, - "source": "transports_rclone_rclonedriver_listremotes", - "target": "transports_run_run_subprocess" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L374", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_374", - "target": "transports_rclone_parse_combined" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_401", - "target": "transports_rclone_parse_combined" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_141", - "target": "transports_rclone_build_rclone_env" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/_run.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_sync_transports_run_py", - "target": "transports_run_run_subprocess" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/_run.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_run_rationale_1", - "target": "src_exlab_wizard_sync_transports_run_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/_run.py", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_run_rationale_28", - "target": "transports_run_run_subprocess" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L30", - "weight": 1.0, - "source": "transports_test_run_test_run_subprocess_forwards_env", - "target": "transports_run_run_subprocess" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L44", - "weight": 1.0, - "source": "transports_test_run_test_run_subprocess_preserves_existing_environ", - "target": "transports_run_run_subprocess" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L58", - "weight": 1.0, - "source": "transports_test_run_test_run_subprocess_pipes_stdin_payload", - "target": "transports_run_run_subprocess" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L69", - "weight": 1.0, - "source": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log", - "target": "transports_run_run_subprocess" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L89", - "weight": 1.0, - "source": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none", - "target": "transports_run_run_subprocess" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L203", - "weight": 1.0, - "source": "transports_rclone_obscure", - "target": "transports_run_run_subprocess" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/_run.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_run_rationale_36", - "target": "transports_run_run_subprocess" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_handlers_py", - "target": "logging_handlers_equipmentscopedfilehandler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_handlers_py", - "target": "logging_handlers_openlogfile" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_handlers_py", - "target": "logging_handlers_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_rationale_1", - "target": "src_exlab_wizard_logging_handlers_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler", - "target": "logging_handlers_equipmentscopedfilehandler_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler", - "target": "logging_handlers_equipmentscopedfilehandler_emit" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler", - "target": "logging_handlers_equipmentscopedfilehandler_close" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler", - "target": "logging_handlers_equipmentscopedfilehandler_open_for" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler", - "target": "logging_handlers_equipmentscopedfilehandler_compose_path" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_rationale_38", - "target": "logging_handlers_equipmentscopedfilehandler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L240", - "weight": 1.0, - "source": "logging_manager_build_real_handlers", - "target": "logging_handlers_equipmentscopedfilehandler" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler_init", - "target": "logging_handlers_openlogfile_init" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler_emit", - "target": "logging_handlers_equipmentscopedfilehandler_open_for" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler_emit", - "target": "logging_handlers_openlogfile_write" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler_emit", - "target": "logging_handlers_openlogfile_fsync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_rationale_75", - "target": "logging_handlers_equipmentscopedfilehandler_emit" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L77", - "weight": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler_emit", - "target": "logging_context_get_run_context" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler_close", - "target": "logging_handlers_openlogfile_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_rationale_91", - "target": "logging_handlers_equipmentscopedfilehandler_close" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler_open_for", - "target": "logging_handlers_equipmentscopedfilehandler_compose_path" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_equipmentscopedfilehandler_open_for", - "target": "logging_handlers_open" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_rationale_106", - "target": "logging_handlers_equipmentscopedfilehandler_open_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_rationale_125", - "target": "logging_handlers_equipmentscopedfilehandler_compose_path" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_openlogfile", - "target": "logging_handlers_openlogfile_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_openlogfile", - "target": "logging_handlers_openlogfile_write" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_openlogfile", - "target": "logging_handlers_openlogfile_fsync" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_openlogfile", - "target": "logging_handlers_openlogfile_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_rationale_140", - "target": "logging_handlers_openlogfile" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_rationale_184", - "target": "logging_handlers_openlogfile_write" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_rationale_190", - "target": "logging_handlers_openlogfile_fsync" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/handlers.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_handlers_rationale_198", - "target": "logging_handlers_openlogfile_close" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_init_rationale_1", - "target": "src_exlab_wizard_logging_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_format_py", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_format_py", - "target": "logging_format_format_utc_timestamp" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_format_py", - "target": "logging_format_render_tags" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_format_py", - "target": "logging_format_redact_secret" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_format_rationale_1", - "target": "src_exlab_wizard_logging_format_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_format_structuredtagformatter", - "target": "logging_format_structuredtagformatter_format" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_format_rationale_72", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L124", - "weight": 1.0, - "source": "logging_manager_configure_logging", - "target": "logging_format_structuredtagformatter" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_format_structuredtagformatter_format", - "target": "logging_format_format_utc_timestamp" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_format_structuredtagformatter_format", - "target": "logging_format_render_tags" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_format_rationale_105", - "target": "logging_format_format_utc_timestamp" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_format_rationale_116", - "target": "logging_format_render_tags" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L121", - "weight": 1.0, - "source": "logging_format_render_tags", - "target": "logging_context_get_run_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/format.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_format_rationale_136", - "target": "logging_format_redact_secret" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L68", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_context_py", - "target": "logging_context_set_run_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_context_py", - "target": "logging_context_get_run_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_context_py", - "target": "logging_context_clear_run_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_context_rationale_1", - "target": "src_exlab_wizard_logging_context_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_context_rationale_76", - "target": "logging_context_set_run_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_context_rationale_115", - "target": "logging_context_get_run_context" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/context.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_context_rationale_125", - "target": "logging_context_clear_run_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_manager_py", - "target": "logging_manager_get_logger" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_manager_py", - "target": "logging_manager_configure_logging" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_manager_py", - "target": "logging_manager_shutdown_logging" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_manager_py", - "target": "logging_manager_teardown_locked" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_manager_py", - "target": "logging_manager_resolve_threshold" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_manager_py", - "target": "logging_manager_resolve_rotation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_manager_py", - "target": "logging_manager_resolve_local_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_logging_manager_py", - "target": "logging_manager_build_real_handlers" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_rationale_1", - "target": "src_exlab_wizard_logging_manager_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_rationale_71", - "target": "logging_manager_get_logger" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L116", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_configure_logging", - "target": "logging_manager_teardown_locked" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_configure_logging", - "target": "logging_manager_resolve_threshold" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_configure_logging", - "target": "logging_manager_resolve_rotation" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_configure_logging", - "target": "logging_manager_build_real_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_configure_logging", - "target": "logging_manager_resolve_local_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_rationale_89", - "target": "logging_manager_configure_logging" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_shutdown_logging", - "target": "logging_manager_teardown_locked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_rationale_156", - "target": "logging_manager_shutdown_logging" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_rationale_171", - "target": "logging_manager_teardown_locked" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_rationale_190", - "target": "logging_manager_resolve_threshold" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_rationale_205", - "target": "logging_manager_resolve_rotation" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_rationale_215", - "target": "logging_manager_resolve_local_root" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/logging/manager.py", - "source_location": "L232", - "weight": 1.0, - "confidence_score": 1.0, - "source": "logging_manager_rationale_232", - "target": "logging_manager_build_real_handlers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_quiescence_poller_py", - "target": "orchestrator_quiescence_poller_nassynclike" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_quiescence_poller_py", - "target": "orchestrator_quiescence_poller_filesnapshot" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_quiescence_poller_py", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L315", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_quiescence_poller_py", - "target": "orchestrator_quiescence_poller_signature" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L362", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_quiescence_poller_py", - "target": "orchestrator_quiescence_poller_matches_any_glob" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L367", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_quiescence_poller_py", - "target": "orchestrator_quiescence_poller_safe_resolve" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_1", - "target": "src_exlab_wizard_orchestrator_quiescence_poller_py" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_nassynclike", - "target": "orchestrator_quiescence_poller_nassynclike_enqueue" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_nassynclike", - "target": "orchestrator_quiescence_poller_nassynclike_status" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_nassynclike", - "target": "orchestrator_quiescence_poller_nassynclike_get_by_run_path" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_nassynclike", - "target": "orchestrator_quiescence_poller_nassynclike_list_all" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_74", - "target": "orchestrator_quiescence_poller_nassynclike" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_poll_once", - "target": "orchestrator_quiescence_poller_nassynclike_enqueue" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_poll_once", - "target": "orchestrator_quiescence_poller_filesnapshot" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_91", - "target": "orchestrator_quiescence_poller_filesnapshot" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_apply_config" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_start" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_stop" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_loop" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_poll_once" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_discover_runs" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L283", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_iter_run_files" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_eligible_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_104", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_132", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_apply_config" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L153", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_start", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_loop" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L145", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_145", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_start" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_161", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_stop" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_loop", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_poll_once" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_poll_once", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_discover_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_poll_once", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_iter_run_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_poll_once", - "target": "orchestrator_quiescence_poller_signature" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_poll_once", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_eligible_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_195", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_poll_once" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_244", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_discover_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L266", - "weight": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_discover_runs", - "target": "orchestrator_scan_walk_run_leaves" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L277", - "weight": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_discover_runs", - "target": "orchestrator_scan_walk_equipment_run_leaves" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L309", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_iter_run_files", - "target": "orchestrator_quiescence_poller_matches_any_glob" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L284", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_284", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_iter_run_files" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_quiescencesyncpoller_eligible_files", - "target": "orchestrator_quiescence_poller_signature" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L328", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_328", - "target": "orchestrator_quiescence_poller_quiescencesyncpoller_eligible_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L363", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_363", - "target": "orchestrator_quiescence_poller_matches_any_glob" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/quiescence_poller.py", - "source_location": "L368", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_quiescence_poller_rationale_368", - "target": "orchestrator_quiescence_poller_safe_resolve" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_scan_py", - "target": "orchestrator_scan_iter_subdirs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_scan_py", - "target": "orchestrator_scan_walk_equipment_run_leaves" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_scan_py", - "target": "orchestrator_scan_walk_run_leaves" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_scan_py", - "target": "orchestrator_scan_count_files_and_bytes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_scan_rationale_1", - "target": "src_exlab_wizard_orchestrator_scan_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_scan_walk_equipment_run_leaves", - "target": "orchestrator_scan_iter_subdirs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_scan_walk_run_leaves", - "target": "orchestrator_scan_iter_subdirs" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_scan_rationale_31", - "target": "orchestrator_scan_iter_subdirs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_scan_walk_run_leaves", - "target": "orchestrator_scan_walk_equipment_run_leaves" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_scan_rationale_56", - "target": "orchestrator_scan_walk_equipment_run_leaves" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_scan_rationale_90", - "target": "orchestrator_scan_walk_run_leaves" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L108", - "weight": 1.0, - "source": "orchestrator_staging_query_list_staged_runs", - "target": "orchestrator_scan_walk_run_leaves" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/_scan.py", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_scan_rationale_106", - "target": "orchestrator_scan_count_files_and_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_clear.py", - "source_location": "L58", - "weight": 1.0, - "source": "orchestrator_staging_clear_clear_run_dir", - "target": "orchestrator_scan_count_files_and_bytes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L132", - "weight": 1.0, - "source": "orchestrator_staging_query_summarize_run", - "target": "orchestrator_scan_count_files_and_bytes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/__init__.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_init_rationale_1", - "target": "src_exlab_wizard_orchestrator_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_clear.py", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_staging_clear_py", - "target": "orchestrator_staging_clear_clear_run_dir" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_clear.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_clear_rationale_1", - "target": "src_exlab_wizard_orchestrator_staging_clear_py" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_clear.py", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_clear_rationale_34", - "target": "orchestrator_staging_clear_clear_run_dir" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_staging_query_py", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_staging_query_py", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_staging_query_py", - "target": "orchestrator_staging_query_summarize_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_staging_query_py", - "target": "orchestrator_staging_query_rollup_value" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_staging_query_py", - "target": "orchestrator_staging_query_path_identity" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_staging_query_py", - "target": "orchestrator_staging_query_dir_mtime_iso" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_staging_query_py", - "target": "orchestrator_staging_query_parse_iso" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "src_exlab_wizard_orchestrator_staging_query_py", - "target": "orchestrator_staging_query_iso_to_epoch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_rationale_1", - "target": "src_exlab_wizard_orchestrator_staging_query_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_summarize_run", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_rationale_45", - "target": "orchestrator_staging_query_stagedrunsummary" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_list_staged_runs", - "target": "orchestrator_staging_query_summarize_run" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_list_staged_runs", - "target": "orchestrator_staging_query_iso_to_epoch" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_rationale_80", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1940", - "weight": 1.0, - "source": "ui_mount_build_staging_state", - "target": "orchestrator_staging_query_list_staged_runs" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_summarize_run", - "target": "orchestrator_staging_query_path_identity" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_summarize_run", - "target": "orchestrator_staging_query_dir_mtime_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L134", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_summarize_run", - "target": "orchestrator_staging_query_parse_iso" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_summarize_run", - "target": "orchestrator_staging_query_rollup_value" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_rationale_125", - "target": "orchestrator_staging_query_summarize_run" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_rationale_150", - "target": "orchestrator_staging_query_rollup_value" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_rationale_166", - "target": "orchestrator_staging_query_path_identity" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_rationale_190", - "target": "orchestrator_staging_query_dir_mtime_iso" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_rationale_199", - "target": "orchestrator_staging_query_parse_iso" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/orchestrator/staging_query.py", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "orchestrator_staging_query_rationale_205", - "target": "orchestrator_staging_query_iso_to_epoch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "readme_md", - "target": "exlabwizard_readme_exlabwizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L10", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_exlabwizard", - "target": "exlabwizard_readme_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_exlabwizard", - "target": "exlabwizard_readme_installation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_exlabwizard", - "target": "exlabwizard_readme_running_exlab_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_exlabwizard", - "target": "exlabwizard_readme_building_a_distributable_binary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_exlabwizard", - "target": "exlabwizard_readme_tests_lint_type_check" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_exlabwizard", - "target": "exlabwizard_readme_nas_sync_setup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_exlabwizard", - "target": "exlabwizard_readme_documentation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L22", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_installation", - "target": "exlabwizard_readme_prerequisites" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_installation", - "target": "exlabwizard_readme_from_source_development" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_installation", - "target": "exlabwizard_readme_pre_built_binary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_from_source_development", - "target": "exlabwizard_readme_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_running_exlab_wizard", - "target": "exlabwizard_readme_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_building_a_distributable_binary", - "target": "exlabwizard_readme_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_tests_lint_type_check", - "target": "exlabwizard_readme_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "README.md", - "source_location": "L120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_readme_nas_sync_setup", - "target": "exlabwizard_readme_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_md", - "target": "exlabwizard_design_frontend_design_style_guide" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_frontend_design_style_guide", - "target": "exlabwizard_design_absolute_constraints" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_frontend_design_style_guide", - "target": "exlabwizard_design_00_logo_and_branding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L44", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_frontend_design_style_guide", - "target": "exlabwizard_design_01_color_palette" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_frontend_design_style_guide", - "target": "exlabwizard_design_02_typography" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_frontend_design_style_guide", - "target": "exlabwizard_design_03_spacing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_frontend_design_style_guide", - "target": "exlabwizard_design_04_border_radius_shadows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_frontend_design_style_guide", - "target": "exlabwizard_design_05_components" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L493", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_frontend_design_style_guide", - "target": "exlabwizard_design_06_data_visualization" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L553", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_frontend_design_style_guide", - "target": "exlabwizard_design_07_code_integration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L696", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_frontend_design_style_guide", - "target": "exlabwizard_design_08_usage_rules_anti_patterns" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_01_color_palette", - "target": "exlabwizard_design_primary_colors_ui_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_01_color_palette", - "target": "exlabwizard_design_data_colors_okabe_ito_visualization_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_01_color_palette", - "target": "exlabwizard_design_surface_neutral_tokens" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_01_color_palette", - "target": "exlabwizard_design_semantic_color_assignments" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_01_color_palette", - "target": "exlabwizard_design_color_selection_decision_logic" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_surface_neutral_tokens", - "target": "exlabwizard_design_main_window_surface_interaction_tokens_2026_05_29_ui_refresh" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_02_typography", - "target": "exlabwizard_design_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_02_typography", - "target": "exlabwizard_design_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_02_typography", - "target": "exlabwizard_design_font_assignment_rules" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_02_typography", - "target": "exlabwizard_design_type_scale" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_02_typography", - "target": "exlabwizard_design_typography_rules" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_04_border_radius_shadows", - "target": "exlabwizard_design_border_radius" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_04_border_radius_shadows", - "target": "exlabwizard_design_shadows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_05_components", - "target": "exlabwizard_design_stat_cards" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L293", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_05_components", - "target": "exlabwizard_design_progress_bars" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_05_components", - "target": "exlabwizard_design_buttons" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L381", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_05_components", - "target": "exlabwizard_design_badges" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L412", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_05_components", - "target": "exlabwizard_design_alerts_callouts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L433", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_05_components", - "target": "exlabwizard_design_data_tables" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L450", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_05_components", - "target": "exlabwizard_design_form_inputs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L471", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_05_components", - "target": "exlabwizard_design_navigation_tabs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_stat_cards", - "target": "exlabwizard_design_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_stat_cards", - "target": "exlabwizard_design_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_progress_bars", - "target": "exlabwizard_design_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L473", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_navigation_tabs", - "target": "exlabwizard_design_codeblock_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L495", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_06_data_visualization", - "target": "exlabwizard_design_categorical_series_order" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L511", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_06_data_visualization", - "target": "exlabwizard_design_chart_styling_rules" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L526", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_06_data_visualization", - "target": "exlabwizard_design_donut_pie_charts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L537", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_06_data_visualization", - "target": "exlabwizard_design_heatmap_colorscale_single_variable" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L528", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_donut_pie_charts", - "target": "exlabwizard_design_codeblock_7" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L555", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_07_code_integration", - "target": "exlabwizard_design_matplotlib_seaborn_rcparams" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L596", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_07_code_integration", - "target": "exlabwizard_design_napari_label_layer_colors" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L613", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_07_code_integration", - "target": "exlabwizard_design_css_custom_properties" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L559", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_matplotlib_seaborn_rcparams", - "target": "exlabwizard_design_codeblock_8" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L600", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_napari_label_layer_colors", - "target": "exlabwizard_design_codeblock_9" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L617", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_css_custom_properties", - "target": "exlabwizard_design_codeblock_10" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L698", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_08_usage_rules_anti_patterns", - "target": "exlabwizard_design_do" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "DESIGN.md", - "source_location": "L708", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_design_08_usage_rules_anti_patterns", - "target": "exlabwizard_design_don_t" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "CLAUDE.md", - "source_location": "L1", - "weight": 1.0, - "source": "claude_md", - "target": "exlabwizard_claude_exlabwizard_project_notes_for_claude", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "CLAUDE.md", - "source_location": "L3", - "weight": 1.0, - "source": "exlabwizard_claude_exlabwizard_project_notes_for_claude", - "target": "exlabwizard_claude_orchestrator_staging_is_intentionally_hidden_not_removed", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "_internal/README.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "internal_readme_md", - "target": "internal_readme_internal_bundled_starter_content" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "_internal/README.md", - "source_location": "L13", - "weight": 1.0, - "confidence_score": 1.0, - "source": "internal_readme_internal_bundled_starter_content", - "target": "internal_readme_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "_internal/README.md", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "internal_readme_internal_bundled_starter_content", - "target": "internal_readme_populating_for_v1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "_internal/README.md", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "internal_readme_internal_bundled_starter_content", - "target": "internal_readme_v1_status" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "_internal/README.md", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "internal_readme_layout", - "target": "internal_readme_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "_internal/README.md", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "internal_readme_populating_for_v1", - "target": "internal_readme_bundled_templates_spec_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "_internal/README.md", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "internal_readme_populating_for_v1", - "target": "internal_readme_bundled_plugins_spec_6_5_6_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_docker_readme_md", - "target": "docker_readme_nas_emulator_docker_compose_stack" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_nas_emulator_docker_compose_stack", - "target": "docker_readme_purpose_scope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_nas_emulator_docker_compose_stack", - "target": "docker_readme_requirements" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_nas_emulator_docker_compose_stack", - "target": "docker_readme_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_nas_emulator_docker_compose_stack", - "target": "docker_readme_first_time_setup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_nas_emulator_docker_compose_stack", - "target": "docker_readme_wiring_into_exlab_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_nas_emulator_docker_compose_stack", - "target": "docker_readme_lifecycle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_nas_emulator_docker_compose_stack", - "target": "docker_readme_pytest_fixture_optional" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_nas_emulator_docker_compose_stack", - "target": "docker_readme_platform_notes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L204", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_nas_emulator_docker_compose_stack", - "target": "docker_readme_offline_air_gapped_use" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_nas_emulator_docker_compose_stack", - "target": "docker_readme_troubleshooting" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_layout", - "target": "docker_readme_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_first_time_setup", - "target": "docker_readme_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_wiring_into_exlab_config", - "target": "docker_readme_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_wiring_into_exlab_config", - "target": "docker_readme_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_wiring_into_exlab_config", - "target": "docker_readme_test_prefix_mode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_wiring_into_exlab_config", - "target": "docker_readme_shorter_quiescence_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_wiring_into_exlab_config", - "target": "docker_readme_rclone_sftp_transport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_wiring_into_exlab_config", - "target": "docker_readme_rclone_smb_transport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_rclone_sftp_transport", - "target": "docker_readme_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_rclone_smb_transport", - "target": "docker_readme_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_shorter_quiescence_window", - "target": "docker_readme_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_lifecycle", - "target": "docker_readme_codeblock_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_pytest_fixture_optional", - "target": "docker_readme_codeblock_7" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/docker/README.md", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docker_readme_offline_air_gapped_use", - "target": "docker_readme_codeblock_8" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/lims/exlab_v1/README.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_fixtures_lims_exlab_v1_readme_md", - "target": "exlab_v1_readme_exlab_v1_lims_contract_snapshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/lims/exlab_v1/README.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_v1_readme_exlab_v1_lims_contract_snapshots", - "target": "exlab_v1_readme_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/lims/exlab_v1/README.md", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_v1_readme_exlab_v1_lims_contract_snapshots", - "target": "exlab_v1_readme_provenance" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/lims/exlab_v1/README.md", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_v1_readme_exlab_v1_lims_contract_snapshots", - "target": "exlab_v1_readme_regenerating" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/lims/exlab_v1/README.md", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_v1_readme_regenerating", - "target": "exlab_v1_readme_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/README.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_e2e_readme_md", - "target": "e2e_readme_e2e_test_suite" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/README.md", - "source_location": "L5", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_readme_e2e_test_suite", - "target": "e2e_readme_setup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/README.md", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_readme_e2e_test_suite", - "target": "e2e_readme_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/README.md", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_readme_e2e_test_suite", - "target": "e2e_readme_status_of_the_15_flow_merged_plan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/README.md", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_readme_e2e_test_suite", - "target": "e2e_readme_page_objects" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/README.md", - "source_location": "L94", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_readme_e2e_test_suite", - "target": "e2e_readme_test_app_routes_tests_e2e_test_app_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/README.md", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_readme_e2e_test_suite", - "target": "e2e_readme_adding_a_new_flow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/README.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_readme_setup", - "target": "e2e_readme_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/README.md", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_readme_run", - "target": "e2e_readme_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_md", - "target": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", - "target": "docs_remaining_work_tasks_how_to_use_this_tracker" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", - "target": "docs_remaining_work_tasks_phase_1_release_blocking_correctness" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", - "target": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", - "target": "docs_remaining_work_tasks_phase_3_visibility_usability" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L233", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", - "target": "docs_remaining_work_tasks_phase_4_cleanups_anytime" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", - "target": "docs_remaining_work_tasks_shared_foundations_build_once_reused_across_tasks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_exlab_wizard_remaining_work_tracked_tasks", - "target": "docs_remaining_work_tasks_progress" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_1_release_blocking_correctness", - "target": "docs_remaining_work_tasks_x_t1_inject_the_real_readmegenerator_reconcile_readmecontext_return_type" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound", - "target": "docs_remaining_work_tasks_x_t2_event_subscription_consumer_in_the_creation_flow_shared_foundation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound", - "target": "docs_remaining_work_tasks_x_t3_render_the_operations_modal_toolbar_footer_hooks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound", - "target": "docs_remaining_work_tasks_x_t4_wire_resume_cancel_9_4_confirm_9_6_disable_rule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_2_session_control_epic_build_in_order_they_compound", - "target": "docs_remaining_work_tasks_x_t5_plugin_input_required_escalation_dialog_new_component" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L138", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_3_visibility_usability", - "target": "docs_remaining_work_tasks_x_t6_live_problems_audit_stream_real_counts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_3_visibility_usability", - "target": "docs_remaining_work_tasks_x_t7_operators_allowlist_chip_editor" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_3_visibility_usability", - "target": "docs_remaining_work_tasks_x_t8_start_at_login_checkbox_wiring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_3_visibility_usability", - "target": "docs_remaining_work_tasks_x_t9_quit_exlab_wizard_now_button_deps_quit_hook" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_3_visibility_usability", - "target": "docs_remaining_work_tasks_x_t10_content_scan_extensions_chip_editor_reset_to_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_3_visibility_usability", - "target": "docs_remaining_work_tasks_x_t11_application_section_status_labels_parity_7_13" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L235", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_4_cleanups_anytime", - "target": "docs_remaining_work_tasks_x_t12_resolve_the_offline_catalogue_version_policy_todo" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK_TASKS.md", - "source_location": "L248", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_tasks_phase_4_cleanups_anytime", - "target": "docs_remaining_work_tasks_x_t13_delete_the_stale_plugin_registry_comment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_md", - "target": "docs_remaining_work_exlab_wizard_remaining_work_specification" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L13", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_exlab_wizard_remaining_work_specification", - "target": "docs_remaining_work_0_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_exlab_wizard_remaining_work_specification", - "target": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L92", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_exlab_wizard_remaining_work_specification", - "target": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_exlab_wizard_remaining_work_specification", - "target": "docs_remaining_work_c_no_op_default_collaborators" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_exlab_wizard_remaining_work_specification", - "target": "docs_remaining_work_d_todo_stale_markers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_exlab_wizard_remaining_work_specification", - "target": "docs_remaining_work_prioritized_backlog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_0_context", - "target": "docs_remaining_work_0_1_architecture_read_first" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_0_context", - "target": "docs_remaining_work_0_2_what_the_recent_edit_changed_and_didn_t" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_0_context", - "target": "docs_remaining_work_0_3_healthy_baseline_not_stubs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", - "target": "docs_remaining_work_a1_quit_exlab_wizard_now_button_has_no_handler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", - "target": "docs_remaining_work_a2_start_at_login_autostart_checkbox_is_not_bound" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", - "target": "docs_remaining_work_a3_application_section_status_indicators_are_hardcoded_missing_7_13_parity" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", - "target": "docs_remaining_work_a4_operators_allowlist_has_backend_enforcement_but_no_editor_ui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", - "target": "docs_remaining_work_a5_content_scan_extensions_renders_read_only_partial" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_a_ui_controls_that_exist_but_are_not_functional", - "target": "docs_remaining_work_resolved_not_a_defect_previously_suspected_in_a" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", - "target": "docs_remaining_work_b1_operations_modal_is_built_exported_and_rendered_nowhere_highest_impact" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", - "target": "docs_remaining_work_b2_no_gui_path_to_resume_or_cancel_a_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", - "target": "docs_remaining_work_b3_plugin_input_required_cannot_be_answered_from_the_gui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", - "target": "docs_remaining_work_b4_live_per_session_phase_progress_is_static_the_gui_never_subscribes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_b_backend_features_fully_built_but_not_surfaced_in_the_gui", - "target": "docs_remaining_work_b5_audit_problems_live_stream_not_consumed_by_the_in_process_ui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_c_no_op_default_collaborators", - "target": "docs_remaining_work_c1_production_runs_on_the_stub_readme_generator_real_defect" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_c_no_op_default_collaborators", - "target": "docs_remaining_work_c2_noopnassync_controller_default_informational_not_a_production_defect" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L168", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_c_no_op_default_collaborators", - "target": "docs_remaining_work_c3_runtime_guard_toasts_where_the_none_noop_path_surfaces_in_the_live_ui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_d_todo_stale_markers", - "target": "docs_remaining_work_d1_offline_catalogue_schema_version_gate_is_stricter_than_the_cache_file_policy_open_spec_question" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_d_todo_stale_markers", - "target": "docs_remaining_work_d2_stale_plugins_registry_py_not_yet_committed_comment_documentation_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L212", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_prioritized_backlog", - "target": "docs_remaining_work_shared_foundations_to_build_once" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/REMAINING_WORK.md", - "source_location": "L218", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_remaining_work_prioritized_backlog", - "target": "docs_remaining_work_suggested_sequencing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_md", - "target": "docs_ux_interactions_ux_interaction_reference" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_ux_interaction_reference", - "target": "docs_ux_interactions_first_launch_setup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_ux_interaction_reference", - "target": "docs_ux_interactions_settings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_ux_interaction_reference", - "target": "docs_ux_interactions_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_ux_interaction_reference", - "target": "docs_ux_interactions_nas_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_ux_interaction_reference", - "target": "docs_ux_interactions_new_template" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_ux_interaction_reference", - "target": "docs_ux_interactions_new_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_ux_interaction_reference", - "target": "docs_ux_interactions_new_run_test_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_ux_interaction_reference", - "target": "docs_ux_interactions_add_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_ux_interaction_reference", - "target": "docs_ux_interactions_file_explorer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/UX_INTERACTIONS.md", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_ux_interactions_ux_interaction_reference", - "target": "docs_ux_interactions_nas_credentials" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/index.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_index_md", - "target": "source_index_exlab_wizard_documentation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/index.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "source_index_exlab_wizard_documentation", - "target": "source_index_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/index.md", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "source_index_exlab_wizard_documentation", - "target": "source_index_what_is_exlab_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/index.md", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "source_index_exlab_wizard_documentation", - "target": "source_index_where_to_start" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/index.md", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "source_index_exlab_wizard_documentation", - "target": "source_index_project_metadata" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/02_browse.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_user_guide_02_browse_md", - "target": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/02_browse.md", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs", - "target": "user_guide_02_browse_capability_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/02_browse.md", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs", - "target": "user_guide_02_browse_walkthrough" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/02_browse.md", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs", - "target": "user_guide_02_browse_screenshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/02_browse.md", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_02_browse_3_4_browse_existing_equipment_projects_and_runs", - "target": "user_guide_02_browse_related_material" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/02_browse.md", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_02_browse_screenshots", - "target": "user_guide_02_browse_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/02_browse.md", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_02_browse_screenshots", - "target": "user_guide_02_browse_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/03_create_project.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_user_guide_03_create_project_md", - "target": "user_guide_03_create_project_3_1_create_a_new_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/03_create_project.md", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_03_create_project_3_1_create_a_new_project", - "target": "user_guide_03_create_project_capability_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/03_create_project.md", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_03_create_project_3_1_create_a_new_project", - "target": "user_guide_03_create_project_walkthrough" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/03_create_project.md", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_03_create_project_3_1_create_a_new_project", - "target": "user_guide_03_create_project_screenshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/03_create_project.md", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_03_create_project_3_1_create_a_new_project", - "target": "user_guide_03_create_project_related_material" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/03_create_project.md", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_03_create_project_screenshots", - "target": "user_guide_03_create_project_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/08_problems.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_user_guide_08_problems_md", - "target": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/08_problems.md", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems", - "target": "user_guide_08_problems_capability_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/08_problems.md", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems", - "target": "user_guide_08_problems_walkthrough" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/08_problems.md", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems", - "target": "user_guide_08_problems_screenshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/08_problems.md", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_08_problems_3_8_review_and_resolve_naming_and_validation_problems", - "target": "user_guide_08_problems_related_material" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/08_problems.md", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_08_problems_screenshots", - "target": "user_guide_08_problems_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/07_orchestrator.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_user_guide_07_orchestrator_md", - "target": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/07_orchestrator.md", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging", - "target": "user_guide_07_orchestrator_capability_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/07_orchestrator.md", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging", - "target": "user_guide_07_orchestrator_walkthrough" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/07_orchestrator.md", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging", - "target": "user_guide_07_orchestrator_screenshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/07_orchestrator.md", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_07_orchestrator_3_7_monitor_orchestrator_staging", - "target": "user_guide_07_orchestrator_related_material" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/07_orchestrator.md", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_07_orchestrator_screenshots", - "target": "user_guide_07_orchestrator_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/07_orchestrator.md", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_07_orchestrator_screenshots", - "target": "user_guide_07_orchestrator_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/01_settings.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_user_guide_01_settings_md", - "target": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/01_settings.md", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", - "target": "user_guide_01_settings_capability_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/01_settings.md", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", - "target": "user_guide_01_settings_walkthrough" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/01_settings.md", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", - "target": "user_guide_01_settings_add_equipment_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/01_settings.md", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", - "target": "user_guide_01_settings_screenshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/01_settings.md", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_01_settings_3_6_configure_equipment_paths_and_integrations", - "target": "user_guide_01_settings_related_material" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/01_settings.md", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_01_settings_screenshots", - "target": "user_guide_01_settings_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/01_settings.md", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_01_settings_screenshots", - "target": "user_guide_01_settings_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/06_readme.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_user_guide_06_readme_md", - "target": "user_guide_06_readme_3_5_author_a_readme_at_creation_time" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/06_readme.md", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_06_readme_3_5_author_a_readme_at_creation_time", - "target": "user_guide_06_readme_capability_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/06_readme.md", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_06_readme_3_5_author_a_readme_at_creation_time", - "target": "user_guide_06_readme_walkthrough" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/06_readme.md", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_06_readme_3_5_author_a_readme_at_creation_time", - "target": "user_guide_06_readme_screenshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/06_readme.md", - "source_location": "L42", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_06_readme_3_5_author_a_readme_at_creation_time", - "target": "user_guide_06_readme_related_material" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/06_readme.md", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_06_readme_screenshots", - "target": "user_guide_06_readme_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/index.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_user_guide_index_md", - "target": "user_guide_index_user_guide" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/index.md", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_index_user_guide", - "target": "user_guide_index_capability_map" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/index.md", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_index_user_guide", - "target": "user_guide_index_conventions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/index.md", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_index_capability_map", - "target": "user_guide_index_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/00_getting_started.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_user_guide_00_getting_started_md", - "target": "user_guide_00_getting_started_getting_started" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/00_getting_started.md", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_00_getting_started_getting_started", - "target": "user_guide_00_getting_started_overview" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/00_getting_started.md", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_00_getting_started_getting_started", - "target": "user_guide_00_getting_started_walkthrough" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/00_getting_started.md", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_00_getting_started_getting_started", - "target": "user_guide_00_getting_started_screenshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/00_getting_started.md", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_00_getting_started_getting_started", - "target": "user_guide_00_getting_started_related_material" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/00_getting_started.md", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_00_getting_started_screenshots", - "target": "user_guide_00_getting_started_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/04_create_run.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_user_guide_04_create_run_md", - "target": "user_guide_04_create_run_3_2_create_a_new_experimental_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/04_create_run.md", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_04_create_run_3_2_create_a_new_experimental_run", - "target": "user_guide_04_create_run_capability_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/04_create_run.md", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_04_create_run_3_2_create_a_new_experimental_run", - "target": "user_guide_04_create_run_walkthrough" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/04_create_run.md", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_04_create_run_3_2_create_a_new_experimental_run", - "target": "user_guide_04_create_run_screenshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/04_create_run.md", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_04_create_run_3_2_create_a_new_experimental_run", - "target": "user_guide_04_create_run_related_material" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/04_create_run.md", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_04_create_run_screenshots", - "target": "user_guide_04_create_run_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/05_create_test_run.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_user_guide_05_create_test_run_md", - "target": "user_guide_05_create_test_run_3_3_create_a_new_test_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/05_create_test_run.md", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_05_create_test_run_3_3_create_a_new_test_run", - "target": "user_guide_05_create_test_run_capability_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/05_create_test_run.md", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_05_create_test_run_3_3_create_a_new_test_run", - "target": "user_guide_05_create_test_run_walkthrough" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/05_create_test_run.md", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_05_create_test_run_3_3_create_a_new_test_run", - "target": "user_guide_05_create_test_run_screenshots" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/05_create_test_run.md", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_05_create_test_run_3_3_create_a_new_test_run", - "target": "user_guide_05_create_test_run_related_material" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/user_guide/05_create_test_run.md", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "user_guide_05_create_test_run_screenshots", - "target": "user_guide_05_create_test_run_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_superpowers_specs_2026_05_14_gui_orchestrator_redesign_design_md", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_1_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_2_goals_non_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L248", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_5_live_file_feed_approach_1_poll_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_6_add_equipment_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L299", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_7_interaction_decisions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_8_configuration_schema_changes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_9_code_impact_map" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_10_error_handling" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L430", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_11_testing_strategy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L477", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_exlab_wizard_gui_system_redesign_design_spec", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_12_future_v1_x" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_2_goals_non_goals", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L40", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_2_goals_non_goals", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_non_goals_explicitly_out_of_scope_for_this_redesign" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_3_1_always_orchestrator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_3_2_per_equipment_sync_role" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L81", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_3_3_owned_vs_received_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_3_system_model_changes", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_3_4_runs_subdirectory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L113", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_3_4_runs_subdirectory", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_1_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L162", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_2_left_tree" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_3_centre_live_file_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_4_right_metadata_problems_pane_collapsible" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_5_travelling_problem_badge" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L222", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_6_footer_status_bar_relocated_staging_actions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L239", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_main_window_redesign", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_4_7_header_toolbar_breadcrumb" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_4_1_layout", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md", - "source_location": "L349", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_14_gui_orchestrator_redesign_design_9_code_impact_map", - "target": "specs_2026_05_14_gui_orchestrator_redesign_design_9_1_gui_wiring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_plugin_guide_manifest_schema_md", - "target": "plugin_guide_manifest_schema_manifest_schema" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_manifest_schema_manifest_schema", - "target": "plugin_guide_manifest_schema_required_identity_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_manifest_schema_manifest_schema", - "target": "plugin_guide_manifest_schema_required_dispatch_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_manifest_schema_manifest_schema", - "target": "plugin_guide_manifest_schema_optional_declaration_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_manifest_schema_manifest_schema", - "target": "plugin_guide_manifest_schema_optional_execution_policy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_manifest_schema_manifest_schema", - "target": "plugin_guide_manifest_schema_discovery_rules" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_manifest_schema_required_identity_fields", - "target": "plugin_guide_manifest_schema_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_manifest_schema_required_dispatch_fields", - "target": "plugin_guide_manifest_schema_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_manifest_schema_optional_declaration_block", - "target": "plugin_guide_manifest_schema_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/manifest_schema.md", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_manifest_schema_optional_execution_policy", - "target": "plugin_guide_manifest_schema_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_plugin_guide_ipc_envelope_md", - "target": "plugin_guide_ipc_envelope_ipc_envelope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_ipc_envelope_ipc_envelope", - "target": "plugin_guide_ipc_envelope_stdin_host_to_worker" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_ipc_envelope_ipc_envelope", - "target": "plugin_guide_ipc_envelope_stdout_worker_to_host" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_ipc_envelope_ipc_envelope", - "target": "plugin_guide_ipc_envelope_stderr_structured_log_channel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_ipc_envelope_ipc_envelope", - "target": "plugin_guide_ipc_envelope_exit_codes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L16", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_ipc_envelope_stdin_host_to_worker", - "target": "plugin_guide_ipc_envelope_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/ipc_envelope.md", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_ipc_envelope_stdout_worker_to_host", - "target": "plugin_guide_ipc_envelope_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_plugin_guide_index_md", - "target": "plugin_guide_index_plugin_author_guide" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_index_plugin_author_guide", - "target": "plugin_guide_index_what_plugins_do" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L21", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_index_plugin_author_guide", - "target": "plugin_guide_index_where_plugins_fit_in_the_pipeline" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_index_plugin_author_guide", - "target": "plugin_guide_index_where_to_look_in_the_codebase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_index_where_plugins_fit_in_the_pipeline", - "target": "plugin_guide_index_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/index.md", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_index_where_plugins_fit_in_the_pipeline", - "target": "plugin_guide_index_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_source_plugin_guide_worked_examples_md", - "target": "plugin_guide_worked_examples_worked_examples" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L8", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_worked_examples_worked_examples", - "target": "plugin_guide_worked_examples_hello_plugin" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_worked_examples_worked_examples", - "target": "plugin_guide_worked_examples_xlsx_field_filler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_worked_examples_worked_examples", - "target": "plugin_guide_worked_examples_docx_variable_replacer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_worked_examples_worked_examples", - "target": "plugin_guide_worked_examples_where_to_look_in_the_codebase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/source/plugin_guide/worked_examples.md", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plugin_guide_worked_examples_where_to_look_in_the_codebase", - "target": "plugin_guide_worked_examples_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_setup_rclone_remote_setup_md", - "target": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L10", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_why_this_approach" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_prerequisites" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_creating_a_remote_with_rclone_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_wiring_the_remote_to_exlab_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_verifying_the_connection" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_performance_and_memory_tuning" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L231", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_modtime_tolerance" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_pinning_the_rclone_conf_path" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_encrypted_rclone_conf" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L274", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_stage_mode_devices_orchestrator_hop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_setting_up_your_rclone_remote_s", - "target": "setup_rclone_remote_setup_minimal_config_yaml_example" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_prerequisites", - "target": "setup_rclone_remote_setup_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_prerequisites", - "target": "setup_rclone_remote_setup_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_creating_a_remote_with_rclone_config", - "target": "setup_rclone_remote_setup_sftp_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_creating_a_remote_with_rclone_config", - "target": "setup_rclone_remote_setup_smb_samba_remote" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_sftp_remote", - "target": "setup_rclone_remote_setup_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_sftp_remote", - "target": "setup_rclone_remote_setup_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_sftp_remote", - "target": "setup_rclone_remote_setup_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L105", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_smb_samba_remote", - "target": "setup_rclone_remote_setup_codeblock_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_smb_samba_remote", - "target": "setup_rclone_remote_setup_codeblock_7" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_smb_samba_remote", - "target": "setup_rclone_remote_setup_codeblock_8" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_wiring_the_remote_to_exlab_wizard", - "target": "setup_rclone_remote_setup_codeblock_9" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L161", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_wiring_the_remote_to_exlab_wizard", - "target": "setup_rclone_remote_setup_codeblock_10" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_verifying_the_connection", - "target": "setup_rclone_remote_setup_codeblock_11" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_verifying_the_connection", - "target": "setup_rclone_remote_setup_codeblock_12" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_performance_and_memory_tuning", - "target": "setup_rclone_remote_setup_codeblock_13" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_performance_and_memory_tuning", - "target": "setup_rclone_remote_setup_codeblock_14" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_modtime_tolerance", - "target": "setup_rclone_remote_setup_codeblock_15" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_pinning_the_rclone_conf_path", - "target": "setup_rclone_remote_setup_codeblock_16" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L281", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_stage_mode_devices_orchestrator_hop", - "target": "setup_rclone_remote_setup_codeblock_17" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L296", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_stage_mode_devices_orchestrator_hop", - "target": "setup_rclone_remote_setup_codeblock_18" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/setup/rclone-remote-setup.md", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "setup_rclone_remote_setup_minimal_config_yaml_example", - "target": "setup_rclone_remote_setup_codeblock_19" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_superpowers_plans_2026_05_28_rclone_conf_nas_sync_md", - "target": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_file_structure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_phase_1_config_foundation_nas_block_additive" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_phase_2_transport_driver_lsjson_config_perf_flags_additive" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L449", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_phase_3_manifest_module_parser" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L660", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_phase_4_sync_client_named_remote_lsjson_reconcile_cleanup_hash_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L992", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_phase_5_setup_gate_credential_removal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_phase_6_ui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1293", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_phase_7_remove_dead_code_clean_break" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1341", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_phase_8_orchestrator_staging_via_rclone_confirmed_in_scope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1363", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_phase_9_fixtures_integration_docker_docs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1430", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_rclone_conf_based_nas_sync_implementation_plan", - "target": "plans_2026_05_28_rclone_conf_nas_sync_self_review_completed_during_authoring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_1_config_foundation_nas_block_additive", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_1_1_add_rcloneperf_and_nasconfig_models" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_1_config_foundation_nas_block_additive", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_1_2_round_trip_the_nas_block_through_the_loader" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_1_1_add_rcloneperf_and_nasconfig_models", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_1_1_add_rcloneperf_and_nasconfig_models", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_1_1_add_rcloneperf_and_nasconfig_models", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_1_1_add_rcloneperf_and_nasconfig_models", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_1_2_round_trip_the_nas_block_through_the_loader", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_1_2_round_trip_the_nas_block_through_the_loader", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_2_transport_driver_lsjson_config_perf_flags_additive", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_2_1_add_config_transfers_checkers_plumbing_to_the_driver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_2_transport_driver_lsjson_config_perf_flags_additive", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_2_2_add_rclonedriver_lsjson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L378", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_2_transport_driver_lsjson_config_perf_flags_additive", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_2_3_add_rclonedriver_listremotes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_2_1_add_config_transfers_checkers_plumbing_to_the_driver", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_7" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_2_1_add_config_transfers_checkers_plumbing_to_the_driver", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_8" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L262", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_2_1_add_config_transfers_checkers_plumbing_to_the_driver", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_9" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L279", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_2_1_add_config_transfers_checkers_plumbing_to_the_driver", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_10" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L294", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_2_2_add_rclonedriver_lsjson", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_11" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L333", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_2_2_add_rclonedriver_lsjson", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_12" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L371", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_2_2_add_rclonedriver_lsjson", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_13" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L390", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_2_3_add_rclonedriver_listremotes", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_14" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L417", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_2_3_add_rclonedriver_listremotes", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_15" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L442", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_2_3_add_rclonedriver_listremotes", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_16" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L451", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_3_manifest_module_parser", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_3_1_sync_manifest_py_with_parse_lsjson" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_3_1_sync_manifest_py_with_parse_lsjson", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_17" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L520", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_3_1_sync_manifest_py_with_parse_lsjson", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_18" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L653", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_3_1_sync_manifest_py_with_parse_lsjson", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_19" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L664", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_4_sync_client_named_remote_lsjson_reconcile_cleanup_hash_gate", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_4_1_named_remote_target_builder_driver_construction_from_nas_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L758", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_4_sync_client_named_remote_lsjson_reconcile_cleanup_hash_gate", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_4_2_verifier_py_drop_env_mask_for_log" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L807", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_4_sync_client_named_remote_lsjson_reconcile_cleanup_hash_gate", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_4_3_routine_post_push_reconcile_via_lsjson_replaces_per_push_download" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L899", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_4_sync_client_named_remote_lsjson_reconcile_cleanup_hash_gate", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_4_4_cleanup_hash_gate_real_remote_existence_probe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L972", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_4_sync_client_named_remote_lsjson_reconcile_cleanup_hash_gate", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_4_5_force_verify_drop_env_threading" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L672", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_1_named_remote_target_builder_driver_construction_from_nas_config", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_20" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L697", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_1_named_remote_target_builder_driver_construction_from_nas_config", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_21" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L722", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_1_named_remote_target_builder_driver_construction_from_nas_config", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_22" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L751", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_1_named_remote_target_builder_driver_construction_from_nas_config", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_23" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L766", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_2_verifier_py_drop_env_mask_for_log", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_24" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L800", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_2_verifier_py_drop_env_mask_for_log", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_25" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L817", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_3_routine_post_push_reconcile_via_lsjson_replaces_per_push_download", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_26" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L842", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_3_routine_post_push_reconcile_via_lsjson_replaces_per_push_download", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_27" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L892", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_3_routine_post_push_reconcile_via_lsjson_replaces_per_push_download", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_28" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L909", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_4_cleanup_hash_gate_real_remote_existence_probe", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_29" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L931", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_4_cleanup_hash_gate_real_remote_existence_probe", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_30" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L965", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_4_cleanup_hash_gate_real_remote_existence_probe", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_31" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L985", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_4_5_force_verify_drop_env_threading", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_32" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L994", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_5_setup_gate_credential_removal", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_5_1_repurpose_setup_state_enums" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1035", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_5_setup_gate_credential_removal", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_5_2_rewrite_the_nas_setup_gate_in_paths_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_5_setup_gate_credential_removal", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_5_3_tray_probe_nas_sync_wiring_password_presence_removal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_5_setup_gate_credential_removal", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_5_4_api_surfaces_drop_nas_password_present_thread_nas_remote_available" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1002", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_1_repurpose_setup_state_enums", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_33" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1028", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_1_repurpose_setup_state_enums", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_34" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1045", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_2_rewrite_the_nas_setup_gate_in_paths_py", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_35" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1088", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_2_rewrite_the_nas_setup_gate_in_paths_py", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_36" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_2_rewrite_the_nas_setup_gate_in_paths_py", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_37" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_2_rewrite_the_nas_setup_gate_in_paths_py", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_38" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_2_rewrite_the_nas_setup_gate_in_paths_py", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_39" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_3_tray_probe_nas_sync_wiring_password_presence_removal", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_40" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_3_tray_probe_nas_sync_wiring_password_presence_removal", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_41" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_3_tray_probe_nas_sync_wiring_password_presence_removal", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_42" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_3_tray_probe_nas_sync_wiring_password_presence_removal", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_43" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1236", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_4_api_surfaces_drop_nas_password_present_thread_nas_remote_available", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_44" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1245", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_5_4_api_surfaces_drop_nas_password_present_thread_nas_remote_available", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_45" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_6_ui", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_6_1_settings_nas_remote_section_replaces_nas_credentials" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_6_ui", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_6_2_equipment_wizard_form_drop_transport_fields_main_page_banner_copy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1269", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_6_1_settings_nas_remote_section_replaces_nas_credentials", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_46" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1286", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_6_2_equipment_wizard_form_drop_transport_fields_main_page_banner_copy", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_47" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1295", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_7_remove_dead_code_clean_break", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_7_1_remove_the_transport_union_equipmentconfig_transport" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_7_remove_dead_code_clean_break", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_7_2_remove_build_rclone_env_obscure_pass_env_keys_for_keyring_helper_env_plumbing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1303", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_7_1_remove_the_transport_union_equipmentconfig_transport", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_48" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1318", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_7_1_remove_the_transport_union_equipmentconfig_transport", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_49" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_7_2_remove_build_rclone_env_obscure_pass_env_keys_for_keyring_helper_env_plumbing", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_50" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_8_orchestrator_staging_via_rclone_confirmed_in_scope", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_8_1_staging_config_orchestrator_staging_remote_staging_base_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1353", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_8_orchestrator_staging_via_rclone_confirmed_in_scope", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_8_2_stage_mode_push_routes_through_rclone" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1365", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_9_fixtures_integration_docker_docs", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_9_1_teach_stub_rclone_lsjson_listremotes_drop_env_require" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1404", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_9_fixtures_integration_docker_docs", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_9_2_integration_e2e_docker_rclone_conf" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1412", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_9_fixtures_integration_docker_docs", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_9_3_docs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1420", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_phase_9_fixtures_integration_docker_docs", - "target": "plans_2026_05_28_rclone_conf_nas_sync_task_9_4_full_suite_lint_type_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md", - "source_location": "L1376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "plans_2026_05_28_rclone_conf_nas_sync_task_9_1_teach_stub_rclone_lsjson_listremotes_drop_env_require", - "target": "plans_2026_05_28_rclone_conf_nas_sync_codeblock_51" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_superpowers_specs_2026_05_21_operator_free_per_file_nas_sync_design_md", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_non_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_the_model" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_config_changes_config_models_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_run_lifecycle_rollup_approach_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_per_file_sync_state_sync_state_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_ingest_json_contract_risk_2_resolution" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_keep_local_per_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L146", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_gui_per_file_display_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_failure_handling" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_cleanup_rollup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_transport_batching_risk_1_resolution" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_components_touched" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_testing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L244", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_migration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_operator_free_per_file_quiescence_driven_nas_sync_design", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_open_questions_out_of_scope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_21_operator_free_per_file_nas_sync_design_per_file_sync_state_sync_state_json", - "target": "specs_2026_05_21_operator_free_per_file_nas_sync_design_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L1", - "weight": 1.0, - "source": "docs_superpowers_specs_2026_05_29_hide_orchestrator_staging_design_md", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_hide_orchestrator_staging_from_the_ui_design_spec", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L14", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_hide_orchestrator_staging_from_the_ui_design_spec", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_1_summary", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L61", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_hide_orchestrator_staging_from_the_ui_design_spec", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_2_goals_non_goals", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L92", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_hide_orchestrator_staging_from_the_ui_design_spec", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_3_design", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L181", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_hide_orchestrator_staging_from_the_ui_design_spec", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_4_claude_md_update", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L218", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_hide_orchestrator_staging_from_the_ui_design_spec", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_5_testing", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L255", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_hide_orchestrator_staging_from_the_ui_design_spec", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_6_risks_notes", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L45", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_1_summary", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_why_hide_rather_than_a_feature_flag", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L51", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_1_summary", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_critical_implementation_note_do_not_delete_the_orchestrator_package", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L63", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_2_goals_non_goals", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_goals", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L75", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_2_goals_non_goals", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_non_goals", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L96", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_3_design", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_3_1_add_equipment_wizard_ui_pages_wizard_equipment_py", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L114", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_3_design", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_3_2_settings_section_ui_pages_settings_py", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L132", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_3_design", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_3_3_staging_route_ui_mount_py", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L146", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_3_design", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_3_4_main_window_footer_ui_pages_main_py", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L158", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_3_design", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_3_5_what_stays_dormant_explicitly_untouched", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L173", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_3_design", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_3_6_reversibility_contract", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L188", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_4_claude_md_update", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_codeblock_1", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L220", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_5_testing", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_tests_that_must_change", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L235", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_5_testing", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_tests_that_stay_green_unchanged_by_design", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L241", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_5_testing", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_tests_to_add", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md", - "source_location": "L249", - "weight": 1.0, - "source": "specs_2026_05_29_hide_orchestrator_staging_design_5_testing", - "target": "specs_2026_05_29_hide_orchestrator_staging_design_verification", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_superpowers_specs_2026_05_28_rclone_conf_nas_sync_design_md", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L10", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_motivation_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_decisions_from_brainstorming" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_config_schema" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L320", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_memory_storage_analysis_constrained_machines" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L332", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_migration_breaking_changes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L341", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_resolved_decisions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L353", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_full_surface_inventory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L374", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_rclone_conf_based_nas_sync", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_risks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_motivation_goals", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_non_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L75", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_config_schema", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_before_per_equipment_credential_injected" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_config_schema", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_after_named_remote_global_base_root" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_before_per_equipment_credential_injected", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_after_named_remote_global_base_root", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_1_transport_driver_sync_transports_rclone_py_single_reusable_rclone_ops_surface" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_2_manifest_parser_new_sync_manifest_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_3_sync_client_verify_cleanup_flow_sync_nas_client_py_sync_verifier_py_sync_cleanup_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L225", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_4_verify_cleanup_flow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_5_credentials_setup_gate_paths_py_constants_api_tray" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L255", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_6_ui_ui_pages_settings_py_ui_mount_py_ui_pages_main_py_ui_pages_wizard_equipment_py_ui_equipment_form_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_7_orchestrator_staging_hop" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_8_docs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_architecture_by_surface", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_9_tests" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_2_manifest_parser_new_sync_manifest_py", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_rclone_conf_nas_sync_design_4_verify_cleanup_flow", - "target": "specs_2026_05_28_rclone_conf_nas_sync_design_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L1", - "weight": 1.0, - "source": "docs_superpowers_specs_2026_05_29_main_window_ui_refresh_remaining_work_md", - "target": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L21", - "weight": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "target": "specs_2026_05_29_main_window_ui_refresh_remaining_work_1_what_has_shipped_committed_on_the_branch", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L65", - "weight": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "target": "specs_2026_05_29_main_window_ui_refresh_remaining_work_2_divergences_from_the_approved_design_spec_must_be_reconciled", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L102", - "weight": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "target": "specs_2026_05_29_main_window_ui_refresh_remaining_work_a_spec_reconciliation_done", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L115", - "weight": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "target": "specs_2026_05_29_main_window_ui_refresh_remaining_work_b_phase_5_polish_reconcile_each_item_with_the_popover", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L174", - "weight": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "target": "specs_2026_05_29_main_window_ui_refresh_remaining_work_c_phase_6_e2e_final_verification_done_e72cd73", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L233", - "weight": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "target": "specs_2026_05_29_main_window_ui_refresh_remaining_work_d_cleanup_tech_debt", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L250", - "weight": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "target": "specs_2026_05_29_main_window_ui_refresh_remaining_work_e_risks_open_questions", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L271", - "weight": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "target": "specs_2026_05_29_main_window_ui_refresh_remaining_work_f_deferred_out_of_scope_from_design_spec_11", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md", - "source_location": "L280", - "weight": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_remaining_work_main_window_ui_refresh_remaining_work_v2", - "target": "specs_2026_05_29_main_window_ui_refresh_remaining_work_working_notes_carry_forward", - "confidence_score": 1.0 - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_superpowers_specs_2026_05_26_rclone_only_nas_sync_design_md", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L43", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_non_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_architecture" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_components" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L417", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_data_flow_one_sync_cycle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L444", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_error_handling" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L460", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_testing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_open_follow_up_slot_b_drift_audit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L500", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_rclone_only_nas_sync_with_password_auth_sftp_smb", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_risks_notes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_architecture", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_components", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_1_config_models" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_components", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_2_keyring_dependencies_setup_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_components", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_3_rclone_driver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L261", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_components", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_4_nas_sync_client" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L299", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_components", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_5_verifier_collapse" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L344", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_components", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_6_wizard_settings_ui" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L390", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_components", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_7_sync_state_schema" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L407", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_components", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_8_error_classification" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_1_config_models", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L203", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_3_rclone_driver", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L246", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_3_rclone_driver", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L312", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_5_verifier_collapse", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md", - "source_location": "L395", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_26_rclone_only_nas_sync_design_7_sync_state_schema", - "target": "specs_2026_05_26_rclone_only_nas_sync_design_codeblock_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_superpowers_specs_2026_05_28_staging_root_opt_in_design_md", - "target": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L12", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", - "target": "specs_2026_05_28_staging_root_opt_in_design_1_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", - "target": "specs_2026_05_28_staging_root_opt_in_design_2_goals_non_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", - "target": "specs_2026_05_28_staging_root_opt_in_design_3_design" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", - "target": "specs_2026_05_28_staging_root_opt_in_design_4_data_flow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", - "target": "specs_2026_05_28_staging_root_opt_in_design_5_error_handling_edge_cases" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", - "target": "specs_2026_05_28_staging_root_opt_in_design_6_testing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L213", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_opt_in_staging_root_design_spec", - "target": "specs_2026_05_28_staging_root_opt_in_design_7_affected_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_2_goals_non_goals", - "target": "specs_2026_05_28_staging_root_opt_in_design_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_2_goals_non_goals", - "target": "specs_2026_05_28_staging_root_opt_in_design_non_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_3_design", - "target": "specs_2026_05_28_staging_root_opt_in_design_3_1_setup_state_gate_paths_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_3_design", - "target": "specs_2026_05_28_staging_root_opt_in_design_3_2_suggestion_helper_paths_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_3_design", - "target": "specs_2026_05_28_staging_root_opt_in_design_3_3_settings_ui_ui_pages_settings_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_3_design", - "target": "specs_2026_05_28_staging_root_opt_in_design_3_4_create_on_save_ui_mount_py_persist_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L121", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_3_design", - "target": "specs_2026_05_28_staging_root_opt_in_design_3_5_verified_not_modified" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_3_design", - "target": "specs_2026_05_28_staging_root_opt_in_design_3_6_test_mode_unchanged" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_4_data_flow", - "target": "specs_2026_05_28_staging_root_opt_in_design_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_6_testing", - "target": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_test_paths_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L197", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_6_testing", - "target": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_ui_test_settings_page_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L200", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_6_testing", - "target": "specs_2026_05_28_staging_root_opt_in_design_tests_unit_ui_test_mount_py_new_cases" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_28_staging_root_opt_in_design_6_testing", - "target": "specs_2026_05_28_staging_root_opt_in_design_regression_sweep" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_superpowers_specs_2026_05_29_main_window_ui_refresh_design_md", - "target": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_1_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_2_goals_non_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_3_design_tokens_foundation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_4_design" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L415", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_5_architecture_notes_rationale" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L444", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_6_data_flow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_7_error_handling_edge_cases" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L499", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_8_resolved_questions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L520", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_9_testing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L590", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_10_affected_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L617", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_main_window_ui_refresh_design_spec", - "target": "specs_2026_05_29_main_window_ui_refresh_design_11_deferred_follow_ups_explicitly_out_of_v1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L54", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_2_goals_non_goals", - "target": "specs_2026_05_29_main_window_ui_refresh_design_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_2_goals_non_goals", - "target": "specs_2026_05_29_main_window_ui_refresh_design_non_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_3_design_tokens_foundation", - "target": "specs_2026_05_29_main_window_ui_refresh_design_3_1_new_tokens" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_3_design_tokens_foundation", - "target": "specs_2026_05_29_main_window_ui_refresh_design_3_2_fix_latent_debt_referenced_but_undefined_variables" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_design", - "target": "specs_2026_05_29_main_window_ui_refresh_design_4_1_panel_framing_components_framed_pane_py_new_pages_main_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_design", - "target": "specs_2026_05_29_main_window_ui_refresh_design_4_2_file_list_zebra_row_state_precedence_components_file_list_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L207", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_design", - "target": "specs_2026_05_29_main_window_ui_refresh_design_4_3_centre_pane_wiring_pages_main_py_ui_mount_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_design", - "target": "specs_2026_05_29_main_window_ui_refresh_design_4_4_metadata_pane_option_b_anchored_nested_file_folder_components_metadata_pane_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L275", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_design", - "target": "specs_2026_05_29_main_window_ui_refresh_design_4_5_unified_selection_styling_sync_tooltips_legend" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L325", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_design", - "target": "specs_2026_05_29_main_window_ui_refresh_design_4_6_folder_aggregates_item_count_sync_rollup_oq_3_oq_4_resolved" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_design", - "target": "specs_2026_05_29_main_window_ui_refresh_design_4_7_empty_states" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L375", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_design", - "target": "specs_2026_05_29_main_window_ui_refresh_design_4_8_toolbar_grouping_density_pages_main_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_design", - "target": "specs_2026_05_29_main_window_ui_refresh_design_4_9_search_affordances_pages_main_py_left_explorer_card" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_1_panel_framing_components_framed_pane_py_new_pages_main_py", - "target": "specs_2026_05_29_main_window_ui_refresh_design_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_2_file_list_zebra_row_state_precedence_components_file_list_py", - "target": "specs_2026_05_29_main_window_ui_refresh_design_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L357", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_4_6_folder_aggregates_item_count_sync_rollup_oq_3_oq_4_resolved", - "target": "specs_2026_05_29_main_window_ui_refresh_design_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L446", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_6_data_flow", - "target": "specs_2026_05_29_main_window_ui_refresh_design_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_9_testing", - "target": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_design_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L531", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_9_testing", - "target": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_file_list_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L538", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_9_testing", - "target": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_metadata_pane_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L545", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_9_testing", - "target": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_sync_rollup_py_new_pure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L549", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_9_testing", - "target": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_sync_status_icon_py_extend" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L554", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_9_testing", - "target": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_status_bar_segment_py_extend" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L560", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_9_testing", - "target": "specs_2026_05_29_main_window_ui_refresh_design_tests_unit_ui_test_main_page_py_extend_test_mount_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L577", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_9_testing", - "target": "specs_2026_05_29_main_window_ui_refresh_design_tests_e2e_smoke" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md", - "source_location": "L583", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_main_window_ui_refresh_design_9_testing", - "target": "specs_2026_05_29_main_window_ui_refresh_design_regression_sweep" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_superpowers_specs_2026_05_29_sample_data_generation_design_md", - "target": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "target": "specs_2026_05_29_sample_data_generation_design_1_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "target": "specs_2026_05_29_sample_data_generation_design_2_goals_non_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "target": "specs_2026_05_29_sample_data_generation_design_3_approaches_considered" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "target": "specs_2026_05_29_sample_data_generation_design_4_sample_list_data_model_pydantic" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "target": "specs_2026_05_29_sample_data_generation_design_5_shared_helper_refactor_of_creation_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "target": "specs_2026_05_29_sample_data_generation_design_6_generation_flow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L234", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "target": "specs_2026_05_29_sample_data_generation_design_7_safety_guardrails_destructive_wipe" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L251", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "target": "specs_2026_05_29_sample_data_generation_design_8_module_layout_entry_points" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L280", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "target": "specs_2026_05_29_sample_data_generation_design_9_error_handling_testing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_list_driven_sample_data_generation_design_spec", - "target": "specs_2026_05_29_sample_data_generation_design_10_file_level_change_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_1_summary", - "target": "specs_2026_05_29_sample_data_generation_design_key_decisions_resolved_during_brainstorming" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_2_goals_non_goals", - "target": "specs_2026_05_29_sample_data_generation_design_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_2_goals_non_goals", - "target": "specs_2026_05_29_sample_data_generation_design_non_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L110", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_4_sample_list_data_model_pydantic", - "target": "specs_2026_05_29_sample_data_generation_design_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L253", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_8_module_layout_entry_points", - "target": "specs_2026_05_29_sample_data_generation_design_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_9_error_handling_testing", - "target": "specs_2026_05_29_sample_data_generation_design_error_handling" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-sample-data-generation-design.md", - "source_location": "L290", - "weight": 1.0, - "confidence_score": 1.0, - "source": "specs_2026_05_29_sample_data_generation_design_9_error_handling_testing", - "target": "specs_2026_05_29_sample_data_generation_design_testing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-mockups/README.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "docs_superpowers_specs_2026_05_29_main_window_ui_refresh_mockups_readme_md", - "target": "2026_05_29_main_window_ui_refresh_mockups_readme_main_window_ui_refresh_approved_mockups" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "docs/superpowers/specs/2026-05-29-main-window-ui-refresh-mockups/README.md", - "source_location": "L18", - "weight": 1.0, - "confidence_score": 1.0, - "source": "2026_05_29_main_window_ui_refresh_mockups_readme_main_window_ui_refresh_approved_mockups", - "target": "2026_05_29_main_window_ui_refresh_mockups_readme_caveats_for_implementers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_md", - "target": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_table_of_contents" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_1_purpose_and_scope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_2_framework_choice" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L307", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_3_main_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L723", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_4_new_project_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L750", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_5_new_run_wizard_experimental_and_test_modes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L780", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L816", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1064", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_8_orchestrator_mode_surfaces" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1091", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_11_problems_tab" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1394", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_12_widget_mappings" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1426", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_exlab_wizard_frontend_design_specification", - "target": "design_specs_exlab_wizard_frontend_spec_13_open_questions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_framework_choice", - "target": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L183", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_framework_choice", - "target": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", - "target": "design_specs_exlab_wizard_frontend_spec_2_1_1_the_design_py_module" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", - "target": "design_specs_exlab_wizard_frontend_spec_2_1_2_what_lives_in_design_md_vs_in_this_spec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", - "target": "design_specs_exlab_wizard_frontend_spec_2_1_3_exlab_wizard_typography_overrides" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", - "target": "design_specs_exlab_wizard_frontend_spec_2_1_4_warning_tier_color_resolves_oq_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L160", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", - "target": "design_specs_exlab_wizard_frontend_spec_2_1_5_css_styling_reference_rule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_1_visual_tokens_and_the_design_system", - "target": "design_specs_exlab_wizard_frontend_spec_2_1_6_design_md_absolute_constraints_binding" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_1_1_the_design_py_module", - "target": "design_specs_exlab_wizard_frontend_spec_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", - "target": "design_specs_exlab_wizard_frontend_spec_2_2_1_pattern_selection_rule" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L205", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", - "target": "design_specs_exlab_wizard_frontend_spec_2_2_2_toast_specifications" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", - "target": "design_specs_exlab_wizard_frontend_spec_2_2_3_banner_specifications" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", - "target": "design_specs_exlab_wizard_frontend_spec_2_2_4_inline_message_specifications" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L268", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_2_notification_taxonomy", - "target": "design_specs_exlab_wizard_frontend_spec_2_2_5_the_notify_helper_api" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L272", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_2_2_5_the_notify_helper_api", - "target": "design_specs_exlab_wizard_frontend_spec_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_main_window", - "target": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_main_window", - "target": "design_specs_exlab_wizard_frontend_spec_3_2_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L433", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_main_window", - "target": "design_specs_exlab_wizard_frontend_spec_3_3_refresh_semantics" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L437", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_main_window", - "target": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L521", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_main_window", - "target": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L604", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_main_window", - "target": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L698", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_main_window", - "target": "design_specs_exlab_wizard_frontend_spec_3_7_keyboard_shortcuts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", - "target": "design_specs_exlab_wizard_frontend_spec_3_1_1_setup_complete_definition" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", - "target": "design_specs_exlab_wizard_frontend_spec_3_1_2_boot_flow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L356", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", - "target": "design_specs_exlab_wizard_frontend_spec_3_1_3_welcome_card_first_launch_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", - "target": "design_specs_exlab_wizard_frontend_spec_3_1_4_setup_incomplete_state_on_the_main_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", - "target": "design_specs_exlab_wizard_frontend_spec_3_1_5_first_launch_defaults" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L404", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", - "target": "design_specs_exlab_wizard_frontend_spec_3_1_6_bundled_content_discovery" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L412", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_1_application_lifecycle_and_first_launch_state", - "target": "design_specs_exlab_wizard_frontend_spec_3_1_7_lims_configuration_online_and_offline_workstations" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L441", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", - "target": "design_specs_exlab_wizard_frontend_spec_3_4_1_tray_menu" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L453", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", - "target": "design_specs_exlab_wizard_frontend_spec_3_4_2_status_submenu" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L469", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", - "target": "design_specs_exlab_wizard_frontend_spec_3_4_3_window_lifecycle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L486", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", - "target": "design_specs_exlab_wizard_frontend_spec_3_4_4_why_this_lifecycle_matters_for_the_lab_workflow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", - "target": "design_specs_exlab_wizard_frontend_spec_3_4_5_os_notifications" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L503", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", - "target": "design_specs_exlab_wizard_frontend_spec_3_4_6_quitting_the_app" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L510", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_4_tray_icon_and_window_lifecycle", - "target": "design_specs_exlab_wizard_frontend_spec_3_4_7_linux_fallback_no_system_tray" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L525", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", - "target": "design_specs_exlab_wizard_frontend_spec_3_5_1_lims_name_resolution" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L535", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", - "target": "design_specs_exlab_wizard_frontend_spec_3_5_2_tree_node_display_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L546", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", - "target": "design_specs_exlab_wizard_frontend_spec_3_5_3_archived_and_deleted_lims_project_handling" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L558", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", - "target": "design_specs_exlab_wizard_frontend_spec_3_5_4_search_and_filter_chips" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L580", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", - "target": "design_specs_exlab_wizard_frontend_spec_3_5_5_status_bar_bottom_of_the_main_window" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L594", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_5_tree_details_filters_and_status_bar", - "target": "design_specs_exlab_wizard_frontend_spec_3_5_6_empty_states" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L562", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_5_4_search_and_filter_chips", - "target": "design_specs_exlab_wizard_frontend_spec_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L610", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", - "target": "design_specs_exlab_wizard_frontend_spec_3_6_1_title_bar" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L622", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", - "target": "design_specs_exlab_wizard_frontend_spec_3_6_2_project_detail_sections" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L633", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", - "target": "design_specs_exlab_wizard_frontend_spec_3_6_3_run_detail_sections" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L646", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", - "target": "design_specs_exlab_wizard_frontend_spec_3_6_4_validation_and_override_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L668", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", - "target": "design_specs_exlab_wizard_frontend_spec_3_6_5_action_affordances" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L690", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_6_detail_pane_right_panel", - "target": "design_specs_exlab_wizard_frontend_spec_3_6_6_empty_selection" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L654", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_3_6_4_validation_and_override_summary", - "target": "design_specs_exlab_wizard_frontend_spec_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L739", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_4_new_project_wizard", - "target": "design_specs_exlab_wizard_frontend_spec_4_1_lims_picker_behavior" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L754", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_5_new_run_wizard_experimental_and_test_modes", - "target": "design_specs_exlab_wizard_frontend_spec_5_1_mode_binding_at_launch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L761", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_5_new_run_wizard_experimental_and_test_modes", - "target": "design_specs_exlab_wizard_frontend_spec_5_2_steps" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L772", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_5_new_run_wizard_experimental_and_test_modes", - "target": "design_specs_exlab_wizard_frontend_spec_5_3_visual_differentiation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L784", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", - "target": "design_specs_exlab_wizard_frontend_spec_6_1_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L796", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", - "target": "design_specs_exlab_wizard_frontend_spec_6_2_pre_fill_rules" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L806", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", - "target": "design_specs_exlab_wizard_frontend_spec_6_3_preview_behavior" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L810", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_6_readme_authoring_step", - "target": "design_specs_exlab_wizard_frontend_spec_6_4_required_field_error_messaging" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L822", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_1_modality" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L828", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_2_layout_sidebar_navigation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L839", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_3_save_and_discard_model" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L851", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_4_reusable_patterns" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L877", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_5_paths_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L889", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_6_lims_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L907", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_7_equipment_list_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L990", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_8_nas_cleanup_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1003", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_9_operators_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1009", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_10_validator_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1018", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_11_logging_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1028", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_12_orchestrator_mode_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1042", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_13_application_section" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1054", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_settings_dialog", - "target": "design_specs_exlab_wizard_frontend_spec_7_14_setup_incomplete_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L853", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_4_reusable_patterns", - "target": "design_specs_exlab_wizard_frontend_spec_7_4_1_credential_field" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L865", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_4_reusable_patterns", - "target": "design_specs_exlab_wizard_frontend_spec_7_4_2_test_connection_feedback_panel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L911", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_7_equipment_list_section", - "target": "design_specs_exlab_wizard_frontend_spec_7_7_1_list_table" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L929", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_7_equipment_list_section", - "target": "design_specs_exlab_wizard_frontend_spec_7_7_2_add_edit_sub_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L962", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_7_7_equipment_list_section", - "target": "design_specs_exlab_wizard_frontend_spec_7_7_3_bandwidth_schedule_editor" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1068", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_8_orchestrator_mode_surfaces", - "target": "design_specs_exlab_wizard_frontend_spec_8_1_equipment_selector" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1072", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_8_orchestrator_mode_surfaces", - "target": "design_specs_exlab_wizard_frontend_spec_8_2_staging_panel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1085", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_8_orchestrator_mode_surfaces", - "target": "design_specs_exlab_wizard_frontend_spec_8_3_clear_verified_runs_action" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1095", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", - "target": "design_specs_exlab_wizard_frontend_spec_9_1_escalation_dialog_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", - "target": "design_specs_exlab_wizard_frontend_spec_9_2_multiple_consecutive_escalations_from_one_session_sequential" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1120", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", - "target": "design_specs_exlab_wizard_frontend_spec_9_3_mid_plugin_pass_progress_per_plugin_sub_progress" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", - "target": "design_specs_exlab_wizard_frontend_spec_9_4_cancel_during_escalation_confirmation_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", - "target": "design_specs_exlab_wizard_frontend_spec_9_5_disconnect_and_resume_the_in_flight_operations_panel" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_9_plugin_input_escalation", - "target": "design_specs_exlab_wizard_frontend_spec_9_6_concurrent_suspended_sessions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_9_3_mid_plugin_pass_progress_per_plugin_sub_progress", - "target": "design_specs_exlab_wizard_frontend_spec_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1194", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", - "target": "design_specs_exlab_wizard_frontend_spec_10_1_progress" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1198", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", - "target": "design_specs_exlab_wizard_frontend_spec_10_2_errors" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", - "target": "design_specs_exlab_wizard_frontend_spec_10_3_success_summary" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1216", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", - "target": "design_specs_exlab_wizard_frontend_spec_10_4_sync_blocked_banner" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_10_error_progress_and_summary_presentation", - "target": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1230", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", - "target": "design_specs_exlab_wizard_frontend_spec_10_5_1_nas_sync_failure_recovery" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", - "target": "design_specs_exlab_wizard_frontend_spec_10_5_2_lims_unreachability_mid_wizard" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", - "target": "design_specs_exlab_wizard_frontend_spec_10_5_3_crash_and_orphan_recovery" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1287", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_10_5_recovery_flows", - "target": "design_specs_exlab_wizard_frontend_spec_10_5_4_pre_flight_checks_before_creation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1305", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", - "target": "design_specs_exlab_wizard_frontend_spec_11_1_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1330", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", - "target": "design_specs_exlab_wizard_frontend_spec_11_2_severity_tier_visual_treatment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1336", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", - "target": "design_specs_exlab_wizard_frontend_spec_11_3_per_row_actions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1347", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", - "target": "design_specs_exlab_wizard_frontend_spec_11_4_empty_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1355", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", - "target": "design_specs_exlab_wizard_frontend_spec_11_4_1_new_finding_surfacing_during_the_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1365", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", - "target": "design_specs_exlab_wizard_frontend_spec_11_5_override_and_allow_sync_dialog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1381", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_11_problems_tab", - "target": "design_specs_exlab_wizard_frontend_spec_11_6_cross_surface_links" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1398", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_12_widget_mappings", - "target": "design_specs_exlab_wizard_frontend_spec_12_1_template_variable_form_from_copier_yml_questions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1408", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_12_widget_mappings", - "target": "design_specs_exlab_wizard_frontend_spec_12_2_readme_form_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Frontend_Spec.md", - "source_location": "L1418", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_frontend_spec_12_widget_mappings", - "target": "design_specs_exlab_wizard_frontend_spec_12_3_required_field_indication" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L2", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_md", - "target": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L10", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_table_of_contents" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L31", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_1_purpose_and_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_2_user_capabilities_reference" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_3_directory_structure_convention" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L71", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_4_backend_architecture" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L79", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_5_template_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_6_plugin_system" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_7_sync_and_database_integration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_8_error_handling_principles" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_9_configuration_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_10_readme_generation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_11_exlab_wizard_cache_folders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L135", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_12_orchestrator_mode_multi_equipment_workstations" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L143", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_13_equipment_to_orchestrator_data_flow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L151", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_15_distribution_and_installation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L159", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_16_logging_architecture" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/ExLab-Wizard_Design_Spec.md", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_exlab_wizard_design_spec_exlab_wizard_design_specification", - "target": "design_specs_exlab_wizard_design_spec_14_open_questions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_md", - "target": "design_specs_implementation_plan_exlab_wizard_implementation_plan" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L3", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "target": "design_specs_implementation_plan_context" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "target": "design_specs_implementation_plan_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "target": "design_specs_implementation_plan_first_action_before_phase_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "target": "design_specs_implementation_plan_subagent_strategy_used_at_every_phase" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L88", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "target": "design_specs_implementation_plan_per_phase_definition_of_done" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "target": "design_specs_implementation_plan_test_plan_merged_with_spec_4_10_11_8_frontend_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "target": "design_specs_implementation_plan_phase_sequence" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L839", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "target": "design_specs_implementation_plan_critical_files_reference" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L862", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "target": "design_specs_implementation_plan_verification_final_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L885", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_exlab_wizard_implementation_plan", - "target": "design_specs_implementation_plan_risks_mitigations" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L90", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_per_phase_definition_of_done", - "target": "design_specs_implementation_plan_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_1_project_scaffolding_constants_foundations" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_2_configuration_system_paths" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L295", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_3_logging_package_cache_writers_schema_models" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L335", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_4_validator_engine_rules" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L375", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_5_template_engine_copier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L406", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_6_plugin_system_host_worker_isolation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L459", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_7_creation_controller_state_machine" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L496", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_8_readme_generator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L520", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_9_lims_client_cache_keyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L558", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_10_nas_sync_client" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L601", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_11_fastapi_app_routers_websocket_setup_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L648", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_12_nicegui_frontend_design_tokens_pages_components" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L726", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_13_tray_window_processes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L765", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_14_orchestrator_mode_ingest" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L790", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_15_distribution_pyinstaller_bundling" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/IMPLEMENTATION_PLAN.md", - "source_location": "L818", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_implementation_plan_phase_sequence", - "target": "design_specs_implementation_plan_phase_16_e2e_hardening_pass" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_07_sync_and_database_integration_md", - "target": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L393", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_3_pre_sync_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L409", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_sync_and_database_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L13", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_1_component_model" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_2_job_lifecycle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_3_transport_driver_rclonedriver" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_4_verify_flow_lsjson_reconcile_cleanup_time_hash_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L84", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_5_retry_policy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_6_cleanup_safety_interlocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_7_bandwidth_limiting" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L128", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_8_credential_storage" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_9_what_nassync_does_not_do" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L139", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_10_cache_file_syncing_and_metadata_only_retention_on_cleanup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L63", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_3_transport_drivers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_nas_sync_internal_module", - "target": "design_spec_sections_07_sync_and_database_integration_7_1_4_hash_verification" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L17", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_1_component_model", - "target": "design_spec_sections_07_sync_and_database_integration_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L45", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_2_job_lifecycle", - "target": "design_spec_sections_07_sync_and_database_integration_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_1_7_bandwidth_limiting", - "target": "design_spec_sections_07_sync_and_database_integration_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_0_empirical_facts_about_the_lims" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L166", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_1_project_mapping_mapping_b_committed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L176", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_2_run_level_lims_integration_deferred_to_v1_x" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L184", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_3_limsclient_interface_v1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L229", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_4_project_cache_and_offline_behavior" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_5_authentication_cookie_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L252", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_6_asks_for_the_lims_team_deferred" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L263", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_7_v1_x_run_level_record_specification_target" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L293", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_8_what_exlab_wizard_does_not_write_to_lims_in_v1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L304", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_lims_integration", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_3_limsclient_interface_v1", - "target": "design_spec_sections_07_sync_and_database_integration_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L199", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_3_limsclient_interface_v1", - "target": "design_spec_sections_07_sync_and_database_integration_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_3_limsclient_interface_v1", - "target": "design_spec_sections_07_sync_and_database_integration_codeblock_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L310", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_1_file_location_and_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_2_producer_behavior" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L350", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_3_consumer_behavior" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L369", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_4_failure_modes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L380", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_5_security_and_trust" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L386", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_9_offline_catalogue_nas_shared_lims_project_list", - "target": "design_spec_sections_07_sync_and_database_integration_7_2_9_6_out_of_scope_for_v1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L316", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_2_9_1_file_location_and_format", - "target": "design_spec_sections_07_sync_and_database_integration_codeblock_7" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L421", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", - "target": "design_spec_sections_07_sync_and_database_integration_7_4_1_keyring_entry_naming_convention" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L435", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", - "target": "design_spec_sections_07_sync_and_database_integration_7_4_2_settings_ui_for_credentials" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L439", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", - "target": "design_spec_sections_07_sync_and_database_integration_7_4_3_credential_lifecycle" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/07_Sync_and_Database_Integration.md", - "source_location": "L447", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_07_sync_and_database_integration_7_4_credential_storage_os_keyring", - "target": "design_spec_sections_07_sync_and_database_integration_7_4_4_fallback_when_no_keyring_backend_is_available" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_03_directory_structure_convention_md", - "target": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", - "target": "design_spec_sections_03_directory_structure_convention_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", - "target": "design_spec_sections_03_directory_structure_convention_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", - "target": "design_spec_sections_03_directory_structure_convention_3_1_equipment_id_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/03_Directory_Structure_Convention.md", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_03_directory_structure_convention_3_directory_structure_convention", - "target": "design_spec_sections_03_directory_structure_convention_3_2_project_folder_name" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_12_orchestrator_mode_md", - "target": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", - "target": "design_spec_sections_12_orchestrator_mode_12_1_what_changes_in_orchestrator_mode" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L20", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", - "target": "design_spec_sections_12_orchestrator_mode_12_2_configuration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L24", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", - "target": "design_spec_sections_12_orchestrator_mode_12_3_concurrent_run_handling" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/12_Orchestrator_Mode.md", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_12_orchestrator_mode_12_orchestrator_mode_multi_equipment_workstations", - "target": "design_spec_sections_12_orchestrator_mode_12_4_logging_and_db_changes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_06_plugin_system_md", - "target": "design_spec_sections_06_plugin_system_6_plugin_system" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_0_where_plugins_sit_in_the_pipeline" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_1_plugin_contract" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L287", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_2_plugin_registry" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_3_subprocess_isolation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L487", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_4_plugin_input_escalation_plugininputrequired" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L517", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_5_base_plugin_scaffold_hello_plugin" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L602", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_6_worked_example_xlsx_field_filler" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L825", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_7_example_plugins_illustrative_catalog" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L835", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_8_plugin_authoring_checklist" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L849", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_9_lint_cli_exlab_wizard_plugins_lint" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L899", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_plugin_system", - "target": "design_spec_sections_06_plugin_system_6_10_test_debug_cli_exlab_wizard_plugins_exec" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_0_where_plugins_sit_in_the_pipeline", - "target": "design_spec_sections_06_plugin_system_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_1_plugin_contract", - "target": "design_spec_sections_06_plugin_system_6_1_1_package_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_1_plugin_contract", - "target": "design_spec_sections_06_plugin_system_6_1_2_manifest_yml_schema" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_1_plugin_contract", - "target": "design_spec_sections_06_plugin_system_6_1_3_the_plugin_base_class" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L254", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_1_plugin_contract", - "target": "design_spec_sections_06_plugin_system_6_1_5_what_plugins_must_not_touch" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L266", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_1_plugin_contract", - "target": "design_spec_sections_06_plugin_system_6_1_4_the_plugincontext_object" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L58", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_1_1_package_layout", - "target": "design_spec_sections_06_plugin_system_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L74", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_1_2_manifest_yml_schema", - "target": "design_spec_sections_06_plugin_system_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L106", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_1_3_the_plugin_base_class", - "target": "design_spec_sections_06_plugin_system_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_1_4_the_plugincontext_object", - "target": "design_spec_sections_06_plugin_system_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_2_plugin_registry", - "target": "design_spec_sections_06_plugin_system_6_2_1_discovery" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L308", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_2_plugin_registry", - "target": "design_spec_sections_06_plugin_system_6_2_2_resolution_per_creation_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_2_plugin_registry", - "target": "design_spec_sections_06_plugin_system_6_2_3_order_control_via_exlab_plugins" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_2_plugin_registry", - "target": "design_spec_sections_06_plugin_system_6_2_4_what_gets_recorded_in_creation_json" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L323", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_2_3_order_control_via_exlab_plugins", - "target": "design_spec_sections_06_plugin_system_codeblock_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L338", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_2_4_what_gets_recorded_in_creation_json", - "target": "design_spec_sections_06_plugin_system_codeblock_7" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L358", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_3_subprocess_isolation", - "target": "design_spec_sections_06_plugin_system_6_3_1_process_model" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L370", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_3_subprocess_isolation", - "target": "design_spec_sections_06_plugin_system_6_3_2_ipc_envelope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_3_subprocess_isolation", - "target": "design_spec_sections_06_plugin_system_6_3_3_resource_limits" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L422", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_3_subprocess_isolation", - "target": "design_spec_sections_06_plugin_system_6_3_4_failure_handling" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L439", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_3_subprocess_isolation", - "target": "design_spec_sections_06_plugin_system_6_3_6_validation_worker_subprocess_mode_validate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L460", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_3_subprocess_isolation", - "target": "design_spec_sections_06_plugin_system_6_3_5_security_model_what_isolation_does_and_does_not_solve" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L376", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_3_2_ipc_envelope", - "target": "design_spec_sections_06_plugin_system_codeblock_8" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L387", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_3_2_ipc_envelope", - "target": "design_spec_sections_06_plugin_system_codeblock_9" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L494", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_4_plugin_input_escalation_plugininputrequired", - "target": "design_spec_sections_06_plugin_system_6_4_1_suspend_resume_flow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L504", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_4_plugin_input_escalation_plugininputrequired", - "target": "design_spec_sections_06_plugin_system_6_4_2_resume_contract_what_the_plugin_author_must_guarantee" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L521", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_5_base_plugin_scaffold_hello_plugin", - "target": "design_spec_sections_06_plugin_system_6_5_1_directory" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L531", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_5_base_plugin_scaffold_hello_plugin", - "target": "design_spec_sections_06_plugin_system_6_5_2_init_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L544", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_5_base_plugin_scaffold_hello_plugin", - "target": "design_spec_sections_06_plugin_system_6_5_3_manifest_yml" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L564", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_5_base_plugin_scaffold_hello_plugin", - "target": "design_spec_sections_06_plugin_system_6_5_4_plugin_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L598", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_5_base_plugin_scaffold_hello_plugin", - "target": "design_spec_sections_06_plugin_system_6_5_5_readme_md" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L523", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_5_1_directory", - "target": "design_spec_sections_06_plugin_system_codeblock_10" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L533", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_5_2_init_py", - "target": "design_spec_sections_06_plugin_system_codeblock_11" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L546", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_5_3_manifest_yml", - "target": "design_spec_sections_06_plugin_system_codeblock_12" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L566", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_5_4_plugin_py", - "target": "design_spec_sections_06_plugin_system_codeblock_13" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L606", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_6_worked_example_xlsx_field_filler", - "target": "design_spec_sections_06_plugin_system_6_6_1_what_it_does" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L610", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_6_worked_example_xlsx_field_filler", - "target": "design_spec_sections_06_plugin_system_6_6_2_manifest_yml" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L635", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_6_worked_example_xlsx_field_filler", - "target": "design_spec_sections_06_plugin_system_6_6_3_plugin_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L809", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_6_worked_example_xlsx_field_filler", - "target": "design_spec_sections_06_plugin_system_6_6_4_what_this_exercises" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L612", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_6_2_manifest_yml", - "target": "design_spec_sections_06_plugin_system_codeblock_14" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L637", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_6_3_plugin_py", - "target": "design_spec_sections_06_plugin_system_codeblock_15" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L855", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_9_lint_cli_exlab_wizard_plugins_lint", - "target": "design_spec_sections_06_plugin_system_codeblock_16" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/06_Plugin_System.md", - "source_location": "L905", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_06_plugin_system_6_10_test_debug_cli_exlab_wizard_plugins_exec", - "target": "design_spec_sections_06_plugin_system_codeblock_17" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_15_distribution_md", - "target": "design_spec_sections_15_distribution_15_distribution_and_installation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_distribution_and_installation", - "target": "design_spec_sections_15_distribution_15_1_build_pipeline_pyinstaller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_distribution_and_installation", - "target": "design_spec_sections_15_distribution_15_2_code_signing_posture" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_distribution_and_installation", - "target": "design_spec_sections_15_distribution_15_3_launcher_behavior" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_distribution_and_installation", - "target": "design_spec_sections_15_distribution_15_4_bundled_starter_content" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_distribution_and_installation", - "target": "design_spec_sections_15_distribution_15_5_bundled_vs_external_binaries" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_distribution_and_installation", - "target": "design_spec_sections_15_distribution_15_6_versioning_and_release_artifacts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L148", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_distribution_and_installation", - "target": "design_spec_sections_15_distribution_15_7_autostart_registration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_distribution_and_installation", - "target": "design_spec_sections_15_distribution_15_8_open_questions" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_2_code_signing_posture", - "target": "design_spec_sections_15_distribution_15_2_1_offline_machine_specifics" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_3_launcher_behavior", - "target": "design_spec_sections_15_distribution_15_3_1_exlab_wizard_tray_long_lived_autostart_target" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_3_launcher_behavior", - "target": "design_spec_sections_15_distribution_15_3_2_exlab_wizard_window_on_demand" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L103", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_3_launcher_behavior", - "target": "design_spec_sections_15_distribution_15_3_3_exlab_wizard_cli_alias_desktop_launcher_target" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_3_launcher_behavior", - "target": "design_spec_sections_15_distribution_15_3_4_linux_fallback_no_system_tray" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L152", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_7_autostart_registration", - "target": "design_spec_sections_15_distribution_15_7_1_per_platform_registration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L163", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_7_autostart_registration", - "target": "design_spec_sections_15_distribution_15_7_2_upgrade_and_uninstall" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_7_autostart_registration", - "target": "design_spec_sections_15_distribution_15_7_3_os_notifications" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/15_Distribution.md", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_15_distribution_15_7_autostart_registration", - "target": "design_spec_sections_15_distribution_15_7_4_window_only_fallback_linux_without_tray_support" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_04_backend_architecture_md", - "target": "design_spec_sections_04_backend_architecture_4_backend_architecture" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_backend_architecture", - "target": "design_spec_sections_04_backend_architecture_4_1_deployment_model" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L35", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_backend_architecture", - "target": "design_spec_sections_04_backend_architecture_4_2_process_model" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_backend_architecture", - "target": "design_spec_sections_04_backend_architecture_4_3_package_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_backend_architecture", - "target": "design_spec_sections_04_backend_architecture_4_4_component_contracts" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L359", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_backend_architecture", - "target": "design_spec_sections_04_backend_architecture_4_5_async_threading_model" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L377", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_backend_architecture", - "target": "design_spec_sections_04_backend_architecture_4_6_frontend_backend_protocol" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L512", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_backend_architecture", - "target": "design_spec_sections_04_backend_architecture_4_7_creation_session_state_machine" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L593", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_backend_architecture", - "target": "design_spec_sections_04_backend_architecture_4_8_crash_recovery" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L607", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_backend_architecture", - "target": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L679", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_backend_architecture", - "target": "design_spec_sections_04_backend_architecture_4_10_testing_strategy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L37", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_2_process_model", - "target": "design_spec_sections_04_backend_architecture_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_3_package_layout", - "target": "design_spec_sections_04_backend_architecture_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_3_package_layout", - "target": "design_spec_sections_04_backend_architecture_4_3_1_the_constants_package" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L192", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_3_package_layout", - "target": "design_spec_sections_04_backend_architecture_4_3_2_the_tray_and_window_packages" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L224", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", - "target": "design_spec_sections_04_backend_architecture_4_4_1_creationcontroller" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L238", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", - "target": "design_spec_sections_04_backend_architecture_4_4_2_templateengine" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L248", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", - "target": "design_spec_sections_04_backend_architecture_4_4_3_pluginhost" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L265", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", - "target": "design_spec_sections_04_backend_architecture_4_4_4_validator" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", - "target": "design_spec_sections_04_backend_architecture_4_4_5_cachewriter" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L320", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", - "target": "design_spec_sections_04_backend_architecture_4_4_6_nassyncclient_and_limsclient" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L345", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_component_contracts", - "target": "design_spec_sections_04_backend_architecture_4_4_7_sessionstore" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L226", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_1_creationcontroller", - "target": "design_spec_sections_04_backend_architecture_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_2_templateengine", - "target": "design_spec_sections_04_backend_architecture_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L250", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_3_pluginhost", - "target": "design_spec_sections_04_backend_architecture_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L267", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_4_validator", - "target": "design_spec_sections_04_backend_architecture_codeblock_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_5_cachewriter", - "target": "design_spec_sections_04_backend_architecture_codeblock_7" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L301", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_5_cachewriter", - "target": "design_spec_sections_04_backend_architecture_codeblock_8" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L324", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_6_nassyncclient_and_limsclient", - "target": "design_spec_sections_04_backend_architecture_codeblock_9" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L334", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_6_nassyncclient_and_limsclient", - "target": "design_spec_sections_04_backend_architecture_codeblock_10" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L347", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_4_7_sessionstore", - "target": "design_spec_sections_04_backend_architecture_codeblock_11" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L381", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_6_frontend_backend_protocol", - "target": "design_spec_sections_04_backend_architecture_4_6_1_rest_surface_illustrative_subset_full_schema_lives_in_api_schemas_py" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L406", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_6_frontend_backend_protocol", - "target": "design_spec_sections_04_backend_architecture_4_6_2_websocket_events" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L429", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_6_frontend_backend_protocol", - "target": "design_spec_sections_04_backend_architecture_4_6_3_api_versioning_health_and_error_envelope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L410", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_6_2_websocket_events", - "target": "design_spec_sections_04_backend_architecture_codeblock_12" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_6_2_websocket_events", - "target": "design_spec_sections_04_backend_architecture_codeblock_13" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L448", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_6_3_api_versioning_health_and_error_envelope", - "target": "design_spec_sections_04_backend_architecture_codeblock_14" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_6_3_api_versioning_health_and_error_envelope", - "target": "design_spec_sections_04_backend_architecture_codeblock_15" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L514", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_7_creation_session_state_machine", - "target": "design_spec_sections_04_backend_architecture_codeblock_16" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L573", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_7_creation_session_state_machine", - "target": "design_spec_sections_04_backend_architecture_4_7_1_sessionstate_phase_mapping" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L611", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", - "target": "design_spec_sections_04_backend_architecture_4_9_1_setup_states" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L626", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", - "target": "design_spec_sections_04_backend_architecture_4_9_2_endpoint_gating" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L643", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", - "target": "design_spec_sections_04_backend_architecture_4_9_3_get_api_v1_setup_status_response_shape" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L659", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", - "target": "design_spec_sections_04_backend_architecture_4_9_4_lims_unreachability_is_a_soft_block" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L665", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_9_first_launch_and_setup_incomplete_state", - "target": "design_spec_sections_04_backend_architecture_4_9_5_initial_setup_ordering_informational" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L645", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_9_3_get_api_v1_setup_status_response_shape", - "target": "design_spec_sections_04_backend_architecture_codeblock_17" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L683", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", - "target": "design_spec_sections_04_backend_architecture_4_10_1_unit_tests_tests_unit" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L694", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", - "target": "design_spec_sections_04_backend_architecture_4_10_2_integration_tests_tests_integration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L707", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", - "target": "design_spec_sections_04_backend_architecture_4_10_3_end_to_end_tests_tests_e2e" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L718", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", - "target": "design_spec_sections_04_backend_architecture_4_10_4_test_fixtures_tests_fixtures" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/04_Backend_Architecture.md", - "source_location": "L728", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_04_backend_architecture_4_10_testing_strategy", - "target": "design_spec_sections_04_backend_architecture_4_10_5_what_s_not_tested_at_each_layer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_11_cache_folders_md", - "target": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", - "target": "design_spec_sections_11_cache_folders_11_1_folder_placement" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L50", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", - "target": "design_spec_sections_11_cache_folders_11_2_file_inventory_per_level" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L93", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", - "target": "design_spec_sections_11_cache_folders_11_3_creation_json_schema" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L243", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", - "target": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L343", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", - "target": "design_spec_sections_11_cache_folders_11_5_wizard_hostname_log_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L397", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", - "target": "design_spec_sections_11_cache_folders_11_6_nas_sync_behavior_for_cache_files" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L401", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", - "target": "design_spec_sections_11_cache_folders_11_7_discovery_and_validation_use_cases" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L413", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", - "target": "design_spec_sections_11_cache_folders_11_8_validator_engine_and_problem_query_contract" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L452", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_exlab_wizard_cache_folders", - "target": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_1_folder_placement", - "target": "design_spec_sections_11_cache_folders_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L97", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", - "target": "design_spec_sections_11_cache_folders_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", - "target": "design_spec_sections_11_cache_folders_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", - "target": "design_spec_sections_11_cache_folders_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L206", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", - "target": "design_spec_sections_11_cache_folders_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L220", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", - "target": "design_spec_sections_11_cache_folders_codeblock_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L227", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_3_creation_json_schema", - "target": "design_spec_sections_11_cache_folders_schema_version_history" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L249", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", - "target": "design_spec_sections_11_cache_folders_codeblock_7" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L285", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", - "target": "design_spec_sections_11_cache_folders_11_4_1_equipment_json_schema" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L311", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", - "target": "design_spec_sections_11_cache_folders_11_4_2_test_runs_json_schema" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_4_readme_fields_json_schema", - "target": "design_spec_sections_11_cache_folders_11_4_3_runs_json_schema" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L287", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_4_1_equipment_json_schema", - "target": "design_spec_sections_11_cache_folders_codeblock_8" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L313", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_4_2_test_runs_json_schema", - "target": "design_spec_sections_11_cache_folders_codeblock_9" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L329", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_4_3_runs_json_schema", - "target": "design_spec_sections_11_cache_folders_codeblock_10" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L351", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_5_wizard_hostname_log_format", - "target": "design_spec_sections_11_cache_folders_codeblock_11" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L366", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_5_wizard_hostname_log_format", - "target": "design_spec_sections_11_cache_folders_11_5_1_log_levels_rotation_and_the_central_app_log" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L430", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_8_validator_engine_and_problem_query_contract", - "target": "design_spec_sections_11_cache_folders_codeblock_12" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L456", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", - "target": "design_spec_sections_11_cache_folders_11_9_1_versioning_rules" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L462", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", - "target": "design_spec_sections_11_cache_folders_11_9_2_reader_policy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L472", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", - "target": "design_spec_sections_11_cache_folders_11_9_3_writer_policy" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L480", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", - "target": "design_spec_sections_11_cache_folders_11_9_4_cross_major_migration_v1_v2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L488", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", - "target": "design_spec_sections_11_cache_folders_11_9_5_directory_layout_migration_v0_5_v0_6" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/11_Cache_Folders.md", - "source_location": "L492", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_11_cache_folders_11_9_schema_versioning_and_migration_policy", - "target": "design_spec_sections_11_cache_folders_11_9_6_what_about_config_yaml" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_05_template_format_md", - "target": "design_spec_sections_05_template_format_5_template_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_template_format", - "target": "design_spec_sections_05_template_format_5_0_template_locations_global_and_per_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L32", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_template_format", - "target": "design_spec_sections_05_template_format_5_1_template_structure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_template_format", - "target": "design_spec_sections_05_template_format_5_2_copier_manifest_copier_yml" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_template_format", - "target": "design_spec_sections_05_template_format_5_3_copier_python_api_integration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_template_format", - "target": "design_spec_sections_05_template_format_5_4_copier_answers_file_exlab_answers_yml" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_template_format", - "target": "design_spec_sections_05_template_format_5_5_plugin_pass_post_render_controller_driven" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_template_format", - "target": "design_spec_sections_05_template_format_5_6_jinja2_templating_in_file_contents" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_template_format", - "target": "design_spec_sections_05_template_format_5_7_template_versioning" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L175", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_template_format", - "target": "design_spec_sections_05_template_format_5_8_lint_cli_exlab_wizard_templates_lint" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_1_template_structure", - "target": "design_spec_sections_05_template_format_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_2_copier_manifest_copier_yml", - "target": "design_spec_sections_05_template_format_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_3_copier_python_api_integration", - "target": "design_spec_sections_05_template_format_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/05_Template_Format.md", - "source_location": "L181", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_05_template_format_5_8_lint_cli_exlab_wizard_templates_lint", - "target": "design_spec_sections_05_template_format_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_13_equipment_to_orchestrator_data_flow_md", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_1_topology" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_2_staging_area_layout" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L52", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_3_run_lifecycle_states" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_4_ingest_json_schema" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_5_run_completeness_signal" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_6_transport_handling" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_7_staging_cleanup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L140", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_equipment_to_orchestrator_data_flow", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_8_staging_state_query_backend_contract" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_1_topology", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L28", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_2_staging_area_layout", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_4_ingest_json_schema", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_13_equipment_to_orchestrator_data_flow_13_7_staging_cleanup", - "target": "design_spec_sections_13_equipment_to_orchestrator_data_flow_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_08_error_handling_principles_md", - "target": "design_spec_sections_08_error_handling_principles_8_error_handling_principles" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_08_error_handling_principles_8_error_handling_principles", - "target": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", - "target": "design_spec_sections_08_error_handling_principles_8_1_1_unresolved_placeholder_rule_hard_tier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", - "target": "design_spec_sections_08_error_handling_principles_8_1_2_illegal_filesystem_character_rule_hard_tier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L51", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", - "target": "design_spec_sections_08_error_handling_principles_8_1_3_mode_prefix_mismatch_rule_hard_tier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", - "target": "design_spec_sections_08_error_handling_principles_8_1_4_orphan_rule_soft_tier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L66", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", - "target": "design_spec_sections_08_error_handling_principles_8_1_5_missing_required_field_rule_soft_tier" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/08_Error_Handling_Principles.md", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_08_error_handling_principles_8_1_path_validation_rules", - "target": "design_spec_sections_08_error_handling_principles_8_1_6_tier_mapping" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_10_readme_generation_md", - "target": "design_spec_sections_10_readme_generation_10_readme_generation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_readme_generation", - "target": "design_spec_sections_10_readme_generation_10_1_when_it_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L26", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_readme_generation", - "target": "design_spec_sections_10_readme_generation_10_2_field_sources_merged_layers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_readme_generation", - "target": "design_spec_sections_10_readme_generation_10_3_field_types" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_readme_generation", - "target": "design_spec_sections_10_readme_generation_10_4_user_added_custom_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L80", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_readme_generation", - "target": "design_spec_sections_10_readme_generation_10_5_pre_fill_behavior" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_readme_generation", - "target": "design_spec_sections_10_readme_generation_10_6_auto_filled_system_fields" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_readme_generation", - "target": "design_spec_sections_10_readme_generation_10_7_output_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_readme_generation", - "target": "design_spec_sections_10_readme_generation_10_8_readme_plugin_hook_removed_in_v0_7" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_1_when_it_runs", - "target": "design_spec_sections_10_readme_generation_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L53", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_3_field_types", - "target": "design_spec_sections_10_readme_generation_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L115", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_7_output_format", - "target": "design_spec_sections_10_readme_generation_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_7_output_format", - "target": "design_spec_sections_10_readme_generation_10_7_1_machine_query_examples" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_7_output_format", - "target": "design_spec_sections_10_readme_generation_10_7_2_prose_body" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/10_README_Generation.md", - "source_location": "L173", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_10_readme_generation_10_7_1_machine_query_examples", - "target": "design_spec_sections_10_readme_generation_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_16_logging_md", - "target": "design_spec_sections_16_logging_16_logging_architecture" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L14", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_logging_architecture", - "target": "design_spec_sections_16_logging_16_1_goals" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L23", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_logging_architecture", - "target": "design_spec_sections_16_logging_16_2_the_logging_package" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_logging_architecture", - "target": "design_spec_sections_16_logging_16_3_log_file_layout_where_to_look_quick_reference" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_logging_architecture", - "target": "design_spec_sections_16_logging_16_4_format" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L154", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_logging_architecture", - "target": "design_spec_sections_16_logging_16_5_levels_and_configuration" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L169", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_logging_architecture", - "target": "design_spec_sections_16_logging_16_6_rotation" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_logging_architecture", - "target": "design_spec_sections_16_logging_16_7_debugging_recipes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L223", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_logging_architecture", - "target": "design_spec_sections_16_logging_16_8_plugin_worker_logging" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L237", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_logging_architecture", - "target": "design_spec_sections_16_logging_16_9_operator_facing_log_access" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L247", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_logging_architecture", - "target": "design_spec_sections_16_logging_16_10_anti_patterns" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_2_the_logging_package", - "target": "design_spec_sections_16_logging_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L34", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_2_the_logging_package", - "target": "design_spec_sections_16_logging_16_2_1_the_get_logger_name_entry_point" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L55", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_2_the_logging_package", - "target": "design_spec_sections_16_logging_16_2_2_configure_logging_config_at_startup" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L72", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_2_the_logging_package", - "target": "design_spec_sections_16_logging_16_2_3_context_vars" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L91", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_2_the_logging_package", - "target": "design_spec_sections_16_logging_16_2_4_equipment_scoped_handlers" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L102", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_2_the_logging_package", - "target": "design_spec_sections_16_logging_16_2_5_non_blocking_emit_via_queuehandler_queuelistener" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_2_1_the_get_logger_name_entry_point", - "target": "design_spec_sections_16_logging_codeblock_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_2_2_configure_logging_config_at_startup", - "target": "design_spec_sections_16_logging_codeblock_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L76", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_2_3_context_vars", - "target": "design_spec_sections_16_logging_codeblock_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_4_format", - "target": "design_spec_sections_16_logging_codeblock_5" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_7_debugging_recipes", - "target": "design_spec_sections_16_logging_16_7_1_a_run_failed_what_happened" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L195", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_7_debugging_recipes", - "target": "design_spec_sections_16_logging_16_7_2_sync_is_failing_for_many_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L201", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_7_debugging_recipes", - "target": "design_spec_sections_16_logging_16_7_3_a_plugin_is_misbehaving_in_production" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L209", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_7_debugging_recipes", - "target": "design_spec_sections_16_logging_16_7_4_i_don_t_trust_my_config_what_s_actually_loaded" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/16_Logging.md", - "source_location": "L214", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_16_logging_16_7_debugging_recipes", - "target": "design_spec_sections_16_logging_16_7_5_increase_verbosity_for_one_debug_session" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_02_user_interaction_md", - "target": "design_spec_sections_02_user_interaction_2_user_interaction" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L13", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_2_user_interaction", - "target": "design_spec_sections_02_user_interaction_table_of_contents" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L33", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_2_user_interaction", - "target": "design_spec_sections_02_user_interaction_1_purpose_and_scope" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_2_user_interaction", - "target": "design_spec_sections_02_user_interaction_2_mandatory_core_fields_creation_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L69", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_2_user_interaction", - "target": "design_spec_sections_02_user_interaction_3_user_capabilities" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L144", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_2_user_interaction", - "target": "design_spec_sections_02_user_interaction_4_mode_invariants_and_safety_boundaries" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_2_user_interaction", - "target": "design_spec_sections_02_user_interaction_5_validation_order_and_error_surfacing" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_2_user_interaction", - "target": "design_spec_sections_02_user_interaction_6_user_visible_state_across_surfaces" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L186", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_2_user_interaction", - "target": "design_spec_sections_02_user_interaction_7_pre_sync_gate" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L73", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_3_user_capabilities", - "target": "design_spec_sections_02_user_interaction_3_1_create_a_new_project" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L82", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_3_user_capabilities", - "target": "design_spec_sections_02_user_interaction_3_2_create_a_new_experimental_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L89", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_3_user_capabilities", - "target": "design_spec_sections_02_user_interaction_3_3_create_a_new_test_run" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L98", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_3_user_capabilities", - "target": "design_spec_sections_02_user_interaction_3_4_browse_existing_equipment_projects_and_runs" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_3_user_capabilities", - "target": "design_spec_sections_02_user_interaction_3_5_author_a_readme_at_creation_time" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_3_user_capabilities", - "target": "design_spec_sections_02_user_interaction_3_6_configure_equipment_paths_and_integrations" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_3_user_capabilities", - "target": "design_spec_sections_02_user_interaction_3_7_monitor_orchestrator_staging_orchestrator_mode_only" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_3_user_capabilities", - "target": "design_spec_sections_02_user_interaction_3_8_review_and_resolve_naming_and_validation_problems" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L190", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_7_pre_sync_gate", - "target": "design_spec_sections_02_user_interaction_7_1_what_the_gate_blocks" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L196", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_7_pre_sync_gate", - "target": "design_spec_sections_02_user_interaction_7_2_what_the_user_sees" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L202", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_7_pre_sync_gate", - "target": "design_spec_sections_02_user_interaction_7_3_how_the_gate_is_cleared" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L211", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_7_pre_sync_gate", - "target": "design_spec_sections_02_user_interaction_7_4_override_audit_contract" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/02_User_Interaction.md", - "source_location": "L219", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_02_user_interaction_7_pre_sync_gate", - "target": "design_spec_sections_02_user_interaction_7_5_gate_semantics_on_retroactive_problems" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/09_Configuration_File.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_specs_design_spec_sections_09_configuration_file_md", - "target": "design_spec_sections_09_configuration_file_9_configuration_file" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "design_specs/design_spec_sections/09_Configuration_File.md", - "source_location": "L19", - "weight": 1.0, - "confidence_score": 1.0, - "source": "design_spec_sections_09_configuration_file_9_configuration_file", - "target": "design_spec_sections_09_configuration_file_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "graphify-out/memory/query_20260529_232003_how_are_the_example_equipment__projects__run_folde.md", - "source_location": "L9", - "weight": 1.0, - "confidence_score": 1.0, - "source": "graphify_out_memory_query_20260529_232003_how_are_the_example_equipment_projects_run_folde_md", - "target": "memory_query_20260529_232003_how_are_the_example_equipment_projects_run_folde_q_how_are_the_example_equipment_projects_run_folders_and_samples_generated_in_test_mode_of_the_wizard_tray" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "graphify-out/memory/query_20260529_232003_how_are_the_example_equipment__projects__run_folde.md", - "source_location": "L11", - "weight": 1.0, - "confidence_score": 1.0, - "source": "memory_query_20260529_232003_how_are_the_example_equipment_projects_run_folde_q_how_are_the_example_equipment_projects_run_folders_and_samples_generated_in_test_mode_of_the_wizard_tray", - "target": "memory_query_20260529_232003_how_are_the_example_equipment_projects_run_folde_answer" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "graphify-out/memory/query_20260529_232003_how_are_the_example_equipment__projects__run_folde.md", - "source_location": "L15", - "weight": 1.0, - "confidence_score": 1.0, - "source": "memory_query_20260529_232003_how_are_the_example_equipment_projects_run_folde_q_how_are_the_example_equipment_projects_run_folders_and_samples_generated_in_test_mode_of_the_wizard_tray", - "target": "memory_query_20260529_232003_how_are_the_example_equipment_projects_run_folde_source_nodes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L95", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_95", - "target": "ui_test_pages_test_main_setup_banner_subline_tailored_for_nas_credentials" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_pages.py", - "source_location": "L276", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_pages_rationale_276", - "target": "ui_test_pages_test_settings_first_incomplete_resolves_nas_credentials" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakeui", - "target": "ui_test_mount_fakeui_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L107", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakeui", - "target": "ui_test_mount_fakeui_card" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_fakeui", - "target": "ui_test_mount_fakeui_label" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L657", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_render_unavailable_renders_headline_and_subline", - "target": "ui_test_mount_fakeui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_99", - "target": "ui_test_mount_fakeui" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_fakeui", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_boomui", - "target": "ui_test_mount_boomui_card" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_boomui", - "target": "ui_test_mount_boomui_label" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L665", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_test_render_unavailable_swallows_failure", - "target": "ui_test_mount_boomui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_118", - "target": "ui_test_mount_boomui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_117", - "target": "ui_test_mount_boomui" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L350", - "weight": 0.8, - "confidence_score": 0.5, - "source": "ui_test_mount_boomui", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L461", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_461", - "target": "ui_test_mount_test_staging_state_when_staging_root_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L460", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_460", - "target": "ui_test_mount_test_staging_state_when_staging_root_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1702", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1702", - "target": "ui_test_mount_drain_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1696", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1696", - "target": "ui_test_mount_drain_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1698", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1698", - "target": "ui_test_mount_drain_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1529", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1529", - "target": "ui_test_mount_drain_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1503", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1503", - "target": "ui_test_mount_drain_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1545", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1545", - "target": "ui_test_mount_drain_background" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1790", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1790", - "target": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1784", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1784", - "target": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1786", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1786", - "target": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1617", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1617", - "target": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1592", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1592", - "target": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1633", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1633", - "target": "ui_test_mount_test_bulk_clear_verified_clears_verified_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1817", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1817", - "target": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1813", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1813", - "target": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1644", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1644", - "target": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1619", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1619", - "target": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1660", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1660", - "target": "ui_test_mount_test_bulk_clear_verified_no_config_toasts_and_returns" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1826", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1826", - "target": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1820", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1820", - "target": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1822", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1822", - "target": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1653", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1653", - "target": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1628", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1628", - "target": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1627", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1627", - "target": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L1669", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_1669", - "target": "ui_test_mount_test_bulk_clear_verified_logs_helper_exception" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2937", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2937", - "target": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2931", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2931", - "target": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2933", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2933", - "target": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2764", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2764", - "target": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2739", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2739", - "target": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2738", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2738", - "target": "ui_test_mount_test_bulk_clear_verified_no_verified_rows_toasts" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L3017", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_3017", - "target": "ui_test_mount_test_build_staging_state_query_failure_returns_empty_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L3011", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_3011", - "target": "ui_test_mount_test_build_staging_state_query_failure_returns_empty_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L3013", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_3013", - "target": "ui_test_mount_test_build_staging_state_query_failure_returns_empty_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2844", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2844", - "target": "ui_test_mount_test_build_staging_state_query_failure_returns_empty_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2819", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2819", - "target": "ui_test_mount_test_build_staging_state_query_failure_returns_empty_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L2818", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_2818", - "target": "ui_test_mount_test_build_staging_state_query_failure_returns_empty_rows" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1331", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1331", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1326", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1326", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1319", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1319", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1317", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1317", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1282", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1282", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1274", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1274", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1241", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1241", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1142", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1123", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L1177", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_1177", - "target": "ui_mount_bulk_clear_verified" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/main.py", - "source_location": "L273", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_main_rationale_273", - "target": "tray_main_bootstrap_test_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1270", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_1270", - "target": "controller_creation_readme_decls_from_template" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1302", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_1302", - "target": "controller_creation_readme_decls_from_config" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/controller/creation.py", - "source_location": "L1327", - "weight": 1.0, - "confidence_score": 1.0, - "source": "controller_creation_rationale_1327", - "target": "controller_creation_os_username" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "resume_md", - "target": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_post_demo_ui_batch_committed" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "resume_md", - "target": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_committed_at_demo_checkpoint" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "resume_md", - "target": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_in_progress" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_post_demo_ui_batch_committed", - "target": "exlabwizard_resume_current_state_2026_05_29_session_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L47", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_post_demo_ui_batch_committed", - "target": "exlabwizard_resume_how_to_work_lessons_from_this_session_important" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L70", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_post_demo_ui_batch_committed", - "target": "exlabwizard_resume_where_things_stand" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_post_demo_ui_batch_committed", - "target": "exlabwizard_resume_phase_4_remaining_work_option_b_selection_metadata" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_post_demo_ui_batch_committed", - "target": "exlabwizard_resume_code_review_findings_to_honor_from_earlier_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_post_demo_ui_batch_committed", - "target": "exlabwizard_resume_quick_resume_verification_run_sequentially_one_at_a_time" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_committed_at_demo_checkpoint", - "target": "exlabwizard_resume_current_state_2026_05_29_session_2" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_committed_at_demo_checkpoint", - "target": "exlabwizard_resume_how_to_work_lessons_from_this_session_important" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L7", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_in_progress", - "target": "exlabwizard_resume_how_to_work_lessons_from_this_session_important" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L38", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_where_things_stand", - "target": "exlabwizard_resume_committed_clean_phases_1_3" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L46", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_where_things_stand", - "target": "exlabwizard_resume_uncommitted_partial_phase_4_working_tree_additive_backward_compatible" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L48", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_committed_at_demo_checkpoint", - "target": "exlabwizard_resume_where_things_stand" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L30", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_in_progress", - "target": "exlabwizard_resume_where_things_stand" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L108", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_phase_4_remaining_work_option_b_selection_metadata", - "target": "exlabwizard_resume_tests_to_add_phase_4" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_phase_4_remaining_work_option_b_selection_metadata", - "target": "exlabwizard_resume_demo_checkpoint_task_6_after_phase_4_verifies_green" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_committed_at_demo_checkpoint", - "target": "exlabwizard_resume_phase_4_remaining_work_option_b_selection_metadata" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L60", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_in_progress", - "target": "exlabwizard_resume_phase_4_remaining_work_option_b_selection_metadata" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_committed_at_demo_checkpoint", - "target": "exlabwizard_resume_code_review_findings_to_honor_from_earlier_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L124", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_in_progress", - "target": "exlabwizard_resume_code_review_findings_to_honor_from_earlier_passes" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L132", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_quick_resume_verification_run_sequentially_one_at_a_time", - "target": "exlabwizard_resume_codeblock_1" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_done_committed_at_demo_checkpoint", - "target": "exlabwizard_resume_quick_resume_verification_run_sequentially_one_at_a_time" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "RESUME.md", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlabwizard_resume_resume_main_window_ui_refresh_phase_4_in_progress", - "target": "exlabwizard_resume_quick_resume_verification_run_sequentially_one_at_a_time" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_framed_pane.py", - "source_location": "L62", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_framed_pane_rationale_62", - "target": "ui_test_framed_pane_test_framed_pane_nests_children_in_body_under_nicegui" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L877", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_877", - "target": "unit_test_paths_test_evaluate_setup_state_nas_keyring_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L896", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_896", - "target": "unit_test_paths_test_evaluate_setup_state_nas_state_resolves_once_password_added" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/test_paths.py", - "source_location": "L906", - "weight": 1.0, - "confidence_score": 1.0, - "source": "unit_test_paths_rationale_906", - "target": "unit_test_paths_test_setup_state_missing_for_no_nas_credential_lists_per_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_mount_rationale_215", - "target": "ui_test_mount_test_is_setup_ready_false_when_nas_credential_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L773", - "weight": 1.0, - "source": "ui_test_mount_test_nas_credential_handlers_save_writes_under_nas_username", - "target": "constants_keyring_keyring_nas_username" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_mount.py", - "source_location": "L789", - "weight": 1.0, - "source": "ui_test_mount_test_nas_credential_handlers_clear_deletes_and_discards", - "target": "constants_keyring_keyring_nas_username" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L25", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_nas_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L41", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_stage_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L56", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_config_with" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L64", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_testids" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L77", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L85", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_test_sections_insert_nas_credentials_after_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L99", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L141", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L155", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_ui_test_settings_nas_credentials_py", - "target": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_rationale_1", - "target": "tests_unit_ui_test_settings_nas_credentials_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_sections_insert_nas_credentials_after_equipment", - "target": "ui_test_settings_nas_credentials_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment", - "target": "ui_test_settings_nas_credentials_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists", - "target": "ui_test_settings_nas_credentials_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action", - "target": "ui_test_settings_nas_credentials_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id", - "target": "ui_test_settings_nas_credentials_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L32", - "weight": 1.0, - "source": "ui_test_settings_nas_credentials_nas_equipment", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment", - "target": "ui_test_settings_nas_credentials_stage_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config", - "target": "ui_test_settings_nas_credentials_stage_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L48", - "weight": 1.0, - "source": "ui_test_settings_nas_credentials_stage_equipment", - "target": "config_models_orchestratorstagingtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L78", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_sections_omit_nas_credentials_without_password_equipment", - "target": "ui_test_settings_nas_credentials_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L86", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_sections_insert_nas_credentials_after_equipment", - "target": "ui_test_settings_nas_credentials_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment", - "target": "ui_test_settings_nas_credentials_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L119", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists", - "target": "ui_test_settings_nas_credentials_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config", - "target": "ui_test_settings_nas_credentials_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L142", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action", - "target": "ui_test_settings_nas_credentials_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L156", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_handlers_factory_called_per_equipment_id", - "target": "ui_test_settings_nas_credentials_config_with" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L109", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_section_renders_one_row_per_password_equipment", - "target": "ui_test_settings_nas_credentials_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L126", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_section_nav_entry_present_when_password_equipment_exists", - "target": "ui_test_settings_nas_credentials_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L137", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_section_nav_entry_absent_for_stage_only_config", - "target": "ui_test_settings_nas_credentials_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/ui/test_settings_nas_credentials.py", - "source_location": "L150", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_test_settings_nas_credentials_test_present_password_opens_set_state_with_clear_action", - "target": "ui_test_settings_nas_credentials_testids" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L389", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sftp_transport_minimal", - "target": "config_test_models_sftp_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L396", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sftp_transport_rejects_missing_host", - "target": "config_test_models_sftp_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L403", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sftp_transport_rejects_empty_user", - "target": "config_test_models_sftp_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L410", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sftp_transport_rejects_empty_remote_path", - "target": "config_test_models_sftp_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L417", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sftp_transport_rejects_out_of_range_port", - "target": "config_test_models_sftp_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L424", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sftp_transport_rejects_wrong_type_tag", - "target": "config_test_models_sftp_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L465", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", - "target": "config_test_models_sftp_transport_dict" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L49", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_rationale_49", - "target": "config_test_models_sftp_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L436", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_smb_transport_minimal", - "target": "config_test_models_smb_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L444", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_smb_transport_accepts_optional_domain_and_subpath", - "target": "config_test_models_smb_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L453", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_smb_transport_rejects_missing_share", - "target": "config_test_models_smb_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L466", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", - "target": "config_test_models_smb_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_equipment_transport_discriminates_on_type_smb", - "target": "config_test_models_smb_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L467", - "weight": 1.0, - "source": "config_test_models_test_requires_keyring_password_true_for_sftp_and_smb", - "target": "config_models_transport_requires_keyring_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L472", - "weight": 1.0, - "source": "config_test_models_test_requires_keyring_password_false_for_none", - "target": "config_models_transport_requires_keyring_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L508", - "weight": 1.0, - "source": "config_test_models_test_orchestrator_staging_transport_smb_mount", - "target": "config_models_orchestratorstagingtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L515", - "weight": 1.0, - "source": "config_test_models_test_orchestrator_staging_transport_file_transfer", - "target": "config_models_orchestratorstagingtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/config/test_models.py", - "source_location": "L523", - "weight": 1.0, - "source": "config_test_models_test_orchestrator_staging_transport_rejects_unknown_type", - "target": "config_models_orchestratorstagingtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L634", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_nas_forbids_orchestrator_staging_transport", - "target": "config_test_models_orch_staging_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L652", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_stage_forbids_transport_block", - "target": "config_test_models_orch_staging_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/config/test_models.py", - "source_location": "L663", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_test_models_test_sync_mode_stage_with_only_orchestrator_transport_is_valid", - "target": "config_test_models_orch_staging_transport_dict" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L200", - "weight": 1.0, - "source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", - "target": "constants_keyring_keyring_nas_username" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L203", - "weight": 1.0, - "source": "tray_test_dependencies_test_check_nas_passwords_present_returns_only_populated_ids", - "target": "tray_dependencies_check_nas_passwords_present" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L210", - "weight": 1.0, - "source": "tray_test_dependencies_test_check_nas_passwords_present_handles_none_store_and_config", - "target": "tray_dependencies_check_nas_passwords_present" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L217", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_217", - "target": "tray_test_dependencies_test_make_equipment_probe_short_circuits_when_password_missing" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L240", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_test_dependencies_rationale_240", - "target": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/tray/test_dependencies.py", - "source_location": "L263", - "weight": 1.0, - "source": "tray_test_dependencies_test_make_equipment_probe_targets_remote_root_with_colon", - "target": "constants_keyring_keyring_nas_username" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/api/test_setup.py", - "source_location": "L104", - "weight": 1.0, - "confidence_score": 1.0, - "source": "api_test_setup_rationale_104", - "target": "api_test_setup_test_compute_setup_state_returns_incomplete_no_nas_credential" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L127", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "sync_test_nas_client_extra_stubkeyring_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L130", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "sync_test_nas_client_extra_stubkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L149", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_sftp", - "target": "sync_test_nas_client_extra_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L170", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_smb", - "target": "sync_test_nas_client_extra_stubkeyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L960", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", - "target": "sync_test_nas_client_extra_stubkeyring" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_125", - "target": "sync_test_nas_client_extra_stubkeyring" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L27", - "weight": 0.8, - "confidence_score": 0.5, - "source": "sync_test_nas_client_extra_stubkeyring", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L141", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_sftp", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L149", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_sftp", - "target": "sync_nas_client_build_transport_driver" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L160", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_smb", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L170", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_smb", - "target": "sync_nas_client_build_transport_driver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L781", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_781", - "target": "sync_test_nas_client_extra_test_verifier_mismatch_first_failure_then_pass" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L832", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_832", - "target": "sync_test_nas_client_extra_test_verifier_mismatch_second_failure_terminal" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L946", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_946", - "target": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L960", - "weight": 1.0, - "source": "sync_test_nas_client_extra_test_build_transport_driver_rejects_unknown_type", - "target": "sync_nas_client_build_transport_driver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_nas_client_extra.py", - "source_location": "L1027", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_nas_client_extra_rationale_1027", - "target": "sync_test_nas_client_extra_test_partial_batch_credits_verified_files_in_sync_state" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L129", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_test_transports_rationale_129", - "target": "sync_test_transports_test_rclone_push_forwards_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L253", - "weight": 1.0, - "source": "sync_test_transports_test_obscure_returns_stdout_stripped", - "target": "transports_rclone_obscure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/test_transports.py", - "source_location": "L259", - "weight": 1.0, - "source": "sync_test_transports_test_obscure_missing_binary_raises_auth", - "target": "transports_rclone_obscure" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L36", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_test_build_rclone_env_sftp_emits_all_keys" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L59", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_test_build_rclone_env_smb_minimal_omits_domain" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L83", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_test_build_rclone_env_smb_with_domain_includes_domain_key" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L100", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_test_pass_env_keys_for_names_only_the_password_key" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L111", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_keyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L122", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_brokenkeyring" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L131", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_equipment" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L157", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_test_resolve_env_raises_auth_when_keyring_store_is_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L164", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_test_resolve_env_raises_auth_when_password_is_none" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L171", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_test_resolve_env_raises_auth_when_password_is_empty_string" - }, - { - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L178", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tests_unit_sync_transports_test_rclone_env_py", - "target": "transports_test_rclone_env_test_resolve_env_raises_auth_when_keyring_backend_explodes" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L1", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_rationale_1", - "target": "tests_unit_sync_transports_test_rclone_env_py" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L37", - "weight": 1.0, - "source": "transports_test_rclone_env_test_build_rclone_env_sftp_emits_all_keys", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L45", - "weight": 1.0, - "source": "transports_test_rclone_env_test_build_rclone_env_sftp_emits_all_keys", - "target": "transports_rclone_build_rclone_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L60", - "weight": 1.0, - "source": "transports_test_rclone_env_test_build_rclone_env_smb_minimal_omits_domain", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L68", - "weight": 1.0, - "source": "transports_test_rclone_env_test_build_rclone_env_smb_minimal_omits_domain", - "target": "transports_rclone_build_rclone_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L84", - "weight": 1.0, - "source": "transports_test_rclone_env_test_build_rclone_env_smb_with_domain_includes_domain_key", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L92", - "weight": 1.0, - "source": "transports_test_rclone_env_test_build_rclone_env_smb_with_domain_includes_domain_key", - "target": "transports_rclone_build_rclone_env" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L101", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_rationale_101", - "target": "transports_test_rclone_env_test_pass_env_keys_for_names_only_the_password_key" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L102", - "weight": 1.0, - "source": "transports_test_rclone_env_test_pass_env_keys_for_names_only_the_password_key", - "target": "transports_rclone_pass_env_keys_for" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L114", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_keyring", - "target": "transports_test_rclone_env_keyring_init" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L117", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_keyring", - "target": "transports_test_rclone_env_keyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L167", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_password_is_none", - "target": "transports_test_rclone_env_keyring" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_password_is_empty_string", - "target": "transports_test_rclone_env_keyring" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L112", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_rationale_112", - "target": "transports_test_rclone_env_keyring" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_test_rclone_env_keyring", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_test_rclone_env_keyring", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_brokenkeyring", - "target": "transports_test_rclone_env_brokenkeyring_get_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L187", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_keyring_backend_explodes", - "target": "transports_test_rclone_env_brokenkeyring" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L123", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_rationale_123", - "target": "transports_test_rclone_env_brokenkeyring" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_test_rclone_env_brokenkeyring", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "uses", - "confidence": "INFERRED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L18", - "weight": 0.8, - "confidence_score": 0.5, - "source": "transports_test_rclone_env_brokenkeyring", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L158", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_keyring_store_is_none", - "target": "transports_test_rclone_env_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L165", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_password_is_none", - "target": "transports_test_rclone_env_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L172", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_password_is_empty_string", - "target": "transports_test_rclone_env_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L185", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_keyring_backend_explodes", - "target": "transports_test_rclone_env_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L133", - "weight": 1.0, - "source": "transports_test_rclone_env_equipment", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L141", - "weight": 1.0, - "source": "transports_test_rclone_env_equipment", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L160", - "weight": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_keyring_store_is_none", - "target": "sync_nas_client_resolve_env_for_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L167", - "weight": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_password_is_none", - "target": "sync_nas_client_resolve_env_for_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L174", - "weight": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_password_is_empty_string", - "target": "sync_nas_client_resolve_env_for_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L179", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_rclone_env_rationale_179", - "target": "transports_test_rclone_env_test_resolve_env_raises_auth_when_keyring_backend_explodes" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/sync/transports/test_rclone_env.py", - "source_location": "L187", - "weight": 1.0, - "source": "transports_test_rclone_env_test_resolve_env_raises_auth_when_keyring_backend_explodes", - "target": "sync_nas_client_resolve_env_for_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L29", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_run_rationale_29", - "target": "transports_test_run_test_run_subprocess_forwards_env" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L39", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_run_rationale_39", - "target": "transports_test_run_test_run_subprocess_preserves_existing_environ" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L57", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_run_rationale_57", - "target": "transports_test_run_test_run_subprocess_pipes_stdin_payload" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L67", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_run_rationale_67", - "target": "transports_test_run_test_run_subprocess_masks_named_env_in_debug_log" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/unit/sync/transports/test_run.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_test_run_rationale_87", - "target": "transports_test_run_test_run_subprocess_omits_env_log_when_env_is_none" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "tests/unit/orchestrator/test_quiescence_poller.py", - "source_location": "L61", - "weight": 1.0, - "source": "orchestrator_test_quiescence_poller_transport", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L354", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_354", - "target": "integration_test_nas_sync_test_remote_hash_mismatch_triggers_retry" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/integration/test_nas_sync.py", - "source_location": "L427", - "weight": 1.0, - "confidence_score": 1.0, - "source": "integration_test_nas_sync_rationale_427", - "target": "integration_test_nas_sync_test_remote_hashsum_probe_failure_does_not_skip_verify" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L125", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_rationale_125", - "target": "fixtures_stub_rclone_dump_env" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/fixtures/stub_rclone.py", - "source_location": "L136", - "weight": 1.0, - "confidence_score": 1.0, - "source": "fixtures_stub_rclone_rationale_136", - "target": "fixtures_stub_rclone_require_env" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "tests/e2e/test_flow_00_full_lifecycle.py", - "source_location": "L87", - "weight": 1.0, - "confidence_score": 1.0, - "source": "e2e_test_flow_00_full_lifecycle_rationale_87", - "target": "e2e_test_flow_00_full_lifecycle_pick_radio" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L480", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_nas_slot_satisfied", - "target": "exlab_wizard_paths_password_required_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L462", - "weight": 1.0, - "source": "exlab_wizard_paths_password_required_equipment", - "target": "config_models_transport_requires_keyring_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/paths.py", - "source_location": "L471", - "weight": 1.0, - "confidence_score": 1.0, - "source": "exlab_wizard_paths_rationale_471", - "target": "exlab_wizard_paths_nas_slot_satisfied" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L489", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_489", - "target": "ui_mount_nas_credential_handlers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L501", - "weight": 1.0, - "source": "ui_mount_nas_credential_handlers", - "target": "constants_keyring_keyring_nas_username" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L669", - "weight": 1.0, - "confidence_score": 1.0, - "source": "ui_mount_rationale_669", - "target": "ui_mount_nas_credential_missing" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L683", - "weight": 1.0, - "source": "ui_mount_nas_credential_missing", - "target": "config_models_transport_requires_keyring_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/mount.py", - "source_location": "L684", - "weight": 1.0, - "source": "ui_mount_nas_credential_missing", - "target": "api_dependencies_nas_password_present" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L863", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_render_nas_credentials_section", - "target": "pages_settings_password_requiring_nas_equipment" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L61", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_61", - "target": "pages_settings_password_requiring_nas_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L74", - "weight": 1.0, - "source": "pages_settings_password_requiring_nas_equipment", - "target": "config_models_transport_requires_keyring_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/ui/pages/settings.py", - "source_location": "L847", - "weight": 1.0, - "confidence_score": 1.0, - "source": "pages_settings_rationale_847", - "target": "pages_settings_render_nas_credentials_section" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L228", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_228", - "target": "config_models_rclonesftptransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L248", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_248", - "target": "config_models_rclonesmbtransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L277", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_277", - "target": "config_models_transport_requires_keyring_password" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L660", - "weight": 1.0, - "source": "tray_dependencies_check_nas_passwords_present", - "target": "config_models_transport_requires_keyring_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/config/models.py", - "source_location": "L289", - "weight": 1.0, - "confidence_score": 1.0, - "source": "config_models_rationale_289", - "target": "config_models_orchestratorstagingtransport" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/enums.py", - "source_location": "L215", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_enums_rationale_215", - "target": "constants_enums_orchestratortransporttype" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/constants/keyring.py", - "source_location": "L27", - "weight": 1.0, - "confidence_score": 1.0, - "source": "constants_keyring_rationale_27", - "target": "constants_keyring_keyring_nas_username" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L639", - "weight": 1.0, - "source": "tray_dependencies_nas_keyring_password", - "target": "constants_keyring_keyring_nas_username" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L168", - "weight": 1.0, - "source": "sync_nas_client_resolve_env_for_equipment", - "target": "constants_keyring_keyring_nas_username" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L662", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_check_nas_passwords_present", - "target": "tray_dependencies_nas_keyring_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L625", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_625", - "target": "tray_dependencies_nas_keyring_password" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/tray/dependencies.py", - "source_location": "L644", - "weight": 1.0, - "confidence_score": 1.0, - "source": "tray_dependencies_rationale_644", - "target": "tray_dependencies_check_nas_passwords_present" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L180", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_resolve_env_for_equipment", - "target": "sync_nas_client_remote_name_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L118", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_118", - "target": "sync_nas_client_remote_name_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L133", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_133", - "target": "sync_nas_client_build_target_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L147", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_147", - "target": "sync_nas_client_resolve_env_for_equipment" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L179", - "weight": 1.0, - "source": "sync_nas_client_resolve_env_for_equipment", - "target": "transports_rclone_obscure" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L181", - "weight": 1.0, - "source": "sync_nas_client_resolve_env_for_equipment", - "target": "transports_rclone_build_rclone_env" - }, - { - "relation": "calls", - "context": "call", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L186", - "weight": 1.0, - "source": "sync_nas_client_resolve_env_for_equipment", - "target": "transports_rclone_pass_env_keys_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L193", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_193", - "target": "sync_nas_client_build_transport_driver" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/nas_client.py", - "source_location": "L852", - "weight": 1.0, - "confidence_score": 1.0, - "source": "sync_nas_client_rationale_852", - "target": "sync_nas_client_nassyncclient_reconcile_synced_files" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L174", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_174", - "target": "transports_rclone_pass_env_keys_for" - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "src/exlab_wizard/sync/transports/rclone.py", - "source_location": "L189", - "weight": 1.0, - "confidence_score": 1.0, - "source": "transports_rclone_rationale_189", - "target": "transports_rclone_obscure" - } - ], - "hyperedges": [], - "built_at_commit": "43a5508320b0c27e4535d23b4b187f16bfcefa39" -} \ No newline at end of file diff --git a/graphify-out/manifest.json b/graphify-out/manifest.json deleted file mode 100644 index 6c61b5b..0000000 --- a/graphify-out/manifest.json +++ /dev/null @@ -1,2386 +0,0 @@ -{ - "/Users/alex/Projects/ExLabWizard/tests/__init__.py": { - "mtime": 1778192475.5635865, - "hash": "2e1fea8e18f315f096045d5b1fce5839" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/test_errors.py": { - "mtime": 1778192475.5757556, - "hash": "6bf2476e0e0fc6cd50444e7e1224a246" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/__init__.py": { - "mtime": 1778192475.5706296, - "hash": "9c1e4ef8d86e83de2b60b3c32f985793" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/test_paths.py": { - "mtime": 1780127492.775397, - "hash": "7e4e855a4d3c854291bf29541f3ef33a" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/test_main.py": { - "mtime": 1778192475.575807, - "hash": "c53677594631b67a1724a41fdb4b971d" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_run_page.py": { - "mtime": 1778871321.7912898, - "hash": "d3ac0f6c3b8fbffd4416a1dd8fbf268a" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_metadata_pane.py": { - "mtime": 1780127492.7798204, - "hash": "cd9eaf0c5332806f78fe5b60e646c9fa" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_components.py": { - "mtime": 1780127492.7764957, - "hash": "1b6008f10035cec93c1ca5f8d6714ec5" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_framed_pane.py": { - "mtime": 1780127492.7795568, - "hash": "57fd7b163f11192467258f94e16aa5df" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_pages.py": { - "mtime": 1780127492.7816114, - "hash": "228ab4bc29f7ae13ec28cd7f014f6f8e" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_mount.py": { - "mtime": 1780127492.7812407, - "hash": "ac051c46057b6978a779cfdbff1e2cda" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_page.py": { - "mtime": 1780127492.7940397, - "hash": "805bd9568cf2ac099fbf0d92a5b0940f" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/__init__.py": { - "mtime": 1778192475.5767596, - "hash": "8ed5d6363fb291bfde80adec3f3eb6a3" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_equipment.py": { - "mtime": 1780127492.795881, - "hash": "4035f20fadfd810204dc69d344fe570a" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_staging_page.py": { - "mtime": 1780127492.7945998, - "hash": "b47c63b90b66a6bfe123e7b756b95cc2" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_notifications.py": { - "mtime": 1778192475.577294, - "hash": "50a9a7ab9eed0e6d1f5e8a2b74e53335" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_status_bar_segment.py": { - "mtime": 1780127492.7948403, - "hash": "7c2a0d17386fbf7deb1a8a928b8ada68" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_empty_state.py": { - "mtime": 1780127492.7774882, - "hash": "e9890cb46c1626678d32670f25c6bb1a" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_sync_status_icon.py": { - "mtime": 1780127492.7951574, - "hash": "56ea263bcd90b005d679f1871462f083" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_templates_page.py": { - "mtime": 1778774823.3556333, - "hash": "6c65daa52af8c250b4889178927bbf5d" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_keyboard.py": { - "mtime": 1778192475.5770998, - "hash": "1c27498b62e21bf92df8e1d077de1f45" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_dynamic_form.py": { - "mtime": 1780127492.7773285, - "hash": "6e717afd0f0fb8644efba0bceef90cc4" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_file_list.py": { - "mtime": 1780127492.7793205, - "hash": "b2a4a651216f1648407937a5624ddcea" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_theme.py": { - "mtime": 1780127492.7955854, - "hash": "ad86af4230a93fab76dab54d2a533fe3" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_settings_nas_remote.py": { - "mtime": 1780127492.7817829, - "hash": "444be67873050256c353111d4fa97a31" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_breadcrumb.py": { - "mtime": 1778871321.7902071, - "hash": "29deda2201ddbd6822a39c87f3dcaeec" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_sync_rollup.py": { - "mtime": 1780127492.7949893, - "hash": "07d22562014692f55c6930bf795632b6" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_factories_smoke.py": { - "mtime": 1779227746.8524206, - "hash": "3e8f6696ad6a0027bb04ceb30266f420" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_design.py": { - "mtime": 1780127492.7769916, - "hash": "10ef631a3907c5acb6f61d927e9f9374" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_travelling_badge.py": { - "mtime": 1778871321.791043, - "hash": "9a6fa58a3a5ee361909fd7c4e5cfa801" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_wizard_project_page.py": { - "mtime": 1778774823.3558664, - "hash": "dfbc6c36bc501c3e7a1e6b160429f5f2" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/ui/test_folder_feed.py": { - "mtime": 1778871321.7903576, - "hash": "ac23e27c91f5371ec8573869291df875" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_catalogue.py": { - "mtime": 1780127492.7716691, - "hash": "536457500f9edb90ec9afd45382163d3" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_keyring_store.py": { - "mtime": 1778192475.5735445, - "hash": "b6e82a893edc7e02129d0b24cf7c1d82" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/lims/__init__.py": { - "mtime": 1778192475.5732067, - "hash": "57dca249230817c984bf528eab71418c" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_client.py": { - "mtime": 1778719920.7554057, - "hash": "cc5f2f9cb3d31b173eb3d097bc402556" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/lims/test_cache.py": { - "mtime": 1778192475.5733159, - "hash": "0db6300665f267a82e9396aae4b0a485" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_creation.py": { - "mtime": 1778871321.7917542, - "hash": "add82d5e3c75fb4ddca7d30a97744a28" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_reconfigure.py": { - "mtime": 1780127492.7960641, - "hash": "9772ab094af61c195c128458e749d331" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_findings.py": { - "mtime": 1778192475.5778518, - "hash": "bc595223bd039c53a6bd463525b6d125" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/validator/__init__.py": { - "mtime": 1778192475.5775971, - "hash": "750b523986d53be990d581b782d08fb5" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_rules.py": { - "mtime": 1778871321.7918732, - "hash": "fffb33ca71dda39278278cfd065b37fe" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/validator/test_engine_audit.py": { - "mtime": 1778871321.7914495, - "hash": "61cb608715f4d4cdccb21397c1349b92" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_log_writer.py": { - "mtime": 1778192475.5720794, - "hash": "2b0aaddc0ae35fc3817fcfcada3c9f83" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_creation_writer.py": { - "mtime": 1778194634.0123575, - "hash": "919407045a2bd44dbce82aef087c4681" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/cache/__init__.py": { - "mtime": 1778192475.571712, - "hash": "1a71221d0f7f93131bf07b82bee16bdf" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_equipment.py": { - "mtime": 1778719920.7545931, - "hash": "a0145513fca4f1c135b9efba1babea62" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/cache/test_sync_state_writer.py": { - "mtime": 1780127492.7678812, - "hash": "519a403d2abab42c1dc1981b19ca7fb3" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_loader.py": { - "mtime": 1780127492.7682116, - "hash": "00e9e17a3a0fb54ddbceb9a1cda7f2f8" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/config/__init__.py": { - "mtime": 1778192475.572184, - "hash": "08b871e14b89d3a9a0087f1a7633939f" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/config/test_models.py": { - "mtime": 1780127492.768593, - "hash": "b5c57aac8c6c7aa37efac0463bd86cdf" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_registry.py": { - "mtime": 1778231226.4459372, - "hash": "00b2ffdbbf64b79610b1f5fef75131e4" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/__init__.py": { - "mtime": 1778192475.5744371, - "hash": "4d86323c00be2e1ca35a9b9ab1680288" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_base.py": { - "mtime": 1778192475.574501, - "hash": "cc6de202e356b999edb7fe5bad6a2063" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/plugins/test_logger.py": { - "mtime": 1778231226.4458437, - "hash": "b238c936c945cdc2d90b2b2b5fdcbcab" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_schema_versions.py": { - "mtime": 1780127492.770293, - "hash": "086194144f5c63b2084965761936e226" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_patterns.py": { - "mtime": 1778871321.7886252, - "hash": "65ed0b7d0b7f40230e453e9ab90f3fc1" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/constants/__init__.py": { - "mtime": 1778192475.5724611, - "hash": "1ad9c0f22b6b87c22a1db6af089e2fe2" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enum_literal_alignment.py": { - "mtime": 1780127492.7690096, - "hash": "407fa1e5adde27c9cdc4f8a6559f4154" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_enums.py": { - "mtime": 1780127492.769342, - "hash": "940545d14e651e599da352c588415ac5" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_keyring.py": { - "mtime": 1780127492.7699444, - "hash": "69f2a9adf854c6d8812f938056ffceac" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_limits.py": { - "mtime": 1778192475.572772, - "hash": "2507a56ed8297c11734b95b080066253" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/constants/test_filenames.py": { - "mtime": 1780127492.769662, - "hash": "62b2088f57700ba962e760f881359b68" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_yaml_files.py": { - "mtime": 1778719920.7551916, - "hash": "c8507f59f4f4ad3fb393beeca00fe3ed" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_atomic_write.py": { - "mtime": 1778719920.7550943, - "hash": "03df8418dea6fdfb1094260d40293a03" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/io/__init__.py": { - "mtime": 1778719920.7550333, - "hash": "d41d8cd98f00b204e9800998ecf8427e" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/io/test_json_files.py": { - "mtime": 1778719920.7551455, - "hash": "9dc81574ea03e9f4ad9ed664b218cdaa" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/template/__init__.py": { - "mtime": 1778192475.5755742, - "hash": "2e5c44a751bce11325ee886f6f07a0e6" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/template/test_copier_driver.py": { - "mtime": 1778719920.7557387, - "hash": "9b583a95a3fbdde8b8887cf6825c29c8" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_time.py": { - "mtime": 1778719920.7563303, - "hash": "32890aa0df13047e57fd33f74c23ff83" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/utils/__init__.py": { - "mtime": 1778719920.7561908, - "hash": "d41d8cd98f00b204e9800998ecf8427e" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/utils/test_state.py": { - "mtime": 1778719920.7562723, - "hash": "8d666ec9ff140b80020d90b797f720e6" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_storage_secret.py": { - "mtime": 1778774823.3550882, - "hash": "1cd78fadd17c3efd584fe9592cdc548c" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_dependencies.py": { - "mtime": 1780127492.775685, - "hash": "492797c07a9fa17e06ff24608fb6a0f0" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_icon.py": { - "mtime": 1778192475.5761425, - "hash": "fa7c022ed699127b36e34370146defc0" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_live_reload.py": { - "mtime": 1780127492.7758014, - "hash": "dd66078ec0f271b1ee9135f04ca66055" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/__init__.py": { - "mtime": 1778192475.5759902, - "hash": "e925f10812a2d4d962af2096c592028c" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_status.py": { - "mtime": 1778192475.5765805, - "hash": "bb60b8a7b34b1c43c0b60c3f5a80443b" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_server_runner.py": { - "mtime": 1778192475.576493, - "hash": "cf073dd0b8b351b6dea4dd91e22f01ee" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_notifications.py": { - "mtime": 1778192475.5763035, - "hash": "6998d30a54dd93fe83035704a2e7b5ec" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_quit_coordinator.py": { - "mtime": 1778192475.5763986, - "hash": "04ecbd24ed265f4b20f261a5798d21d5" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_window_launcher.py": { - "mtime": 1778192475.57668, - "hash": "7ac2044b53e1b47bad5b672248e33cb1" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_autostart.py": { - "mtime": 1778192475.5760503, - "hash": "bf11e3ef2f3c01998d5022cb95e8c1cb" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/tray/test_main.py": { - "mtime": 1780127492.7761261, - "hash": "d5c72feddc7c51c580a55f9aba0251cb" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/readme/test_generator.py": { - "mtime": 1778192475.5748081, - "hash": "71242bb16de7d6e18331a74de6f94522" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/readme/__init__.py": { - "mtime": 1778192475.5747452, - "hash": "7a73647defb3f8daef6bdedf1d21465e" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_metadata_assembly.py": { - "mtime": 1780127492.770636, - "hash": "8c89ef8125812035c8aac7c8a6f23aea" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_creation_apply_config.py": { - "mtime": 1780127492.7704635, - "hash": "72e93e8894e4f58f9b577455bc7e8594" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_state_machine.py": { - "mtime": 1778192475.5731256, - "hash": "359b73d71b41b9344a9d43b85e0f92df" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/controller/__init__.py": { - "mtime": 1778192475.5729923, - "hash": "a33a092ec45a0389b4b9d25e6125a6ea" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/controller/test_session_store.py": { - "mtime": 1780127492.770831, - "hash": "b6761a00135296dbc813fc4804a3837e" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sample_data/test_generator.py": { - "mtime": 1780127492.7729716, - "hash": "57408369ebbf71cc913e3423d1abf9e3" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sample_data/test_spec.py": { - "mtime": 1780127492.7731693, - "hash": "6e6a99015efe48f2a2db20b27ae16cfc" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sample_data/__init__.py": { - "mtime": 1780127492.7728174, - "hash": "1458085be0265691f7436a8af8ec2e6c" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_pywebview_app.py": { - "mtime": 1778192475.5782878, - "hash": "44a51852304729dfe6566c103d4959d9" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/window/__init__.py": { - "mtime": 1778192475.5780127, - "hash": "b0ddc49241de7649636ae2ab864aacce" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/window/test_main.py": { - "mtime": 1778192475.5781047, - "hash": "d67c8f78e08c64a6db3b8dd11ded28a8" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_setup.py": { - "mtime": 1780127492.767371, - "hash": "2ed533d8b41818be59d88f8e3b582e91" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_errors.py": { - "mtime": 1778192475.5710654, - "hash": "81052c1115947cd793f32c3d86459dac" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_config_router.py": { - "mtime": 1780127492.7653618, - "hash": "2714aaf17ee667b18c3050f4d19d36b4" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_operations.py": { - "mtime": 1780127492.7660224, - "hash": "c2a251dd56c12175904849b885b25e14" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_sessions.py": { - "mtime": 1780127492.7671595, - "hash": "c635fa72bb792879f6758ac40aba7d1c" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/__init__.py": { - "mtime": 1778192475.570713, - "hash": "2145e18491ee0565977bfa7b9d07170b" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_browse.py": { - "mtime": 1780127492.7649665, - "hash": "d43c8fd151042b0764d2c929f05944f7" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_schemas.py": { - "mtime": 1780127492.7668667, - "hash": "08f882b2af85f0155235951ab59efd0c" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_health.py": { - "mtime": 1780127492.7656677, - "hash": "0d75474b2f8a81cc766cd3dd9f22c04a" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_staging_router.py": { - "mtime": 1780127492.7676933, - "hash": "bc296f4f6ac4568de9b147dc60221db3" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_events.py": { - "mtime": 1778231226.4450772, - "hash": "c0b0fd1a1b82f9ace5966f1e761a19ca" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_problems.py": { - "mtime": 1780127492.7664242, - "hash": "93910c95e91ecfcad717c8d9cdf4ec15" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/api/test_app.py": { - "mtime": 1778231226.4448552, - "hash": "2b76cc2c808dfde66db440c1555ad935" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/dev/__init__.py": { - "mtime": 1780127492.771078, - "hash": "d41d8cd98f00b204e9800998ecf8427e" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/dev/test_seed.py": { - "mtime": 1780127492.7712524, - "hash": "f8d54a9f83c940f2bd3faa02d44efa91" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client_extra.py": { - "mtime": 1780127492.774299, - "hash": "017627d95c9647cf597873193d69dd5c" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_transports.py": { - "mtime": 1780127492.7748806, - "hash": "0071afc688f51bbeb712a51c2afa6beb" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_bandwidth.py": { - "mtime": 1778192475.5749414, - "hash": "468a6d0d85b55af27065b78ba0fcf5d5" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_cleanup.py": { - "mtime": 1778192475.5750291, - "hash": "e6b602f1acf7bfd878afd2dd91662694" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/__init__.py": { - "mtime": 1778192475.5748882, - "hash": "4133020cc8e2abfdccc2e65d7deb3ba2" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_manifest.py": { - "mtime": 1780127492.7735682, - "hash": "052d1424e0931e0ad3a72b73c30e45a6" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_queue.py": { - "mtime": 1780127492.7746835, - "hash": "74b0e368f65c7fec4dacfa26c7fc702a" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_nas_client.py": { - "mtime": 1780127492.7738955, - "hash": "6880c6011c719efc0312342e5c1f61f3" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/test_pre_sync_gate.py": { - "mtime": 1778871321.789819, - "hash": "a6fcee1bc3829913a84d60b214ceafd4" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/_helpers.py": { - "mtime": 1780127492.7734172, - "hash": "d1f2cfce3dc507465c47ad2626bae3a8" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/test_run.py": { - "mtime": 1780127492.7750587, - "hash": "607879a5f01b6c13134bd23a25dae948" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/sync/transports/__init__.py": { - "mtime": 1780127492.774925, - "hash": "d41d8cd98f00b204e9800998ecf8427e" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_handlers.py": { - "mtime": 1778192475.5739412, - "hash": "842f19400a06c530e03e2451ffd45d56" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/logging/__init__.py": { - "mtime": 1778192475.5736039, - "hash": "d41d8cd98f00b204e9800998ecf8427e" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_context.py": { - "mtime": 1778192475.573767, - "hash": "7af3c2f0f391ec412b7d462ec220a5d0" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_manager.py": { - "mtime": 1778192475.5740051, - "hash": "6974467cbdfadd5f6182ae5fc3dd9e7f" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/logging/test_format.py": { - "mtime": 1778192475.5738733, - "hash": "fb9a67cd181ac63f9b62f0f2baa1d045" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/__init__.py": { - "mtime": 1778192475.5740545, - "hash": "d41d8cd98f00b204e9800998ecf8427e" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_scan.py": { - "mtime": 1780127492.7721531, - "hash": "57367db62d6d36e813d593208aca1331" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_staging_query.py": { - "mtime": 1780127492.7726471, - "hash": "d9649cab738c9eabc9306914f6eb8fd5" - }, - "/Users/alex/Projects/ExLabWizard/tests/unit/orchestrator/test_quiescence_poller.py": { - "mtime": 1780127492.7718842, - "hash": "d4ae98a8a4ebe3465f7ec9cd85e5d3b0" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/test_orchestrator_lifecycle.py": { - "mtime": 1780127492.7643068, - "hash": "23c6441e6e8a0fc1251437ccad51bd3c" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_window_smoke.py": { - "mtime": 1778774823.354797, - "hash": "f286160f3cb095b1cafc6070067afda2" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/test_lims_integration.py": { - "mtime": 1778719920.7539012, - "hash": "3d2d0729a544854dd384895b2b57863a" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/test_tray_lifecycle.py": { - "mtime": 1778192475.570474, - "hash": "0f4f55cb1ce70e3e71c0624153dbfa66" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/test_nas_sync.py": { - "mtime": 1780127492.7639818, - "hash": "2cb8f03107da1fc8cf237f0502e5e7d7" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/test_lims_contract.py": { - "mtime": 1778719920.7537932, - "hash": "5c97b9470b941888c7cb1feaaf2ad60e" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/__init__.py": { - "mtime": 1778192475.5692468, - "hash": "5f322e3384aa5c03f10f876b970f8e7f" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/test_schema_major_mismatch.py": { - "mtime": 1780127492.7645805, - "hash": "21c848f8cf35aa68e8d7ce00c5dc912a" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/test_creation_json_concurrent_writes.py": { - "mtime": 1778192475.5699215, - "hash": "27f4b0ee6b40aa2485590e4f1872ddf3" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/test_validator_determinism.py": { - "mtime": 1778194634.0119998, - "hash": "fe1df55d91b4a897080f63184b0567a5" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/test_pyinstaller_smoke.py": { - "mtime": 1778887316.7202282, - "hash": "0399c1a67f630fbf509780d61b9b17d9" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/test_host_isolation.py": { - "mtime": 1778192475.5698142, - "hash": "6f0bb5bbe211e118e4c494857b07fff0" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/plugins/__init__.py": { - "mtime": 1778192475.5697272, - "hash": "c283af3694b22f854e6c725bedd5fe9a" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/controller/__init__.py": { - "mtime": 1778192475.5695207, - "hash": "5ef739e9d1f14f3535b763538b417f55" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/controller/test_creation_flow.py": { - "mtime": 1780127492.7636416, - "hash": "eac3dac147e5dc442affebee42387f37" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/api/test_full_flow.py": { - "mtime": 1780127492.7633097, - "hash": "004622d614515148ba4f7189dd7fe1a1" - }, - "/Users/alex/Projects/ExLabWizard/tests/integration/api/__init__.py": { - "mtime": 1778192475.5693328, - "hash": "d05c92d984d361191ffaa0b77232d234" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/__init__.py": { - "mtime": 1778192475.5656211, - "hash": "4244979ba71389330370f6cb4991f9cd" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/mock_lims.py": { - "mtime": 1778719920.7537136, - "hash": "c5bd253e8f3c32ade2e5fd5c36c20551" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/stub_rclone.py": { - "mtime": 1780127492.7630148, - "hash": "321b822f02904409c06a0d0fd8ff4037" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/__init__.py": { - "mtime": 1778719920.7530754, - "hash": "d41d8cd98f00b204e9800998ecf8427e" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/__init__.py": { - "mtime": 1778719920.7532084, - "hash": "d41d8cd98f00b204e9800998ecf8427e" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/__init__.py": { - "mtime": 1778192475.5663285, - "hash": "0a6a2cc7c42b725606021c4beed2dfda" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/__init__.py": { - "mtime": 1778192475.5676584, - "hash": "e408d782bcaef2052ebe46d3ff39f147" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/plugin.py": { - "mtime": 1778192475.5678747, - "hash": "9c29e08febb3231891c51d5b182b6163" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/__init__.py": { - "mtime": 1778192475.5664346, - "hash": "25e3131ffe73775cfac307917cf9d0d4" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/__init__.py": { - "mtime": 1778192475.566797, - "hash": "7ac92f6dfbd986b224baa10bb9a3ec87" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/plugin.py": { - "mtime": 1778192475.5669167, - "hash": "bcf2f20524ccd9e90c291905c1483738" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/__init__.py": { - "mtime": 1778192475.5672479, - "hash": "709dec8f89563e6c3ed63b1210b6f2c1" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/plugin.py": { - "mtime": 1778192475.567383, - "hash": "4eb7f7fa5906b66c4d6199724f1ba8ce" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/__init__.py": { - "mtime": 1778192475.5670145, - "hash": "91a3ab238ff31668c4f4e8365bc500b8" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/plugin.py": { - "mtime": 1778192475.5671394, - "hash": "a5f00b48d4113d7f3ad1e29885caa49f" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/__init__.py": { - "mtime": 1778192475.5665464, - "hash": "d6670423e24c7474f86b65d15a099a49" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/plugin.py": { - "mtime": 1778192475.566699, - "hash": "3882a98b993a64d9bb6603e4eb179df3" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/__init__.py": { - "mtime": 1778192475.5674644, - "hash": "d880a50a0054bc020476e28f02347d53" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/plugin.py": { - "mtime": 1778192475.5675693, - "hash": "3ee3ae41699b273fb8ed1a16266f2377" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/configs/__init__.py": { - "mtime": 1778192475.5657845, - "hash": "ac94af8fff278bc86cf175b332766aee" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/__init__.py": { - "mtime": 1778192475.5681312, - "hash": "8a7e67e129a688cb87e54beb6bda2b5b" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_18_relay_receive.py": { - "mtime": 1780127492.7587204, - "hash": "13eafd28d46b07dca72e4c8c9d71c28b" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/conftest.py": { - "mtime": 1778192475.564071, - "hash": "c829372e25eef37256a59f2f2c4c655c" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_fresh_install_setup.py": { - "mtime": 1780127492.756034, - "hash": "7a5d046bf277afa22b206d7175a59ff2" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_22_onboarding_redesign.py": { - "mtime": 1778871321.7852085, - "hash": "1650794b7cac77e1c2b6ad7a0b71fb17" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_24_context_menus.py": { - "mtime": 1780127492.7604518, - "hash": "c2c8e5086bd253a6bfe566a0e5757aea" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_08_settings.py": { - "mtime": 1780127492.7575479, - "hash": "fd4985ddb9a69bc772e47094854153f2" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_11_crash_recovery.py": { - "mtime": 1778192475.565255, - "hash": "870818df990ac61e4e2d0d1b0e11ed65" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_03_experimental_run.py": { - "mtime": 1778192475.5647767, - "hash": "19775cc3226bc74e960e00f5b87b2cc4" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_server.py": { - "mtime": 1780127492.7551198, - "hash": "43a505812390991df92b25a4b501aaa9" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_17_picker_step.py": { - "mtime": 1780127492.7584834, - "hash": "e23004f7506d280e0f9800e80e792b5c" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_20_file_explorer.py": { - "mtime": 1780127492.7592452, - "hash": "04c74b325a42bccbd83f7622e0f50917" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view_sync_icons.py": { - "mtime": 1780127492.757116, - "hash": "6c093486780dfe0629d95d164e58d196" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_05_browse_view.py": { - "mtime": 1780127492.756897, - "hash": "28deafae8abe360179c2cff732d72d8e" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/__init__.py": { - "mtime": 1778192475.5637705, - "hash": "6480819940f21f3ae2328cf54c585bab" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_16_add_equipment.py": { - "mtime": 1780127492.7581873, - "hash": "0eb3146fa4fbd9644425bb32ba074354" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_23_footer_staging.py": { - "mtime": 1780127492.7601063, - "hash": "2d5904fbbec8c46bffe632bc2d20f4b3" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_smoke.py": { - "mtime": 1778192475.5655344, - "hash": "f5c156c854c1d404b7b7b925f9d4cff7" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_ux_documentation.py": { - "mtime": 1778887316.719904, - "hash": "d6fcd7fae19416124787bd557f01db23" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/_prod_app.py": { - "mtime": 1780127492.7548025, - "hash": "ae30687a0f5a8822f669210c546984bf" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_25_production_main_wiring.py": { - "mtime": 1780127492.760771, - "hash": "15958967f87c28c0c6c43baf61449c52" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_00_full_lifecycle.py": { - "mtime": 1780127492.7563918, - "hash": "d42e96a857a1a02f12f45c5048b537f2" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_13_keyboard.py": { - "mtime": 1778192475.5653646, - "hash": "68630d2ccbfc8b7037a2b8fde15dee32" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/ux_catalog.py": { - "mtime": 1780127492.7617998, - "hash": "45b8467766268d4dd48673981c9709f8" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_07_plugin_input_required.py": { - "mtime": 1778231226.4438095, - "hash": "4a98c5cce9d1b968845728d9d3e30549" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_26_equipment_wizard_persist.py": { - "mtime": 1780127492.7608967, - "hash": "03ae527198f8be67e9a74a363488cf47" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_09_orchestrator.py": { - "mtime": 1780127492.757826, - "hash": "e225f2b23f11dcf161c1a876d2725756" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_27_nas_credential_settings.py": { - "mtime": 1780127492.7611983, - "hash": "9dd0534a57d3bb552d1a67b8ee987a65" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_15_websocket_reconnect.py": { - "mtime": 1778192475.5654774, - "hash": "a1297d4b32da80ea55922d26035f7bc3" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_21_stage_ceiling.py": { - "mtime": 1780127492.7598636, - "hash": "23a2d59dc53f4ef2137864629c065823" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/_test_app.py": { - "mtime": 1780127492.7553606, - "hash": "610a82f42c2a7c1129f05f894f4f9202" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_01_onboarding.py": { - "mtime": 1780127492.7566726, - "hash": "cb7aa98e7ca787d2cb541ee5e24eb667" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_12_quit_coordinator.py": { - "mtime": 1778192475.5653136, - "hash": "b446a82d687ebce887db8a3be258200b" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_28_selection_search_density.py": { - "mtime": 1780127492.7614245, - "hash": "45c3a6c9921d00f99a8878c53a8fd304" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_19_travelling_badge.py": { - "mtime": 1780127492.7589877, - "hash": "485bc403e0aca95447a408b89e86a9a3" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_04_test_run.py": { - "mtime": 1778192475.5648265, - "hash": "b4fb248f8b12e2eeb77ef27556ab5c42" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_06_problems.py": { - "mtime": 1778192475.5649517, - "hash": "7b4da7d0000d002e54016e6833e12ec9" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_14_notifications.py": { - "mtime": 1778192475.5654209, - "hash": "bd501d8b11d7fa71e552cfc361e91494" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_10_schema_mismatch.py": { - "mtime": 1778192475.5651963, - "hash": "2e7c0b52d322bb50051f6cf0ba917cd7" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/test_flow_02_project_wizard.py": { - "mtime": 1778871321.7846243, - "hash": "af10934e99f602fb806a0dd3e3f94230" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/problems_page.py": { - "mtime": 1778192475.5642738, - "hash": "340f3a0f015ef463b704463c24bf4b7d" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/settings_page.py": { - "mtime": 1778785084.8021023, - "hash": "6abd3fe64132fbc446b41fe5732eca28" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/__init__.py": { - "mtime": 1778192475.5641525, - "hash": "845cef84d0a5f2d23b5df1f11f2411d2" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_equipment_page.py": { - "mtime": 1780127492.7556603, - "hash": "424ab986931c731019088f9930051f81" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/staging_page.py": { - "mtime": 1778192475.5644047, - "hash": "be6bfebbef149d0a74e35629d0b36df6" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_run_page.py": { - "mtime": 1778871321.784328, - "hash": "4eabba0ace84005fde6ccafc22855987" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/wizard_project_page.py": { - "mtime": 1778871321.7841794, - "hash": "0982d42d14eeeacf4f521b641cdc549e" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/main_page.py": { - "mtime": 1779227746.8422146, - "hash": "0033dd569e269a0d8e18c20371b070ab" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/page_objects/welcome_page.py": { - "mtime": 1778192475.5644624, - "hash": "8390ae94de87adf4d08ab21fd427140b" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/conf.py": { - "mtime": 1778887316.7043667, - "hash": "c1ee403bd9b458fb126b88f81bc4e28f" - }, - "/Users/alex/Projects/ExLabWizard/scripts/generate_screenshots.py": { - "mtime": 1779316926.8602834, - "hash": "b1d85eec1a1d9ea12555b5e86d1f6cba" - }, - "/Users/alex/Projects/ExLabWizard/scripts/build_local.ps1": { - "mtime": 1778192475.563422, - "hash": "7b4912e2e5f6d9b05ae779cdaec666c6" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/paths.py": { - "mtime": 1780127492.7423623, - "hash": "41694fd1199b7969f46148c4225e94d4" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__init__.py": { - "mtime": 1778887316.706702, - "hash": "ee14fd0512d6d4c87eb91248d6ba2286" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/errors.py": { - "mtime": 1778887316.7091596, - "hash": "024c232b6f68fd679d44fcfeb3daf430" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/__main__.py": { - "mtime": 1778887316.7067456, - "hash": "31376a07c68496d020a4ec65c890a8a2" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/theme.py": { - "mtime": 1780127492.7527719, - "hash": "4008c43960f502cf74c1bd64bcee20bf" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/equipment_form.py": { - "mtime": 1780127492.7500763, - "hash": "7496ee16f936c63c8d827cb6b758a9fe" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/design.py": { - "mtime": 1780127492.749751, - "hash": "19a34ecba9f3e2424880028c8ae79786" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/__init__.py": { - "mtime": 1778887316.71415, - "hash": "237328595cab105835097b590a02cc3c" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/notifications.py": { - "mtime": 1778887316.71677, - "hash": "fa8ba085628e54b8d93beb8a08c51c21" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/mount.py": { - "mtime": 1780127492.750392, - "hash": "d85ca1a349b6de37aa577848d9473e36" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/keyboard.py": { - "mtime": 1778887316.7165968, - "hash": "fbf7351a12e538ba507b9939608c2fd0" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/file_list.py": { - "mtime": 1780127492.7468443, - "hash": "089f35bb74f49e228ce809b46983cca1" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_connection_panel.py": { - "mtime": 1778887316.715521, - "hash": "fe0a46a0fab687964b684b79432c4fe0" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/override_badge.py": { - "mtime": 1778887316.7151566, - "hash": "152c8bf8986bac00526b6812ecc1d3ae" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree.py": { - "mtime": 1780127492.749361, - "hash": "46b0ede6371f2e745a8bc786ebbb8a50" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/breadcrumb.py": { - "mtime": 1778887316.714585, - "hash": "fac67f69b3257249ef0c26ae95995f5e" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/test_run_badge.py": { - "mtime": 1778887316.7155788, - "hash": "1a8652318c6cdef6a633b66e6a279a15" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/metadata_pane.py": { - "mtime": 1780127492.7475898, - "hash": "a5ed22ddf8f5d875e821666706beb4b1" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/travelling_badge.py": { - "mtime": 1778887316.7156353, - "hash": "fdd08383af37f45dea63308e814595f4" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/bandwidth_schedule_editor.py": { - "mtime": 1778887316.7144713, - "hash": "a3dca258873ced990e4fbcfa793df49d" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/input_required_dialog.py": { - "mtime": 1780127492.7472425, - "hash": "f7932b4cffad2ce648076047fc9eebbe" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/status_bar_segment.py": { - "mtime": 1780127492.7484574, - "hash": "ebdf27e726f9b903e9a716c94c20e911" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_status_icon.py": { - "mtime": 1780127492.749022, - "hash": "6f6bb3a5f3bb6bd4dbacdc3189ef560e" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/framed_pane.py": { - "mtime": 1780127492.747055, - "hash": "d2c67453a97631d78aa9962733509b42" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/tree_context_menu.py": { - "mtime": 1778887316.7158039, - "hash": "0b53e57b5cf5368220c333c14785ca5a" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/__init__.py": { - "mtime": 1780127492.746346, - "hash": "7df53923728263eaa7b52d4d5460882c" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/operations_modal.py": { - "mtime": 1780127492.7479556, - "hash": "505cc97f8ff9f889540d9e62e2e5088d" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/credential_field.py": { - "mtime": 1778887316.7147007, - "hash": "bb5ea99d8cd87f9db6c3162fbbedd876" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/session_progress.py": { - "mtime": 1780127492.7481494, - "hash": "b35ec4323a6972fc7d27dffbb7472e83" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/validation_summary.py": { - "mtime": 1778887316.715866, - "hash": "3bfd38a1aab846180aea65cce1d82570" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/sync_rollup.py": { - "mtime": 1780127492.7486317, - "hash": "610e49becae2ccb4c049b1cf05ddf4b9" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/mode_badge.py": { - "mtime": 1778887316.7149277, - "hash": "4e9208c54d0628f38b49d1bf5da43154" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/filter_chips.py": { - "mtime": 1778887316.7148159, - "hash": "ccbc9d62e963b070e86da6d5b9225e44" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/empty_state.py": { - "mtime": 1780127492.7464836, - "hash": "9e522062f61d126a5699edfc10235849" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/components/banner_stack.py": { - "mtime": 1778887316.7145374, - "hash": "be7dc1fc2a61ad9c043807e0f75d4d4f" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_run.py": { - "mtime": 1780127492.7522957, - "hash": "94a1ba2fdc718b85f15cba0913461fa0" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/__init__.py": { - "mtime": 1778887316.7168846, - "hash": "17ffd60d3165f04853352b4b07ffd544" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/templates.py": { - "mtime": 1778887316.7173643, - "hash": "17428444f6305f0ded21f43ffad6510c" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/problems.py": { - "mtime": 1780127492.7509363, - "hash": "2ad9347f86161cc3ace90b2232559e29" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_equipment.py": { - "mtime": 1780127492.7519054, - "hash": "6ca65c5fe5f788497c73401070e01e79" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/settings.py": { - "mtime": 1780127492.7512918, - "hash": "e8a9fe103e7cd5f7c1bb84909936e691" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/welcome.py": { - "mtime": 1778887316.7175474, - "hash": "93443e3baaaad7b4083192196fdc7378" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/main.py": { - "mtime": 1780127492.750621, - "hash": "be6794eecca87d282c4dbf7c22c59a8e" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/staging.py": { - "mtime": 1780127492.7515812, - "hash": "c2bfea5f8d1943226c4c67d8ceb5fe28" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/pages/wizard_project.py": { - "mtime": 1780127492.7520502, - "hash": "f73b9beb3f4e2979968d197ffa404f9a" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/refresh_coordinator.py": { - "mtime": 1778887316.7143393, - "hash": "4fbfbd6cbae75275befd767102bd00a1" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/__init__.py": { - "mtime": 1778887316.7142217, - "hash": "f568553436a1d22cdd39d6d594b04f39" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/ui/client/folder_feed.py": { - "mtime": 1778887316.7142797, - "hash": "659733c448a8598986bb606dc945c3b5" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/keyring_store.py": { - "mtime": 1778887316.709644, - "hash": "9d9f1d02cdd0511ffc7884a2ae12ae23" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/client.py": { - "mtime": 1778887316.7095952, - "hash": "fef4af994863ff83d2e2dc16ec2b6bcc" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/cache.py": { - "mtime": 1778887316.709473, - "hash": "5eddee4015b0ee38f1d804635ea9efd4" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/__init__.py": { - "mtime": 1778887316.7094054, - "hash": "f3a23b1274c82341d221ec5016a2bfd7" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/schemas.py": { - "mtime": 1778887316.7097085, - "hash": "c97f40a1978d3bf5d19e2aaf042a1b2f" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/lims/catalogue.py": { - "mtime": 1780127492.740775, - "hash": "d0b38da7e90beb8a01d7eab36de27ab0" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/findings.py": { - "mtime": 1778887316.7190373, - "hash": "4072ae44edda1d51b152de48669d37eb" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/__init__.py": { - "mtime": 1778887316.7188685, - "hash": "5ce924106a0a7d79874631e1d49fa8ce" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/rules.py": { - "mtime": 1778887316.7190897, - "hash": "a0e24719f7552e94f1622cb08c9fd75b" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/validator/engine.py": { - "mtime": 1780127492.7532067, - "hash": "2fa0066d4c427ce753a51f256848d5fe" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/equipment.py": { - "mtime": 1778887316.707977, - "hash": "2bb6f468eaf403b89916bed3e88f343a" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_schema.py": { - "mtime": 1780127492.7363758, - "hash": "5798c1a0dd899ecba4a45b0550ee9d4a" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/sync_state_writer.py": { - "mtime": 1780127492.7365298, - "hash": "6f7592a49354a0a1a09a34414007b358" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/__init__.py": { - "mtime": 1778887316.707862, - "hash": "09a8e3a53c655e6abfe9d3f568b4c21e" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/log_writer.py": { - "mtime": 1778887316.7080953, - "hash": "3b4220fe20e09ada04ed25e498263eb4" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/cache/creation_writer.py": { - "mtime": 1778887316.7079272, - "hash": "dfec2dabdda0ff69f6328ef460c1d931" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/models.py": { - "mtime": 1780127492.7372184, - "hash": "4217789fc4446740b5199202c1c5da72" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/__init__.py": { - "mtime": 1778887316.7081482, - "hash": "9d4df1a87a4de0801371cb8295bf37a1" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/loader.py": { - "mtime": 1780127492.7368817, - "hash": "450450079de510c1a274d3689ae648cb" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/config/test_bootstrap.py": { - "mtime": 1780127492.7374804, - "hash": "d1797cade1bb01ebc3cff611c38719b4" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/registry.py": { - "mtime": 1778887316.711591, - "hash": "29fced03bce3dd9ac45aa207e6cc7d1b" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/host.py": { - "mtime": 1780127492.7426171, - "hash": "b72dd5f6695b0cb6ed2a680c85d6eb8a" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/__init__.py": { - "mtime": 1778887316.7107298, - "hash": "e28b3d4c285f0f136db07313f3623156" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/logger.py": { - "mtime": 1778887316.711478, - "hash": "c553ba4423d011693315faccf8a75c8c" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/base.py": { - "mtime": 1778887316.711147, - "hash": "2b96fe68afb9aa81b8155df6c8ac7304" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/plugins/_worker.py": { - "mtime": 1778887316.7109003, - "hash": "e3180c2c9c7985c96fd7dac690cda358" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/enums.py": { - "mtime": 1780127492.7386696, - "hash": "9cb99526a85dc9ef1f39a31b335da1b0" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/patterns.py": { - "mtime": 1778887316.7086759, - "hash": "044a13a6565b394a3fabb77ccabd7c59" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/limits.py": { - "mtime": 1778887316.7085998, - "hash": "fa79e7b95ff3d79def246b2717f155a8" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/filenames.py": { - "mtime": 1780127492.738964, - "hash": "8bc238887a4a9b69300b1acb614f0e6b" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/__init__.py": { - "mtime": 1780127492.7379632, - "hash": "6bb039e240dc387e195e35ddc41ebe55" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/keyring.py": { - "mtime": 1780127492.739248, - "hash": "78c2cee12ea89415d8429962c29e42de" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/app.py": { - "mtime": 1780127492.738331, - "hash": "a6f71851fc16d5d6f1473da0ff153914" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/constants/schema_versions.py": { - "mtime": 1780127492.7395022, - "hash": "e0b4552628e679f871216fcaaa19268e" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/json_files.py": { - "mtime": 1778887316.709309, - "hash": "e34580f6c24688fee57e0d0511d07530" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/__init__.py": { - "mtime": 1778887316.7092104, - "hash": "5f7407af82d74e42673f081119d6a622" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/atomic_write.py": { - "mtime": 1778887316.7092597, - "hash": "4990e5aa1c7a6f56b422f5aa42efa6ea" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/io/yaml_files.py": { - "mtime": 1778887316.7093532, - "hash": "c73c6b0d170532cc7a47c066d1218d64" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/__init__.py": { - "mtime": 1778887316.7127964, - "hash": "ccecc1b6570c997a883d8827b2cbda57" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/template/copier_driver.py": { - "mtime": 1778887316.7128644, - "hash": "52470e4403aea33b60e1d9da42bb353d" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/time.py": { - "mtime": 1778887316.7188072, - "hash": "cf573a2b994d06222921576de750d323" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/__init__.py": { - "mtime": 1778887316.718706, - "hash": "5dc8037530c0fb850582a503357e1d85" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/utils/state.py": { - "mtime": 1778887316.7187524, - "hash": "9401023c81b07a7822934b60172c69aa" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/icon.py": { - "mtime": 1778887316.7131217, - "hash": "15ca80641f218efcb81ea8d65d55e6a4" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/server_runner.py": { - "mtime": 1778887316.7136395, - "hash": "780efe8165a9072ce4e857de7f6329dd" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/__init__.py": { - "mtime": 1778887316.7129273, - "hash": "e068687bd75ea21c56f0a236e69fdecf" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/autostart.py": { - "mtime": 1778887316.7129865, - "hash": "c6778db2148402d0d9182228d1c6db0d" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/quit_coordinator.py": { - "mtime": 1778887316.713561, - "hash": "27eff69fe55a108201d53f7818d21088" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/window_launcher.py": { - "mtime": 1778887316.714091, - "hash": "c12684bad36dafb08fcd72e1a17ff3e3" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/notifications.py": { - "mtime": 1778887316.7134647, - "hash": "1d67ebe63250b16a79225ba593a58776" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/main.py": { - "mtime": 1780127492.7461336, - "hash": "679b5e342a48b87c3f694525122057eb" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/dependencies.py": { - "mtime": 1780127492.7457714, - "hash": "eeac3ad7049b07165e0b114bb1e2d5df" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/status.py": { - "mtime": 1778887316.7139156, - "hash": "b38d93493743a892e47c5177319f19db" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/tray/storage_secret.py": { - "mtime": 1778887316.7140105, - "hash": "88d3ce0577e1c042bdbbd5609cd8cd5b" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/__init__.py": { - "mtime": 1778887316.7116766, - "hash": "5aa9de637c1ccf6c70ad9fa558f28673" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/readme/generator.py": { - "mtime": 1778887316.7117565, - "hash": "4c7138b81baba5821d4f161c75efe99e" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/creation.py": { - "mtime": 1780127492.740004, - "hash": "6f16e811337471ca3dbfe03028c451ce" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/__init__.py": { - "mtime": 1780127492.7396195, - "hash": "405e6cc064b0901197e29f80b99a7434" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/state_machine.py": { - "mtime": 1778887316.7091095, - "hash": "0a4a2cc88367c1fd28ecbb2724124fab" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/metadata_assembly.py": { - "mtime": 1780127492.7401772, - "hash": "60d804394038f9569fdddd5fe5298788" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/controller/session_store.py": { - "mtime": 1780127492.7403305, - "hash": "40cb1a6d39431075aa83ae997d8ee0b3" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sample_data/__init__.py": { - "mtime": 1780127492.7428222, - "hash": "2c7f35120f1ff282c881bfd296881344" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sample_data/spec.py": { - "mtime": 1780127492.7431495, - "hash": "4477fab0f95b17c87c41e09798e56be8" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sample_data/generator.py": { - "mtime": 1780127492.7429783, - "hash": "3059e4a7ff1838218356e992640cf93d" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/pywebview_app.py": { - "mtime": 1778887316.7195377, - "hash": "dc8a76edd7fa9db575086409f1c66ffe" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/__init__.py": { - "mtime": 1778887316.7191873, - "hash": "bb79941a5b5e7b49776ea35ea9944b42" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/window/main.py": { - "mtime": 1778887316.719356, - "hash": "9063ad0cc4f8c535ce7ea63789b48f88" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/health.py": { - "mtime": 1780127492.73452, - "hash": "18697ab159bd8fbce89712c1daddd8b5" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/_dependencies.py": { - "mtime": 1780127492.733323, - "hash": "0ed6d7e9943b778d152760318339788f" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/events.py": { - "mtime": 1778887316.707098, - "hash": "3f2e6689e6361fba70fbef5a92012ba2" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/__init__.py": { - "mtime": 1778887316.706802, - "hash": "48bed013bd51413dc7f9237be3b3e360" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/setup.py": { - "mtime": 1780127492.736241, - "hash": "dd6e78c79538fd1c47d915103ac3d67e" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/schemas.py": { - "mtime": 1780127492.7359338, - "hash": "e38b57b85c80d01b2d76b71dc7b25020" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/app.py": { - "mtime": 1780127492.7337248, - "hash": "9cfff859e37fc3674546271360860b42" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/errors.py": { - "mtime": 1780127492.734156, - "hash": "b0a68a0b15fd2274bb30dc5fbfcf58fc" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/browse.py": { - "mtime": 1780127492.734869, - "hash": "209dd73510b163cbc533b0f372e24895" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/sessions.py": { - "mtime": 1778887316.7076066, - "hash": "81f672a70b8d6f7dd7045feb0c09f5f4" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/config.py": { - "mtime": 1780127492.7352352, - "hash": "696a9cd77e1cf39575e5338a529cc97f" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/__init__.py": { - "mtime": 1778887316.7072046, - "hash": "6fd1880a00170fce23b10839fbd1cf42" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/operations.py": { - "mtime": 1780127492.7353764, - "hash": "9ec4637d63ae1e7ec6726870513b252b" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/problems.py": { - "mtime": 1778887316.7075026, - "hash": "b90d8ffd6425ecee253a30306deab6fe" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/api/routers/staging.py": { - "mtime": 1780127492.735629, - "hash": "0a39d67b0cf64596742ac66f68a4b941" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/dev/__init__.py": { - "mtime": 1780127492.7404745, - "hash": "6531fb973320a1ab9aec73f81321bcdb" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/dev/seed.py": { - "mtime": 1780127492.7405903, - "hash": "c76def5c7bf679f25f8dbb87ccd81976" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/queue.py": { - "mtime": 1780127492.7440805, - "hash": "85264151b44bd5a782eea72963d28370" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/manifest.py": { - "mtime": 1780127492.743361, - "hash": "3f1ec584a9eafaa7023db1880b70c400" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/nas_client.py": { - "mtime": 1780127492.7437706, - "hash": "8386077ad5c29e7b2a631c9bb45513cd" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/__init__.py": { - "mtime": 1778887316.7118518, - "hash": "d1eafd277122418f30324450bec92b2e" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/cleanup.py": { - "mtime": 1778887316.7119753, - "hash": "1d7f88b453271c3405d7b1accab3fa57" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/bandwidth.py": { - "mtime": 1778887316.7119112, - "hash": "04f10e23f8153d50309499e3b6912fb8" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/pre_sync_gate.py": { - "mtime": 1778887316.7121267, - "hash": "955594315b5c9e19cd8af9ea405fa782" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/verifier.py": { - "mtime": 1780127492.745401, - "hash": "d3efd1bfc30a75f97bb7df81d53258e2" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/run_delete.py": { - "mtime": 1780127492.744273, - "hash": "236e0a2cc47194ed090decb713c6f2bf" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/__init__.py": { - "mtime": 1778887316.71228, - "hash": "969f593c82e2f8d810fc14d18c7f8ce4" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/rclone.py": { - "mtime": 1780127492.7448435, - "hash": "8f275712cf0b3e7f133a0bd808742c32" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/sync/transports/_run.py": { - "mtime": 1780127492.7445235, - "hash": "82cda4b53794a4a610ea1d1fae3c0f73" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/handlers.py": { - "mtime": 1778887316.7100515, - "hash": "22feeba9dac685ddb356cb75ee27f1ad" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/__init__.py": { - "mtime": 1778887316.7097588, - "hash": "1fd90e19e509c79bcd147162f3d197a2" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/format.py": { - "mtime": 1778887316.7099767, - "hash": "6fa366e7cfe14410898bfce7a5bcae6a" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/context.py": { - "mtime": 1778887316.7099192, - "hash": "e35d4eb80e702645b06636ab10b3c610" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/logging/manager.py": { - "mtime": 1778887316.7101078, - "hash": "8f4df4fa7eaba0f8f4bf4638195efcd8" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/quiescence_poller.py": { - "mtime": 1780127492.741557, - "hash": "33cb3372ec583b7e1516a689e25353a6" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/_scan.py": { - "mtime": 1780127492.7414172, - "hash": "edcf28b19e340b56c557675510e005a4" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/__init__.py": { - "mtime": 1780127492.7410383, - "hash": "b8d5aef1bbfbba441a5e2017f9d8387d" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_clear.py": { - "mtime": 1780127492.7417138, - "hash": "ba94a24ffd24b749767c45e5bab04ea6" - }, - "/Users/alex/Projects/ExLabWizard/src/exlab_wizard/orchestrator/staging_query.py": { - "mtime": 1780127492.7419918, - "hash": "0005ca3ecf74d0bde4e7cc32c1e36a27" - }, - "/Users/alex/Projects/ExLabWizard/README.md": { - "mtime": 1780127492.6327887, - "hash": "11804cd2e3ebab98d154473118dd1c5b" - }, - "/Users/alex/Projects/ExLabWizard/DESIGN.md": { - "mtime": 1780127492.6323993, - "hash": "c3a05673915471f27cafbf5de668a50f" - }, - "/Users/alex/Projects/ExLabWizard/CLAUDE.md": { - "mtime": 1780127492.6319506, - "hash": "0866fbee43eb2619ecc6dc05960e23b7" - }, - "/Users/alex/Projects/ExLabWizard/_internal/README.md": { - "mtime": 1778192475.5510361, - "hash": "e403bbc18b842a6ec94007208db50db3" - }, - "/Users/alex/Projects/ExLabWizard/tests/docker/README.md": { - "mtime": 1780127492.7538886, - "hash": "9c6f96d2eff5408f74db57ab5ead49d9" - }, - "/Users/alex/Projects/ExLabWizard/tests/docker/docker-compose.yml": { - "mtime": 1780127492.7539966, - "hash": "3da2ffaec0a510317910d004f027ae0b" - }, - "/Users/alex/Projects/ExLabWizard/tests/docker/nas-data/Run_2026-05-28T10-00/notes.txt": { - "mtime": 1779993069.0, - "hash": "d98e76668be06a2eb4c0b5e155f260b0" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/lims/exlab_v1/README.md": { - "mtime": 1778719920.7531853, - "hash": "b422ad71cb47862231bc91f2123430d4" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/hello_plugin/manifest.yml": { - "mtime": 1778192475.5677142, - "hash": "2f1c9e54fde096d6f1f3079aed955c09" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/error_plugin/manifest.yml": { - "mtime": 1778192475.566858, - "hash": "25d56e1af85208547e4227503d651391" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/policy_violation_plugin/manifest.yml": { - "mtime": 1778192475.5673177, - "hash": "033d7b1c719b62a53e8ecc5bb2ea6de0" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/input_required_plugin/manifest.yml": { - "mtime": 1778192475.5670688, - "hash": "8f99570340b9faa68537b2757802106f" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/crash_plugin/manifest.yml": { - "mtime": 1778192475.5666316, - "hash": "e8083211f56fde438f988459e1176d4e" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/plugins/_failures/timeout_plugin/manifest.yml": { - "mtime": 1778192475.567512, - "hash": "0e45fac0a3f0c1878d8d9aa44f62922a" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/configs/incomplete_no_lims.yaml": { - "mtime": 1780127492.762414, - "hash": "c3da19993a7c74ed53e9c320fba84f6c" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/configs/incomplete_no_equipment.yaml": { - "mtime": 1778871321.7860131, - "hash": "776bf7dbec2586b7874dece188b85ef7" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/configs/incomplete_no_paths.yaml": { - "mtime": 1780127492.7627475, - "hash": "135f14f38d84daeef4bb7dcbb859e86f" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/configs/README.md": { - "mtime": 1778192475.565712, - "hash": "ce11b965fa9d372fcfe59145bf54261b" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/configs/complete.yaml": { - "mtime": 1780127492.7620916, - "hash": "3aaf7d7016b241d4a31c97f15e366b43" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/run_basic_both/copier.yml": { - "mtime": 1778192475.5686162, - "hash": "f59a9238b2f9a463dd39aeb7394078a6" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/run_basic_test/copier.yml": { - "mtime": 1778192475.5689287, - "hash": "a09d1a9668aa1260c540b768d6cb73fb" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/redeclares_core/copier.yml": { - "mtime": 1778192475.568532, - "hash": "3ac92263bad5d1ec159b0307521c399e" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/run_basic_experimental/copier.yml": { - "mtime": 1778192475.56877, - "hash": "147910b91fcbe17ca808834a5ef5dc91" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/missing_version/copier.yml": { - "mtime": 1778192475.568235, - "hash": "e3757aa0691d359aa82fa6704e276448" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/with_tasks/copier.yml": { - "mtime": 1778192475.5690942, - "hash": "307da16268db18e5a7e0579c477aab9e" - }, - "/Users/alex/Projects/ExLabWizard/tests/fixtures/templates/project_basic/copier.yml": { - "mtime": 1778192475.568326, - "hash": "8defa0f62bfed8056ad7e6054b3b6fca" - }, - "/Users/alex/Projects/ExLabWizard/tests/e2e/README.md": { - "mtime": 1778192475.5637197, - "hash": "7854ac689141fb183330629890161f5f" - }, - "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK_TASKS.md": { - "mtime": 1780127492.6361957, - "hash": "9600e3c6f5cf47b1581d4b852a54c8cd" - }, - "/Users/alex/Projects/ExLabWizard/docs/REMAINING_WORK.md": { - "mtime": 1780127492.6360016, - "hash": "a2e81051f3d87aeecdc3d3ecbd091587" - }, - "/Users/alex/Projects/ExLabWizard/docs/UX_INTERACTIONS.md": { - "mtime": 1780127492.6365495, - "hash": "91e2f91c00613e3cb4aa107250bcec05" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/index.md": { - "mtime": 1778887316.704442, - "hash": "172deffac073e63e214e8a3a2fdd409b" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/02_browse.md": { - "mtime": 1779316926.8589227, - "hash": "07fb6a0451d8f0a2d4be4955462df15a" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/03_create_project.md": { - "mtime": 1779316926.859022, - "hash": "07e8b315d837c961439b0a32b3f309d0" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/08_problems.md": { - "mtime": 1778887316.705558, - "hash": "f7d16c0e08f8429529d3b3f108bf450e" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/07_orchestrator.md": { - "mtime": 1778887316.7054944, - "hash": "7cf53076bf9f6eee3365cfcf6287db25" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/01_settings.md": { - "mtime": 1780127492.6375227, - "hash": "09300bc443c9cc5e658b9b113b604673" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/06_readme.md": { - "mtime": 1779316926.8592937, - "hash": "3bd07735e0c61797b344f16f8666f66a" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/index.md": { - "mtime": 1779316926.8596318, - "hash": "0e423755a2b80d8879b44a417ccdf454" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/00_getting_started.md": { - "mtime": 1779316926.8587399, - "hash": "74c3f0bcfd847f70906052016b03f617" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/04_create_run.md": { - "mtime": 1779316926.859108, - "hash": "c0b6fe3eccdc75a1b3c6e8be4b0aecf5" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/user_guide/05_create_test_run.md": { - "mtime": 1779316926.8591979, - "hash": "17e5ca58364d374ab218a194b5d717eb" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/index.rst": { - "mtime": 1778887316.7042208, - "hash": "80bbd5a49516dfc36f19ab11bf828d84" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.plugins.logger.rst": { - "mtime": 1778743232.834483, - "hash": "35c8070e590b29b7affdb246e1150e63" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.controller.state_machine.rst": { - "mtime": 1778743232.7736025, - "hash": "4f1e71d6b1cda6b24bd9796ee6f77139" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.window_launcher.rst": { - "mtime": 1778743232.892297, - "hash": "e2d82105943fce5c0914be4600aeeb19" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.main.rst": { - "mtime": 1778743232.880523, - "hash": "1478450778ffae6b40f39ef14c0f54fb" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.window.pywebview_app.rst": { - "mtime": 1778743232.9327288, - "hash": "a373a655c493835346356c8df6a24af1" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.window.rst": { - "mtime": 1778743232.7146823, - "hash": "f90dc5e744e27dd7ec98aae173a4f6a9" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.errors.rst": { - "mtime": 1778743232.7262666, - "hash": "451ddea9a85a73d396cea47b75b1d530" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.tree.rst": { - "mtime": 1778743232.9867764, - "hash": "0390111b9d50be4c74690c49abf5518f" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.routers.browse.rst": { - "mtime": 1778877294.3585439, - "hash": "4a6744496b63710c713b8830aeb8e66e" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.client.rst": { - "mtime": 1778877294.959309, - "hash": "4cb344a877767d4459efbd220bf0db64" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.controller.creation.rst": { - "mtime": 1778743232.7688215, - "hash": "7b4c72d316dd3fbb2aad54ab53406390" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.quit_coordinator.rst": { - "mtime": 1778743232.8855515, - "hash": "4b425f69c314c249fd367f3842529cd1" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.icon.rst": { - "mtime": 1778743232.877409, - "hash": "e847d2507cfeadd3e4a1633a3192be37" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.health.rst": { - "mtime": 1778743232.730879, - "hash": "d51d414021c27f1f8e17e008674d7049" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.sync.rst": { - "mtime": 1778743232.6875668, - "hash": "3654ceb9652de1815002bcf7850e5c2e" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.pages.rst": { - "mtime": 1778877294.9826303, - "hash": "dbcb9d7b2671bcd3ab889a4f5fc79bde" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.logging.format.rst": { - "mtime": 1778743232.787626, - "hash": "2059b5f1950b15a2f6dfde9492f3009f" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.banner_stack.rst": { - "mtime": 1778743232.9674966, - "hash": "a4459420ddf3fda76019f2de23320af3" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.validation_summary.rst": { - "mtime": 1778743232.9886498, - "hash": "91da7bc120acd0a8188a21ead596baf9" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.autostart.rst": { - "mtime": 1778743232.8707888, - "hash": "793d653606bc7abbf2304e202fa2b882" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.routers.operations.rst": { - "mtime": 1778743232.946071, - "hash": "1bdf88f040ac79aea13ea5799bced43d" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.config.models.rst": { - "mtime": 1778743232.75644, - "hash": "9f0b969229bdff4352fef2c469f418e2" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.orchestrator.staging_watcher.rst": { - "mtime": 1778743232.8214808, - "hash": "c7e6959dd20ff992c469c38e55dd1143" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.cache.ingest_writer.rst": { - "mtime": 1778743232.7457328, - "hash": "de1f2bab89ecc4b0864e3c1b058ee2dd" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.pages.main.rst": { - "mtime": 1778877294.9833417, - "hash": "f878c249c55c802644bafb923144bf0f" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.server_runner.rst": { - "mtime": 1778743232.8876445, - "hash": "42d11c26b395e3f0c838da64f9e7f551" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.rst": { - "mtime": 1778877294.6967142, - "hash": "93c78023181e42539ab63edd29dbaa14" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.setup.rst": { - "mtime": 1778743232.738546, - "hash": "a4dcf3e470139b7dfbff1d9bb82f4601" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.credential_field.rst": { - "mtime": 1778877294.9632702, - "hash": "d46f9df066df1a823352d1e830322dd4" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.rst": { - "mtime": 1778743232.61944, - "hash": "c6559a4f578245f46ddb7879eba6cc56" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.app.rst": { - "mtime": 1778743232.7218957, - "hash": "77f7516d465d3ec33af52cdb1ddff422" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.logging.manager.rst": { - "mtime": 1778743232.792124, - "hash": "485abdf35ac8134036aeccc9d64a9a1d" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.plugins.base.rst": { - "mtime": 1778743232.8232431, - "hash": "8151a96e1ca5bbff9cff03a8c42aefc2" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.validator.findings.rst": { - "mtime": 1778743232.9237397, - "hash": "6df3d359e2c3598e8a863def77398417" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.config.loader.rst": { - "mtime": 1778743232.749462, - "hash": "e22abdcfd8176fda65f0fad997eac7ad" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.sync_status_icon.rst": { - "mtime": 1778743232.980488, - "hash": "eaffe381ed664fce170272f4c29d1517" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.sync.nas_client.rst": { - "mtime": 1778743232.8548243, - "hash": "174339a9efa9602c91ac27ca53d45549" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.pages.problems.rst": { - "mtime": 1778743232.9955218, - "hash": "1ddf9df6e192f180b302b78fbf661577" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.logging.context.rst": { - "mtime": 1778743232.7859945, - "hash": "2757aa7e2c4f94b7712209a86439ddd9" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.notifications.rst": { - "mtime": 1778743232.8835397, - "hash": "34c48c2010bff0eafe341439f6954cf6" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.window.main.rst": { - "mtime": 1778743232.9313219, - "hash": "620df13f8096dec710c91a9930880d2a" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.bandwidth_schedule_editor.rst": { - "mtime": 1778743232.9656916, - "hash": "50087a3da609ab8f2cd66bc73ccda9f0" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.readme.rst": { - "mtime": 1778743232.686439, - "hash": "e815fe9c5c50638f1436604d091d4999" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.travelling_badge.rst": { - "mtime": 1778877294.9748416, - "hash": "219bd7533bb0522239a6652778241f64" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.client.folder_feed.rst": { - "mtime": 1778877295.0029233, - "hash": "3c98ca635ad9cc95335081ec181f3f84" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.routers.problems.rst": { - "mtime": 1778743232.951567, - "hash": "d337ec0da3b8555c25a6ac4afcd1a0f5" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.notifications.rst": { - "mtime": 1778743232.9105525, - "hash": "1863d720d5d7d518de8f415d5f8079aa" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.template.rst": { - "mtime": 1778743232.6879792, - "hash": "4497babcd98dd765e8dc2fc3a87a746a" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.lims.catalogue.rst": { - "mtime": 1778743232.777615, - "hash": "e6fab8124a32204407ba0e2a74e9250c" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.lims.client.rst": { - "mtime": 1778743232.78009, - "hash": "f55fa1537a737b709d6b7828d2fc81ce" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.client.refresh_coordinator.rst": { - "mtime": 1778877295.0052857, - "hash": "44dc99200a56b32e6802b329be763647" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.events.rst": { - "mtime": 1778743232.72819, - "hash": "8335c106c84a57773efc456c8ea18605" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.breadcrumb.rst": { - "mtime": 1778877294.9627192, - "hash": "adf1540392c85079c99e5a6bedcbcec8" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.rst": { - "mtime": 1778743232.6937451, - "hash": "41458525b8e025d919f8c8841986ee7e" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.file_list.rst": { - "mtime": 1778877294.966338, - "hash": "ab1ae7dd91411d1e950d63c539575e63" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.rst": { - "mtime": 1778877294.9601269, - "hash": "6e29920ea544df7822ac5b742852d97e" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.sync.transports.rclone.rst": { - "mtime": 1778743232.9612744, - "hash": "dc9544d4dfe8ced7c0494b165cab5594" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.plugins.rst": { - "mtime": 1778743232.6841261, - "hash": "e0f5003419b96db99299458782709d45" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.controller.session_store.rst": { - "mtime": 1778743232.7714345, - "hash": "315eef07e287a8eacc8a8a392f03fd1a" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.pages.staging.rst": { - "mtime": 1778743233.0065405, - "hash": "9cfac0e82e62c40a6c3aad9ae9fe5835" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.keyboard.rst": { - "mtime": 1778743232.8991337, - "hash": "877b5c7d449b3db8ad196400c6a9b9ce" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.theme.rst": { - "mtime": 1778743232.913327, - "hash": "826c3bd59dd7bbded95de47d54f91478" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.sync.bandwidth.rst": { - "mtime": 1778743232.8460243, - "hash": "17bd92d55edbef4f8ba6514738fabbca" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.session_progress.rst": { - "mtime": 1778743232.977385, - "hash": "46988fd77488776678e03a9848879026" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.routers.config.rst": { - "mtime": 1778877294.3616476, - "hash": "0673ba1199482053d6b75509faba09cd" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.cache.equipment.rst": { - "mtime": 1778743232.743335, - "hash": "8cece4138fe5944d8d7524bb2e50c6e6" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.pages.settings.rst": { - "mtime": 1778877294.9845219, - "hash": "d807a065415e28b0513318440e6f4ded" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.operations_modal.rst": { - "mtime": 1778743232.9738376, - "hash": "7560ee3d6b376c474c154bf67b38646e" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.dependencies.rst": { - "mtime": 1778743232.8757606, - "hash": "a89d054d6954043655e41e63ce632fde" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.test_connection_panel.rst": { - "mtime": 1778743232.9817991, - "hash": "37b0bcfb42b515e1ff0d0e7d4af2c6d5" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.template.copier_driver.rst": { - "mtime": 1778743232.8677325, - "hash": "2180fa1bd1093890b3c44c5c3fa26b20" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.sync.transports.rsync_ssh.rst": { - "mtime": 1778743232.9636145, - "hash": "65d941f6ff2d289312d373678f962fbe" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.routers.rst": { - "mtime": 1778743232.731456, - "hash": "49bb6a2a9f9e6047aec0dfdde41e2982" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.routers.sessions.rst": { - "mtime": 1778743232.9562986, - "hash": "2dce9df3c0deed63fd475820b7d5a6ea" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.errors.rst": { - "mtime": 1778743232.632246, - "hash": "bf9454d20be40c45acc02f8580c2553f" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.cache.creation_writer.rst": { - "mtime": 1778743232.7416325, - "hash": "eb8b76f8aca477ac6bd5185f405b4a8a" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.equipment_form.rst": { - "mtime": 1778877294.9797487, - "hash": "0195b14f51f3cb9c540a2bcb1d76fd5e" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.pages.wizard_equipment.rst": { - "mtime": 1778877294.9932783, - "hash": "e6b6a599b59831c17eb3513bde8d847b" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.storage_secret.rst": { - "mtime": 1778743232.8906562, - "hash": "0f89fd127fa8a8b405abfe459726884b" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.sync.queue.rst": { - "mtime": 1778743232.8606384, - "hash": "98e50bcbc38d7b082e695d1b064148a8" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.pages.welcome.rst": { - "mtime": 1778743233.0134578, - "hash": "8dd8fd1b6114ca5285ba0b24ecda40e4" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.lims.keyring_store.rst": { - "mtime": 1778743232.783375, - "hash": "bc7cfdb40ec580e17dc39dd04cf41460" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.orchestrator.cleanup.rst": { - "mtime": 1778743232.793959, - "hash": "0a0080cb5389300b0a9599fb8e064bd8" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.pages.wizard_project.rst": { - "mtime": 1778743233.0183048, - "hash": "484743d343936ea28e2a40bbd0e9058c" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.orchestrator.rst": { - "mtime": 1778743232.681598, - "hash": "4c66a03943f32563f3249480b9daa69b" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.test_run_badge.rst": { - "mtime": 1778743232.9826221, - "hash": "12de1f85bfc3994e12c36c9e4d41432c" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.sync.pre_sync_gate.rst": { - "mtime": 1778743232.8561275, - "hash": "a4abab9fb3b41c84443793e53334d063" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.status_bar_segment.rst": { - "mtime": 1778743232.978618, - "hash": "4bfc4b686c3ad81f31f8f59606a1a04d" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.cache.log_writer.rst": { - "mtime": 1778743232.7477558, - "hash": "774f34a7bd3936b84555dfe204faa612" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.override_badge.rst": { - "mtime": 1778743232.9750776, - "hash": "8c2a1b893f87cc54a6adb205eb9cf8cd" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.logging.handlers.rst": { - "mtime": 1778743232.7896905, - "hash": "7fb2d83e7130dd3130b64db467f890e5" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.lims.rst": { - "mtime": 1778743232.680085, - "hash": "79ab0df8e7b7e28349d522acd83ad6fc" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.mode_badge.rst": { - "mtime": 1778743232.9717798, - "hash": "3ffc80c7dfc65f021c2d6e4468d5750a" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.plugins.registry.rst": { - "mtime": 1778743232.8389528, - "hash": "8ba5241b301b7a41fb96b37789c75f2d" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.controller.rst": { - "mtime": 1778743232.6310613, - "hash": "3b80d4828204a9f1a7866eb65767b8fc" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.plugins.host.rst": { - "mtime": 1778743232.8325953, - "hash": "7978228169590b5e2e4af4ece5495884" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.tray.status.rst": { - "mtime": 1778743232.889775, - "hash": "221bbc6565f65f18457902003373ca79" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.cache.rst": { - "mtime": 1778743232.6202512, - "hash": "2c3b3b942c3e83cad27d42f0f6522d52" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.pages.templates.rst": { - "mtime": 1778743233.0115335, - "hash": "9cf3d133695f7ced3ec9ea3c25fc37f4" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.lims.cache.rst": { - "mtime": 1778743232.776002, - "hash": "21d709d0eba189e746cd0359e3fc5900" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.metadata_pane.rst": { - "mtime": 1778877294.969995, - "hash": "58c05502057ecf62a939c6797a6cd6fa" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.sync.cleanup.rst": { - "mtime": 1778743232.8473356, - "hash": "85bdfd6b726d8b0ac2edd9b4c610f3bd" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.design.rst": { - "mtime": 1778743232.895463, - "hash": "302e9853b914c02f69f656925da9ee4b" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.schemas.rst": { - "mtime": 1778743232.7346604, - "hash": "721515ee44e0bc45f578d574defa1d87" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.validator.rst": { - "mtime": 1778743232.7131178, - "hash": "b2c003bb2ee7b145fc9ae2dba5fe87e8" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.sync.verifier.rst": { - "mtime": 1778743232.864626, - "hash": "b6a4f935c96c40cad83b0f72510c1de6" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.readme.generator.rst": { - "mtime": 1778743232.8446536, - "hash": "34933e343687e34de13bb62ba9b060b2" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.api.routers.staging.rst": { - "mtime": 1778743232.959288, - "hash": "0ae4cc7f2009aab0b0aa6d67d3461f21" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.validator.engine.rst": { - "mtime": 1778743232.9226258, - "hash": "af7d7fc043bc5529389c0fb87c9b9499" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.tree_context_menu.rst": { - "mtime": 1778877294.976748, - "hash": "af5ac01e64ff441299592b72ac9146b4" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.config.rst": { - "mtime": 1778743232.6300693, - "hash": "f932b6cbb20a73fc88abd7959c7e5a63" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.orchestrator.staging_query.rst": { - "mtime": 1778743232.8159475, - "hash": "8c7ddb31628df04042018fb333c8d3f0" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.validator.rules.rst": { - "mtime": 1778877294.9482949, - "hash": "adb33c0bbca6ee35445f90ed93ff5d24" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.pages.wizard_run.rst": { - "mtime": 1778743233.0226243, - "hash": "7513b888d80f873892e3bad7c9292d70" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.components.filter_chips.rst": { - "mtime": 1778743232.9708178, - "hash": "bc239a191bfd1ae59116ed9a136bf075" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.sync.transports.rst": { - "mtime": 1778743232.861698, - "hash": "c7c1f243e1efa54a828575a71c8ca9e7" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.logging.rst": { - "mtime": 1778743232.6808248, - "hash": "579a3cfdbb0aa652e15ac3eb532c9393" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.ui.mount.rst": { - "mtime": 1778743232.9071581, - "hash": "e05590a28a15c7f2960255a323ce7681" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/api/_generated/exlab_wizard.lims.schemas.rst": { - "mtime": 1778743232.7843103, - "hash": "8c8d4ec8d309c3652199b9c2af905708" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/superpowers/specs/2026-05-14-gui-orchestrator-redesign-design.md": { - "mtime": 1778887316.7049596, - "hash": "e19b6261125f625d3dbd1d6b8ddc6511" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/manifest_schema.md": { - "mtime": 1778887316.7046688, - "hash": "ad16ce0ec77e0be02e29c8c1794fb3ac" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/ipc_envelope.md": { - "mtime": 1778887316.704606, - "hash": "1c5db8cf418000fb0b014621f20ec580" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/index.md": { - "mtime": 1778887316.7045462, - "hash": "83e23f045c4796bfd6e8755a56c37029" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/plugin_guide/worked_examples.md": { - "mtime": 1778887316.704729, - "hash": "a95d15b3fd67f4f74dd818b2771aa057" - }, - "/Users/alex/Projects/ExLabWizard/docs/setup/rclone-remote-setup.md": { - "mtime": 1780127492.6371698, - "hash": "78c5b53e591b0469ff733a4894b8c951" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/plans/2026-05-28-rclone-conf-nas-sync.md": { - "mtime": 1780127492.6380005, - "hash": "c8350a97b9387cd7eb92831f7fe5473c" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-21-operator-free-per-file-nas-sync-design.md": { - "mtime": 1780127492.6382616, - "hash": "5367be02ac45a50b14099b0c7fc2d0ee" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-29-hide-orchestrator-staging-design.md": { - "mtime": 1780127492.6392357, - "hash": "522f3ac8d4851d99d3e36c1dac9d6262" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-rclone-conf-nas-sync-design.md": { - "mtime": 1780127492.6386688, - "hash": "95d28226b9cb36646e93fef5fa02f553" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-29-main-window-ui-refresh-remaining-work.md": { - "mtime": 1780127492.6407588, - "hash": "7cacfb2511fecbfecee7b93448d0a123" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-26-rclone-only-nas-sync-design.md": { - "mtime": 1780127492.638464, - "hash": "43b73291db0d69e51495778fdd2f6ff5" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-28-staging-root-opt-in-design.md": { - "mtime": 1780127492.638931, - "hash": "d56fc10fda54a79576688cc8bd9937c0" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-29-main-window-ui-refresh-design.md": { - "mtime": 1780127492.6394908, - "hash": "48b475c09c1d487e02681d50c466631d" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-29-sample-data-generation-design.md": { - "mtime": 1780127492.640989, - "hash": "70258894ffc1bb38439453188286fc5f" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-29-main-window-ui-refresh-mockups/01-panel-framing.html": { - "mtime": 1780127492.639764, - "hash": "49a4e07b135b59eb3791b8c45f0a3e4e" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-29-main-window-ui-refresh-mockups/README.md": { - "mtime": 1780127492.6404974, - "hash": "fb70c159acf041214b5f2324791cec27" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-29-main-window-ui-refresh-mockups/03-zebra-and-row-states.html": { - "mtime": 1780127492.6401887, - "hash": "3f4e544a58b2e5eb6dd3f99eee626dbd" - }, - "/Users/alex/Projects/ExLabWizard/docs/superpowers/specs/2026-05-29-main-window-ui-refresh-mockups/02-metadata-pane.html": { - "mtime": 1780127492.6399722, - "hash": "6d24972e489685bf1f430b821c62dc6d" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Frontend_Spec.md": { - "mtime": 1780127492.6342502, - "hash": "285c35784047449a4e8ac6ee51dae79d" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/ExLab-Wizard_Design_Spec.md": { - "mtime": 1780127492.6331832, - "hash": "9cf49a512378d8998d1354e687b0084a" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/IMPLEMENTATION_PLAN.md": { - "mtime": 1778871321.7734296, - "hash": "32b2530bc80f6db00868d08018c95733" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/07_Sync_and_Database_Integration.md": { - "mtime": 1780127492.6353943, - "hash": "5f2392237225b7aeb466138ad7f28621" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/03_Directory_Structure_Convention.md": { - "mtime": 1778871321.7740068, - "hash": "d1f01c14513ac98f6d318c9ae3de3a90" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/12_Orchestrator_Mode.md": { - "mtime": 1777411057.8971348, - "hash": "728aa3e28932612d0c2ef2054e62a962" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/06_Plugin_System.md": { - "mtime": 1778061796.5506337, - "hash": "36945947a6ad809d615622ccc7e9f8ae" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/15_Distribution.md": { - "mtime": 1778058485.4633203, - "hash": "eb168a0f19078a0db433186fd943b876" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/04_Backend_Architecture.md": { - "mtime": 1780127492.6348472, - "hash": "173ccf8c606b35b0fe3d2fbd3dea6d94" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/11_Cache_Folders.md": { - "mtime": 1778871321.7757447, - "hash": "a223611dd428d10b9f77181ddf030e03" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/05_Template_Format.md": { - "mtime": 1778871321.7743647, - "hash": "a6bc5d1bb02fa3b8dc24ff232f774552" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/13_Equipment_to_Orchestrator_Data_Flow.md": { - "mtime": 1778871321.7759976, - "hash": "0e2b65535a927935488c36a2f1c5d12d" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/08_Error_Handling_Principles.md": { - "mtime": 1778871321.7749019, - "hash": "57f00dba3869d2a467a6911b9d8d65cb" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/10_README_Generation.md": { - "mtime": 1778871321.7753968, - "hash": "e9e0927689e1d2645bb6a87386c19d87" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/16_Logging.md": { - "mtime": 1778871321.7761986, - "hash": "5c0367ae24907d6a2461840793ceb09c" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/02_User_Interaction.md": { - "mtime": 1778871321.7737012, - "hash": "000f4d2b3ef0ea572a57e7e8b59d6507" - }, - "/Users/alex/Projects/ExLabWizard/design_specs/design_spec_sections/09_Configuration_File.md": { - "mtime": 1780127492.6357927, - "hash": "bb6bd4fb6c3e4ac7ef70579b93e4a43d" - }, - "/Users/alex/Projects/ExLabWizard/graphify-out/memory/query_20260529_232003_how_are_the_example_equipment__projects__run_folde.md": { - "mtime": 1780096803.6951628, - "hash": "ec3f6d9ef1d6e34e709a1264cd6a3e6d" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/08_problems/01_initial.png": { - "mtime": 1779316926.8585918, - "hash": "cca8c2da2f99b78ba6f0545c88362d0e" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/05_create_test_run/01_initial.png": { - "mtime": 1779316926.8545485, - "hash": "a82a1bc681a091ee9d21b3a5f4bbba70" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/07_orchestrator/01_initial.png": { - "mtime": 1779316926.8553822, - "hash": "ec74c642222e14bb8d245968e6eb4b2d" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/07_orchestrator/02_main.png": { - "mtime": 1779316926.856255, - "hash": "5f2c38b7bfaed08d7cb88d7ca2cba0f7" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/06_readme/01_initial.png": { - "mtime": 1779316926.8547287, - "hash": "c7385382334f80b9c63631b725329192" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/02_browse/01_initial.png": { - "mtime": 1779316926.8536217, - "hash": "4a0f55fa548d22e20eb7c1f7b287ccbf" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/02_browse/02_selected.png": { - "mtime": 1779316926.853885, - "hash": "32b4948ac601571d6a2fdd0eece528a4" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/03_create_project/01_initial.png": { - "mtime": 1779316926.854103, - "hash": "c7385382334f80b9c63631b725329192" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/00_getting_started/01_initial.png": { - "mtime": 1779316926.8529668, - "hash": "d8987c32938c78e3b5181d983cc950fd" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/04_create_run/01_initial.png": { - "mtime": 1779316926.8543537, - "hash": "38f3cb9f705030e846b60b12b71fcc5a" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/01_settings/01_initial.png": { - "mtime": 1779316926.8532274, - "hash": "03c2022f890809db53cc8159eff3634e" - }, - "/Users/alex/Projects/ExLabWizard/docs/source/_static/screenshots/01_settings/02_add_equipment.png": { - "mtime": 1779316926.853385, - "hash": "fad3b5872155a6cb29b492abf9f4fa34" - }, - "/Users/alex/Projects/ExLabWizard/assets/ExLabWizardLogo.svg": { - "mtime": 1778231168.0, - "hash": "5531a61ca569e19d131bb71aebe4e6a5" - }, - "/Users/alex/Projects/ExLabWizard/assets/sync_cloud.svg": { - "mtime": 1778193909.0, - "hash": "8da0304ffdc21ef8582673f82395506a" - }, - "/Users/alex/Projects/ExLabWizard/assets/sync_local.svg": { - "mtime": 1778193909.0, - "hash": "60fa512b302bf8dfb4fbd85321932df0" - }, - "/Users/alex/Projects/ExLabWizard/assets/equipment_graphics/Cytation10.png": { - "mtime": 1768258072.0, - "hash": "a818177d082a9d213db2aff9b4bfd697" - }, - "/Users/alex/Projects/ExLabWizard/assets/equipment_graphics/Tecan.png": { - "mtime": 1771639030.0, - "hash": "a4f7415e3dcd701914490a33121674c7" - }, - "/Users/alex/Projects/ExLabWizard/assets/equipment_graphics/SnP-ColonyPicker.png": { - "mtime": 1768258056.0, - "hash": "3680e0142a8967be6c271e9196386a90" - }, - "/Users/alex/Projects/ExLabWizard/assets/equipment_graphics/SnP-Imager.png": { - "mtime": 1768258042.0, - "hash": "8f2b35b705389d84aaf14912473a5299" - }, - "/Users/alex/Projects/ExLabWizard/assets/equipment_graphics/OpentronsBench.png": { - "mtime": 1771639130.0, - "hash": "ffd6ddecb1cb34a4ec0718835d2c238d" - }, - "/Users/alex/Projects/ExLabWizard/assets/equipment_graphics/TecanFluent.png": { - "mtime": 1768591628.0, - "hash": "e1bfde2576c43e4c573948f45692b9c4" - }, - "/Users/alex/Projects/ExLabWizard/assets/equipment_graphics/PinnerBench.png": { - "mtime": 1771639112.0, - "hash": "035b94e5aa560adc234054b4f36471c7" - } -} \ No newline at end of file diff --git a/src/exlab_wizard/config/models.py b/src/exlab_wizard/config/models.py index 780215f..7ef1a76 100644 --- a/src/exlab_wizard/config/models.py +++ b/src/exlab_wizard/config/models.py @@ -319,6 +319,7 @@ class NASCleanupConfig(BaseModel): min_verify_passes: int = Field(default=2, ge=1) min_age_hours: int = Field(default=24, ge=0) retain_cache: bool = True + delete_ignored: bool = False # --------------------------------------------------------------------------- diff --git a/src/exlab_wizard/sync/cleanup.py b/src/exlab_wizard/sync/cleanup.py index d9abfde..87e846d 100644 --- a/src/exlab_wizard/sync/cleanup.py +++ b/src/exlab_wizard/sync/cleanup.py @@ -6,9 +6,7 @@ 1. ``verify_passes >= nas_cleanup.min_verify_passes`` (default 2). 2. Hours since the most recent ``verified_at`` >= ``min_age_hours`` (default 24). -3. The remote NAS path is reachable (the caller passes the result of - a remote ``stat`` as ``remote_stat_ok``). -4. No active ``validation_overrides`` revocation (tombstone) has been +3. No active ``validation_overrides`` revocation (tombstone) has been written within the last ``min_age_hours`` -- a revoked override re-blocks sync, so we don't want to delete locally if the run is now blocked. @@ -69,7 +67,6 @@ def cleanup_interlocks_satisfied( now_utc: datetime, config: NASCleanupConfig, overrides_active: list[dict[str, Any]], - remote_stat_ok: bool, ) -> bool: """Evaluate every §7.1.6 interlock; return True iff all pass. @@ -105,12 +102,7 @@ def cleanup_interlocks_satisfied( ) return False - # 3. remote NAS reachable. - if not remote_stat_ok: - _log.debug("cleanup blocked: remote stat failed for job %s", job.id) - return False - - # 4. no recent revocation. + # 3. no recent revocation. if has_recent_revocation( overrides_active, now_utc=now_utc, diff --git a/src/exlab_wizard/sync/nas_client.py b/src/exlab_wizard/sync/nas_client.py index 7e3cdac..61a9fa3 100644 --- a/src/exlab_wizard/sync/nas_client.py +++ b/src/exlab_wizard/sync/nas_client.py @@ -14,6 +14,7 @@ import asyncio import contextlib +import fnmatch import tempfile from collections.abc import Callable from dataclasses import dataclass, replace @@ -47,7 +48,7 @@ SyncJobState, SyncQueue, ) -from exlab_wizard.sync.run_delete import delete_run_files +from exlab_wizard.sync.run_delete import collect_cleanup_candidates, delete_run_files from exlab_wizard.sync.transports import ( TransportError, TransportErrorKind, @@ -123,6 +124,11 @@ def _remote_subpath(base_root: str, equipment_id: str, run: Path) -> str: return "/".join(p for p in parts if p) +def _matches_any_glob(name: str, globs: list[str]) -> bool: + """Return True if ``name`` matches any configured glob.""" + return any(fnmatch.fnmatch(name, pattern) for pattern in globs) + + def _build_driver(config_path: str, perf: RclonePerf) -> RcloneDriver: """Construct a :class:`RcloneDriver` for a named remote. @@ -199,7 +205,6 @@ def __init__( push_callable_factory: Callable[[EquipmentConfig], Callable[..., Any]] | None = None, check_callable_factory: Callable[[EquipmentConfig], Callable[..., Any]] | None = None, lsjson_callable_factory: Callable[[EquipmentConfig], Callable[..., Any]] | None = None, - remote_stat_callable: Callable[[SyncJobRow], bool] | None = None, ) -> None: self._config = config self._queue_db = queue_db @@ -221,9 +226,6 @@ def __init__( self._push_callable_factory = push_callable_factory self._check_callable_factory = check_callable_factory self._lsjson_callable_factory = lsjson_callable_factory - # Default remote stat: optimistic OK so unit tests don't need - # to wire a real network probe. - self._remote_stat_callable = remote_stat_callable or (lambda _row: True) def apply_config(self, config: Config) -> None: """Swap the cached config + equipment map in place (no relaunch). @@ -943,16 +945,57 @@ async def _maybe_cleanup(self, job_id: str, run_path: Path) -> None: if job is None or job.state != SyncJobState.VERIFIED: return - # Whole-run rollup gate: every tracked file must be verified before - # any local deletion. A job's VERIFIED only covers its own subset. sync_state = await self._sync_state_writer.read(run_path) - rollup = self._sync_state_writer.rollup_state(sync_state) - if rollup != RunSyncState.SYNCED: + keep_local = {rel for rel, rec in sync_state.files.items() if rec.keep_local} + candidates = collect_cleanup_candidates( + run_path, + keep_local=keep_local, + ignore_globs=self._config.sync.ignore_globs, + delete_ignored=self._config.nas_cleanup.delete_ignored, + ) + delete_files = tuple(sorted(candidates.delete)) + ignored_discard = { + rel + for rel in delete_files + if self._config.nas_cleanup.delete_ignored + and _matches_any_glob(Path(rel).name, self._config.sync.ignore_globs) + } + proof_required = tuple(rel for rel in delete_files if rel not in ignored_discard) + + # Whole-run rollup gate: every tracked file must be verified before + # any local deletion. A job's VERIFIED only covers its own subset. An + # empty run has no tracked files and no deletion candidates, so it can + # proceed through cleanup using only the time/pass/revocation interlocks. + if sync_state.files: + rollup = self._sync_state_writer.rollup_state(sync_state) + if rollup != RunSyncState.SYNCED: + _log.debug( + "cleanup deferred: run %s not fully SYNCED (rollup=%s)", + run_path, + rollup.value, + ) + await self._defer_cleanup(job_id, "cleanup_rollup_not_synced") + return + + untracked = [rel for rel in proof_required if rel not in sync_state.files] + if untracked: _log.debug( - "cleanup deferred: run %s not fully SYNCED (rollup=%s)", + "cleanup deferred: run %s has untracked local deletion candidates: %s", run_path, - rollup.value, + untracked, ) + await self._defer_cleanup(job_id, "cleanup_untracked_local_files") + return + + dirty = [ + rel + for rel in proof_required + if sync_state.files[rel].synced_signature is None + or tuple(sync_state.files[rel].synced_signature or ()) != self._file_signature(run_path / rel) + ] + if dirty: + _log.debug("cleanup deferred: run %s has dirty local files: %s", run_path, dirty) + await self._defer_cleanup(job_id, "cleanup_dirty_local_files") return creation_path = creation_json_path(run_path) @@ -962,7 +1005,6 @@ async def _maybe_cleanup(self, job_id: str, run_path: Path) -> None: creation = await self._cache_creation.read_creation_snapshot(creation_path) overrides = list(creation.validation_overrides) if creation else [] - remote_ok = self._remote_stat_callable(job) now_utc = utc_now() if not cleanup_interlocks_satisfied( job=job, @@ -970,55 +1012,55 @@ async def _maybe_cleanup(self, job_id: str, run_path: Path) -> None: now_utc=now_utc, config=self._config.nas_cleanup, overrides_active=overrides, - remote_stat_ok=remote_ok, ): - await self._queue.transition(job_id, SyncJobState.CLEANUP_ELIGIBLE) + await self._defer_cleanup(job_id, "cleanup_interlock_not_satisfied") return # Integrity gate (rclone-named-remote migration, 2026-05-28): the # routine sync path only reconciled size + modtime via lsjson, so # the expensive download-and-rehash runs exactly once here, right # before any irreversible local deletion. Two stages over the - # tracked files: (1) a cheap lsjson existence probe confirms every - # tracked file is present remotely; (2) ``rclone check --download`` + # files selected for deletion: (1) a cheap lsjson existence probe + # confirms every proof-required file is present remotely; (2) ``rclone check --download`` # streams each file back and hashes it locally. Any failure (a # transport error, a missing file, or a hash mismatch) defers the # run in CLEANUP_ELIGIBLE rather than deleting -- a later sweep # retries the gate. equipment = self._equipment_by_id.get(job.equipment_id) - tracked = tuple(sorted(sync_state.files.keys())) - if equipment is not None and tracked: + if proof_required: + if equipment is None: + await self._defer_cleanup(job_id, "cleanup_missing_equipment") + return lsjson = self._build_lsjson(equipment) try: manifest = await lsjson(run_path) except TransportError: - await self._queue.transition(job_id, SyncJobState.CLEANUP_ELIGIBLE) + await self._defer_cleanup(job_id, "cleanup_remote_listing_failed") return - if not all(manifest.has(rel) for rel in tracked): - await self._queue.transition(job_id, SyncJobState.CLEANUP_ELIGIBLE) + if not all(manifest.has(rel) for rel in proof_required): + await self._defer_cleanup(job_id, "cleanup_remote_missing_files") return check = self._build_check(equipment) - files_from = self._write_files_from(tracked) + files_from = self._write_files_from(proof_required) try: try: check_result = await check(run_path, files_from=files_from) except TransportError: - await self._queue.transition(job_id, SyncJobState.CLEANUP_ELIGIBLE) + await self._defer_cleanup(job_id, "cleanup_remote_listing_failed") return verify = VerifyResult.from_check_result(check_result) finally: with contextlib.suppress(OSError): files_from.unlink() if not verify.ok: - await self._queue.transition(job_id, SyncJobState.CLEANUP_ELIGIBLE) + await self._defer_cleanup(job_id, "cleanup_hash_mismatch") return # Promote to CLEANUP_ELIGIBLE then perform the deletion. Files the # operator flagged ``keep_local`` survive the sweep. await self._queue.transition(job_id, SyncJobState.CLEANUP_ELIGIBLE) - keep_local = {rel for rel, rec in sync_state.files.items() if rec.keep_local} - self._delete_local(run_path, keep_local) + self._delete_local(run_path, keep_local, delete_only=set(delete_files)) await self._mark_cleaned(run_path) # Stamp ``cleared_at`` in ``sync_state.json`` so the run rolls up to # CLEARED. Skipped when the whole-run ``retain_cache=False`` delete @@ -1028,10 +1070,16 @@ async def _maybe_cleanup(self, job_id: str, run_path: Path) -> None: await self._sync_state_writer.mark_cleared(run_path) await self._queue.transition(job_id, SyncJobState.CLEANED) + async def _defer_cleanup(self, job_id: str, reason: str) -> None: + """Move a verified job to CLEANUP_ELIGIBLE with an operator-visible reason.""" + await self._queue.transition(job_id, SyncJobState.CLEANUP_ELIGIBLE, last_error=reason) + def _delete_local( self, run_path: Path, keep_local: set[str] | None = None, + *, + delete_only: set[str] | None = None, ) -> None: """Delete ``run_path`` data files honoring ``retain_cache`` and ``keep_local``. @@ -1045,6 +1093,9 @@ def _delete_local( run_path, keep_local=keep_local or set(), retain_cache=self._config.nas_cleanup.retain_cache, + delete_only=delete_only, + ignore_globs=self._config.sync.ignore_globs, + delete_ignored=self._config.nas_cleanup.delete_ignored, ) # ----------------------------------------------------------- helpers diff --git a/src/exlab_wizard/sync/run_delete.py b/src/exlab_wizard/sync/run_delete.py index b747522..a8a5a72 100644 --- a/src/exlab_wizard/sync/run_delete.py +++ b/src/exlab_wizard/sync/run_delete.py @@ -23,29 +23,82 @@ from __future__ import annotations import contextlib +import fnmatch import os import shutil +from dataclasses import dataclass from pathlib import Path from exlab_wizard.constants import CACHE_DIR_NAME from exlab_wizard.logging import get_logger -__all__ = ["delete_run_files"] +__all__ = ["CleanupCandidates", "collect_cleanup_candidates", "delete_run_files"] _log = get_logger(__name__) +@dataclass(frozen=True, slots=True) +class CleanupCandidates: + """Run-relative files selected or retained by cleanup planning.""" + + delete: tuple[str, ...] + retained_ignored: tuple[str, ...] = () + + +def collect_cleanup_candidates( + run_path: Path, + *, + keep_local: set[str], + ignore_globs: list[str] | tuple[str, ...] = (), + delete_ignored: bool = False, +) -> CleanupCandidates: + """Return the run-relative files cleanup would remove. + + The walk matches :func:`delete_run_files`: the cache subtree and directory + symlinks are not descended into, ``keep_local`` files are retained, and + ignored files are retained unless ``delete_ignored`` explicitly opts into + local discard. + """ + if not run_path.exists(): + return CleanupCandidates(delete=(), retained_ignored=()) + + delete: list[str] = [] + retained_ignored: list[str] = [] + for dirpath, dirnames, filenames in os.walk(run_path, followlinks=False): + current = Path(dirpath) + dirnames[:] = [ + d for d in dirnames if d != CACHE_DIR_NAME and not (current / d).is_symlink() + ] + rel_dir = current.relative_to(run_path) + if rel_dir.parts and rel_dir.parts[0] == CACHE_DIR_NAME: + continue + for name in filenames: + rel = (rel_dir / name).as_posix() + if rel in keep_local: + continue + if _matches_any_glob(name, ignore_globs) and not delete_ignored: + retained_ignored.append(rel) + continue + delete.append(rel) + return CleanupCandidates(delete=tuple(sorted(delete)), retained_ignored=tuple(sorted(retained_ignored))) + + def delete_run_files( run_path: Path, *, keep_local: set[str], retain_cache: bool, + delete_only: set[str] | None = None, + ignore_globs: list[str] | tuple[str, ...] = (), + delete_ignored: bool = False, ) -> None: """Delete ``run_path`` data files honoring ``retain_cache`` and ``keep_local``. ``keep_local`` is a set of run-relative POSIX paths (possibly nested) that must survive the sweep. ``retain_cache`` keeps the ``.exlab-wizard/`` - subtree when ``True``. + subtree when ``True``. ``delete_only`` constrains deletion to a pre-proved + set of run-relative files; in that mode no whole-tree recursive data delete + is used, so files that appear after the proof survive. The whole-run ``shutil.rmtree`` fast path is used only when ``retain_cache`` is ``False`` **and** there are no ``keep_local`` files; @@ -58,13 +111,21 @@ def delete_run_files( """ if not run_path.exists(): return - if not retain_cache and not keep_local: + if delete_only is None and not retain_cache and not keep_local and not ignore_globs: # No retained files and no cache to preserve: drop the whole run. # ``rmtree`` does not follow the top-level dir if it is itself a # symlink (it raises) -- a run dir is always a real directory here. shutil.rmtree(run_path, ignore_errors=True) return + planned = collect_cleanup_candidates( + run_path, + keep_local=keep_local, + ignore_globs=ignore_globs, + delete_ignored=delete_ignored, + ) + delete_set = set(planned.delete) if delete_only is None else set(delete_only) + # Per-file walk: delete every file that is neither under # ``.exlab-wizard/`` nor flagged ``keep_local``. ``followlinks=False`` # (the os.walk default, made explicit) keeps the walk inside the run @@ -84,11 +145,18 @@ def delete_run_files( rel = (rel_dir / name).as_posix() if rel in keep_local: continue + if rel not in delete_set: + continue # A file that is itself a symlink: unlink the link only (never # the target). ``unlink`` does exactly that. with contextlib.suppress(OSError): entry.unlink() + if not retain_cache: + shutil.rmtree(run_path / CACHE_DIR_NAME, ignore_errors=True) _prune_empty_dirs(run_path) + if not retain_cache: + with contextlib.suppress(OSError): + run_path.rmdir() def _prune_empty_dirs(run_path: Path) -> None: @@ -114,3 +182,8 @@ def _prune_empty_dirs(run_path: Path) -> None: with contextlib.suppress(OSError): if not any(directory.iterdir()): directory.rmdir() + + +def _matches_any_glob(name: str, globs: list[str] | tuple[str, ...]) -> bool: + """Return True if ``name`` matches any configured ignore glob.""" + return any(fnmatch.fnmatch(name, pattern) for pattern in globs) diff --git a/tests/unit/config/test_models.py b/tests/unit/config/test_models.py index fd215bb..e8aa21a 100644 --- a/tests/unit/config/test_models.py +++ b/tests/unit/config/test_models.py @@ -103,6 +103,7 @@ def _full_config_dict() -> dict: "min_verify_passes": 2, "min_age_hours": 24, "retain_cache": True, + "delete_ignored": False, }, "logging": { "level": "INFO", @@ -534,6 +535,12 @@ def test_nas_cleanup_defaults() -> None: assert nc.min_verify_passes == 2 assert nc.min_age_hours == 24 assert nc.retain_cache is True + assert nc.delete_ignored is False + + +def test_nas_cleanup_accepts_delete_ignored_true() -> None: + nc = NASCleanupConfig(delete_ignored=True) + assert nc.delete_ignored is True def test_nas_cleanup_min_verify_passes_at_least_one() -> None: diff --git a/tests/unit/sync/test_cleanup.py b/tests/unit/sync/test_cleanup.py index 02ac18b..799a985 100644 --- a/tests/unit/sync/test_cleanup.py +++ b/tests/unit/sync/test_cleanup.py @@ -58,7 +58,6 @@ def test_all_interlocks_pass(tmp_path: Path) -> None: now_utc=_NOW, config=_config(), overrides_active=[], - remote_stat_ok=True, ) @@ -70,7 +69,6 @@ def test_min_verify_passes_blocks(tmp_path: Path) -> None: now_utc=_NOW, config=_config(min_verify_passes=2), overrides_active=[], - remote_stat_ok=True, ) @@ -83,19 +81,6 @@ def test_min_age_hours_blocks(tmp_path: Path) -> None: now_utc=_NOW, config=_config(min_age_hours=24), overrides_active=[], - remote_stat_ok=True, - ) - - -def test_remote_stat_failure_blocks(tmp_path: Path) -> None: - """An unreachable NAS blocks cleanup.""" - assert not cleanup_interlocks_satisfied( - job=_job(), - run_path=tmp_path, - now_utc=_NOW, - config=_config(), - overrides_active=[], - remote_stat_ok=False, ) @@ -117,7 +102,6 @@ def test_recent_revocation_blocks(tmp_path: Path) -> None: now_utc=_NOW, config=_config(min_age_hours=24), overrides_active=overrides, - remote_stat_ok=True, ) @@ -138,7 +122,6 @@ def test_old_revocation_does_not_block(tmp_path: Path) -> None: now_utc=_NOW, config=_config(min_age_hours=24), overrides_active=overrides, - remote_stat_ok=True, ) @@ -150,7 +133,6 @@ def test_missing_verified_at_blocks(tmp_path: Path) -> None: now_utc=_NOW, config=_config(), overrides_active=[], - remote_stat_ok=True, ) diff --git a/tests/unit/sync/test_nas_client.py b/tests/unit/sync/test_nas_client.py index ab4deb1..756fac1 100644 --- a/tests/unit/sync/test_nas_client.py +++ b/tests/unit/sync/test_nas_client.py @@ -345,8 +345,8 @@ async def test_worker_drives_to_verified_and_marks_synced( # whose size + modtime match local. Inject a perfect listing so # the reconcile succeeds without a real rclone binary. lsjson_callable_factory=local_lsjson_factory(), - # Optimistic remote_stat default + high min_age_hours/passes so - # cleanup interlocks won't trigger for the default config. + # High min_age_hours/passes means cleanup interlocks won't trigger + # for the default config. worker_poll_interval_s=0.01, ) await client.init() @@ -362,7 +362,15 @@ async def test_worker_drives_to_verified_and_marks_synced( }, ) creation_path = run_dir / CACHE_DIR_NAME / CREATION_JSON_NAME - decoded = msgspec_json.decode(creation_path.read_bytes(), type=CreationJson) + decoded: CreationJson | None = None + + async def _marked_synced() -> bool: + nonlocal decoded + decoded = msgspec_json.decode(creation_path.read_bytes(), type=CreationJson) + return decoded.sync_status == "synced" + + await wait_until(_marked_synced, message="creation.json was never marked synced") + assert decoded is not None assert decoded.sync_status == "synced" finally: await client.close() diff --git a/tests/unit/sync/test_nas_client_extra.py b/tests/unit/sync/test_nas_client_extra.py index 5399a9f..49e0ba4 100644 --- a/tests/unit/sync/test_nas_client_extra.py +++ b/tests/unit/sync/test_nas_client_extra.py @@ -54,6 +54,7 @@ def _build_config( min_verify_passes: int = 1, min_age_hours: int = 0, cleanup_enabled: bool = True, + delete_ignored: bool = False, ) -> Config: return Config( paths=PathsConfig(templates_dir="/tpl", plugin_dir="/plg", local_root=str(local_root)), @@ -70,6 +71,7 @@ def _build_config( min_verify_passes=min_verify_passes, min_age_hours=min_age_hours, retain_cache=retain_cache, + delete_ignored=delete_ignored, ), ) @@ -100,6 +102,15 @@ async def _populate_run(local_root: Path) -> Path: return run_dir +async def _populate_empty_run(local_root: Path) -> Path: + run_dir = local_root / "EQ1" / "PROJ-0042" / "Runs" / "Run_empty" + run_dir.mkdir(parents=True) + cache = run_dir / CACHE_DIR_NAME + cache.mkdir() + (cache / CREATION_JSON_NAME).write_bytes(msgspec_json.encode(_make_creation(run_dir))) + return run_dir + + def _factory( push: Callable[..., Any], ) -> Callable[[EquipmentConfig], Callable[..., Any]]: @@ -232,6 +243,8 @@ async def test_cleanup_retain_cache_keeps_metadata(tmp_path: Path) -> None: """``retain_cache=True`` deletes data files but keeps ``.exlab-wizard/``.""" cfg = _build_config(tmp_path, retain_cache=True, min_verify_passes=1, min_age_hours=0) run_dir = await _populate_run(tmp_path) + (run_dir / "subdir" / "child.txt").unlink() + (run_dir / "subdir").rmdir() writer = CreationWriter(lock_timeout_seconds=10.0) async def _push( @@ -325,38 +338,6 @@ async def _push( await client.close() -async def test_cleanup_blocked_by_remote_stat(tmp_path: Path) -> None: - """A failing remote_stat keeps the job in CLEANUP_ELIGIBLE, not CLEANED.""" - cfg = _build_config(tmp_path, retain_cache=True, min_verify_passes=1, min_age_hours=0) - run_dir = await _populate_run(tmp_path) - writer = CreationWriter(lock_timeout_seconds=10.0) - - async def _push( - _local: Path, *, bwlimit_kibps: int | None, files_from: object = None - ) -> TransportResult: - return TransportResult(ok=True, returncode=0) - - client = NASSyncClient( - config=cfg, - queue_db=tmp_path / "q.db", - validator=Validator(), - cache_creation=writer, - push_callable_factory=_factory(_push), - lsjson_callable_factory=local_lsjson_factory(), - check_callable_factory=local_check_factory(), - remote_stat_callable=lambda _row: False, - worker_poll_interval_s=0.005, - ) - await client.init() - try: - handle = await client.enqueue(run_dir) - await wait_for_job_state(client, handle.job_id, {SyncJobState.CLEANUP_ELIGIBLE}) - # Files retained because remote_stat failed. - assert (run_dir / "data.bin").exists() - finally: - await client.close() - - # --------------------------------------------------------------------------- # Phase 5: _delete_local honors keep_local; cleanup gates on the SYNCED rollup # --------------------------------------------------------------------------- @@ -497,6 +478,8 @@ async def test_cleanup_marks_cleared_in_sync_state(tmp_path: Path) -> None: cfg = _build_config(tmp_path, retain_cache=True, min_verify_passes=1, min_age_hours=0) run_dir = await _populate_run(tmp_path) + (run_dir / "subdir" / "child.txt").unlink() + (run_dir / "subdir").rmdir() writer = CreationWriter(lock_timeout_seconds=10.0) async def _push( @@ -532,6 +515,8 @@ async def test_cleanup_keeps_keep_local_file(tmp_path: Path) -> None: cfg = _build_config(tmp_path, retain_cache=True, min_verify_passes=1, min_age_hours=0) run_dir = await _populate_run(tmp_path) + (run_dir / "subdir" / "child.txt").unlink() + (run_dir / "subdir").rmdir() writer = CreationWriter(lock_timeout_seconds=10.0) sync_writer = SyncStateWriter() # Operator flags the top-level data file as keep-local before cleanup. @@ -600,17 +585,259 @@ async def _push( await client.init() try: handle = await client.enqueue(run_dir, files=["data.bin"]) - await wait_for_job_state(client, handle.job_id, {SyncJobState.VERIFIED}) - # Give the worker a beat -- cleanup must NOT advance the job. - await asyncio.sleep(0.1) - row = await client._queue.get_by_id(handle.job_id) - assert row is not None and row.state is SyncJobState.VERIFIED + row = await wait_for_job_state(client, handle.job_id, {SyncJobState.CLEANUP_ELIGIBLE}) + assert row.last_error == "cleanup_rollup_not_synced" # Local data is retained because the run is not fully SYNCED. assert (run_dir / "data.bin").exists() finally: await client.close() +async def test_cleanup_defers_on_untracked_local_deletion_candidate(tmp_path: Path) -> None: + """A local file selected for deletion but absent from sync_state blocks cleanup.""" + from exlab_wizard.cache.sync_state_writer import SyncStateWriter + + cfg = _build_config(tmp_path, retain_cache=True, min_verify_passes=1, min_age_hours=0) + run_dir = await _populate_run(tmp_path) + writer = CreationWriter(lock_timeout_seconds=10.0) + sync_writer = SyncStateWriter() + + async def _push( + _local: Path, *, bwlimit_kibps: int | None, files_from: object = None + ) -> TransportResult: + return TransportResult(ok=True, returncode=0) + + client = NASSyncClient( + config=cfg, + queue_db=tmp_path / "q.db", + validator=Validator(), + cache_creation=writer, + sync_state_writer=sync_writer, + push_callable_factory=_factory(_push), + lsjson_callable_factory=local_lsjson_factory(), + check_callable_factory=local_check_factory(), + worker_poll_interval_s=0.005, + ) + await client.init() + try: + handle = await client.enqueue(run_dir, files=["data.bin"]) + row = await wait_for_job_state(client, handle.job_id, {SyncJobState.CLEANUP_ELIGIBLE}) + assert row.last_error == "cleanup_untracked_local_files" + assert (run_dir / "data.bin").exists() + assert (run_dir / "subdir" / "child.txt").exists() + finally: + await client.close() + + +async def test_cleanup_defers_on_dirty_tracked_deletion_candidate(tmp_path: Path) -> None: + """A tracked file whose current signature changed since sync blocks cleanup.""" + from exlab_wizard.cache.sync_state_writer import SyncStateWriter + + cfg = _build_config(tmp_path, retain_cache=True, min_verify_passes=1, min_age_hours=0) + run_dir = await _populate_run(tmp_path) + (run_dir / "subdir" / "child.txt").unlink() + (run_dir / "subdir").rmdir() + writer = CreationWriter(lock_timeout_seconds=10.0) + sync_writer = SyncStateWriter() + original_sig = NASSyncClient._file_signature(run_dir / "data.bin") + assert original_sig is not None + await sync_writer.upsert_file( + run_dir, + "data.bin", + synced_signature=original_sig, + verified_at="2026-05-31T12:00:00Z", + ) + (run_dir / "data.bin").write_bytes(b"changed-after-sync") + + client = NASSyncClient( + config=cfg, + queue_db=tmp_path / "q.db", + validator=Validator(), + cache_creation=writer, + sync_state_writer=sync_writer, + push_callable_factory=_factory(lambda *_a, **_k: None), # unused + lsjson_callable_factory=local_lsjson_factory(), + check_callable_factory=local_check_factory(), + worker_poll_interval_s=0.005, + ) + await client._queue.init() + try: + row = await client._queue.insert( + run_path=run_dir, + equipment_id="EQ1", + nas_path="/srv/nas/run", + files=("data.bin",), + ) + await client._queue.transition( + row.id, + SyncJobState.VERIFIED, + increment_verify_passes=True, + verified_at="2026-05-30T12:01:00Z", + ) + await client._maybe_cleanup(row.id, run_dir) + updated = await client._queue.get_by_id(row.id) + assert updated is not None + assert updated.state is SyncJobState.CLEANUP_ELIGIBLE + assert updated.last_error == "cleanup_dirty_local_files" + assert (run_dir / "data.bin").exists() + finally: + await client._queue.close() + + +async def test_cleanup_retains_ignored_files_by_default_and_cleans_run(tmp_path: Path) -> None: + """Ignored files are not synced and not deleted by automatic cleanup by default.""" + cfg = _build_config(tmp_path, retain_cache=True, min_verify_passes=1, min_age_hours=0) + run_dir = await _populate_run(tmp_path) + (run_dir / "scan.tmp").write_text("temporary") + writer = CreationWriter(lock_timeout_seconds=10.0) + + async def _push( + _local: Path, *, bwlimit_kibps: int | None, files_from: object = None + ) -> TransportResult: + return TransportResult(ok=True, returncode=0) + + client = NASSyncClient( + config=cfg, + queue_db=tmp_path / "q.db", + validator=Validator(), + cache_creation=writer, + push_callable_factory=_factory(_push), + lsjson_callable_factory=local_lsjson_factory(), + check_callable_factory=local_check_factory(), + worker_poll_interval_s=0.005, + ) + await client.init() + try: + handle = await client.enqueue(run_dir, files=["data.bin", "subdir/child.txt"]) + row = await wait_for_job_state(client, handle.job_id, {SyncJobState.CLEANED}) + assert row.last_error is None + assert (run_dir / "scan.tmp").exists() + assert not (run_dir / "data.bin").exists() + assert not (run_dir / "subdir" / "child.txt").exists() + finally: + await client.close() + + +async def test_cleanup_deletes_ignored_files_when_delete_ignored_true(tmp_path: Path) -> None: + """Ignored files are local-discard candidates when explicitly configured.""" + cfg = _build_config( + tmp_path, + retain_cache=True, + min_verify_passes=1, + min_age_hours=0, + delete_ignored=True, + ) + run_dir = await _populate_run(tmp_path) + (run_dir / "scan.tmp").write_text("temporary") + writer = CreationWriter(lock_timeout_seconds=10.0) + + async def _push( + _local: Path, *, bwlimit_kibps: int | None, files_from: object = None + ) -> TransportResult: + return TransportResult(ok=True, returncode=0) + + client = NASSyncClient( + config=cfg, + queue_db=tmp_path / "q.db", + validator=Validator(), + cache_creation=writer, + push_callable_factory=_factory(_push), + lsjson_callable_factory=local_lsjson_factory(), + check_callable_factory=local_check_factory(), + worker_poll_interval_s=0.005, + ) + await client.init() + try: + handle = await client.enqueue(run_dir, files=["data.bin", "subdir/child.txt"]) + await wait_for_job_state(client, handle.job_id, {SyncJobState.CLEANED}) + assert not (run_dir / "scan.tmp").exists() + assert not (run_dir / "data.bin").exists() + assert not (run_dir / "subdir" / "child.txt").exists() + finally: + await client.close() + + +async def test_cleanup_defers_when_equipment_missing_for_remote_check(tmp_path: Path) -> None: + """A missing equipment config blocks cleanup instead of skipping verification.""" + from exlab_wizard.cache.sync_state_writer import SyncStateWriter + + cfg = _build_config(tmp_path, retain_cache=True, min_verify_passes=1, min_age_hours=0) + run_dir = await _populate_run(tmp_path) + (run_dir / "subdir" / "child.txt").unlink() + (run_dir / "subdir").rmdir() + writer = CreationWriter(lock_timeout_seconds=10.0) + sync_writer = SyncStateWriter() + sig = NASSyncClient._file_signature(run_dir / "data.bin") + assert sig is not None + await sync_writer.upsert_file( + run_dir, + "data.bin", + synced_signature=sig, + verified_at="2026-05-31T12:00:00Z", + ) + + client = NASSyncClient( + config=cfg, + queue_db=tmp_path / "q.db", + validator=Validator(), + cache_creation=writer, + sync_state_writer=sync_writer, + worker_poll_interval_s=0.005, + ) + await client._queue.init() + try: + row = await client._queue.insert( + run_path=run_dir, + equipment_id="MISSING", + nas_path="/srv/nas/run", + files=("data.bin",), + ) + await client._queue.transition( + row.id, + SyncJobState.VERIFIED, + increment_verify_passes=True, + verified_at="2026-05-30T12:01:00Z", + ) + await client._maybe_cleanup(row.id, run_dir) + updated = await client._queue.get_by_id(row.id) + assert updated is not None + assert updated.state is SyncJobState.CLEANUP_ELIGIBLE + assert updated.last_error == "cleanup_missing_equipment" + assert (run_dir / "data.bin").exists() + finally: + await client._queue.close() + + +async def test_empty_run_reaches_cleaned(tmp_path: Path) -> None: + """A verified run with no data files can pass cleanup.""" + cfg = _build_config(tmp_path, retain_cache=True, min_verify_passes=1, min_age_hours=0) + run_dir = await _populate_empty_run(tmp_path) + writer = CreationWriter(lock_timeout_seconds=10.0) + + async def _push( + _local: Path, *, bwlimit_kibps: int | None, files_from: object = None + ) -> TransportResult: + return TransportResult(ok=True, returncode=0) + + client = NASSyncClient( + config=cfg, + queue_db=tmp_path / "q.db", + validator=Validator(), + cache_creation=writer, + push_callable_factory=_factory(_push), + lsjson_callable_factory=local_lsjson_factory(), + check_callable_factory=local_check_factory(), + worker_poll_interval_s=0.005, + ) + await client.init() + try: + handle = await client.enqueue(run_dir) + await wait_for_job_state(client, handle.job_id, {SyncJobState.CLEANED}) + assert (run_dir / CACHE_DIR_NAME).exists() + finally: + await client.close() + + # --------------------------------------------------------------------------- # Worker error handling: equipment-not-configured / vanished local # --------------------------------------------------------------------------- diff --git a/tests/unit/sync/test_run_delete.py b/tests/unit/sync/test_run_delete.py new file mode 100644 index 0000000..480e41c --- /dev/null +++ b/tests/unit/sync/test_run_delete.py @@ -0,0 +1,112 @@ +"""Tests for symlink-safe cleanup candidate planning and deletion.""" + +from __future__ import annotations + +from pathlib import Path + +from exlab_wizard.constants import CACHE_DIR_NAME +from exlab_wizard.sync.run_delete import collect_cleanup_candidates, delete_run_files + + +def test_collect_cleanup_candidates_excludes_cache_keep_local_symlink_dirs_and_ignored( + tmp_path: Path, +) -> None: + run_dir = tmp_path / "Run_x" + run_dir.mkdir() + (run_dir / "drop.bin").write_bytes(b"drop") + (run_dir / "keep.bin").write_bytes(b"keep") + (run_dir / "scan.tmp").write_bytes(b"ignored") + cache = run_dir / CACHE_DIR_NAME + cache.mkdir() + (cache / "creation.json").write_text("{}") + external = tmp_path / "external" + external.mkdir() + (external / "outside.txt").write_text("outside") + (run_dir / "linked_dir").symlink_to(external, target_is_directory=True) + + candidates = collect_cleanup_candidates( + run_dir, + keep_local={"keep.bin"}, + ignore_globs=["*.tmp"], + delete_ignored=False, + ) + + assert candidates.delete == ("drop.bin",) + assert candidates.retained_ignored == ("scan.tmp",) + + +def test_collect_cleanup_candidates_includes_ignored_when_delete_ignored_true( + tmp_path: Path, +) -> None: + run_dir = tmp_path / "Run_x" + run_dir.mkdir() + (run_dir / "scan.tmp").write_bytes(b"ignored") + + candidates = collect_cleanup_candidates( + run_dir, + keep_local=set(), + ignore_globs=["*.tmp"], + delete_ignored=True, + ) + + assert candidates.delete == ("scan.tmp",) + assert candidates.retained_ignored == () + + +def test_delete_run_files_delete_only_leaves_unlisted_late_file(tmp_path: Path) -> None: + run_dir = tmp_path / "Run_x" + run_dir.mkdir() + (run_dir / "verified.bin").write_bytes(b"verified") + (run_dir / "late.bin").write_bytes(b"late") + + delete_run_files( + run_dir, + keep_local=set(), + retain_cache=True, + delete_only={"verified.bin"}, + ) + + assert not (run_dir / "verified.bin").exists() + assert (run_dir / "late.bin").exists() + assert run_dir.exists() + + +def test_delete_run_files_delete_only_retain_cache_false_removes_empty_root( + tmp_path: Path, +) -> None: + run_dir = tmp_path / "Run_x" + run_dir.mkdir() + cache = run_dir / CACHE_DIR_NAME + cache.mkdir() + (cache / "creation.json").write_text("{}") + + delete_run_files( + run_dir, + keep_local=set(), + retain_cache=False, + delete_only=set(), + ) + + assert not run_dir.exists() + + +def test_delete_run_files_delete_only_retain_cache_false_keeps_root_with_late_file( + tmp_path: Path, +) -> None: + run_dir = tmp_path / "Run_x" + run_dir.mkdir() + (run_dir / "late.bin").write_bytes(b"late") + cache = run_dir / CACHE_DIR_NAME + cache.mkdir() + (cache / "creation.json").write_text("{}") + + delete_run_files( + run_dir, + keep_local=set(), + retain_cache=False, + delete_only=set(), + ) + + assert run_dir.exists() + assert (run_dir / "late.bin").exists() + assert not cache.exists() From 31ed6a3612fcc60c58a0d1ea33c6f1113150df76 Mon Sep 17 00:00:00 2001 From: Alexander Nguyen Date: Mon, 1 Jun 2026 10:16:03 -0700 Subject: [PATCH 3/3] Format cleanup integrity files --- src/exlab_wizard/sync/nas_client.py | 3 ++- src/exlab_wizard/sync/run_delete.py | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/exlab_wizard/sync/nas_client.py b/src/exlab_wizard/sync/nas_client.py index 61a9fa3..0dee14a 100644 --- a/src/exlab_wizard/sync/nas_client.py +++ b/src/exlab_wizard/sync/nas_client.py @@ -991,7 +991,8 @@ async def _maybe_cleanup(self, job_id: str, run_path: Path) -> None: rel for rel in proof_required if sync_state.files[rel].synced_signature is None - or tuple(sync_state.files[rel].synced_signature or ()) != self._file_signature(run_path / rel) + or tuple(sync_state.files[rel].synced_signature or ()) + != self._file_signature(run_path / rel) ] if dirty: _log.debug("cleanup deferred: run %s has dirty local files: %s", run_path, dirty) diff --git a/src/exlab_wizard/sync/run_delete.py b/src/exlab_wizard/sync/run_delete.py index a8a5a72..fa6d204 100644 --- a/src/exlab_wizard/sync/run_delete.py +++ b/src/exlab_wizard/sync/run_delete.py @@ -80,7 +80,9 @@ def collect_cleanup_candidates( retained_ignored.append(rel) continue delete.append(rel) - return CleanupCandidates(delete=tuple(sorted(delete)), retained_ignored=tuple(sorted(retained_ignored))) + return CleanupCandidates( + delete=tuple(sorted(delete)), retained_ignored=tuple(sorted(retained_ignored)) + ) def delete_run_files(